From a3ad0066db3315cd1b89528d197d4c47549be42f Mon Sep 17 00:00:00 2001 From: Jake <jake.read@cba.mit.edu> Date: Sat, 9 Dec 2017 19:08:03 -0500 Subject: [PATCH] remove ASF folders --- .gitignore | 2 + .../src/ASF/common/boards/board.h | 448 - .../src/ASF/common/boards/user_board/init.c | 21 - .../ASF/common/boards/user_board/user_board.h | 40 - .../src/ASF/common/services/clock/genclk.h | 199 - .../src/ASF/common/services/clock/osc.h | 185 - .../src/ASF/common/services/clock/pll.h | 341 - .../ASF/common/services/clock/sams70/genclk.h | 269 - .../ASF/common/services/clock/sams70/osc.h | 247 - .../ASF/common/services/clock/sams70/pll.h | 269 - .../ASF/common/services/clock/sams70/sysclk.c | 261 - .../ASF/common/services/clock/sams70/sysclk.h | 473 -- .../src/ASF/common/services/clock/sysclk.h | 194 - .../src/ASF/common/services/delay/delay.h | 139 - .../common/services/delay/sam/cycle_counter.c | 61 - .../common/services/delay/sam/cycle_counter.h | 126 - .../src/ASF/common/utils/interrupt.h | 142 - .../utils/interrupt/interrupt_sam_nvic.c | 86 - .../utils/interrupt/interrupt_sam_nvic.h | 189 - .../src/ASF/common/utils/parts.h | 1585 ---- .../src/ASF/sam/drivers/pmc/pmc.c | 1657 ---- .../src/ASF/sam/drivers/pmc/pmc.h | 550 -- .../src/ASF/sam/drivers/pmc/sleep.c | 391 - .../src/ASF/sam/drivers/pmc/sleep.h | 127 - .../cmsis/sams70/include/component/acc.h | 143 - .../cmsis/sams70/include/component/aes.h | 187 - .../cmsis/sams70/include/component/afec.h | 498 -- .../cmsis/sams70/include/component/chipid.h | 138 - .../cmsis/sams70/include/component/dacc.h | 217 - .../cmsis/sams70/include/component/efc.h | 133 - .../cmsis/sams70/include/component/gpbr.h | 68 - .../cmsis/sams70/include/component/hsmci.h | 350 - .../cmsis/sams70/include/component/icm.h | 207 - .../cmsis/sams70/include/component/isi.h | 295 - .../cmsis/sams70/include/component/matrix.h | 476 -- .../cmsis/sams70/include/component/pio.h | 1629 ---- .../cmsis/sams70/include/component/pmc.h | 736 -- .../cmsis/sams70/include/component/pwm.h | 715 -- .../cmsis/sams70/include/component/qspi.h | 238 - .../cmsis/sams70/include/component/rstc.h | 94 - .../cmsis/sams70/include/component/rswdt.h | 87 - .../cmsis/sams70/include/component/rtc.h | 241 - .../cmsis/sams70/include/component/rtt.h | 86 - .../cmsis/sams70/include/component/sdramc.h | 188 - .../cmsis/sams70/include/component/smc.h | 159 - .../cmsis/sams70/include/component/spi.h | 176 - .../cmsis/sams70/include/component/ssc.h | 295 - .../cmsis/sams70/include/component/supc.h | 310 - .../utils/cmsis/sams70/include/component/tc.h | 361 - .../cmsis/sams70/include/component/trng.h | 88 - .../cmsis/sams70/include/component/twihs.h | 265 - .../cmsis/sams70/include/component/uart.h | 166 - .../cmsis/sams70/include/component/usart.h | 432 - .../cmsis/sams70/include/component/usbhs.h | 975 --- .../cmsis/sams70/include/component/utmi.h | 78 - .../cmsis/sams70/include/component/wdt.h | 87 - .../cmsis/sams70/include/component/xdmac.h | 634 -- .../utils/cmsis/sams70/include/instance/acc.h | 71 - .../utils/cmsis/sams70/include/instance/aes.h | 85 - .../cmsis/sams70/include/instance/afec0.h | 111 - .../cmsis/sams70/include/instance/afec1.h | 111 - .../cmsis/sams70/include/instance/chipid.h | 57 - .../cmsis/sams70/include/instance/dacc.h | 81 - .../utils/cmsis/sams70/include/instance/efc.h | 65 - .../cmsis/sams70/include/instance/gpbr.h | 55 - .../cmsis/sams70/include/instance/hsmci.h | 93 - .../utils/cmsis/sams70/include/instance/icm.h | 75 - .../utils/cmsis/sams70/include/instance/isi.h | 103 - .../cmsis/sams70/include/instance/matrix.h | 117 - .../cmsis/sams70/include/instance/pioa.h | 179 - .../cmsis/sams70/include/instance/piob.h | 179 - .../cmsis/sams70/include/instance/pioc.h | 179 - .../cmsis/sams70/include/instance/piod.h | 179 - .../cmsis/sams70/include/instance/pioe.h | 179 - .../utils/cmsis/sams70/include/instance/pmc.h | 125 - .../cmsis/sams70/include/instance/pwm0.h | 275 - .../cmsis/sams70/include/instance/pwm1.h | 275 - .../cmsis/sams70/include/instance/qspi.h | 85 - .../cmsis/sams70/include/instance/rstc.h | 59 - .../cmsis/sams70/include/instance/rswdt.h | 59 - .../utils/cmsis/sams70/include/instance/rtc.h | 77 - .../utils/cmsis/sams70/include/instance/rtt.h | 61 - .../cmsis/sams70/include/instance/sdramc.h | 79 - .../utils/cmsis/sams70/include/instance/smc.h | 95 - .../cmsis/sams70/include/instance/spi0.h | 75 - .../cmsis/sams70/include/instance/spi1.h | 75 - .../utils/cmsis/sams70/include/instance/ssc.h | 89 - .../cmsis/sams70/include/instance/supc.h | 65 - .../utils/cmsis/sams70/include/instance/tc0.h | 147 - .../utils/cmsis/sams70/include/instance/tc1.h | 147 - .../utils/cmsis/sams70/include/instance/tc2.h | 147 - .../utils/cmsis/sams70/include/instance/tc3.h | 147 - .../cmsis/sams70/include/instance/trng.h | 65 - .../cmsis/sams70/include/instance/twihs0.h | 85 - .../cmsis/sams70/include/instance/twihs1.h | 85 - .../cmsis/sams70/include/instance/twihs2.h | 85 - .../cmsis/sams70/include/instance/uart0.h | 75 - .../cmsis/sams70/include/instance/uart1.h | 75 - .../cmsis/sams70/include/instance/uart2.h | 75 - .../cmsis/sams70/include/instance/uart3.h | 75 - .../cmsis/sams70/include/instance/uart4.h | 75 - .../cmsis/sams70/include/instance/usart0.h | 109 - .../cmsis/sams70/include/instance/usart1.h | 109 - .../cmsis/sams70/include/instance/usart2.h | 109 - .../cmsis/sams70/include/instance/usbhs.h | 255 - .../cmsis/sams70/include/instance/utmi.h | 57 - .../utils/cmsis/sams70/include/instance/wdt.h | 59 - .../cmsis/sams70/include/instance/xdmac.h | 759 -- .../cmsis/sams70/include/pio/sams70j19.h | 418 - .../cmsis/sams70/include/pio/sams70j20.h | 422 - .../cmsis/sams70/include/pio/sams70j21.h | 422 - .../cmsis/sams70/include/pio/sams70n19.h | 479 -- .../cmsis/sams70/include/pio/sams70n20.h | 475 -- .../cmsis/sams70/include/pio/sams70n21.h | 475 -- .../cmsis/sams70/include/pio/sams70q19.h | 652 -- .../cmsis/sams70/include/pio/sams70q20.h | 652 -- .../cmsis/sams70/include/pio/sams70q21.h | 652 -- .../sam/utils/cmsis/sams70/include/sams70.h | 69 - .../utils/cmsis/sams70/include/sams70j19.h | 618 -- .../utils/cmsis/sams70/include/sams70j20.h | 625 -- .../utils/cmsis/sams70/include/sams70j21.h | 625 -- .../utils/cmsis/sams70/include/sams70n19.h | 631 -- .../utils/cmsis/sams70/include/sams70n20.h | 624 -- .../utils/cmsis/sams70/include/sams70n21.h | 624 -- .../utils/cmsis/sams70/include/sams70q19.h | 679 -- .../utils/cmsis/sams70/include/sams70q20.h | 679 -- .../utils/cmsis/sams70/include/sams70q21.h | 679 -- .../source/templates/gcc/startup_sams70.c | 334 - .../sams70/source/templates/system_sams70.c | 265 - .../sams70/source/templates/system_sams70.h | 85 - .../src/ASF/sam/utils/compiler.h | 1199 --- .../src/ASF/sam/utils/fpu/fpu.h | 94 - .../src/ASF/sam/utils/header_files/io.h | 157 - .../sams70/sams70n20/gcc/flash.ld | 174 - .../src/ASF/sam/utils/make/Makefile.sam.in | 496 -- .../src/ASF/sam/utils/preprocessor/mrepeat.h | 339 - .../ASF/sam/utils/preprocessor/preprocessor.h | 55 - .../src/ASF/sam/utils/preprocessor/stringz.h | 85 - .../src/ASF/sam/utils/preprocessor/tpaste.h | 105 - .../src/ASF/sam/utils/status_codes.h | 113 - .../src/ASF/sam/utils/syscalls/gcc/syscalls.c | 144 - .../ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt | 20 - .../CMSIS_END_USER_LICENCE_AGREEMENT.pdf | Bin 172641 -> 0 bytes .../CMSIS/Include/arm_common_tables.h | 136 - .../CMSIS/Include/arm_const_structs.h | 79 - .../ASF/thirdparty/CMSIS/Include/arm_math.h | 7538 ----------------- .../ASF/thirdparty/CMSIS/Include/core_cm7.h | 2221 ----- .../thirdparty/CMSIS/Include/core_cmFunc.h | 637 -- .../thirdparty/CMSIS/Include/core_cmInstr.h | 880 -- .../thirdparty/CMSIS/Include/core_cmSimd.h | 697 -- .../CMSIS/Lib/GCC/libarm_cortexM7lfsp_math.a | Bin 3199620 -> 0 bytes .../Lib/GCC/libarm_cortexM7lfsp_math_softfp.a | Bin 3199824 -> 0 bytes .../src/ASF/thirdparty/CMSIS/Lib/license.txt | 28 - .../src/ASF/thirdparty/CMSIS/README.txt | 42 - .../src/ASF/common/boards/board.h | 448 - .../src/ASF/common/boards/user_board/init.c | 21 - .../ASF/common/boards/user_board/user_board.h | 40 - .../src/ASF/common/services/clock/genclk.h | 199 - .../src/ASF/common/services/clock/osc.h | 185 - .../src/ASF/common/services/clock/pll.h | 341 - .../ASF/common/services/clock/sams70/genclk.h | 269 - .../ASF/common/services/clock/sams70/osc.h | 247 - .../ASF/common/services/clock/sams70/pll.h | 269 - .../ASF/common/services/clock/sams70/sysclk.c | 261 - .../ASF/common/services/clock/sams70/sysclk.h | 473 -- .../src/ASF/common/services/clock/sysclk.h | 194 - .../src/ASF/common/services/delay/delay.h | 139 - .../common/services/delay/sam/cycle_counter.c | 61 - .../common/services/delay/sam/cycle_counter.h | 126 - .../src/ASF/common/utils/interrupt.h | 142 - .../utils/interrupt/interrupt_sam_nvic.c | 86 - .../utils/interrupt/interrupt_sam_nvic.h | 189 - .../src/ASF/common/utils/parts.h | 1594 ---- .../src/ASF/sam/drivers/pmc/pmc.c | 1657 ---- .../src/ASF/sam/drivers/pmc/pmc.h | 550 -- .../src/ASF/sam/drivers/pmc/sleep.c | 391 - .../src/ASF/sam/drivers/pmc/sleep.h | 127 - .../cmsis/sams70/include/component/acc.h | 143 - .../cmsis/sams70/include/component/aes.h | 187 - .../cmsis/sams70/include/component/afec.h | 498 -- .../cmsis/sams70/include/component/chipid.h | 138 - .../cmsis/sams70/include/component/dacc.h | 217 - .../cmsis/sams70/include/component/efc.h | 133 - .../cmsis/sams70/include/component/gpbr.h | 68 - .../cmsis/sams70/include/component/hsmci.h | 350 - .../cmsis/sams70/include/component/icm.h | 207 - .../cmsis/sams70/include/component/isi.h | 295 - .../cmsis/sams70/include/component/matrix.h | 476 -- .../cmsis/sams70/include/component/pio.h | 1629 ---- .../cmsis/sams70/include/component/pmc.h | 736 -- .../cmsis/sams70/include/component/pwm.h | 715 -- .../cmsis/sams70/include/component/qspi.h | 238 - .../cmsis/sams70/include/component/rstc.h | 94 - .../cmsis/sams70/include/component/rswdt.h | 87 - .../cmsis/sams70/include/component/rtc.h | 241 - .../cmsis/sams70/include/component/rtt.h | 86 - .../cmsis/sams70/include/component/sdramc.h | 188 - .../cmsis/sams70/include/component/smc.h | 159 - .../cmsis/sams70/include/component/spi.h | 176 - .../cmsis/sams70/include/component/ssc.h | 295 - .../cmsis/sams70/include/component/supc.h | 310 - .../utils/cmsis/sams70/include/component/tc.h | 361 - .../cmsis/sams70/include/component/trng.h | 88 - .../cmsis/sams70/include/component/twihs.h | 265 - .../cmsis/sams70/include/component/uart.h | 166 - .../cmsis/sams70/include/component/usart.h | 432 - .../cmsis/sams70/include/component/usbhs.h | 975 --- .../cmsis/sams70/include/component/utmi.h | 78 - .../cmsis/sams70/include/component/wdt.h | 87 - .../cmsis/sams70/include/component/xdmac.h | 634 -- .../utils/cmsis/sams70/include/instance/acc.h | 71 - .../utils/cmsis/sams70/include/instance/aes.h | 85 - .../cmsis/sams70/include/instance/afec0.h | 111 - .../cmsis/sams70/include/instance/afec1.h | 111 - .../cmsis/sams70/include/instance/chipid.h | 57 - .../cmsis/sams70/include/instance/dacc.h | 81 - .../utils/cmsis/sams70/include/instance/efc.h | 65 - .../cmsis/sams70/include/instance/gpbr.h | 55 - .../cmsis/sams70/include/instance/hsmci.h | 93 - .../utils/cmsis/sams70/include/instance/icm.h | 75 - .../utils/cmsis/sams70/include/instance/isi.h | 103 - .../cmsis/sams70/include/instance/matrix.h | 117 - .../cmsis/sams70/include/instance/pioa.h | 179 - .../cmsis/sams70/include/instance/piob.h | 179 - .../cmsis/sams70/include/instance/pioc.h | 179 - .../cmsis/sams70/include/instance/piod.h | 179 - .../cmsis/sams70/include/instance/pioe.h | 179 - .../utils/cmsis/sams70/include/instance/pmc.h | 125 - .../cmsis/sams70/include/instance/pwm0.h | 275 - .../cmsis/sams70/include/instance/pwm1.h | 275 - .../cmsis/sams70/include/instance/qspi.h | 85 - .../cmsis/sams70/include/instance/rstc.h | 59 - .../cmsis/sams70/include/instance/rswdt.h | 59 - .../utils/cmsis/sams70/include/instance/rtc.h | 77 - .../utils/cmsis/sams70/include/instance/rtt.h | 61 - .../cmsis/sams70/include/instance/sdramc.h | 79 - .../utils/cmsis/sams70/include/instance/smc.h | 95 - .../cmsis/sams70/include/instance/spi0.h | 75 - .../cmsis/sams70/include/instance/spi1.h | 75 - .../utils/cmsis/sams70/include/instance/ssc.h | 89 - .../cmsis/sams70/include/instance/supc.h | 65 - .../utils/cmsis/sams70/include/instance/tc0.h | 147 - .../utils/cmsis/sams70/include/instance/tc1.h | 147 - .../utils/cmsis/sams70/include/instance/tc2.h | 147 - .../utils/cmsis/sams70/include/instance/tc3.h | 147 - .../cmsis/sams70/include/instance/trng.h | 65 - .../cmsis/sams70/include/instance/twihs0.h | 85 - .../cmsis/sams70/include/instance/twihs1.h | 85 - .../cmsis/sams70/include/instance/twihs2.h | 85 - .../cmsis/sams70/include/instance/uart0.h | 75 - .../cmsis/sams70/include/instance/uart1.h | 75 - .../cmsis/sams70/include/instance/uart2.h | 75 - .../cmsis/sams70/include/instance/uart3.h | 75 - .../cmsis/sams70/include/instance/uart4.h | 75 - .../cmsis/sams70/include/instance/usart0.h | 109 - .../cmsis/sams70/include/instance/usart1.h | 109 - .../cmsis/sams70/include/instance/usart2.h | 109 - .../cmsis/sams70/include/instance/usbhs.h | 255 - .../cmsis/sams70/include/instance/utmi.h | 57 - .../utils/cmsis/sams70/include/instance/wdt.h | 59 - .../cmsis/sams70/include/instance/xdmac.h | 759 -- .../cmsis/sams70/include/pio/sams70j19.h | 418 - .../cmsis/sams70/include/pio/sams70j20.h | 422 - .../cmsis/sams70/include/pio/sams70j21.h | 422 - .../cmsis/sams70/include/pio/sams70n19.h | 479 -- .../cmsis/sams70/include/pio/sams70n20.h | 475 -- .../cmsis/sams70/include/pio/sams70n21.h | 475 -- .../cmsis/sams70/include/pio/sams70q19.h | 652 -- .../cmsis/sams70/include/pio/sams70q20.h | 652 -- .../cmsis/sams70/include/pio/sams70q21.h | 652 -- .../sam/utils/cmsis/sams70/include/sams70.h | 69 - .../utils/cmsis/sams70/include/sams70j19.h | 618 -- .../utils/cmsis/sams70/include/sams70j20.h | 625 -- .../utils/cmsis/sams70/include/sams70j21.h | 625 -- .../utils/cmsis/sams70/include/sams70n19.h | 631 -- .../utils/cmsis/sams70/include/sams70n20.h | 624 -- .../utils/cmsis/sams70/include/sams70n21.h | 624 -- .../utils/cmsis/sams70/include/sams70q19.h | 679 -- .../utils/cmsis/sams70/include/sams70q20.h | 679 -- .../utils/cmsis/sams70/include/sams70q21.h | 679 -- .../source/templates/gcc/startup_sams70.c | 334 - .../sams70/source/templates/system_sams70.c | 265 - .../sams70/source/templates/system_sams70.h | 85 - .../src/ASF/sam/utils/compiler.h | 1199 --- .../src/ASF/sam/utils/fpu/fpu.h | 94 - .../src/ASF/sam/utils/header_files/io.h | 157 - .../sams70/sams70n20/gcc/flash.ld | 174 - .../src/ASF/sam/utils/make/Makefile.sam.in | 496 -- .../src/ASF/sam/utils/preprocessor/mrepeat.h | 339 - .../ASF/sam/utils/preprocessor/preprocessor.h | 55 - .../src/ASF/sam/utils/preprocessor/stringz.h | 85 - .../src/ASF/sam/utils/preprocessor/tpaste.h | 105 - .../src/ASF/sam/utils/status_codes.h | 113 - .../src/ASF/sam/utils/syscalls/gcc/syscalls.c | 144 - .../ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt | 20 - .../CMSIS_END_USER_LICENCE_AGREEMENT.pdf | Bin 172641 -> 0 bytes .../CMSIS/Include/arm_common_tables.h | 136 - .../CMSIS/Include/arm_const_structs.h | 79 - .../ASF/thirdparty/CMSIS/Include/arm_math.h | 7538 ----------------- .../ASF/thirdparty/CMSIS/Include/core_cm7.h | 2221 ----- .../thirdparty/CMSIS/Include/core_cmFunc.h | 637 -- .../thirdparty/CMSIS/Include/core_cmInstr.h | 880 -- .../thirdparty/CMSIS/Include/core_cmSimd.h | 697 -- .../CMSIS/Lib/GCC/libarm_cortexM7lfsp_math.a | Bin 3199620 -> 0 bytes .../Lib/GCC/libarm_cortexM7lfsp_math_softfp.a | Bin 3199824 -> 0 bytes .../src/ASF/thirdparty/CMSIS/Lib/license.txt | 28 - .../src/ASF/thirdparty/CMSIS/README.txt | 42 - 307 files changed, 2 insertions(+), 102665 deletions(-) delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/board.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/init.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/user_board.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/genclk.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/osc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/pll.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/genclk.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/osc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/pll.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sysclk.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/delay.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/parts.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/compiler.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/fpu/fpu.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/header_files/io.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/make/Makefile.sam.in delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/mrepeat.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/preprocessor.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/stringz.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/tpaste.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/status_codes.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/syscalls/gcc/syscalls.c delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_common_tables.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_const_structs.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_math.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cm7.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmFunc.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmInstr.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmSimd.h delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math.a delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math_softfp.a delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/license.txt delete mode 100644 embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/README.txt delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/board.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/init.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/user_board.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/genclk.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/osc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/pll.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/genclk.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/osc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/pll.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sysclk.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/delay.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/parts.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/compiler.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/fpu/fpu.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/header_files/io.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/make/Makefile.sam.in delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/mrepeat.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/preprocessor.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/stringz.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/tpaste.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/status_codes.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/syscalls/gcc/syscalls.c delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Include/arm_common_tables.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Include/arm_const_structs.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Include/arm_math.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Include/core_cm7.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Include/core_cmFunc.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Include/core_cmInstr.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Include/core_cmSimd.h delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math.a delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math_softfp.a delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/Lib/license.txt delete mode 100644 embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/README.txt diff --git a/.gitignore b/.gitignore index 61f56c7..a6d2fcc 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,8 @@ jake/ **.b#* **.s#* +**/ASF/ + js/node_modules/ sim/js_code.txt diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/board.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/board.h deleted file mode 100644 index 0dc09cd..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/board.h +++ /dev/null @@ -1,448 +0,0 @@ -/** - * \file - * - * \brief Standard board header file. - * - * This file includes the appropriate board header file according to the - * defined board (parameter BOARD). - * - * Copyright (c) 2009-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _BOARD_H_ -#define _BOARD_H_ - -/** - * \defgroup group_common_boards Generic board support - * - * The generic board support module includes board-specific definitions - * and function prototypes, such as the board initialization function. - * - * \{ - */ - -#include "compiler.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -/*! \name Base Boards - */ -//! @{ -#define EVK1100 1 //!< AT32UC3A EVK1100 board. -#define EVK1101 2 //!< AT32UC3B EVK1101 board. -#define UC3C_EK 3 //!< AT32UC3C UC3C-EK board. -#define EVK1104 4 //!< AT32UC3A3 EVK1104 board. -#define EVK1105 5 //!< AT32UC3A EVK1105 board. -#define STK600_RCUC3L0 6 //!< STK600 RCUC3L0 board. -#define UC3L_EK 7 //!< AT32UC3L-EK board. -#define XPLAIN 8 //!< ATxmega128A1 Xplain board. -#define STK600_RC064X 10 //!< ATxmega256A3 STK600 board. -#define STK600_RC100X 11 //!< ATxmega128A1 STK600 board. -#define UC3_A3_XPLAINED 13 //!< ATUC3A3 UC3-A3 Xplained board. -#define UC3_L0_XPLAINED 15 //!< ATUC3L0 UC3-L0 Xplained board. -#define STK600_RCUC3D 16 //!< STK600 RCUC3D board. -#define STK600_RCUC3C0 17 //!< STK600 RCUC3C board. -#define XMEGA_B1_XPLAINED 18 //!< ATxmega128B1 Xplained board. -#define XMEGA_A1_XPLAINED 19 //!< ATxmega128A1 Xplain-A1 board. -#define XMEGA_A1U_XPLAINED_PRO 20 //!< ATxmega128A1U XMEGA-A1U Xplained Pro board. -#define STK600_RCUC3L4 21 //!< ATUCL4 STK600 board. -#define UC3_L0_XPLAINED_BC 22 //!< ATUC3L0 UC3-L0 Xplained board controller board. -#define MEGA1284P_XPLAINED_BC 23 //!< ATmega1284P-Xplained board controller board. -#define STK600_RC044X 24 //!< STK600 with RC044X routing card board. -#define STK600_RCUC3B0 25 //!< STK600 RCUC3B0 board. -#define UC3_L0_QT600 26 //!< QT600 UC3L0 MCU board. -#define XMEGA_A3BU_XPLAINED 27 //!< ATxmega256A3BU Xplained board. -#define STK600_RC064X_LCDX 28 //!< XMEGAB3 STK600 RC064X LCDX board. -#define STK600_RC100X_LCDX 29 //!< XMEGAB1 STK600 RC100X LCDX board. -#define UC3B_BOARD_CONTROLLER 30 //!< AT32UC3B1 board controller for Atmel boards. -#define RZ600 31 //!< AT32UC3A RZ600 MCU board. -#define SAM3S_EK 32 //!< SAM3S-EK board. -#define SAM3U_EK 33 //!< SAM3U-EK board. -#define SAM3X_EK 34 //!< SAM3X-EK board. -#define SAM3N_EK 35 //!< SAM3N-EK board. -#define SAM3S_EK2 36 //!< SAM3S-EK2 board. -#define SAM4S_EK 37 //!< SAM4S-EK board. -#define STK600_RCUC3A0 38 //!< STK600 RCUC3A0 board. -#define STK600_MEGA 39 //!< STK600 MEGA board. -#define MEGA_1284P_XPLAINED 40 //!< ATmega1284P Xplained board. -#define SAM4S_XPLAINED 41 //!< SAM4S Xplained board. -#define ATXMEGA128A1_QT600 42 //!< QT600 ATXMEGA128A1 MCU board. -#define ARDUINO_DUE_X 43 //!< Arduino Due/X board. -#define STK600_RCUC3L3 44 //!< ATUCL3 STK600 board. -#define SAM4L_EK 45 //!< SAM4L-EK board. -#define STK600_MEGA_RF 46 //!< STK600 MEGA RF EVK board. -#define XMEGA_C3_XPLAINED 47 //!< ATxmega384C3 Xplained board. -#define STK600_RC032X 48 //!< STK600 with RC032X routing card board. -#define SAM4S_EK2 49 //!< SAM4S-EK2 board. -#define XMEGA_E5_XPLAINED 50 //!< ATxmega32E5 Xplained board. -#define SAM4E_EK 51 //!< SAM4E-EK board. -#define ATMEGA256RFR2_XPLAINED_PRO 52 //!< ATmega256RFR2 Xplained Pro board. -#define SAM4S_XPLAINED_PRO 53 //!< SAM4S Xplained Pro board. -#define SAM4L_XPLAINED_PRO 54 //!< SAM4L Xplained Pro board. -#define ATMEGA256RFR2_ZIGBIT 55 //!< ATmega256RFR2 zigbit. -#define XMEGA_RF233_ZIGBIT 56 //!< ATxmega256A3U with AT86RF233 Zigbit. -#define XMEGA_RF212B_ZIGBIT 57 //!< ATxmega256A3U with AT86RF212B Zigbit. -#define SAM4S_WPIR_RD 58 //!< SAM4S-WPIR-RD board. -#define SAMD20_XPLAINED_PRO 59 //!< SAM D20 Xplained Pro board. -#define SAM4L8_XPLAINED_PRO 60 //!< SAM4L8 Xplained Pro board. -#define SAM4N_XPLAINED_PRO 61 //!< SAM4N Xplained Pro board. -#define XMEGA_A3_REB_CBB 62 //!< XMEGA REB Controller Base board. -#define ATMEGARFX_RCB 63 //!< RFR2 & RFA1 RCB. -#define SAM4C_EK 64 //!< SAM4C-EK board. -#define RCB256RFR2_XPRO 65 //!< RFR2 RCB Xplained Pro board. -#define SAMG53_XPLAINED_PRO 66 //!< SAMG53 Xplained Pro board. -#define SAM4CP16BMB 67 //!< SAM4CP16BMB board. -#define SAM4E_XPLAINED_PRO 68 //!< SAM4E Xplained Pro board. -#define SAMD21_XPLAINED_PRO 69 //!< SAM D21 Xplained Pro board. -#define SAMR21_XPLAINED_PRO 70 //!< SAM R21 Xplained Pro board. -#define SAM4CMP_DB 71 //!< SAM4CMP demo board. -#define SAM4CMS_DB 72 //!< SAM4CMS demo board. -#define ATPL230AMB 73 //!< ATPL230AMB board. -#define SAMD11_XPLAINED_PRO 74 //!< SAM D11 Xplained Pro board. -#define SAMG55_XPLAINED_PRO 75 //!< SAMG55 Xplained Pro board. -#define SAML21_XPLAINED_PRO 76 //!< SAM L21 Xplained Pro board. -#define SAMD10_XPLAINED_MINI 77 //!< SAM D10 Xplained Mini board. -#define SAMDA1_XPLAINED_PRO 78 //!< SAM DA1 Xplained Pro board. -#define SAMW25_XPLAINED_PRO 79 //!< SAMW25 Xplained Pro board. -#define SAMC21_XPLAINED_PRO 80 //!< SAM C21 Xplained Pro board. -#define SAMV71_XPLAINED_ULTRA 81 //!< SAMV71 Xplained Ultra board. -#define ATMEGA328P_XPLAINED_MINI 82 //!< ATMEGA328P Xplained MINI board. -#define ATMEGA328PB_XPLAINED_MINI 83 //!< ATMEGA328PB Xplained MINI board. -#define SAMB11_XPLAINED_PRO 84 //!< SAM B11 Xplained Pro board. -#define SAME70_XPLAINED 85 //!< SAME70 Xplained board. -#define SAML22_XPLAINED_PRO 86 //!< SAM L22 Xplained Pro board. -#define SAML22_XPLAINED_PRO_B 87 //!< SAM L22 Xplained Pro board. -#define SAMR21ZLL_EK 88 //!< SAMR21ZLL-EK board. -#define ATMEGA168PB_XPLAINED_MINI 89 //!< ATMEGA168PB Xplained MINI board. -#define ATMEGA324PB_XPLAINED_PRO 90 //!< ATMEGA324PB Xplained Pro board. -#define SAMB11CSP_XPLAINED_PRO 91 //!< SAM B11 CSP Xplained Pro board. -#define SAMB11ZR_XPLAINED_PRO 92 //!< SAM B11 ZR Xplained Pro board. -#define SAMR30_XPLAINED_PRO 93 //!< SAM R30 Xplained Pro board. -#define SAMHA1G16A_XPLAINED_PRO 94 //!< SAM HA1G16A Xplained Pro board. -#define SIMULATOR_XMEGA_A1 97 //!< Simulator for XMEGA A1 devices. -#define AVR_SIMULATOR_UC3 98 //!< Simulator for the AVR UC3 device family. -#define USER_BOARD 99 //!< User-reserved board (if any). -#define DUMMY_BOARD 100 //!< Dummy board to support board-independent applications (e.g. bootloader). -//! @} - -/*! \name Extension Boards - */ -//! @{ -#define EXT1102 1 //!< AT32UC3B EXT1102 board -#define MC300 2 //!< AT32UC3 MC300 board -#define SENSORS_XPLAINED_INERTIAL_1 3 //!< Xplained inertial sensor board 1 -#define SENSORS_XPLAINED_INERTIAL_2 4 //!< Xplained inertial sensor board 2 -#define SENSORS_XPLAINED_PRESSURE_1 5 //!< Xplained pressure sensor board -#define SENSORS_XPLAINED_LIGHTPROX_1 6 //!< Xplained light & proximity sensor board -#define SENSORS_XPLAINED_INERTIAL_A1 7 //!< Xplained inertial sensor board "A" -#define RZ600_AT86RF231 8 //!< AT86RF231 RF board in RZ600 -#define RZ600_AT86RF230B 9 //!< AT86RF230B RF board in RZ600 -#define RZ600_AT86RF212 10 //!< AT86RF212 RF board in RZ600 -#define SENSORS_XPLAINED_BREADBOARD 11 //!< Xplained sensor development breadboard -#define SECURITY_XPLAINED 12 //!< Xplained ATSHA204 board -#define USER_EXT_BOARD 99 //!< User-reserved extension board (if any). -//! @} - -#if BOARD == EVK1100 -# include "evk1100/evk1100.h" -#elif BOARD == EVK1101 -# include "evk1101/evk1101.h" -#elif BOARD == UC3C_EK -# include "uc3c_ek/uc3c_ek.h" -#elif BOARD == EVK1104 -# include "evk1104/evk1104.h" -#elif BOARD == EVK1105 -# include "evk1105/evk1105.h" -#elif BOARD == STK600_RCUC3L0 -# include "stk600/rcuc3l0/stk600_rcuc3l0.h" -#elif BOARD == UC3L_EK -# include "uc3l_ek/uc3l_ek.h" -#elif BOARD == STK600_RCUC3L4 -# include "stk600/rcuc3l4/stk600_rcuc3l4.h" -#elif BOARD == XPLAIN -# include "xplain/xplain.h" -#elif BOARD == STK600_MEGA - /*No header-file to include*/ -#elif BOARD == STK600_MEGA_RF -# include "stk600.h" -#elif BOARD == ATMEGA256RFR2_XPLAINED_PRO -# include "atmega256rfr2_xplained_pro/atmega256rfr2_xplained_pro.h" -#elif BOARD == ATMEGA256RFR2_ZIGBIT -# include "atmega256rfr2_zigbit/atmega256rfr2_zigbit.h" -#elif BOARD == STK600_RC032X -# include "stk600/rc032x/stk600_rc032x.h" -#elif BOARD == STK600_RC044X -# include "stk600/rc044x/stk600_rc044x.h" -#elif BOARD == STK600_RC064X -# include "stk600/rc064x/stk600_rc064x.h" -#elif BOARD == STK600_RC100X -# include "stk600/rc100x/stk600_rc100x.h" -#elif BOARD == UC3_A3_XPLAINED -# include "uc3_a3_xplained/uc3_a3_xplained.h" -#elif BOARD == UC3_L0_XPLAINED -# include "uc3_l0_xplained/uc3_l0_xplained.h" -#elif BOARD == STK600_RCUC3B0 -# include "stk600/rcuc3b0/stk600_rcuc3b0.h" -#elif BOARD == STK600_RCUC3D -# include "stk600/rcuc3d/stk600_rcuc3d.h" -#elif BOARD == STK600_RCUC3C0 -# include "stk600/rcuc3c0/stk600_rcuc3c0.h" -#elif BOARD == SAMG53_XPLAINED_PRO -# include "samg53_xplained_pro/samg53_xplained_pro.h" -#elif BOARD == SAMG55_XPLAINED_PRO -# include "samg55_xplained_pro/samg55_xplained_pro.h" -#elif BOARD == XMEGA_B1_XPLAINED -# include "xmega_b1_xplained/xmega_b1_xplained.h" -#elif BOARD == STK600_RC064X_LCDX -# include "stk600/rc064x_lcdx/stk600_rc064x_lcdx.h" -#elif BOARD == STK600_RC100X_LCDX -# include "stk600/rc100x_lcdx/stk600_rc100x_lcdx.h" -#elif BOARD == XMEGA_A1_XPLAINED -# include "xmega_a1_xplained/xmega_a1_xplained.h" -#elif BOARD == XMEGA_A1U_XPLAINED_PRO -# include "xmega_a1u_xplained_pro/xmega_a1u_xplained_pro.h" -#elif BOARD == UC3_L0_XPLAINED_BC -# include "uc3_l0_xplained_bc/uc3_l0_xplained_bc.h" -#elif BOARD == SAM3S_EK -# include "sam3s_ek/sam3s_ek.h" -# include "system_sam3s.h" -#elif BOARD == SAM3S_EK2 -# include "sam3s_ek2/sam3s_ek2.h" -# include "system_sam3sd8.h" -#elif BOARD == SAM3U_EK -# include "sam3u_ek/sam3u_ek.h" -# include "system_sam3u.h" -#elif BOARD == SAM3X_EK -# include "sam3x_ek/sam3x_ek.h" -# include "system_sam3x.h" -#elif BOARD == SAM3N_EK -# include "sam3n_ek/sam3n_ek.h" -# include "system_sam3n.h" -#elif BOARD == SAM4S_EK -# include "sam4s_ek/sam4s_ek.h" -# include "system_sam4s.h" -#elif BOARD == SAM4S_WPIR_RD -# include "sam4s_wpir_rd/sam4s_wpir_rd.h" -# include "system_sam4s.h" -#elif BOARD == SAM4S_XPLAINED -# include "sam4s_xplained/sam4s_xplained.h" -# include "system_sam4s.h" -#elif BOARD == SAM4S_EK2 -# include "sam4s_ek2/sam4s_ek2.h" -# include "system_sam4s.h" -#elif BOARD == MEGA_1284P_XPLAINED - /*No header-file to include*/ -#elif BOARD == ARDUINO_DUE_X -# include "arduino_due_x/arduino_due_x.h" -# include "system_sam3x.h" -#elif BOARD == SAM4L_EK -# include "sam4l_ek/sam4l_ek.h" -#elif BOARD == SAM4E_EK -# include "sam4e_ek/sam4e_ek.h" -#elif BOARD == SAMD20_XPLAINED_PRO -# include "samd20_xplained_pro/samd20_xplained_pro.h" -#elif BOARD == SAMD21_XPLAINED_PRO -# include "samd21_xplained_pro/samd21_xplained_pro.h" -#elif BOARD == SAMR21_XPLAINED_PRO -# include "samr21_xplained_pro/samr21_xplained_pro.h" -#elif BOARD == SAMR30_XPLAINED_PRO -# include "samr30_xplained_pro/samr30_xplained_pro.h" -#elif BOARD == SAMR21ZLL_EK -# include "samr21zll_ek/samr21zll_ek.h" -#elif BOARD == SAMD11_XPLAINED_PRO -# include "samd11_xplained_pro/samd11_xplained_pro.h" -#elif BOARD == SAML21_XPLAINED_PRO && defined(__SAML21J18A__) -# include "saml21_xplained_pro/saml21_xplained_pro.h" -#elif BOARD == SAML22_XPLAINED_PRO -# include "saml22_xplained_pro/saml22_xplained_pro.h" -#elif BOARD == SAML22_XPLAINED_PRO_B -# include "saml22_xplained_pro_b/saml22_xplained_pro_b.h" -#elif BOARD == SAML21_XPLAINED_PRO && defined(__SAML21J18B__) -# include "saml21_xplained_pro_b/saml21_xplained_pro.h" -#elif BOARD == SAMD10_XPLAINED_MINI -# include "samd10_xplained_mini/samd10_xplained_mini.h" -#elif BOARD == SAMDA1_XPLAINED_PRO -# include "samda1_xplained_pro/samda1_xplained_pro.h" -#elif BOARD == SAMHA1G16A_XPLAINED_PRO -# include "samha1g16a_xplained_pro/samha1g16a_xplained_pro.h" -#elif BOARD == SAMC21_XPLAINED_PRO -# include "samc21_xplained_pro/samc21_xplained_pro.h" -#elif BOARD == SAM4N_XPLAINED_PRO -# include "sam4n_xplained_pro/sam4n_xplained_pro.h" -#elif BOARD == SAMW25_XPLAINED_PRO -# include "samw25_xplained_pro/samw25_xplained_pro.h" -#elif BOARD == SAMV71_XPLAINED_ULTRA -# include "samv71_xplained_ultra/samv71_xplained_ultra.h" -#elif BOARD == MEGA1284P_XPLAINED_BC -# include "mega1284p_xplained_bc/mega1284p_xplained_bc.h" -#elif BOARD == UC3_L0_QT600 -# include "uc3_l0_qt600/uc3_l0_qt600.h" -#elif BOARD == XMEGA_A3BU_XPLAINED -# include "xmega_a3bu_xplained/xmega_a3bu_xplained.h" -#elif BOARD == XMEGA_E5_XPLAINED -# include "xmega_e5_xplained/xmega_e5_xplained.h" -#elif BOARD == UC3B_BOARD_CONTROLLER -# include "uc3b_board_controller/uc3b_board_controller.h" -#elif BOARD == RZ600 -# include "rz600/rz600.h" -#elif BOARD == STK600_RCUC3A0 -# include "stk600/rcuc3a0/stk600_rcuc3a0.h" -#elif BOARD == ATXMEGA128A1_QT600 -# include "atxmega128a1_qt600/atxmega128a1_qt600.h" -#elif BOARD == STK600_RCUC3L3 -# include "stk600/rcuc3l3/stk600_rcuc3l3.h" -#elif BOARD == SAM4S_XPLAINED_PRO -# include "sam4s_xplained_pro/sam4s_xplained_pro.h" -#elif BOARD == SAM4L_XPLAINED_PRO -# include "sam4l_xplained_pro/sam4l_xplained_pro.h" -#elif BOARD == SAM4L8_XPLAINED_PRO -# include "sam4l8_xplained_pro/sam4l8_xplained_pro.h" -#elif BOARD == SAM4C_EK -# include "sam4c_ek/sam4c_ek.h" -#elif BOARD == SAM4CMP_DB -# include "sam4cmp_db/sam4cmp_db.h" -#elif BOARD == SAM4CMS_DB -# include "sam4cms_db/sam4cms_db.h" -#elif BOARD == SAM4CP16BMB -# include "sam4cp16bmb/sam4cp16bmb.h" -#elif BOARD == ATPL230AMB -# include "atpl230amb/atpl230amb.h" -#elif BOARD == XMEGA_C3_XPLAINED -# include "xmega_c3_xplained/xmega_c3_xplained.h" -#elif BOARD == XMEGA_RF233_ZIGBIT -# include "xmega_rf233_zigbit/xmega_rf233_zigbit.h" -#elif BOARD == XMEGA_A3_REB_CBB -# include "xmega_a3_reb_cbb/xmega_a3_reb_cbb.h" -#elif BOARD == ATMEGARFX_RCB -# include "atmegarfx_rcb/atmegarfx_rcb.h" -#elif BOARD == RCB256RFR2_XPRO -# include "atmega256rfr2_rcb_xpro/atmega256rfr2_rcb_xpro.h" -#elif BOARD == XMEGA_RF212B_ZIGBIT -# include "xmega_rf212b_zigbit/xmega_rf212b_zigbit.h" -#elif BOARD == SAM4E_XPLAINED_PRO -# include "sam4e_xplained_pro/sam4e_xplained_pro.h" -#elif BOARD == ATMEGA328P_XPLAINED_MINI -# include "atmega328p_xplained_mini/atmega328p_xplained_mini.h" -#elif BOARD == ATMEGA328PB_XPLAINED_MINI -# include "atmega328pb_xplained_mini/atmega328pb_xplained_mini.h" -#elif BOARD == SAMB11_XPLAINED_PRO -# include "samb11_xplained_pro/samb11_xplained_pro.h" -#elif BOARD == SAME70_XPLAINED -# include "same70_xplained/same70_xplained.h" -#elif BOARD == ATMEGA168PB_XPLAINED_MINI -# include "atmega168pb_xplained_mini/atmega168pb_xplained_mini.h" -#elif BOARD == ATMEGA324PB_XPLAINED_PRO -# include "atmega324pb_xplained_pro/atmega324pb_xplained_pro.h" -#elif BOARD == SAMB11CSP_XPLAINED_PRO -# include "samb11csp_xplained_pro/samb11csp_xplained_pro.h" -#elif BOARD == SAMB11ZR_XPLAINED_PRO -# include "samb11zr_xplained_pro/samb11zr_xplained_pro.h" -#elif BOARD == SIMULATOR_XMEGA_A1 -# include "simulator/xmega_a1/simulator_xmega_a1.h" -#elif BOARD == AVR_SIMULATOR_UC3 -# include "avr_simulator_uc3/avr_simulator_uc3.h" -#elif BOARD == USER_BOARD - // User-reserved area: #include the header file of your board here (if any). -# include "user_board.h" -#elif BOARD == DUMMY_BOARD -# include "dummy/dummy_board.h" -#else -# error No known Atmel board defined -#endif - -#if (defined EXT_BOARD) -# if EXT_BOARD == MC300 -# include "mc300/mc300.h" -# elif (EXT_BOARD == SENSORS_XPLAINED_INERTIAL_1) || \ - (EXT_BOARD == SENSORS_XPLAINED_INERTIAL_2) || \ - (EXT_BOARD == SENSORS_XPLAINED_INERTIAL_A1) || \ - (EXT_BOARD == SENSORS_XPLAINED_PRESSURE_1) || \ - (EXT_BOARD == SENSORS_XPLAINED_LIGHTPROX_1) || \ - (EXT_BOARD == SENSORS_XPLAINED_BREADBOARD) -# include "sensors_xplained/sensors_xplained.h" -# elif EXT_BOARD == RZ600_AT86RF231 -# include "at86rf231/at86rf231.h" -# elif EXT_BOARD == RZ600_AT86RF230B -# include "at86rf230b/at86rf230b.h" -# elif EXT_BOARD == RZ600_AT86RF212 -# include "at86rf212/at86rf212.h" -# elif EXT_BOARD == SECURITY_XPLAINED -# include "security_xplained.h" -# elif EXT_BOARD == USER_EXT_BOARD - // User-reserved area: #include the header file of your extension board here - // (if any). -# endif -#endif - - -#if (defined(__GNUC__) && defined(__AVR32__)) || (defined(__ICCAVR32__) || defined(__AAVR32__)) -#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. - -/*! \brief This function initializes the board target resources - * - * This function should be called to ensure proper initialization of the target - * board hardware connected to the part. - */ -extern void board_init(void); - -#endif // #ifdef __AVR32_ABI_COMPILER__ -#else -/*! \brief This function initializes the board target resources - * - * This function should be called to ensure proper initialization of the target - * board hardware connected to the part. - */ -extern void board_init(void); -#endif - - -#ifdef __cplusplus -} -#endif - -/** - * \} - */ - -#endif // _BOARD_H_ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/init.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/init.c deleted file mode 100644 index 32fba36..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/init.c +++ /dev/null @@ -1,21 +0,0 @@ -/** - * \file - * - * \brief User board initialization template - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <asf.h> -#include <board.h> -#include <conf_board.h> - -void board_init(void) -{ - /* This function is meant to contain board-specific initialization code - * for, e.g., the I/O pins. The initialization can rely on application- - * specific board configuration, found in conf_board.h. - */ -} diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/user_board.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/user_board.h deleted file mode 100644 index 39980a7..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/boards/user_board/user_board.h +++ /dev/null @@ -1,40 +0,0 @@ -/** - * \file - * - * \brief User board definition template - * - */ - - /* This file is intended to contain definitions and configuration details for - * features and devices that are available on the board, e.g., frequency and - * startup time for an external crystal, external memory devices, LED and USART - * pins. - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef USER_BOARD_H -#define USER_BOARD_H - -#include <conf_board.h> - -// External oscillator settings. -// Uncomment and set correct values if external oscillator is used. - -// External oscillator frequency -//#define BOARD_XOSC_HZ 8000000 - -// External oscillator type. -//!< External clock signal -//#define BOARD_XOSC_TYPE XOSC_TYPE_EXTERNAL -//!< 32.768 kHz resonator on TOSC -//#define BOARD_XOSC_TYPE XOSC_TYPE_32KHZ -//!< 0.4 to 16 MHz resonator on XTALS -//#define BOARD_XOSC_TYPE XOSC_TYPE_XTAL - -// External oscillator startup time -//#define BOARD_XOSC_STARTUP_US 500000 - - -#endif // USER_BOARD_H diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/genclk.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/genclk.h deleted file mode 100644 index 503a50a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/genclk.h +++ /dev/null @@ -1,199 +0,0 @@ -/** - * \file - * - * \brief Generic clock management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef CLK_GENCLK_H_INCLUDED -#define CLK_GENCLK_H_INCLUDED - -#include "parts.h" - -#if SAM3S -# include "sam3s/genclk.h" -#elif SAM3U -# include "sam3u/genclk.h" -#elif SAM3N -# include "sam3n/genclk.h" -#elif SAM3XA -# include "sam3x/genclk.h" -#elif SAM4S -# include "sam4s/genclk.h" -#elif SAM4L -# include "sam4l/genclk.h" -#elif SAM4E -# include "sam4e/genclk.h" -#elif SAM4N -# include "sam4n/genclk.h" -#elif SAM4C -# include "sam4c/genclk.h" -#elif SAM4CM -# include "sam4cm/genclk.h" -#elif SAM4CP -# include "sam4cp/genclk.h" -#elif SAMG -# include "samg/genclk.h" -#elif SAMV71 -# include "samv71/genclk.h" -#elif SAMV70 -# include "samv70/genclk.h" -#elif SAME70 -# include "same70/genclk.h" -#elif SAMS70 -# include "sams70/genclk.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/genclk.h" -#elif UC3A3 -# include "uc3a3_a4/genclk.h" -#elif UC3B -# include "uc3b0_b1/genclk.h" -#elif UC3C -# include "uc3c/genclk.h" -#elif UC3D -# include "uc3d/genclk.h" -#elif UC3L -# include "uc3l/genclk.h" -#else -# error Unsupported chip type -#endif - -/** - * \ingroup clk_group - * \defgroup genclk_group Generic Clock Management - * - * Generic clocks are configurable clocks which run outside the system - * clock domain. They are often connected to peripherals which have an - * asynchronous component running independently of the bus clock, e.g. - * USB controllers, low-power timers and RTCs, etc. - * - * Note that not all platforms have support for generic clocks; on such - * platforms, this API will not be available. - * - * @{ - */ - -/** - * \def GENCLK_DIV_MAX - * \brief Maximum divider supported by the generic clock implementation - */ -/** - * \enum genclk_source - * \brief Generic clock source ID - * - * Each generic clock may be generated from a different clock source. - * These are the available alternatives provided by the chip. - */ - -//! \name Generic clock configuration -//@{ -/** - * \struct genclk_config - * \brief Hardware representation of a set of generic clock parameters - */ -/** - * \fn void genclk_config_defaults(struct genclk_config *cfg, - * unsigned int id) - * \brief Initialize \a cfg to the default configuration for the clock - * identified by \a id. - */ -/** - * \fn void genclk_config_read(struct genclk_config *cfg, unsigned int id) - * \brief Read the currently active configuration of the clock - * identified by \a id into \a cfg. - */ -/** - * \fn void genclk_config_write(const struct genclk_config *cfg, - * unsigned int id) - * \brief Activate the configuration \a cfg on the clock identified by - * \a id. - */ -/** - * \fn void genclk_config_set_source(struct genclk_config *cfg, - * enum genclk_source src) - * \brief Select a new source clock \a src in configuration \a cfg. - */ -/** - * \fn void genclk_config_set_divider(struct genclk_config *cfg, - * unsigned int divider) - * \brief Set a new \a divider in configuration \a cfg. - */ -/** - * \fn void genclk_enable_source(enum genclk_source src) - * \brief Enable the source clock \a src used by a generic clock. - */ - //@} - -//! \name Enabling and disabling Generic Clocks -//@{ -/** - * \fn void genclk_enable(const struct genclk_config *cfg, unsigned int id) - * \brief Activate the configuration \a cfg on the clock identified by - * \a id and enable it. - */ -/** - * \fn void genclk_disable(unsigned int id) - * \brief Disable the generic clock identified by \a id. - */ -//@} - -/** - * \brief Enable the configuration defined by \a src and \a divider - * for the generic clock identified by \a id. - * - * \param id The ID of the generic clock. - * \param src The source clock of the generic clock. - * \param divider The divider used to generate the generic clock. - */ -static inline void genclk_enable_config(unsigned int id, enum genclk_source src, unsigned int divider) -{ - struct genclk_config gcfg; - - genclk_config_defaults(&gcfg, id); - genclk_enable_source(src); - genclk_config_set_source(&gcfg, src); - genclk_config_set_divider(&gcfg, divider); - genclk_enable(&gcfg, id); -} - -//! @} - -#endif /* CLK_GENCLK_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/osc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/osc.h deleted file mode 100644 index e67f01f..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/osc.h +++ /dev/null @@ -1,185 +0,0 @@ -/** - * \file - * - * \brief Oscillator management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef OSC_H_INCLUDED -#define OSC_H_INCLUDED - -#include "parts.h" -#include "conf_clock.h" - -#if SAM3S -# include "sam3s/osc.h" -#elif SAM3XA -# include "sam3x/osc.h" -#elif SAM3U -# include "sam3u/osc.h" -#elif SAM3N -# include "sam3n/osc.h" -#elif SAM4S -# include "sam4s/osc.h" -#elif SAM4E -# include "sam4e/osc.h" -#elif SAM4C -# include "sam4c/osc.h" -#elif SAM4CM -# include "sam4cm/osc.h" -#elif SAM4CP -# include "sam4cp/osc.h" -#elif SAM4L -# include "sam4l/osc.h" -#elif SAM4N -# include "sam4n/osc.h" -#elif SAMG -# include "samg/osc.h" -#elif SAMV71 -# include "samv71/osc.h" -#elif SAMV70 -# include "samv70/osc.h" -#elif SAME70 -# include "same70/osc.h" -#elif SAMS70 -# include "sams70/osc.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/osc.h" -#elif UC3A3 -# include "uc3a3_a4/osc.h" -#elif UC3B -# include "uc3b0_b1/osc.h" -#elif UC3C -# include "uc3c/osc.h" -#elif UC3D -# include "uc3d/osc.h" -#elif UC3L -# include "uc3l/osc.h" -#elif XMEGA -# include "xmega/osc.h" -#else -# error Unsupported chip type -#endif - -/** - * \ingroup clk_group - * \defgroup osc_group Oscillator Management - * - * This group contains functions and definitions related to configuring - * and enabling/disabling on-chip oscillators. Internal RC-oscillators, - * external crystal oscillators and external clock generators are - * supported by this module. What all of these have in common is that - * they swing at a fixed, nominal frequency which is normally not - * adjustable. - * - * \par Example: Enabling an oscillator - * - * The following example demonstrates how to enable the external - * oscillator on XMEGA A and wait for it to be ready to use. The - * oscillator identifiers are platform-specific, so while the same - * procedure is used on all platforms, the parameter to osc_enable() - * will be different from device to device. - * \code - osc_enable(OSC_ID_XOSC); - osc_wait_ready(OSC_ID_XOSC); \endcode - * - * \section osc_group_board Board-specific Definitions - * If external oscillators are used, the board code must provide the - * following definitions for each of those: - * - \b BOARD_<osc name>_HZ: The nominal frequency of the oscillator. - * - \b BOARD_<osc name>_STARTUP_US: The startup time of the - * oscillator in microseconds. - * - \b BOARD_<osc name>_TYPE: The type of oscillator connected, i.e. - * whether it's a crystal or external clock, and sometimes what kind - * of crystal it is. The meaning of this value is platform-specific. - * - * @{ - */ - -//! \name Oscillator Management -//@{ -/** - * \fn void osc_enable(uint8_t id) - * \brief Enable oscillator \a id - * - * The startup time and mode value is automatically determined based on - * definitions in the board code. - */ -/** - * \fn void osc_disable(uint8_t id) - * \brief Disable oscillator \a id - */ -/** - * \fn osc_is_ready(uint8_t id) - * \brief Determine whether oscillator \a id is ready. - * \retval true Oscillator \a id is running and ready to use as a clock - * source. - * \retval false Oscillator \a id is not running. - */ -/** - * \fn uint32_t osc_get_rate(uint8_t id) - * \brief Return the frequency of oscillator \a id in Hz - */ - -#ifndef __ASSEMBLY__ - -/** - * \brief Wait until the oscillator identified by \a id is ready - * - * This function will busy-wait for the oscillator identified by \a id - * to become stable and ready to use as a clock source. - * - * \param id A number identifying the oscillator to wait for. - */ -static inline void osc_wait_ready(uint8_t id) -{ - while (!osc_is_ready(id)) { - /* Do nothing */ - } -} - -#endif /* __ASSEMBLY__ */ - -//@} - -//! @} - -#endif /* OSC_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/pll.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/pll.h deleted file mode 100644 index 23e930c..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/pll.h +++ /dev/null @@ -1,341 +0,0 @@ -/** - * \file - * - * \brief PLL management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef CLK_PLL_H_INCLUDED -#define CLK_PLL_H_INCLUDED - -#include "parts.h" -#include "conf_clock.h" - -#if SAM3S -# include "sam3s/pll.h" -#elif SAM3XA -# include "sam3x/pll.h" -#elif SAM3U -# include "sam3u/pll.h" -#elif SAM3N -# include "sam3n/pll.h" -#elif SAM4S -# include "sam4s/pll.h" -#elif SAM4E -# include "sam4e/pll.h" -#elif SAM4C -# include "sam4c/pll.h" -#elif SAM4CM -# include "sam4cm/pll.h" -#elif SAM4CP -# include "sam4cp/pll.h" -#elif SAM4L -# include "sam4l/pll.h" -#elif SAM4N -# include "sam4n/pll.h" -#elif SAMG -# include "samg/pll.h" -#elif SAMV71 -# include "samv71/pll.h" -#elif SAMV70 -# include "samv70/pll.h" -#elif SAME70 -# include "same70/pll.h" -#elif SAMS70 -# include "sams70/pll.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/pll.h" -#elif UC3A3 -# include "uc3a3_a4/pll.h" -#elif UC3B -# include "uc3b0_b1/pll.h" -#elif UC3C -# include "uc3c/pll.h" -#elif UC3D -# include "uc3d/pll.h" -#elif (UC3L0128 || UC3L0256 || UC3L3_L4) -# include "uc3l/pll.h" -#elif XMEGA -# include "xmega/pll.h" -#else -# error Unsupported chip type -#endif - -/** - * \ingroup clk_group - * \defgroup pll_group PLL Management - * - * This group contains functions and definitions related to configuring - * and enabling/disabling on-chip PLLs. A PLL will take an input signal - * (the \em source), optionally divide the frequency by a configurable - * \em divider, and then multiply the frequency by a configurable \em - * multiplier. - * - * Some devices don't support input dividers; specifying any other - * divisor than 1 on these devices will result in an assertion failure. - * Other devices may have various restrictions to the frequency range of - * the input and output signals. - * - * \par Example: Setting up PLL0 with default parameters - * - * The following example shows how to configure and enable PLL0 using - * the default parameters specified using the configuration symbols - * listed above. - * \code - pll_enable_config_defaults(0); \endcode - * - * To configure, enable PLL0 using the default parameters and to disable - * a specific feature like Wide Bandwidth Mode (a UC3A3-specific - * PLL option.), you can use this initialization process. - * \code - struct pll_config pllcfg; - if (pll_is_locked(pll_id)) { - return; // Pll already running - } - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_defaults(&pllcfg, 0); - pll_config_set_option(&pllcfg, PLL_OPT_WBM_DISABLE); - pll_enable(&pllcfg, 0); - pll_wait_for_lock(0); \endcode - * - * When the last function call returns, PLL0 is ready to be used as the - * main system clock source. - * - * \section pll_group_config Configuration Symbols - * - * Each PLL has a set of default parameters determined by the following - * configuration symbols in the application's configuration file: - * - \b CONFIG_PLLn_SOURCE: The default clock source connected to the - * input of PLL \a n. Must be one of the values defined by the - * #pll_source enum. - * - \b CONFIG_PLLn_MUL: The default multiplier (loop divider) of PLL - * \a n. - * - \b CONFIG_PLLn_DIV: The default input divider of PLL \a n. - * - * These configuration symbols determine the result of calling - * pll_config_defaults() and pll_get_default_rate(). - * - * @{ - */ - -//! \name Chip-specific PLL characteristics -//@{ -/** - * \def PLL_MAX_STARTUP_CYCLES - * \brief Maximum PLL startup time in number of slow clock cycles - */ -/** - * \def NR_PLLS - * \brief Number of on-chip PLLs - */ - -/** - * \def PLL_MIN_HZ - * \brief Minimum frequency that the PLL can generate - */ -/** - * \def PLL_MAX_HZ - * \brief Maximum frequency that the PLL can generate - */ -/** - * \def PLL_NR_OPTIONS - * \brief Number of PLL option bits - */ -//@} - -/** - * \enum pll_source - * \brief PLL clock source - */ - -//! \name PLL configuration -//@{ - -/** - * \struct pll_config - * \brief Hardware-specific representation of PLL configuration. - * - * This structure contains one or more device-specific values - * representing the current PLL configuration. The contents of this - * structure is typically different from platform to platform, and the - * user should not access any fields except through the PLL - * configuration API. - */ - -/** - * \fn void pll_config_init(struct pll_config *cfg, - * enum pll_source src, unsigned int div, unsigned int mul) - * \brief Initialize PLL configuration from standard parameters. - * - * \note This function may be defined inline because it is assumed to be - * called very few times, and usually with constant parameters. Inlining - * it will in such cases reduce the code size significantly. - * - * \param cfg The PLL configuration to be initialized. - * \param src The oscillator to be used as input to the PLL. - * \param div PLL input divider. - * \param mul PLL loop divider (i.e. multiplier). - * - * \return A configuration which will make the PLL run at - * (\a mul / \a div) times the frequency of \a src - */ -/** - * \def pll_config_defaults(cfg, pll_id) - * \brief Initialize PLL configuration using default parameters. - * - * After this function returns, \a cfg will contain a configuration - * which will make the PLL run at (CONFIG_PLLx_MUL / CONFIG_PLLx_DIV) - * times the frequency of CONFIG_PLLx_SOURCE. - * - * \param cfg The PLL configuration to be initialized. - * \param pll_id Use defaults for this PLL. - */ -/** - * \def pll_get_default_rate(pll_id) - * \brief Get the default rate in Hz of \a pll_id - */ -/** - * \fn void pll_config_set_option(struct pll_config *cfg, - * unsigned int option) - * \brief Set the PLL option bit \a option in the configuration \a cfg. - * - * \param cfg The PLL configuration to be changed. - * \param option The PLL option bit to be set. - */ -/** - * \fn void pll_config_clear_option(struct pll_config *cfg, - * unsigned int option) - * \brief Clear the PLL option bit \a option in the configuration \a cfg. - * - * \param cfg The PLL configuration to be changed. - * \param option The PLL option bit to be cleared. - */ -/** - * \fn void pll_config_read(struct pll_config *cfg, unsigned int pll_id) - * \brief Read the currently active configuration of \a pll_id. - * - * \param cfg The configuration object into which to store the currently - * active configuration. - * \param pll_id The ID of the PLL to be accessed. - */ -/** - * \fn void pll_config_write(const struct pll_config *cfg, - * unsigned int pll_id) - * \brief Activate the configuration \a cfg on \a pll_id - * - * \param cfg The configuration object representing the PLL - * configuration to be activated. - * \param pll_id The ID of the PLL to be updated. - */ - -//@} - -//! \name Interaction with the PLL hardware -//@{ -/** - * \fn void pll_enable(const struct pll_config *cfg, - * unsigned int pll_id) - * \brief Activate the configuration \a cfg and enable PLL \a pll_id. - * - * \param cfg The PLL configuration to be activated. - * \param pll_id The ID of the PLL to be enabled. - */ -/** - * \fn void pll_disable(unsigned int pll_id) - * \brief Disable the PLL identified by \a pll_id. - * - * After this function is called, the PLL identified by \a pll_id will - * be disabled. The PLL configuration stored in hardware may be affected - * by this, so if the caller needs to restore the same configuration - * later, it should either do a pll_config_read() before disabling the - * PLL, or remember the last configuration written to the PLL. - * - * \param pll_id The ID of the PLL to be disabled. - */ -/** - * \fn bool pll_is_locked(unsigned int pll_id) - * \brief Determine whether the PLL is locked or not. - * - * \param pll_id The ID of the PLL to check. - * - * \retval true The PLL is locked and ready to use as a clock source - * \retval false The PLL is not yet locked, or has not been enabled. - */ -/** - * \fn void pll_enable_source(enum pll_source src) - * \brief Enable the source of the pll. - * The source is enabled, if the source is not already running. - * - * \param src The ID of the PLL source to enable. - */ -/** - * \fn void pll_enable_config_defaults(unsigned int pll_id) - * \brief Enable the pll with the default configuration. - * PLL is enabled, if the PLL is not already locked. - * - * \param pll_id The ID of the PLL to enable. - */ - -/** - * \brief Wait for PLL \a pll_id to become locked - * - * \todo Use a timeout to avoid waiting forever and hanging the system - * - * \param pll_id The ID of the PLL to wait for. - * - * \retval STATUS_OK The PLL is now locked. - * \retval ERR_TIMEOUT Timed out waiting for PLL to become locked. - */ -static inline int pll_wait_for_lock(unsigned int pll_id) -{ - Assert(pll_id < NR_PLLS); - - while (!pll_is_locked(pll_id)) { - /* Do nothing */ - } - - return 0; -} - -//@} -//! @} - -#endif /* CLK_PLL_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/genclk.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/genclk.h deleted file mode 100644 index fbb069a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/genclk.h +++ /dev/null @@ -1,269 +0,0 @@ -/** - * \file - * - * \brief Chip-specific generic clock management. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_GENCLK_H_INCLUDED -#define CHIP_GENCLK_H_INCLUDED - -#include <osc.h> -#include <pll.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup genclk_group - * @{ - */ - -//! \name Programmable Clock Identifiers (PCK) -//@{ -#define GENCLK_PCK_0 0 //!< PCK0 ID -#define GENCLK_PCK_1 1 //!< PCK1 ID -#define GENCLK_PCK_2 2 //!< PCK2 ID -//@} - -//! \name Programmable Clock Sources (PCK) -//@{ - -enum genclk_source { - GENCLK_PCK_SRC_SLCK_RC = 0,//!< Internal 32kHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_SLCK_XTAL = 1,//!< External 32kHz crystal oscillator as PCK source clock - GENCLK_PCK_SRC_SLCK_BYPASS = 2,//!< External 32kHz bypass oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_4M_RC = 3,//!< Internal 4MHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_8M_RC = 4,//!< Internal 8MHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_12M_RC = 5,//!< Internal 12MHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_XTAL = 6,//!< External crystal oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_BYPASS = 7,//!< External bypass oscillator as PCK source clock - GENCLK_PCK_SRC_PLLACK = 8,//!< Use PLLACK as PCK source clock - GENCLK_PCK_SRC_MCK = 9,//!< Use Master Clk as PCK source clock -}; - -//@} - -//! \name Programmable Clock Prescalers (PCK) -//@{ - -enum genclk_divider { - GENCLK_PCK_PRES_1 = PMC_PCK_PRES(0), //!< Set PCK clock prescaler to 1 - GENCLK_PCK_PRES_2 = PMC_PCK_PRES(1), //!< Set PCK clock prescaler to 2 - GENCLK_PCK_PRES_4 = PMC_PCK_PRES(2), //!< Set PCK clock prescaler to 4 - GENCLK_PCK_PRES_8 = PMC_PCK_PRES(3), //!< Set PCK clock prescaler to 8 - GENCLK_PCK_PRES_16 = PMC_PCK_PRES(4), //!< Set PCK clock prescaler to 16 - GENCLK_PCK_PRES_32 = PMC_PCK_PRES(5), //!< Set PCK clock prescaler to 32 - GENCLK_PCK_PRES_64 = PMC_PCK_PRES(6), //!< Set PCK clock prescaler to 64 -}; - -//@} - -struct genclk_config { - uint32_t ctrl; -}; - -static inline void genclk_config_defaults(struct genclk_config *p_cfg, - uint32_t ul_id) -{ - ul_id = ul_id; - p_cfg->ctrl = 0; -} - -static inline void genclk_config_read(struct genclk_config *p_cfg, - uint32_t ul_id) -{ - p_cfg->ctrl = PMC->PMC_PCK[ul_id]; -} - -static inline void genclk_config_write(const struct genclk_config *p_cfg, - uint32_t ul_id) -{ - PMC->PMC_PCK[ul_id] = p_cfg->ctrl; -} - -//! \name Programmable Clock Source and Prescaler configuration -//@{ - -static inline void genclk_config_set_source(struct genclk_config *p_cfg, - enum genclk_source e_src) -{ - p_cfg->ctrl &= (~PMC_PCK_CSS_Msk); - - switch (e_src) { - case GENCLK_PCK_SRC_SLCK_RC: - case GENCLK_PCK_SRC_SLCK_XTAL: - case GENCLK_PCK_SRC_SLCK_BYPASS: - p_cfg->ctrl |= (PMC_PCK_CSS_SLOW_CLK); - break; - - case GENCLK_PCK_SRC_MAINCK_4M_RC: - case GENCLK_PCK_SRC_MAINCK_8M_RC: - case GENCLK_PCK_SRC_MAINCK_12M_RC: - case GENCLK_PCK_SRC_MAINCK_XTAL: - case GENCLK_PCK_SRC_MAINCK_BYPASS: - p_cfg->ctrl |= (PMC_PCK_CSS_MAIN_CLK); - break; - - case GENCLK_PCK_SRC_PLLACK: - p_cfg->ctrl |= (PMC_PCK_CSS_PLLA_CLK); - break; - - case GENCLK_PCK_SRC_MCK: - p_cfg->ctrl |= (PMC_PCK_CSS_MCK); - break; - - default: - break; - } -} - -static inline void genclk_config_set_divider(struct genclk_config *p_cfg, - uint32_t e_divider) -{ - p_cfg->ctrl &= ~PMC_PCK_PRES_Msk; - p_cfg->ctrl |= e_divider; -} - -//@} - -static inline void genclk_enable(const struct genclk_config *p_cfg, uint32_t ul_id) -{ - PMC->PMC_PCK[ul_id] = p_cfg->ctrl; - pmc_enable_pck(ul_id); -} - -static inline void genclk_disable(uint32_t ul_id) -{ - pmc_disable_pck(ul_id); -} - -static inline void genclk_enable_source(enum genclk_source e_src) -{ - switch (e_src) { - case GENCLK_PCK_SRC_SLCK_RC: - if (!osc_is_ready(OSC_SLCK_32K_RC)) { - osc_enable(OSC_SLCK_32K_RC); - osc_wait_ready(OSC_SLCK_32K_RC); - } - break; - - case GENCLK_PCK_SRC_SLCK_XTAL: - if (!osc_is_ready(OSC_SLCK_32K_XTAL)) { - osc_enable(OSC_SLCK_32K_XTAL); - osc_wait_ready(OSC_SLCK_32K_XTAL); - } - break; - - case GENCLK_PCK_SRC_SLCK_BYPASS: - if (!osc_is_ready(OSC_SLCK_32K_BYPASS)) { - osc_enable(OSC_SLCK_32K_BYPASS); - osc_wait_ready(OSC_SLCK_32K_BYPASS); - } - break; - - case GENCLK_PCK_SRC_MAINCK_4M_RC: - if (!osc_is_ready(OSC_MAINCK_4M_RC)) { - osc_enable(OSC_MAINCK_4M_RC); - osc_wait_ready(OSC_MAINCK_4M_RC); - } - break; - - case GENCLK_PCK_SRC_MAINCK_8M_RC: - if (!osc_is_ready(OSC_MAINCK_8M_RC)) { - osc_enable(OSC_MAINCK_8M_RC); - osc_wait_ready(OSC_MAINCK_8M_RC); - } - break; - - case GENCLK_PCK_SRC_MAINCK_12M_RC: - if (!osc_is_ready(OSC_MAINCK_12M_RC)) { - osc_enable(OSC_MAINCK_12M_RC); - osc_wait_ready(OSC_MAINCK_12M_RC); - } - break; - - case GENCLK_PCK_SRC_MAINCK_XTAL: - if (!osc_is_ready(OSC_MAINCK_XTAL)) { - osc_enable(OSC_MAINCK_XTAL); - osc_wait_ready(OSC_MAINCK_XTAL); - } - break; - - case GENCLK_PCK_SRC_MAINCK_BYPASS: - if (!osc_is_ready(OSC_MAINCK_BYPASS)) { - osc_enable(OSC_MAINCK_BYPASS); - osc_wait_ready(OSC_MAINCK_BYPASS); - } - break; - -#ifdef CONFIG_PLL0_SOURCE - case GENCLK_PCK_SRC_PLLACK: - pll_enable_config_defaults(0); - break; -#endif - - case GENCLK_PCK_SRC_MCK: - break; - - default: - Assert(false); - break; - } -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_GENCLK_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/osc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/osc.h deleted file mode 100644 index 191c4ed..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/osc.h +++ /dev/null @@ -1,247 +0,0 @@ -/** - * \file - * - * \brief Chip-specific oscillator management functions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_OSC_H_INCLUDED -#define CHIP_OSC_H_INCLUDED - -#include "board.h" -#include "pmc.h" - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/* - * Below BOARD_XXX macros are related to the specific board, and - * should be defined by the board code, otherwise default value are used. - */ -#if !defined(BOARD_FREQ_SLCK_XTAL) -# warning The board slow clock xtal frequency has not been defined. -# define BOARD_FREQ_SLCK_XTAL (32768UL) -#endif - -#if !defined(BOARD_FREQ_SLCK_BYPASS) -# warning The board slow clock bypass frequency has not been defined. -# define BOARD_FREQ_SLCK_BYPASS (32768UL) -#endif - -#if !defined(BOARD_FREQ_MAINCK_XTAL) -# warning The board main clock xtal frequency has not been defined. -# define BOARD_FREQ_MAINCK_XTAL (12000000UL) -#endif - -#if !defined(BOARD_FREQ_MAINCK_BYPASS) -# warning The board main clock bypass frequency has not been defined. -# define BOARD_FREQ_MAINCK_BYPASS (12000000UL) -#endif - -#if !defined(BOARD_OSC_STARTUP_US) -# warning The board main clock xtal startup time has not been defined. -# define BOARD_OSC_STARTUP_US (15625UL) -#endif - -/** - * \weakgroup osc_group - * @{ - */ - -//! \name Oscillator identifiers -//@{ -#define OSC_SLCK_32K_RC 0 //!< Internal 32kHz RC oscillator. -#define OSC_SLCK_32K_XTAL 1 //!< External 32kHz crystal oscillator. -#define OSC_SLCK_32K_BYPASS 2 //!< External 32kHz bypass oscillator. -#define OSC_MAINCK_4M_RC 3 //!< Internal 4MHz RC oscillator. -#define OSC_MAINCK_8M_RC 4 //!< Internal 8MHz RC oscillator. -#define OSC_MAINCK_12M_RC 5 //!< Internal 12MHz RC oscillator. -#define OSC_MAINCK_XTAL 6 //!< External crystal oscillator. -#define OSC_MAINCK_BYPASS 7 //!< External bypass oscillator. -//@} - -//! \name Oscillator clock speed in hertz -//@{ -#define OSC_SLCK_32K_RC_HZ CHIP_FREQ_SLCK_RC //!< Internal 32kHz RC oscillator. -#define OSC_SLCK_32K_XTAL_HZ BOARD_FREQ_SLCK_XTAL //!< External 32kHz crystal oscillator. -#define OSC_SLCK_32K_BYPASS_HZ BOARD_FREQ_SLCK_BYPASS //!< External 32kHz bypass oscillator. -#define OSC_MAINCK_4M_RC_HZ CHIP_FREQ_MAINCK_RC_4MHZ //!< Internal 4MHz RC oscillator. -#define OSC_MAINCK_8M_RC_HZ CHIP_FREQ_MAINCK_RC_8MHZ //!< Internal 8MHz RC oscillator. -#define OSC_MAINCK_12M_RC_HZ CHIP_FREQ_MAINCK_RC_12MHZ //!< Internal 12MHz RC oscillator. -#define OSC_MAINCK_XTAL_HZ BOARD_FREQ_MAINCK_XTAL //!< External crystal oscillator. -#define OSC_MAINCK_BYPASS_HZ BOARD_FREQ_MAINCK_BYPASS //!< External bypass oscillator. -//@} - -static inline void osc_enable(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - break; - - case OSC_SLCK_32K_XTAL: - pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL); - break; - - case OSC_SLCK_32K_BYPASS: - pmc_switch_sclk_to_32kxtal(PMC_OSC_BYPASS); - break; - - - case OSC_MAINCK_4M_RC: - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz); - break; - - case OSC_MAINCK_8M_RC: - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz); - break; - - case OSC_MAINCK_12M_RC: - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz); - break; - - - case OSC_MAINCK_XTAL: - pmc_switch_mainck_to_xtal(PMC_OSC_XTAL, - pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US, - OSC_SLCK_32K_RC_HZ)); - break; - - case OSC_MAINCK_BYPASS: - pmc_switch_mainck_to_xtal(PMC_OSC_BYPASS, - pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US, - OSC_SLCK_32K_RC_HZ)); - break; - } -} - -static inline void osc_disable(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - case OSC_SLCK_32K_XTAL: - case OSC_SLCK_32K_BYPASS: - break; - - case OSC_MAINCK_4M_RC: - case OSC_MAINCK_8M_RC: - case OSC_MAINCK_12M_RC: - pmc_osc_disable_fastrc(); - break; - - case OSC_MAINCK_XTAL: - pmc_osc_disable_xtal(PMC_OSC_XTAL); - break; - - case OSC_MAINCK_BYPASS: - pmc_osc_disable_xtal(PMC_OSC_BYPASS); - break; - } -} - -static inline bool osc_is_ready(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - return 1; - - case OSC_SLCK_32K_XTAL: - case OSC_SLCK_32K_BYPASS: - return pmc_osc_is_ready_32kxtal(); - - case OSC_MAINCK_4M_RC: - case OSC_MAINCK_8M_RC: - case OSC_MAINCK_12M_RC: - case OSC_MAINCK_XTAL: - case OSC_MAINCK_BYPASS: - return pmc_osc_is_ready_mainck(); - } - - return 0; -} - -static inline uint32_t osc_get_rate(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - return OSC_SLCK_32K_RC_HZ; - - case OSC_SLCK_32K_XTAL: - return BOARD_FREQ_SLCK_XTAL; - - case OSC_SLCK_32K_BYPASS: - return BOARD_FREQ_SLCK_BYPASS; - - case OSC_MAINCK_4M_RC: - return OSC_MAINCK_4M_RC_HZ; - - case OSC_MAINCK_8M_RC: - return OSC_MAINCK_8M_RC_HZ; - - case OSC_MAINCK_12M_RC: - return OSC_MAINCK_12M_RC_HZ; - - case OSC_MAINCK_XTAL: - return BOARD_FREQ_MAINCK_XTAL; - - case OSC_MAINCK_BYPASS: - return BOARD_FREQ_MAINCK_BYPASS; - } - - return 0; -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_OSC_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/pll.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/pll.h deleted file mode 100644 index 5006ebb..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/pll.h +++ /dev/null @@ -1,269 +0,0 @@ -/** - * \file - * - * \brief Chip-specific PLL definitions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_PLL_H_INCLUDED -#define CHIP_PLL_H_INCLUDED - -#include <osc.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup pll_group - * @{ - */ - -#define PLL_OUTPUT_MIN_HZ 160000000 -#define PLL_OUTPUT_MAX_HZ 500000000 - -#define PLL_INPUT_MIN_HZ 3000000 -#define PLL_INPUT_MAX_HZ 32000000 - -#define NR_PLLS 2 -#define PLLA_ID 0 -#define UPLL_ID 1 //!< USB UTMI PLL. - -#define PLL_UPLL_HZ 480000000 - -#define PLL_COUNT 0x3fU - -enum pll_source { - PLL_SRC_MAINCK_4M_RC = OSC_MAINCK_4M_RC, //!< Internal 4MHz RC oscillator. - PLL_SRC_MAINCK_8M_RC = OSC_MAINCK_8M_RC, //!< Internal 8MHz RC oscillator. - PLL_SRC_MAINCK_12M_RC = OSC_MAINCK_12M_RC, //!< Internal 12MHz RC oscillator. - PLL_SRC_MAINCK_XTAL = OSC_MAINCK_XTAL, //!< External crystal oscillator. - PLL_SRC_MAINCK_BYPASS = OSC_MAINCK_BYPASS, //!< External bypass oscillator. - PLL_NR_SOURCES, //!< Number of PLL sources. -}; - -struct pll_config { - uint32_t ctrl; -}; - -#define pll_get_default_rate(pll_id) \ - ((osc_get_rate(CONFIG_PLL##pll_id##_SOURCE) \ - * CONFIG_PLL##pll_id##_MUL) \ - / CONFIG_PLL##pll_id##_DIV) - -/* Force UTMI PLL parameters (Hardware defined) */ -#ifdef CONFIG_PLL1_SOURCE -# undef CONFIG_PLL1_SOURCE -#endif -#ifdef CONFIG_PLL1_MUL -# undef CONFIG_PLL1_MUL -#endif -#ifdef CONFIG_PLL1_DIV -# undef CONFIG_PLL1_DIV -#endif -#define CONFIG_PLL1_SOURCE PLL_SRC_MAINCK_XTAL -#define CONFIG_PLL1_MUL 0 -#define CONFIG_PLL1_DIV 0 - -/** - * \note The SAMV71 PLL hardware interprets mul as mul+1. For readability the - * hardware mul+1 is hidden in this implementation. Use mul as mul effective - * value. - */ -static inline void pll_config_init(struct pll_config *p_cfg, - enum pll_source e_src, uint32_t ul_div, uint32_t ul_mul) -{ - uint32_t vco_hz; - - Assert(e_src < PLL_NR_SOURCES); - - if (ul_div == 0 && ul_mul == 0) { /* Must only be true for UTMI PLL */ - p_cfg->ctrl = CKGR_UCKR_UPLLCOUNT(PLL_COUNT); - } else { /* PLLA */ - /* Calculate internal VCO frequency */ - vco_hz = osc_get_rate(e_src) / ul_div; - Assert(vco_hz >= PLL_INPUT_MIN_HZ); - Assert(vco_hz <= PLL_INPUT_MAX_HZ); - - vco_hz *= ul_mul; - Assert(vco_hz >= PLL_OUTPUT_MIN_HZ); - Assert(vco_hz <= PLL_OUTPUT_MAX_HZ); - - /* PMC hardware will automatically make it mul+1 */ - p_cfg->ctrl = CKGR_PLLAR_MULA(ul_mul - 1) | CKGR_PLLAR_DIVA(ul_div) \ - | CKGR_PLLAR_PLLACOUNT(PLL_COUNT); - } -} - -#define pll_config_defaults(cfg, pll_id) \ - pll_config_init(cfg, \ - CONFIG_PLL##pll_id##_SOURCE, \ - CONFIG_PLL##pll_id##_DIV, \ - CONFIG_PLL##pll_id##_MUL) - -static inline void pll_config_read(struct pll_config *p_cfg, uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - p_cfg->ctrl = PMC->CKGR_PLLAR; - } else { - p_cfg->ctrl = PMC->CKGR_UCKR; - } -} - -static inline void pll_config_write(const struct pll_config *p_cfg, uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - pmc_disable_pllack(); // Always stop PLL first! - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl; - } else { - PMC->CKGR_UCKR = p_cfg->ctrl; - } -} - -static inline void pll_enable(const struct pll_config *p_cfg, uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - pmc_disable_pllack(); // Always stop PLL first! - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl; - } else { - PMC->CKGR_UCKR = p_cfg->ctrl | CKGR_UCKR_UPLLEN; - } -} - -/** - * \note This will only disable the selected PLL, not the underlying oscillator (mainck). - */ -static inline void pll_disable(uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - pmc_disable_pllack(); - } else { - PMC->CKGR_UCKR &= ~CKGR_UCKR_UPLLEN; - } -} - -static inline uint32_t pll_is_locked(uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - return pmc_is_locked_pllack(); - } else { - return pmc_is_locked_upll(); - } -} - -static inline void pll_enable_source(enum pll_source e_src) -{ - switch (e_src) { - case PLL_SRC_MAINCK_4M_RC: - case PLL_SRC_MAINCK_8M_RC: - case PLL_SRC_MAINCK_12M_RC: - case PLL_SRC_MAINCK_XTAL: - case PLL_SRC_MAINCK_BYPASS: - osc_enable(e_src); - osc_wait_ready(e_src); - break; - - default: - Assert(false); - break; - } -} - -static inline void pll_enable_config_defaults(unsigned int ul_pll_id) -{ - struct pll_config pllcfg; - - if (pll_is_locked(ul_pll_id)) { - return; // Pll already running - } - switch (ul_pll_id) { -#ifdef CONFIG_PLL0_SOURCE - case 0: - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_init(&pllcfg, - CONFIG_PLL0_SOURCE, - CONFIG_PLL0_DIV, - CONFIG_PLL0_MUL); - break; -#endif -#ifdef CONFIG_PLL1_SOURCE - case 1: - pll_enable_source(CONFIG_PLL1_SOURCE); - pll_config_init(&pllcfg, - CONFIG_PLL1_SOURCE, - CONFIG_PLL1_DIV, - CONFIG_PLL1_MUL); - break; -#endif - default: - Assert(false); - break; - } - pll_enable(&pllcfg, ul_pll_id); - while (!pll_is_locked(ul_pll_id)); -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_PLL_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.c deleted file mode 100644 index 8e21e83..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.c +++ /dev/null @@ -1,261 +0,0 @@ -/** - * \file - * - * \brief Chip-specific system clock management functions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <sysclk.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup sysclk_group - * @{ - */ - -#if defined(CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) -/** - * \brief boolean signalling that the sysclk_init is done. - */ -uint32_t sysclk_initialized = 0; -#endif - -/** - * \brief Set system clock prescaler configuration - * - * This function will change the system clock prescaler configuration to - * match the parameters. - * - * \note The parameters to this function are device-specific. - * - * \param ul_pres The CPU clock will be divided by \f$2^{mck\_pres}\f$ - */ -void sysclk_set_prescalers(uint32_t ul_pres) -{ - pmc_mck_set_prescaler(ul_pres); - SystemCoreClockUpdate(); -} - -/** - * \brief Change the source of the main system clock. - * - * \param ul_src The new system clock source. Must be one of the constants - * from the <em>System Clock Sources</em> section. - */ -void sysclk_set_source(uint32_t ul_src) -{ - switch (ul_src) { - case SYSCLK_SRC_SLCK_RC: - case SYSCLK_SRC_SLCK_XTAL: - case SYSCLK_SRC_SLCK_BYPASS: - pmc_mck_set_source(PMC_MCKR_CSS_SLOW_CLK); - break; - - case SYSCLK_SRC_MAINCK_4M_RC: - case SYSCLK_SRC_MAINCK_8M_RC: - case SYSCLK_SRC_MAINCK_12M_RC: - case SYSCLK_SRC_MAINCK_XTAL: - case SYSCLK_SRC_MAINCK_BYPASS: - pmc_mck_set_source(PMC_MCKR_CSS_MAIN_CLK); - break; - - case SYSCLK_SRC_PLLACK: - pmc_mck_set_source(PMC_MCKR_CSS_PLLA_CLK); - break; - - case SYSCLK_SRC_UPLLCK: - pmc_mck_set_source(PMC_MCKR_CSS_UPLL_CLK); - break; - } - - SystemCoreClockUpdate(); -} - -#if defined(CONFIG_USBCLK_SOURCE) || defined(__DOXYGEN__) -/** - * \brief Enable USB clock. - * - * \note The SAMV71 UDP hardware interprets div as div+1. For readability the hardware div+1 - * is hidden in this implementation. Use div as div effective value. - * - * \param pll_id Source of the USB clock. - * \param div Actual clock divisor. Must be superior to 0. - */ -void sysclk_enable_usb(void) -{ - Assert(CONFIG_USBCLK_DIV > 0); - -#ifdef CONFIG_PLL0_SOURCE - if (CONFIG_USBCLK_SOURCE == USBCLK_SRC_PLL0) { - struct pll_config pllcfg; - - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_defaults(&pllcfg, 0); - pll_enable(&pllcfg, 0); - pll_wait_for_lock(0); - pmc_switch_udpck_to_pllack(CONFIG_USBCLK_DIV - 1); - pmc_enable_udpck(); - return; - } -#endif - - if (CONFIG_USBCLK_SOURCE == USBCLK_SRC_UPLL) { - - pmc_enable_upll_clock(); - pmc_switch_udpck_to_upllck(CONFIG_USBCLK_DIV - 1); - pmc_enable_udpck(); - return; - } -} - -/** - * \brief Disable the USB clock. - * - * \note This implementation does not switch off the PLL, it just turns off the USB clock. - */ -void sysclk_disable_usb(void) -{ - pmc_disable_udpck(); -} -#endif // CONFIG_USBCLK_SOURCE - -void sysclk_init(void) -{ - struct pll_config pllcfg; - - /* Set flash wait state to max in case the below clock switching. */ - system_init_flash(CHIP_FREQ_CPU_MAX); - - /* Config system clock setting */ - if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_RC) { - osc_enable(OSC_SLCK_32K_RC); - osc_wait_ready(OSC_SLCK_32K_RC); - pmc_switch_mck_to_sclk(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_XTAL) { - osc_enable(OSC_SLCK_32K_XTAL); - osc_wait_ready(OSC_SLCK_32K_XTAL); - pmc_switch_mck_to_sclk(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_BYPASS) { - osc_enable(OSC_SLCK_32K_BYPASS); - osc_wait_ready(OSC_SLCK_32K_BYPASS); - pmc_switch_mck_to_sclk(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_4M_RC) { - /* Already running from SYSCLK_SRC_MAINCK_4M_RC */ - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_8M_RC) { - osc_enable(OSC_MAINCK_8M_RC); - osc_wait_ready(OSC_MAINCK_8M_RC); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_12M_RC) { - osc_enable(OSC_MAINCK_12M_RC); - osc_wait_ready(OSC_MAINCK_12M_RC); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_XTAL) { - osc_enable(OSC_MAINCK_XTAL); - osc_wait_ready(OSC_MAINCK_XTAL); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_BYPASS) { - osc_enable(OSC_MAINCK_BYPASS); - osc_wait_ready(OSC_MAINCK_BYPASS); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - -#ifdef CONFIG_PLL0_SOURCE - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_PLLACK) { - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_defaults(&pllcfg, 0); - pll_enable(&pllcfg, 0); - pll_wait_for_lock(0); - pmc_mck_set_division(CONFIG_SYSCLK_DIV); - pmc_switch_mck_to_pllack(CONFIG_SYSCLK_PRES); - } -#endif - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_UPLLCK) { - pll_enable_source(CONFIG_PLL1_SOURCE); - pll_config_defaults(&pllcfg, 1); - pll_enable(&pllcfg, 1); - pll_wait_for_lock(1); - pmc_mck_set_division(CONFIG_SYSCLK_DIV); - pmc_switch_mck_to_upllck(CONFIG_SYSCLK_PRES); - } - /* Update the SystemFrequency variable */ - SystemCoreClockUpdate(); - - /* Set a flash wait state depending on the new cpu frequency */ - system_init_flash(sysclk_get_cpu_hz()); - -#if (defined CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) - /* Signal that the internal frequencies are setup */ - sysclk_initialized = 1; -#endif -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.h deleted file mode 100644 index 4a2826a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sams70/sysclk.h +++ /dev/null @@ -1,473 +0,0 @@ -/** - * \file - * - * \brief Chip-specific system clock management functions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_SYSCLK_H_INCLUDED -#define CHIP_SYSCLK_H_INCLUDED - -#include <osc.h> -#include <pll.h> - -/** - * \page sysclk_quickstart Quick Start Guide for the System Clock Management - * service (SAMV71) - * - * This is the quick start guide for the \ref sysclk_group "System Clock - * Management" service, with step-by-step instructions on how to configure and - * use the service for specific use cases. - * - * \section sysclk_quickstart_usecases System Clock Management use cases - * - \ref sysclk_quickstart_basic - * - \ref sysclk_quickstart_use_case_2 - * - * \section sysclk_quickstart_basic Basic usage of the System Clock Management - * service - * This section will present a basic use case for the System Clock Management - * service. This use case will configure the main system clock to 120MHz, - * using an internal PLL module to multiply the frequency of a crystal attached - * to the microcontroller. - * - * \subsection sysclk_quickstart_use_case_1_prereq Prerequisites - * - None - * - * \subsection sysclk_quickstart_use_case_1_setup_steps Initialization code - * Add to the application initialization code: - * \code - sysclk_init(); -\endcode - * - * \subsection sysclk_quickstart_use_case_1_setup_steps_workflow Workflow - * -# Configure the system clocks according to the settings in conf_clock.h: - * \code sysclk_init(); \endcode - * - * \subsection sysclk_quickstart_use_case_1_example_code Example code - * Add or uncomment the following in your conf_clock.h header file, - * commenting out all other definitions of the same symbol(s): - * \code - #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK - - // Fpll0 = (Fclk * PLL_mul) / PLL_div - #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL - #define CONFIG_PLL0_MUL (120000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 - - // Fbus = Fsys / BUS_div - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 -\endcode - * - * \subsection sysclk_quickstart_use_case_1_example_workflow Workflow - * -# Configure the main system clock to use the output of the PLL module as - * its source: - * \code #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK \endcode - * -# Configure the PLL module to use the fast external fast crystal - * oscillator as its source: - * \code #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL \endcode - * -# Configure the PLL module to multiply the external fast crystal - * oscillator frequency up to 120MHz: - * \code - #define CONFIG_PLL0_MUL (120000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 -\endcode - * \note For user boards, \c BOARD_FREQ_MAINCK_XTAL should be defined in the - * board \c conf_board.h configuration - * file as the frequency of the fast crystal attached to the microcontroller. - * -# Configure the main clock to run at the full 120MHz, disable scaling of - * the main system clock speed: - * \code - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 -\endcode - * \note Some dividers are powers of two, while others are integer division - * factors. Refer to the formulas in the conf_clock.h template commented - * above each division define. - */ - -/** - * \page sysclk_quickstart_use_case_2 Advanced use case - Peripheral Bus Clock - * Management (SAMV71) - * - * \section sysclk_quickstart_use_case_2 Advanced use case - Peripheral Bus - * Clock Management - * This section will present a more advanced use case for the System Clock - * Management service. This use case will configure the main system clock to - * 96MHz, using an internal PLL module to multiply the frequency of a crystal - * attached to the microcontroller. The USB clock will be configured via the - * same PLL module. - * - * \subsection sysclk_quickstart_use_case_2_prereq Prerequisites - * - None - * - * \subsection sysclk_quickstart_use_case_2_setup_steps Initialization code - * Add to the application initialization code: - * \code - sysclk_init(); -\endcode - * - * \subsection sysclk_quickstart_use_case_2_setup_steps_workflow Workflow - * -# Configure the system clocks according to the settings in conf_clock.h: - * \code sysclk_init(); \endcode - * - * \subsection sysclk_quickstart_use_case_2_example_code Example code - * Add or uncomment the following in your conf_clock.h header file, - * commenting out all other definitions of the same symbol(s): - * \code - #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK - - // Fpll0 = (Fclk * PLL_mul) / PLL_div - #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL - #define CONFIG_PLL0_MUL (96000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 - - // Fbus = Fsys / BUS_div - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 - - // Fusb = Fsys / USB_div - #define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL0 - #define CONFIG_USBCLK_DIV 2 -\endcode - * - * \subsection sysclk_quickstart_use_case_2_example_workflow Workflow - * -# Configure the main system clock to use the output of the PLL0 module as - * its source: - * \code #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK \endcode - * -# Configure the PLL0 module to use the fast external fast crystal - * oscillator as its source: - * \code #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL \endcode - * -# Configure the PLL0 module to multiply the external fast crystal - * oscillator frequency up to 96MHz: - * \code - #define CONFIG_PLL0_MUL (96000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 -\endcode - * \note For user boards, \c BOARD_FREQ_MAINCK_XTAL should be defined in the - * board \c conf_board.h configuration file as the frequency of the fast - * crystal attached to the microcontroller. - * -# Configure the main clock to run at the full 96MHz, disable scaling of - * the main system clock speed: - * \code - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 -\endcode - * \note Some dividers are powers of two, while others are integer division - * factors. Refer to the formulas in the conf_clock.h template commented - * above each division define. - * -# Configure the USB module clock to use the output of the PLL0 module as - * its source with division 2: - * \code - #define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL0 - #define CONFIG_USBCLK_DIV 2 -\endcode - */ - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup sysclk_group - * @{ - */ - -//! \name Configuration Symbols -//@{ -/** - * \def CONFIG_SYSCLK_SOURCE - * \brief Initial/static main system clock source - * - * The main system clock will be configured to use this clock during - * initialization. - */ -#ifndef CONFIG_SYSCLK_SOURCE -# define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC -#endif -/** - * \def CONFIG_SYSCLK_PRES - * \brief Initial CPU clock divider (mck) - * - * The MCK will run at - * \f[ - * f_{MCK} = \frac{f_{sys}}{\mathrm{CONFIG\_SYSCLK\_PRES}}\,\mbox{Hz} - * \f] - * after initialization. - */ -#ifndef CONFIG_SYSCLK_PRES -# define CONFIG_SYSCLK_PRES 0 -#endif - -//@} - -//! \name Master Clock Sources (MCK) -//@{ -#define SYSCLK_SRC_SLCK_RC 0 //!< Internal 32kHz RC oscillator as master source clock -#define SYSCLK_SRC_SLCK_XTAL 1 //!< External 32kHz crystal oscillator as master source clock -#define SYSCLK_SRC_SLCK_BYPASS 2 //!< External 32kHz bypass oscillator as master source clock -#define SYSCLK_SRC_MAINCK_4M_RC 3 //!< Internal 4MHz RC oscillator as master source clock -#define SYSCLK_SRC_MAINCK_8M_RC 4 //!< Internal 8MHz RC oscillator as master source clock -#define SYSCLK_SRC_MAINCK_12M_RC 5 //!< Internal 12MHz RC oscillator as master source clock -#define SYSCLK_SRC_MAINCK_XTAL 6 //!< External crystal oscillator as master source clock -#define SYSCLK_SRC_MAINCK_BYPASS 7 //!< External bypass oscillator as master source clock -#define SYSCLK_SRC_PLLACK 8 //!< Use PLLACK as master source clock -#define SYSCLK_SRC_UPLLCK 9 //!< Use UPLLCK as master source clock -//@} - -//! \name Master Clock Prescalers (MCK) -//@{ -#define SYSCLK_PRES_1 PMC_MCKR_PRES_CLK_1 //!< Set master clock prescaler to 1 -#define SYSCLK_PRES_2 PMC_MCKR_PRES_CLK_2 //!< Set master clock prescaler to 2 -#define SYSCLK_PRES_4 PMC_MCKR_PRES_CLK_4 //!< Set master clock prescaler to 4 -#define SYSCLK_PRES_8 PMC_MCKR_PRES_CLK_8 //!< Set master clock prescaler to 8 -#define SYSCLK_PRES_16 PMC_MCKR_PRES_CLK_16 //!< Set master clock prescaler to 16 -#define SYSCLK_PRES_32 PMC_MCKR_PRES_CLK_32 //!< Set master clock prescaler to 32 -#define SYSCLK_PRES_64 PMC_MCKR_PRES_CLK_64 //!< Set master clock prescaler to 64 -#define SYSCLK_PRES_3 PMC_MCKR_PRES_CLK_3 //!< Set master clock prescaler to 3 -//@} - -//! \name Master Clock Division (MCK) -//@{ -#define SYSCLK_DIV_1 PMC_MCKR_MDIV_EQ_PCK //!< Set master clock division to 1 -#define SYSCLK_DIV_2 PMC_MCKR_MDIV_PCK_DIV2 //!< Set master clock division to 2 -#define SYSCLK_DIV_4 PMC_MCKR_MDIV_PCK_DIV4 //!< Set master clock division to 4 -#define SYSCLK_DIV_3 PMC_MCKR_MDIV_PCK_DIV3 //!< Set master clock division to 3 -//@} - -//! \name USB Clock Sources -//@{ -#define USBCLK_SRC_PLL0 0 //!< Use PLLA -#define USBCLK_SRC_UPLL 1 //!< Use UPLL -//@} - -/** - * \def CONFIG_USBCLK_SOURCE - * \brief Configuration symbol for the USB generic clock source - * - * Sets the clock source to use for the USB. The source must also be properly - * configured. - * - * Define this to one of the \c USBCLK_SRC_xxx settings. Leave it undefined if - * USB is not required. - */ -#ifdef __DOXYGEN__ -# define CONFIG_USBCLK_SOURCE -#endif - -/** - * \def CONFIG_USBCLK_DIV - * \brief Configuration symbol for the USB generic clock divider setting - * - * Sets the clock division for the USB generic clock. If a USB clock source is - * selected with CONFIG_USBCLK_SOURCE, this configuration symbol must also be - * defined. - */ -#ifdef __DOXYGEN__ -# define CONFIG_USBCLK_DIV -#endif - -/** - * \name Querying the system clock - * - * The following functions may be used to query the current frequency of - * the system clock and the CPU and bus clocks derived from it. - * sysclk_get_main_hz() and sysclk_get_cpu_hz() can be assumed to be - * available on all platforms, although some platforms may define - * additional accessors for various chip-internal bus clocks. These are - * usually not intended to be queried directly by generic code. - */ -//@{ - -/** - * \brief Return the current rate in Hz of the main system clock - * - * \todo This function assumes that the main clock source never changes - * once it's been set up, and that PLL0 always runs at the compile-time - * configured default rate. While this is probably the most common - * configuration, which we want to support as a special case for - * performance reasons, we will at some point need to support more - * dynamic setups as well. - */ -#if (defined CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) -extern uint32_t sysclk_initialized; -#endif -static inline uint32_t sysclk_get_main_hz(void) -{ -#if (defined CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) - if (!sysclk_initialized ) { - return OSC_MAINCK_4M_RC_HZ; - } -#endif - - /* Config system clock setting */ - if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_RC) { - return OSC_SLCK_32K_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_XTAL) { - return OSC_SLCK_32K_XTAL_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_BYPASS) { - return OSC_SLCK_32K_BYPASS_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_4M_RC) { - return OSC_MAINCK_4M_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_8M_RC) { - return OSC_MAINCK_8M_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_12M_RC) { - return OSC_MAINCK_12M_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_XTAL) { - return OSC_MAINCK_XTAL_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_BYPASS) { - return OSC_MAINCK_BYPASS_HZ; - } -#ifdef CONFIG_PLL0_SOURCE - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_PLLACK) { - return pll_get_default_rate(0); - } -#endif - -#ifdef CONFIG_PLL1_SOURCE - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_UPLLCK) { - return PLL_UPLL_HZ; - } -#endif - else { - /* unhandled_case(CONFIG_SYSCLK_SOURCE); */ - return 0; - } -} - -/** - * \brief Return the current rate in Hz of the CPU clock - * - * \todo This function assumes that the CPU always runs at the system - * clock frequency. We want to support at least two more scenarios: - * Fixed CPU/bus clock dividers (config symbols) and dynamic CPU/bus - * clock dividers (which may change at run time). Ditto for all the bus - * clocks. - * - * \return Frequency of the CPU clock, in Hz. - */ -static inline uint32_t sysclk_get_cpu_hz(void) -{ - /* CONFIG_SYSCLK_PRES is the register value for setting the expected */ - /* prescaler, not an immediate value. */ - return sysclk_get_main_hz() / - ((CONFIG_SYSCLK_PRES == SYSCLK_PRES_3) ? 3 : - (1 << (CONFIG_SYSCLK_PRES >> PMC_MCKR_PRES_Pos))); -} - -/** - * \brief Retrieves the current rate in Hz of the peripheral clocks. - * - * \return Frequency of the peripheral clocks, in Hz. - */ -static inline uint32_t sysclk_get_peripheral_hz(void) -{ - /* CONFIG_SYSCLK_PRES is the register value for setting the expected */ - /* prescaler, not an immediate value. */ - return sysclk_get_main_hz() / - (((CONFIG_SYSCLK_PRES == SYSCLK_PRES_3) ? 3 : (1 << (CONFIG_SYSCLK_PRES >> PMC_MCKR_PRES_Pos))) * CONFIG_SYSCLK_DIV); -} - -/** - * \brief Retrieves the current rate in Hz of the Peripheral Bus clock attached - * to the specified peripheral. - * - * \param module Pointer to the module's base address. - * - * \return Frequency of the bus attached to the specified peripheral, in Hz. - */ -static inline uint32_t sysclk_get_peripheral_bus_hz(const volatile void *module) -{ - UNUSED(module); - return sysclk_get_peripheral_hz(); -} -//@} - -//! \name Enabling and disabling synchronous clocks -//@{ - -/** - * \brief Enable a peripheral's clock. - * - * \param ul_id Id (number) of the peripheral clock. - */ -static inline void sysclk_enable_peripheral_clock(uint32_t ul_id) -{ - pmc_enable_periph_clk(ul_id); -} - -/** - * \brief Disable a peripheral's clock. - * - * \param ul_id Id (number) of the peripheral clock. - */ -static inline void sysclk_disable_peripheral_clock(uint32_t ul_id) -{ - pmc_disable_periph_clk(ul_id); -} - -//@} - -//! \name System Clock Source and Prescaler configuration -//@{ - -extern void sysclk_set_prescalers(uint32_t ul_pres); -extern void sysclk_set_source(uint32_t ul_src); - -//@} - -extern void sysclk_enable_usb(void); -extern void sysclk_disable_usb(void); - -extern void sysclk_init(void); - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_SYSCLK_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sysclk.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sysclk.h deleted file mode 100644 index 86e4bf7..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/clock/sysclk.h +++ /dev/null @@ -1,194 +0,0 @@ -/** - * \file - * - * \brief System clock management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef SYSCLK_H_INCLUDED -#define SYSCLK_H_INCLUDED - -#include "parts.h" -#include "conf_clock.h" - -#if SAM3S -# include "sam3s/sysclk.h" -#elif SAM3U -# include "sam3u/sysclk.h" -#elif SAM3N -# include "sam3n/sysclk.h" -#elif SAM3XA -# include "sam3x/sysclk.h" -#elif SAM4S -# include "sam4s/sysclk.h" -#elif SAM4E -# include "sam4e/sysclk.h" -#elif SAM4C -# include "sam4c/sysclk.h" -#elif SAM4CM -# include "sam4cm/sysclk.h" -#elif SAM4CP -# include "sam4cp/sysclk.h" -#elif SAM4L -# include "sam4l/sysclk.h" -#elif SAM4N -# include "sam4n/sysclk.h" -#elif SAMG -# include "samg/sysclk.h" -#elif SAMV71 -# include "samv71/sysclk.h" -#elif SAMV70 -# include "samv70/sysclk.h" -#elif SAME70 -# include "same70/sysclk.h" -#elif SAMS70 -# include "sams70/sysclk.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/sysclk.h" -#elif UC3A3 -# include "uc3a3_a4/sysclk.h" -#elif UC3B -# include "uc3b0_b1/sysclk.h" -#elif UC3C -# include "uc3c/sysclk.h" -#elif UC3D -# include "uc3d/sysclk.h" -#elif UC3L -# include "uc3l/sysclk.h" -#elif XMEGA -# include "xmega/sysclk.h" -#elif MEGA -# include "mega/sysclk.h" -#else -# error Unsupported chip type -#endif - -/** - * \defgroup clk_group Clock Management - */ - -/** - * \ingroup clk_group - * \defgroup sysclk_group System Clock Management - * - * See \ref sysclk_quickstart. - * - * The <em>sysclk</em> API covers the <em>system clock</em> and all - * clocks derived from it. The system clock is a chip-internal clock on - * which all <em>synchronous clocks</em>, i.e. CPU and bus/peripheral - * clocks, are based. The system clock is typically generated from one - * of a variety of sources, which may include crystal and RC oscillators - * as well as PLLs. The clocks derived from the system clock are - * sometimes also known as <em>synchronous clocks</em>, since they - * always run synchronously with respect to each other, as opposed to - * <em>generic clocks</em> which may run from different oscillators or - * PLLs. - * - * Most applications should simply call sysclk_init() to initialize - * everything related to the system clock and its source (oscillator, - * PLL or DFLL), and leave it at that. More advanced applications, and - * platform-specific drivers, may require additional services from the - * clock system, some of which may be platform-specific. - * - * \section sysclk_group_platform Platform Dependencies - * - * The sysclk API is partially chip- or platform-specific. While all - * platforms provide mostly the same functionality, there are some - * variations around how different bus types and clock tree structures - * are handled. - * - * The following functions are available on all platforms with the same - * parameters and functionality. These functions may be called freely by - * portable applications, drivers and services: - * - sysclk_init() - * - sysclk_set_source() - * - sysclk_get_main_hz() - * - sysclk_get_cpu_hz() - * - sysclk_get_peripheral_bus_hz() - * - * The following functions are available on all platforms, but there may - * be variations in the function signature (i.e. parameters) and - * behavior. These functions are typically called by platform-specific - * parts of drivers, and applications that aren't intended to be - * portable: - * - sysclk_enable_peripheral_clock() - * - sysclk_disable_peripheral_clock() - * - sysclk_enable_module() - * - sysclk_disable_module() - * - sysclk_module_is_enabled() - * - sysclk_set_prescalers() - * - * All other functions should be considered platform-specific. - * Enabling/disabling clocks to specific peripherals as well as - * determining the speed of these clocks should be done by calling - * functions provided by the driver for that peripheral. - * - * @{ - */ - -//! \name System Clock Initialization -//@{ -/** - * \fn void sysclk_init(void) - * \brief Initialize the synchronous clock system. - * - * This function will initialize the system clock and its source. This - * includes: - * - Mask all synchronous clocks except for any clocks which are - * essential for normal operation (for example internal memory - * clocks). - * - Set up the system clock prescalers as specified by the - * application's configuration file. - * - Enable the clock source specified by the application's - * configuration file (oscillator or PLL) and wait for it to become - * stable. - * - Set the main system clock source to the clock specified by the - * application's configuration file. - * - * Since all non-essential peripheral clocks are initially disabled, it - * is the responsibility of the peripheral driver to re-enable any - * clocks that are needed for normal operation. - */ -//@} - -//! @} - -#endif /* SYSCLK_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/delay.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/delay.h deleted file mode 100644 index cab97f5..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/delay.h +++ /dev/null @@ -1,139 +0,0 @@ -/** - * \file - * - * \brief Common Delay Service - * - * Copyright (c) 2014-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef _DELAY_H_ -#define _DELAY_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <sysclk.h> - -#if UC3 -# include <cycle_counter.h> -#elif XMEGA -# include "xmega/cycle_counter.h" -#elif MEGA -# include "mega/cycle_counter.h" -#elif SAM -# include "sam/cycle_counter.h" -#endif - -/** - * @defgroup group_common_services_delay Busy-Wait Delay Routines - * - * This module provides simple loop-based delay routines for those - * applications requiring a brief wait during execution. Common API - * for UC3, XMEGA, and AVR MEGA. - * - * @{ - */ - -/** - * @def F_CPU - * @brief MCU Clock Frequency (Hertz) - * - * @deprecated - * The \ref F_CPU configuration constant is used for compatibility with the - * \ref group_common_services_delay routines. The common loop-based delay - * routines are designed to use the \ref clk_group modules while anticipating - * support for legacy applications assuming a statically defined clock - * frequency. Applications using a statically configured MCU clock frequency - * can define \ref F_CPU (Hertz), in which case the common delay routines will - * use this value rather than calling sysclk_get_cpu_hz() to get the current - * MCU clock frequency. - */ -#ifndef F_CPU -# define F_CPU sysclk_get_cpu_hz() -#endif - -/** - * @def delay_init - * - * @brief Initialize the delay driver. - * @param fcpu_hz CPU frequency in Hz - * - * @deprecated - * This function is provided for compatibility with ASF applications that - * may not have been updated to configure the system clock via the common - * clock service; e.g. sysclk_init() and a configuration header file are - * used to configure clocks. - * - * The functions in this module call \ref sysclk_get_cpu_hz() function to - * obtain the system clock frequency. - */ -#define delay_init(fcpu_hz) - -/** - * @def delay_s - * @brief Delay in seconds. - * @param delay Delay in seconds - */ -#define delay_s(delay) ((delay) ? cpu_delay_ms(1000 * delay, F_CPU) : cpu_delay_us(1, F_CPU)) - -/** - * @def delay_ms - * @brief Delay in milliseconds. - * @param delay Delay in milliseconds - */ -#define delay_ms(delay) ((delay) ? cpu_delay_ms(delay, F_CPU) : cpu_delay_us(1, F_CPU)) - -/** - * @def delay_us - * @brief Delay in microseconds. - * @param delay Delay in microseconds - */ -#define delay_us(delay) ((delay) ? cpu_delay_us(delay, F_CPU) : cpu_delay_us(1, F_CPU)) - -#ifdef __cplusplus -} -#endif - -/** - * @} - */ - -#endif /* _DELAY_H_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.c deleted file mode 100644 index 96669ef..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.c +++ /dev/null @@ -1,61 +0,0 @@ -/** - * \file - * - * \brief ARM functions for busy-wait delay loops - * - * Copyright (c) 2012-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "cycle_counter.h" - -// Delay loop is put to SRAM so that FWS will not affect delay time -OPTIMIZE_HIGH -RAMFUNC -void portable_delay_cycles(unsigned long n) -{ - UNUSED(n); - - __asm ( - "loop: DMB \n" - "SUBS R0, R0, #1 \n" - "BNE.N loop " - ); -} diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.h deleted file mode 100644 index 4ac1c6b..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/services/delay/sam/cycle_counter.h +++ /dev/null @@ -1,126 +0,0 @@ -/** - * \file - * - * \brief ARM functions for busy-wait delay loops - * - * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef _cycle_counter_h_ -#define _cycle_counter_h_ - -#ifdef __cplusplus -extern "C" { -#endif - - -#include <compiler.h> - -/** - * @name Convenience functions for busy-wait delay loops - * - * @def delay_cycles - * @brief Delay program execution for a specified number of CPU cycles. - * @param n number of CPU cycles to wait - * - * @def cpu_delay_ms - * @brief Delay program execution for a specified number of milliseconds. - * @param delay number of milliseconds to wait - * @param f_cpu CPU frequency in Hertz - * - * @def cpu_delay_us - * @brief Delay program execution for a specified number of microseconds. - * @param delay number of microseconds to wait - * @param f_cpu CPU frequency in Hertz - * - * @def cpu_ms_2_cy - * @brief Convert milli-seconds into CPU cycles. - * @param ms number of milliseconds - * @param f_cpu CPU frequency in Hertz - * @return the converted number of CPU cycles - * - * @def cpu_us_2_cy - * @brief Convert micro-seconds into CPU cycles. - * @param ms number of microseconds - * @param f_cpu CPU frequency in Hertz - * @return the converted number of CPU cycles - * - * @{ - */ - -/** - * \brief Delay loop to delay n number of cycles - * - * \note The function runs in internal RAM so that flash wait states - * will not affect the delay time. - * - * \param n Number of cycles - */ -void portable_delay_cycles(unsigned long n); - -/* Cortex-M7 is faster than Cortex-M3/M4/M0+ */ -#ifdef __CM7_REV - -# define cpu_ms_2_cy(ms, f_cpu) \ - (((uint64_t)(ms) * (f_cpu) + (uint64_t)(5.932e3 - 1ul)) / (uint64_t)5.932e3) -# define cpu_us_2_cy(us, f_cpu) \ - (((uint64_t)(us) * (f_cpu) + (uint64_t)(5.932e6 - 1ul)) / (uint64_t)5.932e6) - -#else - -# define cpu_ms_2_cy(ms, f_cpu) \ - (((uint64_t)(ms) * (f_cpu) + (uint64_t)(14e3 - 1ul)) / (uint64_t)14e3) -# define cpu_us_2_cy(us, f_cpu) \ - (((uint64_t)(us) * (f_cpu) + (uint64_t)(14e6 - 1ul)) / (uint64_t)14e6) - -#endif - -#define delay_cycles portable_delay_cycles - -#define cpu_delay_ms(delay, f_cpu) delay_cycles(cpu_ms_2_cy(delay, f_cpu)) -#define cpu_delay_us(delay, f_cpu) delay_cycles(cpu_us_2_cy(delay, f_cpu)) -//! @} - - -#ifdef __cplusplus -} -#endif - -#endif /* _cycle_counter_h_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt.h deleted file mode 100644 index a88c6f0..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt.h +++ /dev/null @@ -1,142 +0,0 @@ -/** - * \file - * - * \brief Global interrupt management for 8- and 32-bit AVR - * - * Copyright (c) 2010-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef UTILS_INTERRUPT_H -#define UTILS_INTERRUPT_H - -#include <parts.h> - -#if XMEGA || MEGA -# include "interrupt/interrupt_avr8.h" -#elif UC3 -# include "interrupt/interrupt_avr32.h" -#elif SAM || SAMB -# include "interrupt/interrupt_sam_nvic.h" -#else -# error Unsupported device. -#endif - -/** - * \defgroup interrupt_group Global interrupt management - * - * This is a driver for global enabling and disabling of interrupts. - * - * @{ - */ - -#if defined(__DOXYGEN__) -/** - * \def CONFIG_INTERRUPT_FORCE_INTC - * \brief Force usage of the ASF INTC driver - * - * Predefine this symbol when preprocessing to force the use of the ASF INTC driver. - * This is useful to ensure compatibility across compilers and shall be used only when required - * by the application needs. - */ -# define CONFIG_INTERRUPT_FORCE_INTC -#endif - -//! \name Global interrupt flags -//@{ -/** - * \typedef irqflags_t - * \brief Type used for holding state of interrupt flag - */ - -/** - * \def cpu_irq_enable - * \brief Enable interrupts globally - */ - -/** - * \def cpu_irq_disable - * \brief Disable interrupts globally - */ - -/** - * \fn irqflags_t cpu_irq_save(void) - * \brief Get and clear the global interrupt flags - * - * Use in conjunction with \ref cpu_irq_restore. - * - * \return Current state of interrupt flags. - * - * \note This function leaves interrupts disabled. - */ - -/** - * \fn void cpu_irq_restore(irqflags_t flags) - * \brief Restore global interrupt flags - * - * Use in conjunction with \ref cpu_irq_save. - * - * \param flags State to set interrupt flag to. - */ - -/** - * \fn bool cpu_irq_is_enabled_flags(irqflags_t flags) - * \brief Check if interrupts are globally enabled in supplied flags - * - * \param flags Currents state of interrupt flags. - * - * \return True if interrupts are enabled. - */ - -/** - * \def cpu_irq_is_enabled - * \brief Check if interrupts are globally enabled - * - * \return True if interrupts are enabled. - */ -//@} - -//! @} - -/** - * \ingroup interrupt_group - * \defgroup interrupt_deprecated_group Deprecated interrupt definitions - */ - -#endif /* UTILS_INTERRUPT_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c deleted file mode 100644 index 26dcc91..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c +++ /dev/null @@ -1,86 +0,0 @@ -/** - * \file - * - * \brief Global interrupt management for SAM D20, SAM3 and SAM4 (NVIC based) - * - * Copyright (c) 2012-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "interrupt_sam_nvic.h" - -#if !defined(__DOXYGEN__) -/* Deprecated - global flag to determine the global interrupt state. Required by - * QTouch library, however new applications should use cpu_irq_is_enabled() - * which probes the true global interrupt state from the CPU special registers. - */ -volatile bool g_interrupt_enabled = true; -#endif - -void cpu_irq_enter_critical(void) -{ - if (cpu_irq_critical_section_counter == 0) { - if (cpu_irq_is_enabled()) { - cpu_irq_disable(); - cpu_irq_prev_interrupt_state = true; - } else { - /* Make sure the to save the prev state as false */ - cpu_irq_prev_interrupt_state = false; - } - - } - - cpu_irq_critical_section_counter++; -} - -void cpu_irq_leave_critical(void) -{ - /* Check if the user is trying to leave a critical section when not in a critical section */ - Assert(cpu_irq_critical_section_counter > 0); - - cpu_irq_critical_section_counter--; - - /* Only enable global interrupts when the counter reaches 0 and the state of the global interrupt flag - was enabled when entering critical state */ - if ((cpu_irq_critical_section_counter == 0) && (cpu_irq_prev_interrupt_state)) { - cpu_irq_enable(); - } -} - diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h deleted file mode 100644 index 419ad20..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h +++ /dev/null @@ -1,189 +0,0 @@ -/** - * \file - * - * \brief Global interrupt management for SAM D20, SAM3 and SAM4 (NVIC based) - * - * Copyright (c) 2012-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef UTILS_INTERRUPT_INTERRUPT_H -#define UTILS_INTERRUPT_INTERRUPT_H - -#include <compiler.h> -#include <parts.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \weakgroup interrupt_group - * - * @{ - */ - -/** - * \name Interrupt Service Routine definition - * - * @{ - */ - -/** - * \brief Define service routine - * - * \note For NVIC devices the interrupt service routines are predefined to - * add to vector table in binary generation, so there is no service - * register at run time. The routine collections are in exceptions.h. - * - * Usage: - * \code - ISR(foo_irq_handler) - { - // Function definition - ... - } -\endcode - * - * \param func Name for the function. - */ -# define ISR(func) \ - void func (void) - -/** - * \brief Initialize interrupt vectors - * - * For NVIC the interrupt vectors are put in vector table. So nothing - * to do to initialize them, except defined the vector function with - * right name. - * - * This must be called prior to \ref irq_register_handler. - */ -# define irq_initialize_vectors() \ - do { \ - } while(0) - -/** - * \brief Register handler for interrupt - * - * For NVIC the interrupt vectors are put in vector table. So nothing - * to do to register them, except defined the vector function with - * right name. - * - * Usage: - * \code - irq_initialize_vectors(); - irq_register_handler(foo_irq_handler); -\endcode - * - * \note The function \a func must be defined with the \ref ISR macro. - * \note The functions prototypes can be found in the device exception header - * files (exceptions.h). - */ -# define irq_register_handler(int_num, int_prio) \ - NVIC_ClearPendingIRQ( (IRQn_Type)int_num); \ - NVIC_SetPriority( (IRQn_Type)int_num, int_prio); \ - NVIC_EnableIRQ( (IRQn_Type)int_num); \ - -//@} - -# define cpu_irq_enable() \ - do { \ - g_interrupt_enabled = true; \ - __DMB(); \ - __enable_irq(); \ - } while (0) -# define cpu_irq_disable() \ - do { \ - __disable_irq(); \ - __DMB(); \ - g_interrupt_enabled = false; \ - } while (0) - -typedef uint32_t irqflags_t; - -#if !defined(__DOXYGEN__) -extern volatile bool g_interrupt_enabled; -#endif - -#define cpu_irq_is_enabled() (__get_PRIMASK() == 0) - -static volatile uint32_t cpu_irq_critical_section_counter; -static volatile bool cpu_irq_prev_interrupt_state; - -static inline irqflags_t cpu_irq_save(void) -{ - volatile irqflags_t flags = cpu_irq_is_enabled(); - cpu_irq_disable(); - return flags; -} - -static inline bool cpu_irq_is_enabled_flags(irqflags_t flags) -{ - return (flags); -} - -static inline void cpu_irq_restore(irqflags_t flags) -{ - if (cpu_irq_is_enabled_flags(flags)) - cpu_irq_enable(); -} - -void cpu_irq_enter_critical(void); -void cpu_irq_leave_critical(void); - -/** - * \weakgroup interrupt_deprecated_group - * @{ - */ - -#define Enable_global_interrupt() cpu_irq_enable() -#define Disable_global_interrupt() cpu_irq_disable() -#define Is_global_interrupt_enabled() cpu_irq_is_enabled() - -//@} - -//@} - -#ifdef __cplusplus -} -#endif - -#endif /* UTILS_INTERRUPT_INTERRUPT_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/parts.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/parts.h deleted file mode 100644 index 46170c9..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/common/utils/parts.h +++ /dev/null @@ -1,1585 +0,0 @@ -/** - * \file - * - * \brief Atmel part identification macros - * - * Copyright (C) 2012-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef ATMEL_PARTS_H -#define ATMEL_PARTS_H - -/** - * \defgroup part_macros_group Atmel part identification macros - * - * This collection of macros identify which series and families that the various - * Atmel parts belong to. These can be used to select part-dependent sections of - * code at compile time. - * - * @{ - */ - -/** - * \name Convenience macros for part checking - * @{ - */ -/* ! Check GCC and IAR part definition for 8-bit AVR */ -#define AVR8_PART_IS_DEFINED(part) \ - (defined(__ ## part ## __) || defined(__AVR_ ## part ## __)) - -/* ! Check GCC and IAR part definition for 32-bit AVR */ -#define AVR32_PART_IS_DEFINED(part) \ - (defined(__AT32 ## part ## __) || defined(__AVR32_ ## part ## __)) - -/* ! Check GCC and IAR part definition for SAM */ -#define SAM_PART_IS_DEFINED(part) (defined(__ ## part ## __)) -/** @} */ - -/** - * \defgroup uc3_part_macros_group AVR UC3 parts - * @{ - */ - -/** - * \name AVR UC3 A series - * @{ - */ -#define UC3A0 ( \ - AVR32_PART_IS_DEFINED(UC3A0128) || \ - AVR32_PART_IS_DEFINED(UC3A0256) || \ - AVR32_PART_IS_DEFINED(UC3A0512) \ - ) - -#define UC3A1 ( \ - AVR32_PART_IS_DEFINED(UC3A1128) || \ - AVR32_PART_IS_DEFINED(UC3A1256) || \ - AVR32_PART_IS_DEFINED(UC3A1512) \ - ) - -#define UC3A3 ( \ - AVR32_PART_IS_DEFINED(UC3A364) || \ - AVR32_PART_IS_DEFINED(UC3A364S) || \ - AVR32_PART_IS_DEFINED(UC3A3128) || \ - AVR32_PART_IS_DEFINED(UC3A3128S) || \ - AVR32_PART_IS_DEFINED(UC3A3256) || \ - AVR32_PART_IS_DEFINED(UC3A3256S) \ - ) - -#define UC3A4 ( \ - AVR32_PART_IS_DEFINED(UC3A464) || \ - AVR32_PART_IS_DEFINED(UC3A464S) || \ - AVR32_PART_IS_DEFINED(UC3A4128) || \ - AVR32_PART_IS_DEFINED(UC3A4128S) || \ - AVR32_PART_IS_DEFINED(UC3A4256) || \ - AVR32_PART_IS_DEFINED(UC3A4256S) \ - ) -/** @} */ - -/** - * \name AVR UC3 B series - * @{ - */ -#define UC3B0 ( \ - AVR32_PART_IS_DEFINED(UC3B064) || \ - AVR32_PART_IS_DEFINED(UC3B0128) || \ - AVR32_PART_IS_DEFINED(UC3B0256) || \ - AVR32_PART_IS_DEFINED(UC3B0512) \ - ) - -#define UC3B1 ( \ - AVR32_PART_IS_DEFINED(UC3B164) || \ - AVR32_PART_IS_DEFINED(UC3B1128) || \ - AVR32_PART_IS_DEFINED(UC3B1256) || \ - AVR32_PART_IS_DEFINED(UC3B1512) \ - ) -/** @} */ - -/** - * \name AVR UC3 C series - * @{ - */ -#define UC3C0 ( \ - AVR32_PART_IS_DEFINED(UC3C064C) || \ - AVR32_PART_IS_DEFINED(UC3C0128C) || \ - AVR32_PART_IS_DEFINED(UC3C0256C) || \ - AVR32_PART_IS_DEFINED(UC3C0512C) \ - ) - -#define UC3C1 ( \ - AVR32_PART_IS_DEFINED(UC3C164C) || \ - AVR32_PART_IS_DEFINED(UC3C1128C) || \ - AVR32_PART_IS_DEFINED(UC3C1256C) || \ - AVR32_PART_IS_DEFINED(UC3C1512C) \ - ) - -#define UC3C2 ( \ - AVR32_PART_IS_DEFINED(UC3C264C) || \ - AVR32_PART_IS_DEFINED(UC3C2128C) || \ - AVR32_PART_IS_DEFINED(UC3C2256C) || \ - AVR32_PART_IS_DEFINED(UC3C2512C) \ - ) -/** @} */ - -/** - * \name AVR UC3 D series - * @{ - */ -#define UC3D3 ( \ - AVR32_PART_IS_DEFINED(UC64D3) || \ - AVR32_PART_IS_DEFINED(UC128D3) \ - ) - -#define UC3D4 ( \ - AVR32_PART_IS_DEFINED(UC64D4) || \ - AVR32_PART_IS_DEFINED(UC128D4) \ - ) -/** @} */ - -/** - * \name AVR UC3 L series - * @{ - */ -#define UC3L0 ( \ - AVR32_PART_IS_DEFINED(UC3L016) || \ - AVR32_PART_IS_DEFINED(UC3L032) || \ - AVR32_PART_IS_DEFINED(UC3L064) \ - ) - -#define UC3L0128 ( \ - AVR32_PART_IS_DEFINED(UC3L0128) \ - ) - -#define UC3L0256 ( \ - AVR32_PART_IS_DEFINED(UC3L0256) \ - ) - -#define UC3L3 ( \ - AVR32_PART_IS_DEFINED(UC64L3U) || \ - AVR32_PART_IS_DEFINED(UC128L3U) || \ - AVR32_PART_IS_DEFINED(UC256L3U) \ - ) - -#define UC3L4 ( \ - AVR32_PART_IS_DEFINED(UC64L4U) || \ - AVR32_PART_IS_DEFINED(UC128L4U) || \ - AVR32_PART_IS_DEFINED(UC256L4U) \ - ) - -#define UC3L3_L4 (UC3L3 || UC3L4) -/** @} */ - -/** - * \name AVR UC3 families - * @{ - */ -/** AVR UC3 A family */ -#define UC3A (UC3A0 || UC3A1 || UC3A3 || UC3A4) - -/** AVR UC3 B family */ -#define UC3B (UC3B0 || UC3B1) - -/** AVR UC3 C family */ -#define UC3C (UC3C0 || UC3C1 || UC3C2) - -/** AVR UC3 D family */ -#define UC3D (UC3D3 || UC3D4) - -/** AVR UC3 L family */ -#define UC3L (UC3L0 || UC3L0128 || UC3L0256 || UC3L3_L4) -/** @} */ - -/** AVR UC3 product line */ -#define UC3 (UC3A || UC3B || UC3C || UC3D || UC3L) - -/** @} */ - -/** - * \defgroup xmega_part_macros_group AVR XMEGA parts - * @{ - */ - -/** - * \name AVR XMEGA A series - * @{ - */ -#define XMEGA_A1 ( \ - AVR8_PART_IS_DEFINED(ATxmega64A1) || \ - AVR8_PART_IS_DEFINED(ATxmega128A1) \ - ) - -#define XMEGA_A3 ( \ - AVR8_PART_IS_DEFINED(ATxmega64A3) || \ - AVR8_PART_IS_DEFINED(ATxmega128A3) || \ - AVR8_PART_IS_DEFINED(ATxmega192A3) || \ - AVR8_PART_IS_DEFINED(ATxmega256A3) \ - ) - -#define XMEGA_A3B ( \ - AVR8_PART_IS_DEFINED(ATxmega256A3B) \ - ) - -#define XMEGA_A4 ( \ - AVR8_PART_IS_DEFINED(ATxmega16A4) || \ - AVR8_PART_IS_DEFINED(ATxmega32A4) \ - ) -/** @} */ - -/** - * \name AVR XMEGA AU series - * @{ - */ -#define XMEGA_A1U ( \ - AVR8_PART_IS_DEFINED(ATxmega64A1U) || \ - AVR8_PART_IS_DEFINED(ATxmega128A1U) \ - ) - -#define XMEGA_A3U ( \ - AVR8_PART_IS_DEFINED(ATxmega64A3U) || \ - AVR8_PART_IS_DEFINED(ATxmega128A3U) || \ - AVR8_PART_IS_DEFINED(ATxmega192A3U) || \ - AVR8_PART_IS_DEFINED(ATxmega256A3U) \ - ) - -#define XMEGA_A3BU ( \ - AVR8_PART_IS_DEFINED(ATxmega256A3BU) \ - ) - -#define XMEGA_A4U ( \ - AVR8_PART_IS_DEFINED(ATxmega16A4U) || \ - AVR8_PART_IS_DEFINED(ATxmega32A4U) || \ - AVR8_PART_IS_DEFINED(ATxmega64A4U) || \ - AVR8_PART_IS_DEFINED(ATxmega128A4U) \ - ) -/** @} */ - -/** - * \name AVR XMEGA B series - * @{ - */ -#define XMEGA_B1 ( \ - AVR8_PART_IS_DEFINED(ATxmega64B1) || \ - AVR8_PART_IS_DEFINED(ATxmega128B1) \ - ) - -#define XMEGA_B3 ( \ - AVR8_PART_IS_DEFINED(ATxmega64B3) || \ - AVR8_PART_IS_DEFINED(ATxmega128B3) \ - ) -/** @} */ - -/** - * \name AVR XMEGA C series - * @{ - */ -#define XMEGA_C3 ( \ - AVR8_PART_IS_DEFINED(ATxmega384C3) || \ - AVR8_PART_IS_DEFINED(ATxmega256C3) || \ - AVR8_PART_IS_DEFINED(ATxmega192C3) || \ - AVR8_PART_IS_DEFINED(ATxmega128C3) || \ - AVR8_PART_IS_DEFINED(ATxmega64C3) || \ - AVR8_PART_IS_DEFINED(ATxmega32C3) \ - ) - -#define XMEGA_C4 ( \ - AVR8_PART_IS_DEFINED(ATxmega32C4) || \ - AVR8_PART_IS_DEFINED(ATxmega16C4) \ - ) -/** @} */ - -/** - * \name AVR XMEGA D series - * @{ - */ -#define XMEGA_D3 ( \ - AVR8_PART_IS_DEFINED(ATxmega32D3) || \ - AVR8_PART_IS_DEFINED(ATxmega64D3) || \ - AVR8_PART_IS_DEFINED(ATxmega128D3) || \ - AVR8_PART_IS_DEFINED(ATxmega192D3) || \ - AVR8_PART_IS_DEFINED(ATxmega256D3) || \ - AVR8_PART_IS_DEFINED(ATxmega384D3) \ - ) - -#define XMEGA_D4 ( \ - AVR8_PART_IS_DEFINED(ATxmega16D4) || \ - AVR8_PART_IS_DEFINED(ATxmega32D4) || \ - AVR8_PART_IS_DEFINED(ATxmega64D4) || \ - AVR8_PART_IS_DEFINED(ATxmega128D4) \ - ) -/** @} */ - -/** - * \name AVR XMEGA E series - * @{ - */ -#define XMEGA_E5 ( \ - AVR8_PART_IS_DEFINED(ATxmega8E5) || \ - AVR8_PART_IS_DEFINED(ATxmega16E5) || \ - AVR8_PART_IS_DEFINED(ATxmega32E5) \ - ) -/** @} */ - - -/** - * \name AVR XMEGA families - * @{ - */ -/** AVR XMEGA A family */ -#define XMEGA_A (XMEGA_A1 || XMEGA_A3 || XMEGA_A3B || XMEGA_A4) - -/** AVR XMEGA AU family */ -#define XMEGA_AU (XMEGA_A1U || XMEGA_A3U || XMEGA_A3BU || XMEGA_A4U) - -/** AVR XMEGA B family */ -#define XMEGA_B (XMEGA_B1 || XMEGA_B3) - -/** AVR XMEGA C family */ -#define XMEGA_C (XMEGA_C3 || XMEGA_C4) - -/** AVR XMEGA D family */ -#define XMEGA_D (XMEGA_D3 || XMEGA_D4) - -/** AVR XMEGA E family */ -#define XMEGA_E (XMEGA_E5) -/** @} */ - - -/** AVR XMEGA product line */ -#define XMEGA (XMEGA_A || XMEGA_AU || XMEGA_B || XMEGA_C || XMEGA_D || XMEGA_E) - -/** @} */ - -/** - * \defgroup mega_part_macros_group megaAVR parts - * - * \note These megaAVR groupings are based on the groups in AVR Libc for the - * part header files. They are not names of official megaAVR device series or - * families. - * - * @{ - */ - -/** - * \name ATmegaxx0/xx1 subgroups - * @{ - */ -#define MEGA_XX0 ( \ - AVR8_PART_IS_DEFINED(ATmega640) || \ - AVR8_PART_IS_DEFINED(ATmega1280) || \ - AVR8_PART_IS_DEFINED(ATmega2560) \ - ) - -#define MEGA_XX1 ( \ - AVR8_PART_IS_DEFINED(ATmega1281) || \ - AVR8_PART_IS_DEFINED(ATmega2561) \ - ) -/** @} */ - -/** - * \name megaAVR groups - * @{ - */ -/** ATmegaxx0/xx1 group */ -#define MEGA_XX0_1 (MEGA_XX0 || MEGA_XX1) - -/** ATmegaxx4 group */ -#define MEGA_XX4 ( \ - AVR8_PART_IS_DEFINED(ATmega164A) || \ - AVR8_PART_IS_DEFINED(ATmega164PA) || \ - AVR8_PART_IS_DEFINED(ATmega324A) || \ - AVR8_PART_IS_DEFINED(ATmega324PA) || \ - AVR8_PART_IS_DEFINED(ATmega324PB) || \ - AVR8_PART_IS_DEFINED(ATmega644) || \ - AVR8_PART_IS_DEFINED(ATmega644A) || \ - AVR8_PART_IS_DEFINED(ATmega644PA) || \ - AVR8_PART_IS_DEFINED(ATmega1284P) || \ - AVR8_PART_IS_DEFINED(ATmega128RFA1) \ - ) - -/** ATmegaxx4 group */ -#define MEGA_XX4_A ( \ - AVR8_PART_IS_DEFINED(ATmega164A) || \ - AVR8_PART_IS_DEFINED(ATmega164PA) || \ - AVR8_PART_IS_DEFINED(ATmega324A) || \ - AVR8_PART_IS_DEFINED(ATmega324PA) || \ - AVR8_PART_IS_DEFINED(ATmega644A) || \ - AVR8_PART_IS_DEFINED(ATmega644PA) || \ - AVR8_PART_IS_DEFINED(ATmega1284P) \ - ) - -/** ATmegaxx8 group */ -#define MEGA_XX8 ( \ - AVR8_PART_IS_DEFINED(ATmega48) || \ - AVR8_PART_IS_DEFINED(ATmega48A) || \ - AVR8_PART_IS_DEFINED(ATmega48PA) || \ - AVR8_PART_IS_DEFINED(ATmega48PB) || \ - AVR8_PART_IS_DEFINED(ATmega88) || \ - AVR8_PART_IS_DEFINED(ATmega88A) || \ - AVR8_PART_IS_DEFINED(ATmega88PA) || \ - AVR8_PART_IS_DEFINED(ATmega88PB) || \ - AVR8_PART_IS_DEFINED(ATmega168) || \ - AVR8_PART_IS_DEFINED(ATmega168A) || \ - AVR8_PART_IS_DEFINED(ATmega168PA) || \ - AVR8_PART_IS_DEFINED(ATmega168PB) || \ - AVR8_PART_IS_DEFINED(ATmega328) || \ - AVR8_PART_IS_DEFINED(ATmega328P) || \ - AVR8_PART_IS_DEFINED(ATmega328PB) \ - ) - -/** ATmegaxx8A/P/PA group */ -#define MEGA_XX8_A ( \ - AVR8_PART_IS_DEFINED(ATmega48A) || \ - AVR8_PART_IS_DEFINED(ATmega48PA) || \ - AVR8_PART_IS_DEFINED(ATmega88A) || \ - AVR8_PART_IS_DEFINED(ATmega88PA) || \ - AVR8_PART_IS_DEFINED(ATmega168A) || \ - AVR8_PART_IS_DEFINED(ATmega168PA) || \ - AVR8_PART_IS_DEFINED(ATmega328P) \ - ) - -/** ATmegaxx group */ -#define MEGA_XX ( \ - AVR8_PART_IS_DEFINED(ATmega16) || \ - AVR8_PART_IS_DEFINED(ATmega16A) || \ - AVR8_PART_IS_DEFINED(ATmega32) || \ - AVR8_PART_IS_DEFINED(ATmega32A) || \ - AVR8_PART_IS_DEFINED(ATmega64) || \ - AVR8_PART_IS_DEFINED(ATmega64A) || \ - AVR8_PART_IS_DEFINED(ATmega128) || \ - AVR8_PART_IS_DEFINED(ATmega128A) \ - ) - -/** ATmegaxxA/P/PA group */ -#define MEGA_XX_A ( \ - AVR8_PART_IS_DEFINED(ATmega16A) || \ - AVR8_PART_IS_DEFINED(ATmega32A) || \ - AVR8_PART_IS_DEFINED(ATmega64A) || \ - AVR8_PART_IS_DEFINED(ATmega128A) \ - ) -/** ATmegaxxRFA1 group */ -#define MEGA_RFA1 ( \ - AVR8_PART_IS_DEFINED(ATmega128RFA1) \ - ) - -/** ATmegaxxRFR2 group */ -#define MEGA_RFR2 ( \ - AVR8_PART_IS_DEFINED(ATmega64RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega128RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega256RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega644RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega1284RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega2564RFR2) \ - ) - - -/** ATmegaxxRFxx group */ -#define MEGA_RF (MEGA_RFA1 || MEGA_RFR2) - -/** - * \name ATmegaxx_un0/un1/un2 subgroups - * @{ - */ -#define MEGA_XX_UN0 ( \ - AVR8_PART_IS_DEFINED(ATmega16) || \ - AVR8_PART_IS_DEFINED(ATmega16A) || \ - AVR8_PART_IS_DEFINED(ATmega32) || \ - AVR8_PART_IS_DEFINED(ATmega32A) \ - ) - -/** ATmegaxx group without power reduction and - * And interrupt sense register. - */ -#define MEGA_XX_UN1 ( \ - AVR8_PART_IS_DEFINED(ATmega64) || \ - AVR8_PART_IS_DEFINED(ATmega64A) || \ - AVR8_PART_IS_DEFINED(ATmega128) || \ - AVR8_PART_IS_DEFINED(ATmega128A) \ - ) - -/** ATmegaxx group without power reduction and - * And interrupt sense register. - */ -#define MEGA_XX_UN2 ( \ - AVR8_PART_IS_DEFINED(ATmega169P) || \ - AVR8_PART_IS_DEFINED(ATmega169PA) || \ - AVR8_PART_IS_DEFINED(ATmega329P) || \ - AVR8_PART_IS_DEFINED(ATmega329PA) \ - ) - -/** Devices added to complete megaAVR offering. - * Please do not use this group symbol as it is not intended - * to be permanent: the devices should be regrouped. - */ -#define MEGA_UNCATEGORIZED ( \ - AVR8_PART_IS_DEFINED(AT90CAN128) || \ - AVR8_PART_IS_DEFINED(AT90CAN32) || \ - AVR8_PART_IS_DEFINED(AT90CAN64) || \ - AVR8_PART_IS_DEFINED(AT90PWM1) || \ - AVR8_PART_IS_DEFINED(AT90PWM216) || \ - AVR8_PART_IS_DEFINED(AT90PWM2B) || \ - AVR8_PART_IS_DEFINED(AT90PWM316) || \ - AVR8_PART_IS_DEFINED(AT90PWM3B) || \ - AVR8_PART_IS_DEFINED(AT90PWM81) || \ - AVR8_PART_IS_DEFINED(AT90USB1286) || \ - AVR8_PART_IS_DEFINED(AT90USB1287) || \ - AVR8_PART_IS_DEFINED(AT90USB162) || \ - AVR8_PART_IS_DEFINED(AT90USB646) || \ - AVR8_PART_IS_DEFINED(AT90USB647) || \ - AVR8_PART_IS_DEFINED(AT90USB82) || \ - AVR8_PART_IS_DEFINED(ATmega1284) || \ - AVR8_PART_IS_DEFINED(ATmega162) || \ - AVR8_PART_IS_DEFINED(ATmega164P) || \ - AVR8_PART_IS_DEFINED(ATmega165A) || \ - AVR8_PART_IS_DEFINED(ATmega165P) || \ - AVR8_PART_IS_DEFINED(ATmega165PA) || \ - AVR8_PART_IS_DEFINED(ATmega168P) || \ - AVR8_PART_IS_DEFINED(ATmega169A) || \ - AVR8_PART_IS_DEFINED(ATmega16M1) || \ - AVR8_PART_IS_DEFINED(ATmega16U2) || \ - AVR8_PART_IS_DEFINED(ATmega16U4) || \ - AVR8_PART_IS_DEFINED(ATmega256RFA2) || \ - AVR8_PART_IS_DEFINED(ATmega324P) || \ - AVR8_PART_IS_DEFINED(ATmega325) || \ - AVR8_PART_IS_DEFINED(ATmega3250) || \ - AVR8_PART_IS_DEFINED(ATmega3250A) || \ - AVR8_PART_IS_DEFINED(ATmega3250P) || \ - AVR8_PART_IS_DEFINED(ATmega3250PA) || \ - AVR8_PART_IS_DEFINED(ATmega325A) || \ - AVR8_PART_IS_DEFINED(ATmega325P) || \ - AVR8_PART_IS_DEFINED(ATmega325PA) || \ - AVR8_PART_IS_DEFINED(ATmega329) || \ - AVR8_PART_IS_DEFINED(ATmega3290) || \ - AVR8_PART_IS_DEFINED(ATmega3290A) || \ - AVR8_PART_IS_DEFINED(ATmega3290P) || \ - AVR8_PART_IS_DEFINED(ATmega3290PA) || \ - AVR8_PART_IS_DEFINED(ATmega329A) || \ - AVR8_PART_IS_DEFINED(ATmega32M1) || \ - AVR8_PART_IS_DEFINED(ATmega32U2) || \ - AVR8_PART_IS_DEFINED(ATmega32U4) || \ - AVR8_PART_IS_DEFINED(ATmega48P) || \ - AVR8_PART_IS_DEFINED(ATmega644P) || \ - AVR8_PART_IS_DEFINED(ATmega645) || \ - AVR8_PART_IS_DEFINED(ATmega6450) || \ - AVR8_PART_IS_DEFINED(ATmega6450A) || \ - AVR8_PART_IS_DEFINED(ATmega6450P) || \ - AVR8_PART_IS_DEFINED(ATmega645A) || \ - AVR8_PART_IS_DEFINED(ATmega645P) || \ - AVR8_PART_IS_DEFINED(ATmega649) || \ - AVR8_PART_IS_DEFINED(ATmega6490) || \ - AVR8_PART_IS_DEFINED(ATmega6490A) || \ - AVR8_PART_IS_DEFINED(ATmega6490P) || \ - AVR8_PART_IS_DEFINED(ATmega649A) || \ - AVR8_PART_IS_DEFINED(ATmega649P) || \ - AVR8_PART_IS_DEFINED(ATmega64M1) || \ - AVR8_PART_IS_DEFINED(ATmega64RFA2) || \ - AVR8_PART_IS_DEFINED(ATmega8) || \ - AVR8_PART_IS_DEFINED(ATmega8515) || \ - AVR8_PART_IS_DEFINED(ATmega8535) || \ - AVR8_PART_IS_DEFINED(ATmega88P) || \ - AVR8_PART_IS_DEFINED(ATmega8A) || \ - AVR8_PART_IS_DEFINED(ATmega8U2) \ - ) - -/** Unspecified group */ -#define MEGA_UNSPECIFIED (MEGA_XX_UN0 || MEGA_XX_UN1 || MEGA_XX_UN2 || \ - MEGA_UNCATEGORIZED) - -/** @} */ - -/** megaAVR product line */ -#define MEGA (MEGA_XX0_1 || MEGA_XX4 || MEGA_XX8 || MEGA_XX || MEGA_RF || \ - MEGA_UNSPECIFIED) - -/** @} */ - -/** - * \defgroup sam_part_macros_group SAM parts - * @{ - */ - -/** - * \name SAM3S series - * @{ - */ -#define SAM3S1 ( \ - SAM_PART_IS_DEFINED(SAM3S1A) || \ - SAM_PART_IS_DEFINED(SAM3S1B) || \ - SAM_PART_IS_DEFINED(SAM3S1C) \ - ) - -#define SAM3S2 ( \ - SAM_PART_IS_DEFINED(SAM3S2A) || \ - SAM_PART_IS_DEFINED(SAM3S2B) || \ - SAM_PART_IS_DEFINED(SAM3S2C) \ - ) - -#define SAM3S4 ( \ - SAM_PART_IS_DEFINED(SAM3S4A) || \ - SAM_PART_IS_DEFINED(SAM3S4B) || \ - SAM_PART_IS_DEFINED(SAM3S4C) \ - ) - -#define SAM3S8 ( \ - SAM_PART_IS_DEFINED(SAM3S8B) || \ - SAM_PART_IS_DEFINED(SAM3S8C) \ - ) - -#define SAM3SD8 ( \ - SAM_PART_IS_DEFINED(SAM3SD8B) || \ - SAM_PART_IS_DEFINED(SAM3SD8C) \ - ) -/** @} */ - -/** - * \name SAM3U series - * @{ - */ -#define SAM3U1 ( \ - SAM_PART_IS_DEFINED(SAM3U1C) || \ - SAM_PART_IS_DEFINED(SAM3U1E) \ - ) - -#define SAM3U2 ( \ - SAM_PART_IS_DEFINED(SAM3U2C) || \ - SAM_PART_IS_DEFINED(SAM3U2E) \ - ) - -#define SAM3U4 ( \ - SAM_PART_IS_DEFINED(SAM3U4C) || \ - SAM_PART_IS_DEFINED(SAM3U4E) \ - ) -/** @} */ - -/** - * \name SAM3N series - * @{ - */ -#define SAM3N00 ( \ - SAM_PART_IS_DEFINED(SAM3N00A) || \ - SAM_PART_IS_DEFINED(SAM3N00B) \ - ) - -#define SAM3N0 ( \ - SAM_PART_IS_DEFINED(SAM3N0A) || \ - SAM_PART_IS_DEFINED(SAM3N0B) || \ - SAM_PART_IS_DEFINED(SAM3N0C) \ - ) - -#define SAM3N1 ( \ - SAM_PART_IS_DEFINED(SAM3N1A) || \ - SAM_PART_IS_DEFINED(SAM3N1B) || \ - SAM_PART_IS_DEFINED(SAM3N1C) \ - ) - -#define SAM3N2 ( \ - SAM_PART_IS_DEFINED(SAM3N2A) || \ - SAM_PART_IS_DEFINED(SAM3N2B) || \ - SAM_PART_IS_DEFINED(SAM3N2C) \ - ) - -#define SAM3N4 ( \ - SAM_PART_IS_DEFINED(SAM3N4A) || \ - SAM_PART_IS_DEFINED(SAM3N4B) || \ - SAM_PART_IS_DEFINED(SAM3N4C) \ - ) -/** @} */ - -/** - * \name SAM3X series - * @{ - */ -#define SAM3X4 ( \ - SAM_PART_IS_DEFINED(SAM3X4C) || \ - SAM_PART_IS_DEFINED(SAM3X4E) \ - ) - -#define SAM3X8 ( \ - SAM_PART_IS_DEFINED(SAM3X8C) || \ - SAM_PART_IS_DEFINED(SAM3X8E) || \ - SAM_PART_IS_DEFINED(SAM3X8H) \ - ) -/** @} */ - -/** - * \name SAM3A series - * @{ - */ -#define SAM3A4 ( \ - SAM_PART_IS_DEFINED(SAM3A4C) \ - ) - -#define SAM3A8 ( \ - SAM_PART_IS_DEFINED(SAM3A8C) \ - ) -/** @} */ - -/** - * \name SAM4S series - * @{ - */ -#define SAM4S2 ( \ - SAM_PART_IS_DEFINED(SAM4S2A) || \ - SAM_PART_IS_DEFINED(SAM4S2B) || \ - SAM_PART_IS_DEFINED(SAM4S2C) \ - ) - -#define SAM4S4 ( \ - SAM_PART_IS_DEFINED(SAM4S4A) || \ - SAM_PART_IS_DEFINED(SAM4S4B) || \ - SAM_PART_IS_DEFINED(SAM4S4C) \ - ) - -#define SAM4S8 ( \ - SAM_PART_IS_DEFINED(SAM4S8B) || \ - SAM_PART_IS_DEFINED(SAM4S8C) \ - ) - -#define SAM4S16 ( \ - SAM_PART_IS_DEFINED(SAM4S16B) || \ - SAM_PART_IS_DEFINED(SAM4S16C) \ - ) - -#define SAM4SA16 ( \ - SAM_PART_IS_DEFINED(SAM4SA16B) || \ - SAM_PART_IS_DEFINED(SAM4SA16C) \ - ) - -#define SAM4SD16 ( \ - SAM_PART_IS_DEFINED(SAM4SD16B) || \ - SAM_PART_IS_DEFINED(SAM4SD16C) \ - ) - -#define SAM4SD32 ( \ - SAM_PART_IS_DEFINED(SAM4SD32B) || \ - SAM_PART_IS_DEFINED(SAM4SD32C) \ - ) -/** @} */ - -/** - * \name SAM4L series - * @{ - */ -#define SAM4LS ( \ - SAM_PART_IS_DEFINED(SAM4LS2A) || \ - SAM_PART_IS_DEFINED(SAM4LS2B) || \ - SAM_PART_IS_DEFINED(SAM4LS2C) || \ - SAM_PART_IS_DEFINED(SAM4LS4A) || \ - SAM_PART_IS_DEFINED(SAM4LS4B) || \ - SAM_PART_IS_DEFINED(SAM4LS4C) || \ - SAM_PART_IS_DEFINED(SAM4LS8A) || \ - SAM_PART_IS_DEFINED(SAM4LS8B) || \ - SAM_PART_IS_DEFINED(SAM4LS8C) \ - ) - -#define SAM4LC ( \ - SAM_PART_IS_DEFINED(SAM4LC2A) || \ - SAM_PART_IS_DEFINED(SAM4LC2B) || \ - SAM_PART_IS_DEFINED(SAM4LC2C) || \ - SAM_PART_IS_DEFINED(SAM4LC4A) || \ - SAM_PART_IS_DEFINED(SAM4LC4B) || \ - SAM_PART_IS_DEFINED(SAM4LC4C) || \ - SAM_PART_IS_DEFINED(SAM4LC8A) || \ - SAM_PART_IS_DEFINED(SAM4LC8B) || \ - SAM_PART_IS_DEFINED(SAM4LC8C) \ - ) -/** @} */ - -/** - * \name SAMD20 series - * @{ - */ -#define SAMD20J ( \ - SAM_PART_IS_DEFINED(SAMD20J14) || \ - SAM_PART_IS_DEFINED(SAMD20J15) || \ - SAM_PART_IS_DEFINED(SAMD20J16) || \ - SAM_PART_IS_DEFINED(SAMD20J17) || \ - SAM_PART_IS_DEFINED(SAMD20J18) \ - ) - -#define SAMD20G ( \ - SAM_PART_IS_DEFINED(SAMD20G14) || \ - SAM_PART_IS_DEFINED(SAMD20G15) || \ - SAM_PART_IS_DEFINED(SAMD20G16) || \ - SAM_PART_IS_DEFINED(SAMD20G17) || \ - SAM_PART_IS_DEFINED(SAMD20G17U) || \ - SAM_PART_IS_DEFINED(SAMD20G18) || \ - SAM_PART_IS_DEFINED(SAMD20G18U) \ - ) - -#define SAMD20E ( \ - SAM_PART_IS_DEFINED(SAMD20E14) || \ - SAM_PART_IS_DEFINED(SAMD20E15) || \ - SAM_PART_IS_DEFINED(SAMD20E16) || \ - SAM_PART_IS_DEFINED(SAMD20E17) || \ - SAM_PART_IS_DEFINED(SAMD20E18) \ - ) -/** @} */ - -/** - * \name SAMD21 series - * @{ - */ -#define SAMD21J ( \ - SAM_PART_IS_DEFINED(SAMD21J15A) || \ - SAM_PART_IS_DEFINED(SAMD21J16A) || \ - SAM_PART_IS_DEFINED(SAMD21J17A) || \ - SAM_PART_IS_DEFINED(SAMD21J18A) || \ - SAM_PART_IS_DEFINED(SAMD21J15B) || \ - SAM_PART_IS_DEFINED(SAMD21J16B) \ - ) - -#define SAMD21G ( \ - SAM_PART_IS_DEFINED(SAMD21G15A) || \ - SAM_PART_IS_DEFINED(SAMD21G16A) || \ - SAM_PART_IS_DEFINED(SAMD21G17A) || \ - SAM_PART_IS_DEFINED(SAMD21G17AU) || \ - SAM_PART_IS_DEFINED(SAMD21G18A) || \ - SAM_PART_IS_DEFINED(SAMD21G18AU) || \ - SAM_PART_IS_DEFINED(SAMD21G15B) || \ - SAM_PART_IS_DEFINED(SAMD21G16B) || \ - SAM_PART_IS_DEFINED(SAMD21G15L) || \ - SAM_PART_IS_DEFINED(SAMD21G16L) \ - ) - -#define SAMD21GXXL ( \ - SAM_PART_IS_DEFINED(SAMD21G15L) || \ - SAM_PART_IS_DEFINED(SAMD21G16L) \ - ) - -#define SAMD21E ( \ - SAM_PART_IS_DEFINED(SAMD21E15A) || \ - SAM_PART_IS_DEFINED(SAMD21E16A) || \ - SAM_PART_IS_DEFINED(SAMD21E17A) || \ - SAM_PART_IS_DEFINED(SAMD21E18A) || \ - SAM_PART_IS_DEFINED(SAMD21E15B) || \ - SAM_PART_IS_DEFINED(SAMD21E15BU) || \ - SAM_PART_IS_DEFINED(SAMD21E16B) || \ - SAM_PART_IS_DEFINED(SAMD21E16BU) || \ - SAM_PART_IS_DEFINED(SAMD21E15L) || \ - SAM_PART_IS_DEFINED(SAMD21E16L) \ - ) - -#define SAMD21EXXL ( \ - SAM_PART_IS_DEFINED(SAMD21E15L) || \ - SAM_PART_IS_DEFINED(SAMD21E16L) \ - ) - -/** @} */ - -/** - * \name SAMR21 series - * @{ - */ -#define SAMR21G ( \ - SAM_PART_IS_DEFINED(SAMR21G16A) || \ - SAM_PART_IS_DEFINED(SAMR21G17A) || \ - SAM_PART_IS_DEFINED(SAMR21G18A) \ - ) - -#define SAMR21E ( \ - SAM_PART_IS_DEFINED(SAMR21E16A) || \ - SAM_PART_IS_DEFINED(SAMR21E17A) || \ - SAM_PART_IS_DEFINED(SAMR21E18A) || \ - SAM_PART_IS_DEFINED(SAMR21E19A) \ - ) -/** @} */ - -/** - * \name SAMR30 series - * @{ - */ -#define SAMR30G ( \ - SAM_PART_IS_DEFINED(SAMR30G18A) \ - ) - -#define SAMR30E ( \ - SAM_PART_IS_DEFINED(SAMR30E18A) \ - ) -/** @} */ - -/** - * \name SAMB11 series - * @{ - */ -#define SAMB11G ( \ - SAM_PART_IS_DEFINED(SAMB11G18A) || \ - SAM_PART_IS_DEFINED(SAMB11ZR) \ - ) -#define BTLC1000 ( \ - SAM_PART_IS_DEFINED(BTLC1000WLCSP) \ - ) - -/** @} */ - -/** - * \name SAMD09 series - * @{ - */ -#define SAMD09C ( \ - SAM_PART_IS_DEFINED(SAMD09C13A) \ - ) - -#define SAMD09D ( \ - SAM_PART_IS_DEFINED(SAMD09D14A) \ - ) -/** @} */ - -/** - * \name SAMD10 series - * @{ - */ -#define SAMD10C ( \ - SAM_PART_IS_DEFINED(SAMD10C12A) || \ - SAM_PART_IS_DEFINED(SAMD10C13A) || \ - SAM_PART_IS_DEFINED(SAMD10C14A) \ - ) - -#define SAMD10DS ( \ - SAM_PART_IS_DEFINED(SAMD10D12AS) || \ - SAM_PART_IS_DEFINED(SAMD10D13AS) || \ - SAM_PART_IS_DEFINED(SAMD10D14AS) \ - ) - -#define SAMD10DM ( \ - SAM_PART_IS_DEFINED(SAMD10D12AM) || \ - SAM_PART_IS_DEFINED(SAMD10D13AM) || \ - SAM_PART_IS_DEFINED(SAMD10D14AM) \ - ) - -#define SAMD10DU ( \ - SAM_PART_IS_DEFINED(SAMD10D14AU) \ - ) -/** @} */ - -/** - * \name SAMD11 series - * @{ - */ -#define SAMD11C ( \ - SAM_PART_IS_DEFINED(SAMD11C14A) \ - ) - -#define SAMD11DS ( \ - SAM_PART_IS_DEFINED(SAMD11D14AS) \ - ) - -#define SAMD11DM ( \ - SAM_PART_IS_DEFINED(SAMD11D14AM) \ - ) - -#define SAMD11DU ( \ - SAM_PART_IS_DEFINED(SAMD11D14AU) \ - ) -/** @} */ - -/** - * \name SAML21 series - * @{ - */ -#define SAML21E ( \ - SAM_PART_IS_DEFINED(SAML21E18A) || \ - SAM_PART_IS_DEFINED(SAML21E15B) || \ - SAM_PART_IS_DEFINED(SAML21E16B) || \ - SAM_PART_IS_DEFINED(SAML21E17B) || \ - SAM_PART_IS_DEFINED(SAML21E18B) \ - ) - -#define SAML21G ( \ - SAM_PART_IS_DEFINED(SAML21G18A) || \ - SAM_PART_IS_DEFINED(SAML21G16B) || \ - SAM_PART_IS_DEFINED(SAML21G17B) || \ - SAM_PART_IS_DEFINED(SAML21G18B) \ - ) - -#define SAML21J ( \ - SAM_PART_IS_DEFINED(SAML21J18A) || \ - SAM_PART_IS_DEFINED(SAML21J16B) || \ - SAM_PART_IS_DEFINED(SAML21J17B) || \ - SAM_PART_IS_DEFINED(SAML21J18B) \ - ) - -/* Group for SAML21 A variant: SAML21[E/G/J][18]A */ -#define SAML21XXXA ( \ - SAM_PART_IS_DEFINED(SAML21E18A) || \ - SAM_PART_IS_DEFINED(SAML21G18A) || \ - SAM_PART_IS_DEFINED(SAML21J18A) \ - ) - -/* Group for SAML21 B variant: SAML21[E/G/J][15/16/1718]B */ -#define SAML21XXXB ( \ - SAM_PART_IS_DEFINED(SAML21E15B) || \ - SAM_PART_IS_DEFINED(SAML21E16B) || \ - SAM_PART_IS_DEFINED(SAML21E17B) || \ - SAM_PART_IS_DEFINED(SAML21E18B) || \ - SAM_PART_IS_DEFINED(SAML21G16B) || \ - SAM_PART_IS_DEFINED(SAML21G17B) || \ - SAM_PART_IS_DEFINED(SAML21G18B) || \ - SAM_PART_IS_DEFINED(SAML21J16B) || \ - SAM_PART_IS_DEFINED(SAML21J17B) || \ - SAM_PART_IS_DEFINED(SAML21J18B) \ - ) - -/** @} */ - -/** - * \name SAML22 series - * @{ - */ -#define SAML22N ( \ - SAM_PART_IS_DEFINED(SAML22N16A) || \ - SAM_PART_IS_DEFINED(SAML22N17A) || \ - SAM_PART_IS_DEFINED(SAML22N18A) \ - ) - -#define SAML22G ( \ - SAM_PART_IS_DEFINED(SAML22G16A) || \ - SAM_PART_IS_DEFINED(SAML22G17A) || \ - SAM_PART_IS_DEFINED(SAML22G18A) \ - ) - -#define SAML22J ( \ - SAM_PART_IS_DEFINED(SAML22J16A) || \ - SAM_PART_IS_DEFINED(SAML22J17A) || \ - SAM_PART_IS_DEFINED(SAML22J18A) \ - ) -/** @} */ - -/** - * \name SAMDA1 series - * @{ - */ -#define SAMDA1J ( \ - SAM_PART_IS_DEFINED(SAMDA1J14A) || \ - SAM_PART_IS_DEFINED(SAMDA1J15A) || \ - SAM_PART_IS_DEFINED(SAMDA1J16A) \ - ) - -#define SAMDA1G ( \ - SAM_PART_IS_DEFINED(SAMDA1G14A) || \ - SAM_PART_IS_DEFINED(SAMDA1G15A) || \ - SAM_PART_IS_DEFINED(SAMDA1G16A) \ - ) - -#define SAMDA1E ( \ - SAM_PART_IS_DEFINED(SAMDA1E14A) || \ - SAM_PART_IS_DEFINED(SAMDA1E15A) || \ - SAM_PART_IS_DEFINED(SAMDA1E16A) \ - ) -/** @} */ - -/** - * \name SAMHA1 series - * @{ - */ -#define SAMHA1G ( \ - SAM_PART_IS_DEFINED(SAMHA1G14A) || \ - SAM_PART_IS_DEFINED(SAMHA1G15A) || \ - SAM_PART_IS_DEFINED(SAMHA1G16A) \ - ) - -/** @} */ - -/** - * \name SAMC20 series - * @{ - */ -#define SAMC20E ( \ - SAM_PART_IS_DEFINED(SAMC20E15A) || \ - SAM_PART_IS_DEFINED(SAMC20E16A) || \ - SAM_PART_IS_DEFINED(SAMC20E17A) || \ - SAM_PART_IS_DEFINED(SAMC20E18A) \ - ) - -#define SAMC20G ( \ - SAM_PART_IS_DEFINED(SAMC20G15A) || \ - SAM_PART_IS_DEFINED(SAMC20G16A) || \ - SAM_PART_IS_DEFINED(SAMC20G17A) || \ - SAM_PART_IS_DEFINED(SAMC20G18A) \ - ) - -#define SAMC20J ( \ - SAM_PART_IS_DEFINED(SAMC20J15A) || \ - SAM_PART_IS_DEFINED(SAMC20J16A) || \ - SAM_PART_IS_DEFINED(SAMC20J17A) || \ - SAM_PART_IS_DEFINED(SAMC20J18A) \ - ) -/** @} */ - -/** - * \name SAMC21 series - * @{ - */ -#define SAMC21E ( \ - SAM_PART_IS_DEFINED(SAMC21E15A) || \ - SAM_PART_IS_DEFINED(SAMC21E16A) || \ - SAM_PART_IS_DEFINED(SAMC21E17A) || \ - SAM_PART_IS_DEFINED(SAMC21E18A) \ - ) - -#define SAMC21G ( \ - SAM_PART_IS_DEFINED(SAMC21G15A) || \ - SAM_PART_IS_DEFINED(SAMC21G16A) || \ - SAM_PART_IS_DEFINED(SAMC21G17A) || \ - SAM_PART_IS_DEFINED(SAMC21G18A) \ - ) - -#define SAMC21J ( \ - SAM_PART_IS_DEFINED(SAMC21J15A) || \ - SAM_PART_IS_DEFINED(SAMC21J16A) || \ - SAM_PART_IS_DEFINED(SAMC21J17A) || \ - SAM_PART_IS_DEFINED(SAMC21J18A) \ - ) -/** @} */ - -/** - * \name SAM4E series - * @{ - */ -#define SAM4E8 ( \ - SAM_PART_IS_DEFINED(SAM4E8C) || \ - SAM_PART_IS_DEFINED(SAM4E8CB) || \ - SAM_PART_IS_DEFINED(SAM4E8E) \ - ) - -#define SAM4E16 ( \ - SAM_PART_IS_DEFINED(SAM4E16C) || \ - SAM_PART_IS_DEFINED(SAM4E16CB) || \ - SAM_PART_IS_DEFINED(SAM4E16E) \ - ) -/** @} */ - -/** - * \name SAM4N series - * @{ - */ -#define SAM4N8 ( \ - SAM_PART_IS_DEFINED(SAM4N8A) || \ - SAM_PART_IS_DEFINED(SAM4N8B) || \ - SAM_PART_IS_DEFINED(SAM4N8C) \ - ) - -#define SAM4N16 ( \ - SAM_PART_IS_DEFINED(SAM4N16B) || \ - SAM_PART_IS_DEFINED(SAM4N16C) \ - ) -/** @} */ - -/** - * \name SAM4C series - * @{ - */ -#define SAM4C4_0 ( \ - SAM_PART_IS_DEFINED(SAM4C4C_0) \ - ) - -#define SAM4C4_1 ( \ - SAM_PART_IS_DEFINED(SAM4C4C_1) \ - ) - -#define SAM4C4 (SAM4C4_0 || SAM4C4_1) - -#define SAM4C8_0 ( \ - SAM_PART_IS_DEFINED(SAM4C8C_0) \ - ) - -#define SAM4C8_1 ( \ - SAM_PART_IS_DEFINED(SAM4C8C_1) \ - ) - -#define SAM4C8 (SAM4C8_0 || SAM4C8_1) - -#define SAM4C16_0 ( \ - SAM_PART_IS_DEFINED(SAM4C16C_0) \ - ) - -#define SAM4C16_1 ( \ - SAM_PART_IS_DEFINED(SAM4C16C_1) \ - ) - -#define SAM4C16 (SAM4C16_0 || SAM4C16_1) - -#define SAM4C32_0 ( \ - SAM_PART_IS_DEFINED(SAM4C32C_0) ||\ - SAM_PART_IS_DEFINED(SAM4C32E_0) \ - ) - -#define SAM4C32_1 ( \ - SAM_PART_IS_DEFINED(SAM4C32C_1) ||\ - SAM_PART_IS_DEFINED(SAM4C32E_1) \ - ) - - -#define SAM4C32 (SAM4C32_0 || SAM4C32_1) - -/** @} */ - -/** - * \name SAM4CM series - * @{ - */ -#define SAM4CMP8_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMP8C_0) \ - ) - -#define SAM4CMP8_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMP8C_1) \ - ) - -#define SAM4CMP8 (SAM4CMP8_0 || SAM4CMP8_1) - -#define SAM4CMP16_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMP16C_0) \ - ) - -#define SAM4CMP16_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMP16C_1) \ - ) - -#define SAM4CMP16 (SAM4CMP16_0 || SAM4CMP16_1) - -#define SAM4CMP32_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMP32C_0) \ - ) - -#define SAM4CMP32_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMP32C_1) \ - ) - -#define SAM4CMP32 (SAM4CMP32_0 || SAM4CMP32_1) - -#define SAM4CMS4_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS4C_0) \ - ) - -#define SAM4CMS4_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS4C_1) \ - ) - -#define SAM4CMS4 (SAM4CMS4_0 || SAM4CMS4_1) - -#define SAM4CMS8_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS8C_0) \ - ) - -#define SAM4CMS8_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS8C_1) \ - ) - -#define SAM4CMS8 (SAM4CMS8_0 || SAM4CMS8_1) - -#define SAM4CMS16_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS16C_0) \ - ) - -#define SAM4CMS16_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS16C_1) \ - ) - -#define SAM4CMS16 (SAM4CMS16_0 || SAM4CMS16_1) - -#define SAM4CMS32_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS32C_0) \ - ) - -#define SAM4CMS32_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS32C_1) \ - ) - -#define SAM4CMS32 (SAM4CMS32_0 || SAM4CMS32_1) - -/** @} */ - -/** - * \name SAM4CP series - * @{ - */ -#define SAM4CP16_0 ( \ - SAM_PART_IS_DEFINED(SAM4CP16B_0) \ - ) - -#define SAM4CP16_1 ( \ - SAM_PART_IS_DEFINED(SAM4CP16B_1) \ - ) - -#define SAM4CP16 (SAM4CP16_0 || SAM4CP16_1) -/** @} */ - -/** - * \name SAMG series - * @{ - */ -#define SAMG51 ( \ - SAM_PART_IS_DEFINED(SAMG51G18) \ - ) - -#define SAMG53 ( \ - SAM_PART_IS_DEFINED(SAMG53G19) ||\ - SAM_PART_IS_DEFINED(SAMG53N19) \ - ) - -#define SAMG54 ( \ - SAM_PART_IS_DEFINED(SAMG54G19) ||\ - SAM_PART_IS_DEFINED(SAMG54J19) ||\ - SAM_PART_IS_DEFINED(SAMG54N19) \ - ) - -#define SAMG55 ( \ - SAM_PART_IS_DEFINED(SAMG55G18) ||\ - SAM_PART_IS_DEFINED(SAMG55G19) ||\ - SAM_PART_IS_DEFINED(SAMG55J18) ||\ - SAM_PART_IS_DEFINED(SAMG55J19) ||\ - SAM_PART_IS_DEFINED(SAMG55N19) \ - ) -/** @} */ - -/** - * \name SAMV71 series - * @{ - */ -#define SAMV71J ( \ - SAM_PART_IS_DEFINED(SAMV71J19) || \ - SAM_PART_IS_DEFINED(SAMV71J20) || \ - SAM_PART_IS_DEFINED(SAMV71J21) \ - ) - -#define SAMV71N ( \ - SAM_PART_IS_DEFINED(SAMV71N19) || \ - SAM_PART_IS_DEFINED(SAMV71N20) || \ - SAM_PART_IS_DEFINED(SAMV71N21) \ - ) - -#define SAMV71Q ( \ - SAM_PART_IS_DEFINED(SAMV71Q19) || \ - SAM_PART_IS_DEFINED(SAMV71Q20) || \ - SAM_PART_IS_DEFINED(SAMV71Q21) \ - ) -/** @} */ - -/** - * \name SAMV70 series - * @{ - */ -#define SAMV70J ( \ - SAM_PART_IS_DEFINED(SAMV70J19) || \ - SAM_PART_IS_DEFINED(SAMV70J20) \ - ) - -#define SAMV70N ( \ - SAM_PART_IS_DEFINED(SAMV70N19) || \ - SAM_PART_IS_DEFINED(SAMV70N20) \ - ) - -#define SAMV70Q ( \ - SAM_PART_IS_DEFINED(SAMV70Q19) || \ - SAM_PART_IS_DEFINED(SAMV70Q20) \ - ) -/** @} */ - -/** - * \name SAMS70 series - * @{ - */ -#define SAMS70J ( \ - SAM_PART_IS_DEFINED(SAMS70J19) || \ - SAM_PART_IS_DEFINED(SAMS70J20) || \ - SAM_PART_IS_DEFINED(SAMS70J21) \ - ) - -#define SAMS70N ( \ - SAM_PART_IS_DEFINED(SAMS70N19) || \ - SAM_PART_IS_DEFINED(SAMS70N20) || \ - SAM_PART_IS_DEFINED(SAMS70N21) \ - ) - -#define SAMS70Q ( \ - SAM_PART_IS_DEFINED(SAMS70Q19) || \ - SAM_PART_IS_DEFINED(SAMS70Q20) || \ - SAM_PART_IS_DEFINED(SAMS70Q21) \ - ) -/** @} */ - -/** - * \name SAME70 series - * @{ - */ -#define SAME70J ( \ - SAM_PART_IS_DEFINED(SAME70J19) || \ - SAM_PART_IS_DEFINED(SAME70J20) || \ - SAM_PART_IS_DEFINED(SAME70J21) \ - ) - -#define SAME70N ( \ - SAM_PART_IS_DEFINED(SAME70N19) || \ - SAM_PART_IS_DEFINED(SAME70N20) || \ - SAM_PART_IS_DEFINED(SAME70N21) \ - ) - -#define SAME70Q ( \ - SAM_PART_IS_DEFINED(SAME70Q19) || \ - SAM_PART_IS_DEFINED(SAME70Q20) || \ - SAM_PART_IS_DEFINED(SAME70Q21) \ - ) -/** @} */ - -/** - * \name SAM families - * @{ - */ -/** SAM3S Family */ -#define SAM3S (SAM3S1 || SAM3S2 || SAM3S4 || SAM3S8 || SAM3SD8) - -/** SAM3U Family */ -#define SAM3U (SAM3U1 || SAM3U2 || SAM3U4) - -/** SAM3N Family */ -#define SAM3N (SAM3N00 || SAM3N0 || SAM3N1 || SAM3N2 || SAM3N4) - -/** SAM3XA Family */ -#define SAM3XA (SAM3X4 || SAM3X8 || SAM3A4 || SAM3A8) - -/** SAM4S Family */ -#define SAM4S (SAM4S2 || SAM4S4 || SAM4S8 || SAM4S16 || SAM4SA16 || SAM4SD16 || SAM4SD32) - -/** SAM4L Family */ -#define SAM4L (SAM4LS || SAM4LC) - -/** SAMD20 Family */ -#define SAMD20 (SAMD20J || SAMD20G || SAMD20E) - -/** SAMD21 Family */ -#define SAMD21 (SAMD21J || SAMD21G || SAMD21E) - -/** SAMD09 Family */ -#define SAMD09 (SAMD09C || SAMD09D) - -/** SAMD10 Family */ -#define SAMD10 (SAMD10C || SAMD10DS || SAMD10DM || SAMD10DU) - -/** SAMD11 Family */ -#define SAMD11 (SAMD11C || SAMD11DS || SAMD11DM || SAMD11DU) - -/** SAMDA1 Family */ -#define SAMDA1 (SAMDA1J || SAMDA1G || SAMDA1E) - -/** SAMHA1 Family */ -#define SAMHA1 (SAMHA1G) - -/** SAMD Family */ -#define SAMD (SAMD20 || SAMD21 || SAMD09 || SAMD10 || SAMD11 || SAMDA1) - -/** SAMR21 Family */ -#define SAMR21 (SAMR21G || SAMR21E) - -/** SAMR30 Family */ -#define SAMR30 (SAMR30G || SAMR30E) - -/** SAMB11 Family */ -#define SAMB11 (SAMB11G || BTLC1000) - -/** SAML21 Family */ -#define SAML21 (SAML21J || SAML21G || SAML21E) - -/** SAML22 Family */ -#define SAML22 (SAML22J || SAML22G || SAML22N) -/** SAMC20 Family */ -#define SAMC20 (SAMC20J || SAMC20G || SAMC20E) - -/** SAMC21 Family */ -#define SAMC21 (SAMC21J || SAMC21G || SAMC21E) - -/** SAM4E Family */ -#define SAM4E (SAM4E8 || SAM4E16) - -/** SAM4N Family */ -#define SAM4N (SAM4N8 || SAM4N16) - -/** SAM4C Family */ -#define SAM4C_0 (SAM4C4_0 || SAM4C8_0 || SAM4C16_0 || SAM4C32_0) -#define SAM4C_1 (SAM4C4_1 || SAM4C8_1 || SAM4C16_1 || SAM4C32_1) -#define SAM4C (SAM4C4 || SAM4C8 || SAM4C16 || SAM4C32) - -/** SAM4CM Family */ -#define SAM4CM_0 (SAM4CMP8_0 || SAM4CMP16_0 || SAM4CMP32_0 || \ - SAM4CMS4_0 || SAM4CMS8_0 || SAM4CMS16_0 || SAM4CMS32_0) -#define SAM4CM_1 (SAM4CMP8_1 || SAM4CMP16_1 || SAM4CMP32_1 || \ - SAM4CMS4_1 || SAM4CMS8_1 || SAM4CMS16_1 || SAM4CMS32_1) -#define SAM4CM (SAM4CMP8 || SAM4CMP16 || SAM4CMP32 || \ - SAM4CMS4 || SAM4CMS8 || SAM4CMS16 || SAM4CMS32) - -/** SAM4CP Family */ -#define SAM4CP_0 (SAM4CP16_0) -#define SAM4CP_1 (SAM4CP16_1) -#define SAM4CP (SAM4CP16) - -/** SAMG Family */ -#define SAMG (SAMG51 || SAMG53 || SAMG54 || SAMG55) - -/** SAMB Family */ -#define SAMB (SAMB11) - -/** SAMV71 Family */ -#define SAMV71 (SAMV71J || SAMV71N || SAMV71Q) - -/** SAMV70 Family */ -#define SAMV70 (SAMV70J || SAMV70N || SAMV70Q) - -/** SAME70 Family */ -#define SAME70 (SAME70J || SAME70N || SAME70Q) - -/** SAMS70 Family */ -#define SAMS70 (SAMS70J || SAMS70N || SAMS70Q) - -/** SAM0 product line (cortex-m0+) */ -#define SAM0 (SAMD20 || SAMD21 || SAMR21 || SAMD10 || SAMD11 || SAML21 ||\ - SAMDA1 || SAMC20 || SAMC21 || SAML22 || SAMD09 || SAMR30 || SAMHA1) - -/** @} */ - -/** SAM product line */ -#define SAM (SAM3S || SAM3U || SAM3N || SAM3XA || SAM4S || SAM4L || SAM4E || \ - SAM0 || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG || SAMV71 || SAMV70 || SAME70 || SAMS70) - -/** @} */ - -/** @} */ - -/** @} */ - -#endif /* ATMEL_PARTS_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.c deleted file mode 100644 index bb330e4..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.c +++ /dev/null @@ -1,1657 +0,0 @@ -/** - * \file - * - * \brief Power Management Controller (PMC) driver for SAM. - * - * Copyright (c) 2011-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "pmc.h" - -#if (SAM3N) -# define MAX_PERIPH_ID 31 -#elif (SAM3XA) -# define MAX_PERIPH_ID 44 -#elif (SAM3U) -# define MAX_PERIPH_ID 29 -#elif (SAM3S || SAM4S) -# define MAX_PERIPH_ID 34 -#elif (SAM4E) -# define MAX_PERIPH_ID 47 -#elif (SAMV71) -# define MAX_PERIPH_ID 63 -#elif (SAMV70) -# define MAX_PERIPH_ID 63 -#elif (SAME70) -# define MAX_PERIPH_ID 63 -#elif (SAMS70) -# define MAX_PERIPH_ID 63 -#elif (SAM4N) -# define MAX_PERIPH_ID 31 -#elif (SAM4C || SAM4CM || SAM4CP) -# define MAX_PERIPH_ID 43 -#elif (SAMG51) -# define MAX_PERIPH_ID 47 -#elif (SAMG53) -# define MAX_PERIPH_ID 47 -#elif (SAMG54) -# define MAX_PERIPH_ID 47 -#elif (SAMG55) -# define MAX_PERIPH_ID 50 -#endif - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \defgroup sam_drivers_pmc_group Power Management Controller (PMC) - * - * \par Purpose - * - * The Power Management Controller (PMC) optimizes power consumption by - * controlling all system and user peripheral clocks. The PMC enables/disables - * the clock inputs to many of the peripherals and the Cortex-M Processor. - * - * @{ - */ - -/** - * \brief Set the prescaler of the MCK. - * - * \param ul_pres Prescaler value. - */ -void pmc_mck_set_prescaler(uint32_t ul_pres) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); -} - -#if SAMV71 || SAMV70 || SAME70 || SAMS70 -/** - * \brief Set the division of the MCK. - * - * \param ul_div Division value. - */ -void pmc_mck_set_division(uint32_t ul_div) -{ - switch (ul_div) { - case 1: - ul_div = PMC_MCKR_MDIV_EQ_PCK; - break; - case 2: - ul_div = PMC_MCKR_MDIV_PCK_DIV2; - break; - case 3: - ul_div = PMC_MCKR_MDIV_PCK_DIV3; - break; - case 4: - ul_div = PMC_MCKR_MDIV_PCK_DIV4; - break; - default: - ul_div = PMC_MCKR_MDIV_EQ_PCK; - break; - } - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_MDIV_Msk)) | ul_div; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); -} -#endif - -/** - * \brief Set the source of the MCK. - * - * \param ul_source Source selection value. - */ -void pmc_mck_set_source(uint32_t ul_source) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | ul_source; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); -} - -/** - * \brief Switch master clock source selection to slow clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_sclk(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_SLOW_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch master clock source selection to main clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_mainck(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_MAIN_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch master clock source selection to PLLA clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_pllack(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_PLLA_CLK; - - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -/** - * \brief Switch master clock source selection to PLLB clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_pllbck(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_PLLB_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch master clock source selection to UPLL clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_upllck(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_UPLL_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -/** - * \brief Switch slow clock source selection to external 32k (Xtal or Bypass). - * - * \note Switching SCLK back to 32krc is only possible by shutting down the - * VDDIO power supply. - * - * \param ul_bypass 0 for Xtal, 1 for bypass. - */ -void pmc_switch_sclk_to_32kxtal(uint32_t ul_bypass) -{ - /* Set Bypass mode if required */ - if (ul_bypass == 1) { - SUPC->SUPC_MR |= SUPC_MR_KEY_PASSWD | - SUPC_MR_OSCBYPASS; - } - - SUPC->SUPC_CR = SUPC_CR_KEY_PASSWD | SUPC_CR_XTALSEL; -} - -/** - * \brief Check if the external 32k Xtal is ready. - * - * \retval 1 External 32k Xtal is ready. - * \retval 0 External 32k Xtal is not ready. - */ -uint32_t pmc_osc_is_ready_32kxtal(void) -{ - return ((SUPC->SUPC_SR & SUPC_SR_OSCSEL) - && (PMC->PMC_SR & PMC_SR_OSCSELS)); -} - -/** - * \brief Switch main clock source selection to internal fast RC. - * - * \param ul_moscrcf Fast RC oscillator(4/8/12Mhz). - * - * \retval 0 Success. - * \retval 1 Timeout error. - * \retval 2 Invalid frequency. - */ -void pmc_switch_mainck_to_fastrc(uint32_t ul_moscrcf) -{ - /* Enable Fast RC oscillator but DO NOT switch to RC now */ - PMC->CKGR_MOR |= (CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCRCEN); - - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Change Fast RC oscillator frequency */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCF_Msk) | - CKGR_MOR_KEY_PASSWD | ul_moscrcf; - - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Switch to Fast RC */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCSEL) | - CKGR_MOR_KEY_PASSWD; -} - -/** - * \brief Enable fast RC oscillator. - * - * \param ul_rc Fast RC oscillator(4/8/12Mhz). - */ -void pmc_osc_enable_fastrc(uint32_t ul_rc) -{ - /* Enable Fast RC oscillator but DO NOT switch to RC */ - PMC->CKGR_MOR |= (CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCRCEN); - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Change Fast RC oscillator frequency */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCF_Msk) | - CKGR_MOR_KEY_PASSWD | ul_rc; - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); -} - -/** - * \brief Disable the internal fast RC. - */ -void pmc_osc_disable_fastrc(void) -{ - /* Disable Fast RC oscillator */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCEN & - ~CKGR_MOR_MOSCRCF_Msk) - | CKGR_MOR_KEY_PASSWD; -} - -/** - * \brief Check if the main fastrc is ready. - * - * \retval 0 Xtal is not ready, otherwise ready. - */ -uint32_t pmc_osc_is_ready_fastrc(void) -{ - return (PMC->PMC_SR & PMC_SR_MOSCRCS); -} - -/** - * \brief Enable main XTAL oscillator. - * - * \param ul_xtal_startup_time Xtal start-up time, in number of slow clocks. - */ -void pmc_osc_enable_main_xtal(uint32_t ul_xtal_startup_time) -{ - uint32_t mor = PMC->CKGR_MOR; - mor &= ~(CKGR_MOR_MOSCXTBY|CKGR_MOR_MOSCXTEN); - mor |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTEN | - CKGR_MOR_MOSCXTST(ul_xtal_startup_time); - PMC->CKGR_MOR = mor; - /* Wait the main Xtal to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCXTS)); -} - -/** - * \brief Bypass main XTAL. - */ -void pmc_osc_bypass_main_xtal(void) -{ - uint32_t mor = PMC->CKGR_MOR; - mor &= ~(CKGR_MOR_MOSCXTBY|CKGR_MOR_MOSCXTEN); - mor |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTBY; - /* Enable Crystal oscillator but DO NOT switch now. Keep MOSCSEL to 0 */ - PMC->CKGR_MOR = mor; - /* The MOSCXTS in PMC_SR is automatically set */ -} - -/** - * \brief Disable the main Xtal. - */ -void pmc_osc_disable_main_xtal(void) -{ - uint32_t mor = PMC->CKGR_MOR; - mor &= ~(CKGR_MOR_MOSCXTBY|CKGR_MOR_MOSCXTEN); - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | mor; -} - -/** - * \brief Check if the main crystal is bypassed. - * - * \retval 0 Xtal is bypassed, otherwise not. - */ -uint32_t pmc_osc_is_bypassed_main_xtal(void) -{ - return (PMC->CKGR_MOR & CKGR_MOR_MOSCXTBY); -} - -/** - * \brief Check if the main crystal is ready. - * - * \note If main crystal is bypassed, it's always ready. - * - * \retval 0 main crystal is not ready, otherwise ready. - */ -uint32_t pmc_osc_is_ready_main_xtal(void) -{ - return (PMC->PMC_SR & PMC_SR_MOSCXTS); -} - -/** - * \brief Switch main clock source selection to external Xtal/Bypass. - * - * \note The function may switch MCK to SCLK if MCK source is MAINCK to avoid - * any system crash. - * - * \note If used in Xtal mode, the Xtal is automatically enabled. - * - * \param ul_bypass 0 for Xtal, 1 for bypass. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -void pmc_switch_mainck_to_xtal(uint32_t ul_bypass, - uint32_t ul_xtal_startup_time) -{ - /* Enable Main Xtal oscillator */ - if (ul_bypass) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTBY | - CKGR_MOR_MOSCSEL; - } else { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTBY) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTEN | - CKGR_MOR_MOSCXTST(ul_xtal_startup_time); - /* Wait the Xtal to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCXTS)); - - PMC->CKGR_MOR |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCSEL; - } -} - -/** - * \brief Disable the external Xtal. - * - * \param ul_bypass 0 for Xtal, 1 for bypass. - */ -void pmc_osc_disable_xtal(uint32_t ul_bypass) -{ - /* Disable xtal oscillator */ - if (ul_bypass) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTBY) | - CKGR_MOR_KEY_PASSWD; - } else { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD; - } -} - -/** - * \brief Check if the MAINCK is ready. Depending on MOSCEL, MAINCK can be one - * of Xtal, bypass or internal RC. - * - * \retval 1 Xtal is ready. - * \retval 0 Xtal is not ready. - */ -uint32_t pmc_osc_is_ready_mainck(void) -{ - return PMC->PMC_SR & PMC_SR_MOSCSELS; -} - -/** - * \brief Select Main Crystal or internal RC as main clock source. - * - * \note This function will not enable/disable RC or Main Crystal. - * - * \param ul_xtal_rc 0 internal RC is selected, otherwise Main Crystal. - */ -void pmc_mainck_osc_select(uint32_t ul_xtal_rc) -{ - uint32_t mor = PMC->CKGR_MOR; - if (ul_xtal_rc) { - mor |= CKGR_MOR_MOSCSEL; - } else { - mor &= ~CKGR_MOR_MOSCSEL; - } - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | mor; -} - -/** - * \brief Enable PLLA clock. - * - * \param mula PLLA multiplier. - * \param pllacount PLLA counter. - * \param diva Divider. - */ -void pmc_enable_pllack(uint32_t mula, uint32_t pllacount, uint32_t diva) -{ - /* first disable the PLL to unlock the lock */ - pmc_disable_pllack(); - -#if (SAM4C || SAM4CM || SAM4CP || SAMG) - PMC->CKGR_PLLAR = CKGR_PLLAR_PLLAEN(diva) | - CKGR_PLLAR_PLLACOUNT(pllacount) | CKGR_PLLAR_MULA(mula); -#else - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | CKGR_PLLAR_DIVA(diva) | - CKGR_PLLAR_PLLACOUNT(pllacount) | CKGR_PLLAR_MULA(mula); -#endif - while ((PMC->PMC_SR & PMC_SR_LOCKA) == 0); -} - -/** - * \brief Disable PLLA clock. - */ -void pmc_disable_pllack(void) -{ -#if (SAM4C || SAM4CM || SAM4CP || SAMG) - PMC->CKGR_PLLAR = CKGR_PLLAR_MULA(0); -#else - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | CKGR_PLLAR_MULA(0); -#endif -} - -/** - * \brief Is PLLA locked? - * - * \retval 0 Not locked. - * \retval 1 Locked. - */ -uint32_t pmc_is_locked_pllack(void) -{ - return (PMC->PMC_SR & PMC_SR_LOCKA); -} - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -/** - * \brief Enable PLLB clock. - * - * \param mulb PLLB multiplier. - * \param pllbcount PLLB counter. - * \param divb Divider. - */ -void pmc_enable_pllbck(uint32_t mulb, uint32_t pllbcount, uint32_t divb) -{ - /* first disable the PLL to unlock the lock */ - pmc_disable_pllbck(); - -#if SAMG55 - PMC->CKGR_PLLAR = CKGR_PLLAR_PLLAEN(divb) | - CKGR_PLLAR_PLLACOUNT(pllbcount) | CKGR_PLLAR_MULA(mulb); -#else - PMC->CKGR_PLLBR = - CKGR_PLLBR_DIVB(divb) | CKGR_PLLBR_PLLBCOUNT(pllbcount) - | CKGR_PLLBR_MULB(mulb); -#endif - while ((PMC->PMC_SR & PMC_SR_LOCKB) == 0); -} - -/** - * \brief Disable PLLB clock. - */ -void pmc_disable_pllbck(void) -{ - PMC->CKGR_PLLBR = CKGR_PLLBR_MULB(0); -} - -/** - * \brief Is PLLB locked? - * - * \retval 0 Not locked. - * \retval 1 Locked. - */ -uint32_t pmc_is_locked_pllbck(void) -{ - return (PMC->PMC_SR & PMC_SR_LOCKB); -} -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable UPLL clock. - */ -void pmc_enable_upll_clock(void) -{ - PMC->CKGR_UCKR = CKGR_UCKR_UPLLCOUNT(3) | CKGR_UCKR_UPLLEN; - - /* Wait UTMI PLL Lock Status */ - while (!(PMC->PMC_SR & PMC_SR_LOCKU)); -} - -/** - * \brief Disable UPLL clock. - */ -void pmc_disable_upll_clock(void) -{ - PMC->CKGR_UCKR &= ~CKGR_UCKR_UPLLEN; -} - -/** - * \brief Is UPLL locked? - * - * \retval 0 Not locked. - * \retval 1 Locked. - */ -uint32_t pmc_is_locked_upll(void) -{ - return (PMC->PMC_SR & PMC_SR_LOCKU); -} -#endif - -/** - * \brief Enable the specified peripheral clock. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Invalid parameter. - */ -uint32_t pmc_enable_periph_clk(uint32_t ul_id) -{ - if (ul_id > MAX_PERIPH_ID) { - return 1; - } - - if (ul_id < 32) { - if ((PMC->PMC_PCSR0 & (1u << ul_id)) != (1u << ul_id)) { - PMC->PMC_PCER0 = 1 << ul_id; - } -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - } else { - ul_id -= 32; - if ((PMC->PMC_PCSR1 & (1u << ul_id)) != (1u << ul_id)) { - PMC->PMC_PCER1 = 1 << ul_id; - } -#endif - } - - return 0; -} - -/** - * \brief Disable the specified peripheral clock. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Invalid parameter. - */ -uint32_t pmc_disable_periph_clk(uint32_t ul_id) -{ - if (ul_id > MAX_PERIPH_ID) { - return 1; - } - - if (ul_id < 32) { - if ((PMC->PMC_PCSR0 & (1u << ul_id)) == (1u << ul_id)) { - PMC->PMC_PCDR0 = 1 << ul_id; - } -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - } else { - ul_id -= 32; - if ((PMC->PMC_PCSR1 & (1u << ul_id)) == (1u << ul_id)) { - PMC->PMC_PCDR1 = 1 << ul_id; - } -#endif - } - return 0; -} - -/** - * \brief Enable all peripheral clocks. - */ -void pmc_enable_all_periph_clk(void) -{ - PMC->PMC_PCER0 = PMC_MASK_STATUS0; - while ((PMC->PMC_PCSR0 & PMC_MASK_STATUS0) != PMC_MASK_STATUS0); - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - PMC->PMC_PCER1 = PMC_MASK_STATUS1; - while ((PMC->PMC_PCSR1 & PMC_MASK_STATUS1) != PMC_MASK_STATUS1); -#endif -} - -/** - * \brief Disable all peripheral clocks. - */ -void pmc_disable_all_periph_clk(void) -{ - PMC->PMC_PCDR0 = PMC_MASK_STATUS0; - while ((PMC->PMC_PCSR0 & PMC_MASK_STATUS0) != 0); - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - PMC->PMC_PCDR1 = PMC_MASK_STATUS1; - while ((PMC->PMC_PCSR1 & PMC_MASK_STATUS1) != 0); -#endif -} - -/** - * \brief Check if the specified peripheral clock is enabled. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Peripheral clock is disabled or unknown. - * \retval 1 Peripheral clock is enabled. - */ -uint32_t pmc_is_periph_clk_enabled(uint32_t ul_id) -{ - if (ul_id > MAX_PERIPH_ID) { - return 0; - } - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - if (ul_id < 32) { -#endif - if ((PMC->PMC_PCSR0 & (1u << ul_id))) { - return 1; - } else { - return 0; - } -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - } else { - ul_id -= 32; - if ((PMC->PMC_PCSR1 & (1u << ul_id))) { - return 1; - } else { - return 0; - } - } -#endif -} - -/** - * \brief Set the prescaler for the specified programmable clock. - * - * \param ul_id Peripheral ID. - * \param ul_pres Prescaler value. - */ -void pmc_pck_set_prescaler(uint32_t ul_id, uint32_t ul_pres) -{ - PMC->PMC_PCK[ul_id] = - (PMC->PMC_PCK[ul_id] & ~PMC_PCK_PRES_Msk) | ul_pres; - while ((PMC->PMC_SCER & (PMC_SCER_PCK0 << ul_id)) - && !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id))); -} - -/** - * \brief Set the source oscillator for the specified programmable clock. - * - * \param ul_id Peripheral ID. - * \param ul_source Source selection value. - */ -void pmc_pck_set_source(uint32_t ul_id, uint32_t ul_source) -{ - PMC->PMC_PCK[ul_id] = - (PMC->PMC_PCK[ul_id] & ~PMC_PCK_CSS_Msk) | ul_source; - while ((PMC->PMC_SCER & (PMC_SCER_PCK0 << ul_id)) - && !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id))); -} - -/** - * \brief Switch programmable clock source selection to slow clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_sclk(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_SLOW_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch programmable clock source selection to main clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_mainck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_MAIN_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch programmable clock source selection to PLLA clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_pllack(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_PLLA_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -/** - * \brief Switch programmable clock source selection to PLLB clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_pllbck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_PLLB_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch programmable clock source selection to UPLL clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_upllck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_UPLL_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -/** - * \brief Switch programmable clock source selection to mck. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_mck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_MCK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Enable the specified programmable clock. - * - * \param ul_id Id of the programmable clock. - */ -void pmc_enable_pck(uint32_t ul_id) -{ - PMC->PMC_SCER = PMC_SCER_PCK0 << ul_id; -} - -/** - * \brief Disable the specified programmable clock. - * - * \param ul_id Id of the programmable clock. - */ -void pmc_disable_pck(uint32_t ul_id) -{ - PMC->PMC_SCDR = PMC_SCER_PCK0 << ul_id; -} - -/** - * \brief Enable all programmable clocks. - */ -void pmc_enable_all_pck(void) -{ - PMC->PMC_SCER = PMC_SCER_PCK0 | PMC_SCER_PCK1 | PMC_SCER_PCK2; -} - -/** - * \brief Disable all programmable clocks. - */ -void pmc_disable_all_pck(void) -{ - PMC->PMC_SCDR = PMC_SCDR_PCK0 | PMC_SCDR_PCK1 | PMC_SCDR_PCK2; -} - -/** - * \brief Check if the specified programmable clock is enabled. - * - * \param ul_id Id of the programmable clock. - * - * \retval 0 Programmable clock is disabled or unknown. - * \retval 1 Programmable clock is enabled. - */ -uint32_t pmc_is_pck_enabled(uint32_t ul_id) -{ - if (ul_id > 2) { - return 0; - } - - return (PMC->PMC_SCSR & (PMC_SCSR_PCK0 << ul_id)); -} - -#if (SAM4C || SAM4CM || SAM4CP) -/** - * \brief Enable Coprocessor Clocks. - */ -void pmc_enable_cpck(void) -{ - PMC->PMC_SCER = PMC_SCER_CPCK | PMC_SCER_CPKEY_PASSWD; -} - -/** - * \brief Disable Coprocessor Clocks. - */ -void pmc_disable_cpck(void) -{ - PMC->PMC_SCDR = PMC_SCDR_CPCK | PMC_SCDR_CPKEY_PASSWD; -} - -/** - * \brief Check if the Coprocessor Clocks is enabled. - * - * \retval 0 Coprocessor Clocks is disabled. - * \retval 1 Coprocessor Clocks is enabled. - */ -bool pmc_is_cpck_enabled(void) -{ - if(PMC->PMC_SCSR & PMC_SCSR_CPCK) { - return 1; - } else { - return 0; - } -} - -/** - * \brief Enable Coprocessor Bus Master Clocks. - */ -void pmc_enable_cpbmck(void) -{ - PMC->PMC_SCER = PMC_SCER_CPBMCK | PMC_SCER_CPKEY_PASSWD; -} - -/** - * \brief Disable Coprocessor Bus Master Clocks. - */ -void pmc_disable_cpbmck(void) -{ - PMC->PMC_SCDR = PMC_SCDR_CPBMCK | PMC_SCDR_CPKEY_PASSWD; -} - -/** - * \brief Check if the Coprocessor Bus Master Clocks is enabled. - * - * \retval 0 Coprocessor Bus Master Clocks is disabled. - * \retval 1 Coprocessor Bus Master Clocks is enabled. - */ -bool pmc_is_cpbmck_enabled(void) -{ - if(PMC->PMC_SCSR & PMC_SCSR_CPBMCK) { - return 1; - } else { - return 0; - } -} - -/** - * \brief Set the prescaler for the Coprocessor Master Clock. - * - * \param ul_pres Prescaler value. - */ -void pmc_cpck_set_prescaler(uint32_t ul_pres) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_CPPRES_Msk)) | PMC_MCKR_CPPRES(ul_pres); -} - -/** - * \brief Set the source for the Coprocessor Master Clock. - * - * \param ul_source Source selection value. - */ -void pmc_cpck_set_source(uint32_t ul_source) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_CPCSS_Msk)) | ul_source; -} -#endif - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch UDP (USB) clock source selection to PLLA clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_udpck_to_pllack(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv); -} -#endif - -#if (SAM3S || SAM4S || SAMG55) -/** - * \brief Switch UDP (USB) clock source selection to PLLB clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_udpck_to_pllbck(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv) | PMC_USB_USBS; -} -#endif - -#if (SAM3XA || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch UDP (USB) clock source selection to UPLL clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_udpck_to_upllck(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBS | PMC_USB_USBDIV(ul_usbdiv); -} -#endif - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable UDP (USB) clock. - */ -void pmc_enable_udpck(void) -{ -#if (SAM3S || SAM4S || SAM4E || SAMG55) - PMC->PMC_SCER = PMC_SCER_UDP; -#elif (SAMV71 || SAMV70 || SAME70 || SAMS70) - PMC->PMC_SCER = PMC_SCER_USBCLK; -#else - PMC->PMC_SCER = PMC_SCER_UOTGCLK; -# endif -} - -/** - * \brief Disable UDP (USB) clock. - */ -void pmc_disable_udpck(void) -{ -#if (SAM3S || SAM4S || SAM4E || SAMG55) - PMC->PMC_SCDR = PMC_SCDR_UDP; -#elif (SAMV71 || SAMV70 || SAME70 || SAMS70) - PMC->PMC_SCDR = PMC_SCDR_USBCLK; -#else - PMC->PMC_SCDR = PMC_SCDR_UOTGCLK; -# endif -} -#endif - -#if SAMG55 -/** - * \brief Switch UHP (USB) clock source selection to PLLA clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_uhpck_to_pllack(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv); -} - -/** - * \brief Switch UHP (USB) clock source selection to PLLB clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_uhpck_to_pllbck(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv) | PMC_USB_USBS; -} - -/** - * \brief Enable UHP (USB) clock. - */ -void pmc_enable_uhpck(void) -{ - PMC->PMC_SCER = PMC_SCER_UHP; -} -#endif - -/** - * \brief Enable PMC interrupts. - * - * \param ul_sources Interrupt sources bit map. - */ -void pmc_enable_interrupt(uint32_t ul_sources) -{ - PMC->PMC_IER = ul_sources; -} - -/** - * \brief Disable PMC interrupts. - * - * \param ul_sources Interrupt sources bit map. - */ -void pmc_disable_interrupt(uint32_t ul_sources) -{ - PMC->PMC_IDR = ul_sources; -} - -/** - * \brief Get PMC interrupt mask. - * - * \return The interrupt mask value. - */ -uint32_t pmc_get_interrupt_mask(void) -{ - return PMC->PMC_IMR; -} - -/** - * \brief Get current status. - * - * \return The current PMC status. - */ -uint32_t pmc_get_status(void) -{ - return PMC->PMC_SR; -} - -/** - * \brief Set the wake-up inputs for fast startup mode registers - * (event generation). - * - * \param ul_inputs Wake up inputs to enable. - */ -void pmc_set_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_FSMR |= ul_inputs; -} - -/** - * \brief Clear the wake-up inputs for fast startup mode registers - * (remove event generation). - * - * \param ul_inputs Wake up inputs to disable. - */ -void pmc_clr_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_FSMR &= ~ul_inputs; -} - -#if (SAM4C || SAM4CM || SAM4CP) -/** - * \brief Set the wake-up inputs of coprocessor for fast startup mode registers - * (event generation). - * - * \param ul_inputs Wake up inputs to enable. - */ -void pmc_cp_set_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_CPFSMR |= ul_inputs; -} - -/** - * \brief Clear the wake-up inputs of coprocessor for fast startup mode registers - * (remove event generation). - * - * \param ul_inputs Wake up inputs to disable. - */ -void pmc_cp_clr_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_CPFSMR &= ~ul_inputs; -} -#endif - -/** - * \brief Enable Sleep Mode. - * Enter condition: (WFE or WFI) + (SLEEPDEEP bit = 0) + (LPM bit = 0) - * - * \param uc_type 0 for wait for interrupt, 1 for wait for event. - * \note For SAM4S, SAM4C, SAM4CM, SAM4CP, SAMV71 and SAM4E series, - * since only WFI is effective, uc_type = 1 will be treated as uc_type = 0. - */ -void pmc_enable_sleepmode(uint8_t uc_type) -{ -#if !(SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) - PMC->PMC_FSMR &= (uint32_t) ~ PMC_FSMR_LPM; // Enter Sleep mode -#endif - SCB->SCR &= (uint32_t) ~ SCB_SCR_SLEEPDEEP_Msk; // Deep sleep - -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) - UNUSED(uc_type); - __DSB(); - __WFI(); -#else - if (uc_type == 0) { - __DSB(); - __WFI(); - } else { - __DSB(); - __WFE(); - } -#endif -} - -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -static uint32_t ul_flash_in_wait_mode = PMC_WAIT_MODE_FLASH_DEEP_POWERDOWN; -/** - * \brief Set the embedded flash state in wait mode - * - * \param ul_flash_state PMC_WAIT_MODE_FLASH_STANDBY flash in standby mode, - * PMC_WAIT_MODE_FLASH_DEEP_POWERDOWN flash in deep power down mode. - */ -void pmc_set_flash_in_wait_mode(uint32_t ul_flash_state) -{ - ul_flash_in_wait_mode = ul_flash_state; -} - -/** - * \brief Enable Wait Mode. Enter condition: (WAITMODE bit = 1) + FLPM - * - * \note In this function, FLPM will retain, WAITMODE bit will be set, - * Generally, this function will be called by pmc_sleep() in order to - * complete all sequence entering wait mode. - * See \ref pmc_sleep() for entering different sleep modes. - */ -void pmc_enable_waitmode(void) -{ - uint32_t i; - - /* Flash in wait mode */ - i = PMC->PMC_FSMR; - i &= ~PMC_FSMR_FLPM_Msk; -#if !(SAMV71 || SAMV70 || SAME70 || SAMS70) - i |= ul_flash_in_wait_mode; -#else - i |= PMC_WAIT_MODE_FLASH_IDLE; -#endif - PMC->PMC_FSMR = i; - - /* Set the WAITMODE bit = 1 */ - PMC->CKGR_MOR |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_WAITMODE; - - /* Waiting for Master Clock Ready MCKRDY = 1 */ - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); - - /* Waiting for MOSCRCEN bit cleared is strongly recommended - * to ensure that the core will not execute undesired instructions - */ - for (i = 0; i < 500; i++) { - __NOP(); - } - while (!(PMC->CKGR_MOR & CKGR_MOR_MOSCRCEN)); - -#if (!SAMG) - /* Restore Flash in idle mode */ - i = PMC->PMC_FSMR; - i &= ~PMC_FSMR_FLPM_Msk; - i |= PMC_WAIT_MODE_FLASH_IDLE; - PMC->PMC_FSMR = i; -#endif -} -#else -/** - * \brief Enable Wait Mode. Enter condition: WFE + (SLEEPDEEP bit = 0) + - * (LPM bit = 1) - */ -void pmc_enable_waitmode(void) -{ - uint32_t i; - - PMC->PMC_FSMR |= PMC_FSMR_LPM; /* Enter Wait mode */ - SCB->SCR &= (uint32_t) ~ SCB_SCR_SLEEPDEEP_Msk; /* Deep sleep */ - - __DSB(); - __WFE(); - - /* Waiting for MOSCRCEN bit cleared is strongly recommended - * to ensure that the core will not execute undesired instructions - */ - for (i = 0; i < 500; i++) { - __NOP(); - } - while (!(PMC->CKGR_MOR & CKGR_MOR_MOSCRCEN)); - -} -#endif - -#if (!(SAMG51 || SAMG53 || SAMG54)) -/** - * \brief Enable Backup Mode. Enter condition: WFE/(VROFF bit = 1) + - * (SLEEPDEEP bit = 1) - */ -void pmc_enable_backupmode(void) -{ -#if (SAM4C || SAM4CM || SAM4CP) - uint32_t tmp = SUPC->SUPC_MR & ~(SUPC_MR_BUPPOREN | SUPC_MR_KEY_Msk); - SUPC->SUPC_MR = tmp | SUPC_MR_KEY_PASSWD; - while (SUPC->SUPC_SR & SUPC_SR_BUPPORS); -#endif - SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - SUPC->SUPC_CR = SUPC_CR_KEY_PASSWD | SUPC_CR_VROFF_STOP_VREG; - uint32_t ul_dummy = SUPC->SUPC_MR; - UNUSED(ul_dummy); - __DSB(); - __WFE(); - __WFI(); -#else - __DSB(); - __WFE(); -#endif -} -#endif - -/** - * \brief Enable Clock Failure Detector. - */ -void pmc_enable_clock_failure_detector(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR; - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | CKGR_MOR_CFDEN | ul_reg; -} - -/** - * \brief Disable Clock Failure Detector. - */ -void pmc_disable_clock_failure_detector(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR & (~CKGR_MOR_CFDEN); - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | ul_reg; -} - -#if (SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable Slow Crystal Oscillator Frequency Monitoring. - */ -void pmc_enable_sclk_osc_freq_monitor(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR; - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | CKGR_MOR_XT32KFME | ul_reg; -} - -/** - * \brief Disable Slow Crystal Oscillator Frequency Monitoring. - */ -void pmc_disable_sclk_osc_freq_monitor(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR & (~CKGR_MOR_XT32KFME); - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | ul_reg; -} -#endif - -/** - * \brief Enable or disable write protect of PMC registers. - * - * \param ul_enable 1 to enable, 0 to disable. - */ -void pmc_set_writeprotect(uint32_t ul_enable) -{ - if (ul_enable) { - PMC->PMC_WPMR = PMC_WPMR_WPKEY_PASSWD | PMC_WPMR_WPEN; - } else { - PMC->PMC_WPMR = PMC_WPMR_WPKEY_PASSWD; - } -} - -/** - * \brief Return write protect status. - * - * \return Return write protect status. - */ -uint32_t pmc_get_writeprotect_status(void) -{ - return PMC->PMC_WPSR; -} - -#if (SAMG53 || SAMG54 || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable the specified peripheral clock. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Fail. - */ -uint32_t pmc_enable_sleepwalking(uint32_t ul_id) -{ - uint32_t temp; -#if (SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - if ((7 <= ul_id) && (ul_id<= 29)) { -#else - if ((8 <= ul_id) && (ul_id<= 29)) { -#endif - temp = pmc_get_active_status0(); - if (temp & (1 << ul_id)) { - return 1; - } - PMC->PMC_SLPWK_ER0 = 1 << ul_id; - temp = pmc_get_active_status0(); - if (temp & (1 << ul_id)) { - pmc_disable_sleepwalking(ul_id); - return 1; - } - return 0; - } -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) - else if ((32 <= ul_id) && (ul_id<= 60)) { - ul_id -= 32; - temp = pmc_get_active_status1(); - if (temp & (1 << ul_id)) { - return 1; - } - PMC->PMC_SLPWK_ER1 = 1 << ul_id; - temp = pmc_get_active_status1(); - if (temp & (1 << ul_id)) { - pmc_disable_sleepwalking(ul_id); - return 1; - } - return 0; - } -#endif - else { - return 1; - } -} - -/** - * \brief Disable the sleepwalking of specified peripheral. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Invalid parameter. - */ -uint32_t pmc_disable_sleepwalking(uint32_t ul_id) -{ -#if (SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - if ((7 <= ul_id) && (ul_id<= 29)) { -#else - if ((8 <= ul_id) && (ul_id<= 29)) { -#endif - PMC->PMC_SLPWK_DR0 = 1 << ul_id; - return 0; - } -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) - else if ((32 <= ul_id) && (ul_id<= 60)) { - ul_id -= 32; - PMC->PMC_SLPWK_DR1 = 1 << ul_id; - return 0; - } -#endif - else { - return 1; - } -} - -/** - * \brief Return peripheral sleepwalking enable status. - * - * \return the status register value. - */ -uint32_t pmc_get_sleepwalking_status0(void) -{ - return PMC->PMC_SLPWK_SR0; -} - -/** - * \brief Return peripheral active status. - * - * \return the status register value. - */ -uint32_t pmc_get_active_status0(void) -{ - return PMC->PMC_SLPWK_ASR0; -} - -#endif - -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Return peripheral sleepwalking enable status. - * - * \return the status register value. - */ -uint32_t pmc_get_sleepwalking_status1(void) -{ - return PMC->PMC_SLPWK_SR1; -} - -/** - * \brief Return peripheral active status. - * - * \return the status register value. - */ -uint32_t pmc_get_active_status1(void) -{ - return PMC->PMC_SLPWK_ASR1; -} -#endif - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.h deleted file mode 100644 index 497825f..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/pmc.h +++ /dev/null @@ -1,550 +0,0 @@ -/** - * \file - * - * \brief Power Management Controller (PMC) driver for SAM. - * - * Copyright (c) 2011-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef PMC_H_INCLUDED -#define PMC_H_INCLUDED - -#include "compiler.h" - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** Bit mask for peripheral clocks (PCER0) */ -#define PMC_MASK_STATUS0 (0xFFFFFFFC) - -/** Bit mask for peripheral clocks (PCER1) */ -#define PMC_MASK_STATUS1 (0xFFFFFFFF) - -/** Loop counter timeout value */ -#if !(SAME70) -#define PMC_TIMEOUT (2048) -#else -#define PMC_TIMEOUT (4096) -#endif - -/** Key to unlock CKGR_MOR register */ -#ifndef CKGR_MOR_KEY_PASSWD -#define CKGR_MOR_KEY_PASSWD CKGR_MOR_KEY(0x37U) -#endif - -/** Key used to write SUPC registers */ -#ifndef SUPC_CR_KEY_PASSWD -#define SUPC_CR_KEY_PASSWD SUPC_CR_KEY(0xA5U) -#endif - -#ifndef SUPC_MR_KEY_PASSWD -#define SUPC_MR_KEY_PASSWD SUPC_MR_KEY(0xA5U) -#endif - -/** Mask to access fast startup input */ -#define PMC_FAST_STARTUP_Msk (0x7FFFFu) - -/** PMC_WPMR Write Protect KEY, unlock it */ -#ifndef PMC_WPMR_WPKEY_PASSWD -#define PMC_WPMR_WPKEY_PASSWD PMC_WPMR_WPKEY((uint32_t) 0x504D43) -#endif - -/** Using external oscillator */ -#define PMC_OSC_XTAL 0 - -/** Oscillator in bypass mode */ -#define PMC_OSC_BYPASS 1 - -#define PMC_PCK_0 0 /* PCK0 ID */ -#define PMC_PCK_1 1 /* PCK1 ID */ -#define PMC_PCK_2 2 /* PCK2 ID */ -#if (SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -#define PMC_PCK_3 3 /* PCK3 ID */ -#define PMC_PCK_4 4 /* PCK4 ID */ -#define PMC_PCK_5 5 /* PCK5 ID */ -#define PMC_PCK_6 6 /* PCK6 ID */ -#if SAMG55 -#define PMC_PCK_7 7 /* PCK7 ID */ -#endif -#endif - -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** Flash state in Wait Mode */ -#define PMC_WAIT_MODE_FLASH_STANDBY PMC_FSMR_FLPM_FLASH_STANDBY -#define PMC_WAIT_MODE_FLASH_DEEP_POWERDOWN PMC_FSMR_FLPM_FLASH_DEEP_POWERDOWN -#define PMC_WAIT_MODE_FLASH_IDLE PMC_FSMR_FLPM_FLASH_IDLE -#endif - -/** Convert startup time from us to MOSCXTST */ -#define pmc_us_to_moscxtst(startup_us, slowck_freq) \ - ((startup_us * slowck_freq / 8 / 1000000) < 0x100 ? \ - (startup_us * slowck_freq / 8 / 1000000) : 0xFF) - -/** - * \name Master clock (MCK) Source and Prescaler configuration - * - * \note The following functions may be used to select the clock source and - * prescaler for the master clock. - */ -//@{ - -void pmc_mck_set_prescaler(uint32_t ul_pres); -#if SAMV71 || SAMV70 || SAME70 || SAMS70 -void pmc_mck_set_division(uint32_t ul_div); -#endif -void pmc_mck_set_source(uint32_t ul_source); -uint32_t pmc_switch_mck_to_sclk(uint32_t ul_pres); -uint32_t pmc_switch_mck_to_mainck(uint32_t ul_pres); -uint32_t pmc_switch_mck_to_pllack(uint32_t ul_pres); -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -uint32_t pmc_switch_mck_to_pllbck(uint32_t ul_pres); -#endif -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -uint32_t pmc_switch_mck_to_upllck(uint32_t ul_pres); -#endif -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_set_flash_in_wait_mode(uint32_t ul_flash_state); -#endif - - -//@} - -/** - * \name Slow clock (SLCK) oscillator and configuration - * - */ -//@{ - -void pmc_switch_sclk_to_32kxtal(uint32_t ul_bypass); -uint32_t pmc_osc_is_ready_32kxtal(void); - -//@} - -/** - * \name Main Clock (MAINCK) oscillator and configuration - * - */ -//@{ - -void pmc_switch_mainck_to_fastrc(uint32_t ul_moscrcf); -void pmc_osc_enable_fastrc(uint32_t ul_rc); -void pmc_osc_disable_fastrc(void); -uint32_t pmc_osc_is_ready_fastrc(void); -void pmc_osc_enable_main_xtal(uint32_t ul_xtal_startup_time); -void pmc_osc_bypass_main_xtal(void); -void pmc_osc_disable_main_xtal(void); -uint32_t pmc_osc_is_bypassed_main_xtal(void); -uint32_t pmc_osc_is_ready_main_xtal(void); -void pmc_switch_mainck_to_xtal(uint32_t ul_bypass, - uint32_t ul_xtal_startup_time); -void pmc_osc_disable_xtal(uint32_t ul_bypass); -uint32_t pmc_osc_is_ready_mainck(void); -void pmc_mainck_osc_select(uint32_t ul_xtal_rc); - -//@} - -/** - * \name PLL oscillator and configuration - * - */ -//@{ - -void pmc_enable_pllack(uint32_t mula, uint32_t pllacount, uint32_t diva); -void pmc_disable_pllack(void); -uint32_t pmc_is_locked_pllack(void); - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -void pmc_enable_pllbck(uint32_t mulb, uint32_t pllbcount, uint32_t divb); -void pmc_disable_pllbck(void); -uint32_t pmc_is_locked_pllbck(void); -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_enable_upll_clock(void); -void pmc_disable_upll_clock(void); -uint32_t pmc_is_locked_upll(void); -#endif - -//@} - -/** - * \name Peripherals clock configuration - * - */ -//@{ - -uint32_t pmc_enable_periph_clk(uint32_t ul_id); -uint32_t pmc_disable_periph_clk(uint32_t ul_id); -void pmc_enable_all_periph_clk(void); -void pmc_disable_all_periph_clk(void); -uint32_t pmc_is_periph_clk_enabled(uint32_t ul_id); - -//@} - -/** - * \name Programmable clock Source and Prescaler configuration - * - * The following functions may be used to select the clock source and - * prescaler for the specified programmable clock. - */ -//@{ - -void pmc_pck_set_prescaler(uint32_t ul_id, uint32_t ul_pres); -void pmc_pck_set_source(uint32_t ul_id, uint32_t ul_source); -uint32_t pmc_switch_pck_to_sclk(uint32_t ul_id, uint32_t ul_pres); -uint32_t pmc_switch_pck_to_mainck(uint32_t ul_id, uint32_t ul_pres); -uint32_t pmc_switch_pck_to_pllack(uint32_t ul_id, uint32_t ul_pres); -#if (SAM4C || SAM4CM || SAM4CP) -void pmc_enable_cpck(void); -void pmc_disable_cpck(void); -bool pmc_is_cpck_enabled(void); -void pmc_enable_cpbmck(void); -void pmc_disable_cpbmck(void); -bool pmc_is_cpbmck_enabled(void); -void pmc_cpck_set_prescaler(uint32_t ul_pres); -void pmc_cpck_set_source(uint32_t ul_source); -#endif -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -uint32_t pmc_switch_pck_to_pllbck(uint32_t ul_id, uint32_t ul_pres); -#endif -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -uint32_t pmc_switch_pck_to_upllck(uint32_t ul_id, uint32_t ul_pres); -#endif -uint32_t pmc_switch_pck_to_mck(uint32_t ul_id, uint32_t ul_pres); -void pmc_enable_pck(uint32_t ul_id); -void pmc_disable_pck(uint32_t ul_id); -void pmc_enable_all_pck(void); -void pmc_disable_all_pck(void); -uint32_t pmc_is_pck_enabled(uint32_t ul_id); - -//@} - -/** - * \name USB clock configuration - * - */ -//@{ - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_switch_udpck_to_pllack(uint32_t ul_usbdiv); -#endif -#if (SAM3S || SAM4S || SAMG55) -void pmc_switch_udpck_to_pllbck(uint32_t ul_usbdiv); -#endif -#if (SAM3XA || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_switch_udpck_to_upllck(uint32_t ul_usbdiv); -#endif -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_enable_udpck(void); -void pmc_disable_udpck(void); -#endif -#if SAMG55 -void pmc_switch_uhpck_to_pllack(uint32_t ul_usbdiv); -void pmc_switch_uhpck_to_pllbck(uint32_t ul_usbdiv); -void pmc_enable_uhpck(void); -#endif - -//@} - -/** - * \name Interrupt and status management - * - */ -//@{ - -void pmc_enable_interrupt(uint32_t ul_sources); -void pmc_disable_interrupt(uint32_t ul_sources); -uint32_t pmc_get_interrupt_mask(void); -uint32_t pmc_get_status(void); - -//@} - -/** - * \name Power management - * - * The following functions are used to configure sleep mode and additional - * wake up inputs. - */ -//@{ - -void pmc_set_fast_startup_input(uint32_t ul_inputs); -void pmc_clr_fast_startup_input(uint32_t ul_inputs); -#if (SAM4C || SAM4CM || SAM4CP) -void pmc_cp_set_fast_startup_input(uint32_t ul_inputs); -void pmc_cp_clr_fast_startup_input(uint32_t ul_inputs); -#endif -void pmc_enable_sleepmode(uint8_t uc_type); -void pmc_enable_waitmode(void); -#if (!(SAMG51 || SAMG53 || SAMG54)) -void pmc_enable_backupmode(void); -#endif -//@} - -/** - * \name Failure detector - * - */ -//@{ - -void pmc_enable_clock_failure_detector(void); -void pmc_disable_clock_failure_detector(void); - -//@} - -#if (SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \name Slow Crystal Oscillator Frequency Monitoring - * - */ -//@{ - -void pmc_enable_sclk_osc_freq_monitor(void); -void pmc_disable_sclk_osc_freq_monitor(void); - -//@} -#endif - -/** - * \name Write protection - * - */ -//@{ - -void pmc_set_writeprotect(uint32_t ul_enable); -uint32_t pmc_get_writeprotect_status(void); - -//@} - -#if (SAMG53 || SAMG54 || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \name Sleepwalking configuration - * - */ -//@{ - -uint32_t pmc_enable_sleepwalking(uint32_t ul_id); -uint32_t pmc_disable_sleepwalking(uint32_t ul_id); -uint32_t pmc_get_sleepwalking_status0(void); -uint32_t pmc_get_active_status0(void); -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) -uint32_t pmc_get_sleepwalking_status1(void); -uint32_t pmc_get_active_status1(void); -#endif -//@} -#endif - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -//! @} - -/** - * \page sam_pmc_quickstart Quick start guide for the SAM PMC module - * - * This is the quick start guide for the \ref sam_drivers_pmc_group "PMC module", - * with step-by-step instructions on how to configure and use the driver in a - * selection of use cases. - * - * The use cases contain several code fragments. The code fragments in the - * steps for setup can be copied into a custom initialization function, while - * the steps for usage can be copied into, e.g., the main application function. - * - * \section pmc_use_cases PMC use cases - * - \ref pmc_basic_use_case Basic use case - Switch Main Clock sources - * - \ref pmc_use_case_2 Advanced use case - Configure Programmable Clocks - * - * \section pmc_basic_use_case Basic use case - Switch Main Clock sources - * In this use case, the PMC module is configured for a variety of system clock - * sources and speeds. A LED is used to visually indicate the current clock - * speed as the source is switched. - * - * \section pmc_basic_use_case_setup Setup - * - * \subsection pmc_basic_use_case_setup_prereq Prerequisites - * -# \ref gpio_group "General Purpose I/O Management (gpio)" - * - * \subsection pmc_basic_use_case_setup_code Code - * The following function needs to be added to the user application, to flash a - * board LED a variable number of times at a rate given in CPU ticks. - * - * \code - #define FLASH_TICK_COUNT 0x00012345 - - void flash_led(uint32_t tick_count, uint8_t flash_count) - { - SysTick->CTRL = SysTick_CTRL_ENABLE_Msk; - SysTick->LOAD = tick_count; - - while (flash_count--) - { - gpio_toggle_pin(LED0_GPIO); - while (!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk)); - gpio_toggle_pin(LED0_GPIO); - while (!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk)); - } - } -\endcode - * - * \section pmc_basic_use_case_usage Use case - * - * \subsection pmc_basic_use_case_usage_code Example code - * Add to application C-file: - * \code - for (;;) - { - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz); - flash_led(FLASH_TICK_COUNT, 5); - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz); - flash_led(FLASH_TICK_COUNT, 5); - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz); - flash_led(FLASH_TICK_COUNT, 5); - pmc_switch_mainck_to_xtal(0); - flash_led(FLASH_TICK_COUNT, 5); - } -\endcode - * - * \subsection pmc_basic_use_case_usage_flow Workflow - * -# Wrap the code in an infinite loop: - * \code - for (;;) -\endcode - * -# Switch the Master CPU frequency to the internal 12MHz RC oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * -# Switch the Master CPU frequency to the internal 8MHz RC oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * -# Switch the Master CPU frequency to the internal 4MHz RC oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * -# Switch the Master CPU frequency to the external crystal oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_xtal(0, BOARD_OSC_STARTUP_US); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * - * \section pmc_use_case_2 Use case #2 - Configure Programmable Clocks - * In this use case, the PMC module is configured to start the Slow Clock from - * an attached 32KHz crystal, and start one of the Programmable Clock modules - * sourced from the Slow Clock divided down with a prescale factor of 64. - * - * \section pmc_use_case_2_setup Setup - * - * \subsection pmc_use_case_2_setup_prereq Prerequisites - * -# \ref pio_group "Parallel Input/Output Controller (pio)" - * - * \subsection pmc_use_case_2_setup_code Code - * The following code must be added to the user application: - * \code - pio_set_peripheral(PIOA, PIO_PERIPH_B, PIO_PA17); -\endcode - * - * \subsection pmc_use_case_2_setup_code_workflow Workflow - * -# Configure the PCK1 pin to output on a specific port pin (in this case, - * PIOA pin 17) of the microcontroller. - * \code - pio_set_peripheral(PIOA, PIO_PERIPH_B, PIO_PA17); -\endcode - * \note The peripheral selection and pin will vary according to your selected - * SAM device model. Refer to the "Peripheral Signal Multiplexing on I/O - * Lines" of your device's datasheet. - * - * \section pmc_use_case_2_usage Use case - * The generated PCK1 clock output can be viewed on an oscilloscope attached to - * the correct pin of the microcontroller. - * - * \subsection pmc_use_case_2_usage_code Example code - * Add to application C-file: - * \code - pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL); - pmc_switch_pck_to_sclk(PMC_PCK_1, PMC_PCK_PRES_CLK_64); - pmc_enable_pck(PMC_PCK_1); - - for (;;) - { - // Do Nothing - } -\endcode - * - * \subsection pmc_use_case_2_usage_flow Workflow - * -# Switch the Slow Clock source input to an external 32KHz crystal: - * \code - pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL); -\endcode - * -# Switch the Programmable Clock module PCK1 source clock to the Slow Clock, - * with a prescaler of 64: - * \code - pmc_switch_pck_to_sclk(PMC_PCK_1, PMC_PCK_PRES_CLK_64); -\endcode - * -# Enable Programmable Clock module PCK1: - * \code - pmc_enable_pck(PMC_PCK_1); -\endcode - * -# Enter an infinite loop: - * \code - for (;;) - { - // Do Nothing - } -\endcode - */ - -#endif /* PMC_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.c deleted file mode 100644 index 5d461e4..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.c +++ /dev/null @@ -1,391 +0,0 @@ -/** - * \file - * - * \brief Sleep mode access - * - * Copyright (c) 2012-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <compiler.h> -#include "sleep.h" - -/* SAM3,SAM4,SAMG,SAMV,SAMS and SAME series */ -#if (SAM3S || SAM3N || SAM3XA || SAM3U || SAM4S || SAM4E || SAM4N || SAM4C || \ - SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAMS70 || SAME70) -# include "pmc.h" -# include "board.h" - -/* Checking board configuration of main clock xtal statup time */ -#if !defined(BOARD_OSC_STARTUP_US) -# warning The board main clock xtal statup time has not been defined. Using default settings. -# define BOARD_OSC_STARTUP_US (15625UL) -#endif - -#if !defined(EFC0) -# define EFC0 EFC -#endif - -/** - * Save clock settings and shutdown PLLs - */ -__always_inline static void pmc_save_clock_settings( - uint32_t *p_osc_setting, - uint32_t *p_pll0_setting, - uint32_t *p_pll1_setting, - uint32_t *p_mck_setting, - uint32_t *p_fmr_setting, -#if defined(EFC1) - uint32_t *p_fmr_setting1, -#endif - const bool disable_xtal) -{ - uint32_t mor = PMC->CKGR_MOR; - uint32_t mckr = PMC->PMC_MCKR; - uint32_t fmr = EFC0->EEFC_FMR; -# if defined(EFC1) - uint32_t fmr1 = EFC1->EEFC_FMR; -# endif - - if (p_osc_setting) { - *p_osc_setting = mor; - } - if (p_pll0_setting) { - *p_pll0_setting = PMC->CKGR_PLLAR; - } - if (p_pll1_setting) { -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - *p_pll1_setting = PMC->CKGR_PLLBR; -#elif (SAM3U || SAM3XA) - *p_pll1_setting = PMC->CKGR_UCKR; -#else - *p_pll1_setting = 0; -#endif - } - if (p_mck_setting) { - *p_mck_setting = mckr; - } - if (p_fmr_setting) { - *p_fmr_setting = fmr; - } -#if defined(EFC1) - if (p_fmr_setting1) { - *p_fmr_setting1 = fmr1; - } -#endif - - /* Enable FAST RC */ - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | mor | CKGR_MOR_MOSCRCEN; - /* if MCK source is PLL, switch to mainck */ - if ((mckr & PMC_MCKR_CSS_Msk) > PMC_MCKR_CSS_MAIN_CLK) { - /* MCK -> MAINCK */ - mckr = (mckr & (~PMC_MCKR_CSS_Msk)) | PMC_MCKR_CSS_MAIN_CLK; - PMC->PMC_MCKR = mckr; - while(!(PMC->PMC_SR & PMC_SR_MCKRDY)); - } - /* MCK prescale -> 1 */ - if (mckr & PMC_MCKR_PRES_Msk) { - mckr = (mckr & (~PMC_MCKR_PRES_Msk)); - PMC->PMC_MCKR = mckr; - while(!(PMC->PMC_SR & PMC_SR_MCKRDY)); - } - /* Disable PLLs */ - pmc_disable_pllack(); -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - pmc_disable_pllbck(); -#elif (SAM3U || SAM3XA) - pmc_disable_upll_clock(); -#endif - - /* Prepare for entering WAIT mode */ - /* Wait fast RC ready */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Switch mainck to FAST RC */ -#if SAMG - /** - * For the sleepwalking feature, we need an accurate RC clock. Only 24M and - * 16M are trimmed in production. Here we select the 24M. - * And so wait state need to be 1. - */ - EFC0->EEFC_FMR = (fmr & (~EEFC_FMR_FWS_Msk)) | EEFC_FMR_FWS(1); - - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCSEL) | CKGR_MOR_MOSCRCF_24_MHz | - CKGR_MOR_KEY_PASSWD; -#else - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCSEL) | - CKGR_MOR_KEY_PASSWD; -#endif - while (!(PMC->PMC_SR & PMC_SR_MOSCSELS)); - -#if (!SAMG) - /* FWS update */ - EFC0->EEFC_FMR = fmr & (~EEFC_FMR_FWS_Msk); -#if defined(EFC1) - EFC1->EEFC_FMR = fmr1 & (~EEFC_FMR_FWS_Msk); -#endif -#endif - - /* Disable XTALs */ - if (disable_xtal) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD; - } -} - -/** - * Restore clock settings - */ -__always_inline static void pmc_restore_clock_setting( - const uint32_t osc_setting, - const uint32_t pll0_setting, - const uint32_t pll1_setting, - const uint32_t mck_setting, - const uint32_t fmr_setting -#if defined(EFC1) - , const uint32_t fmr_setting1 -#endif - ) -{ - uint32_t mckr; - uint32_t pll_sr = 0; - - /* Switch mainck to external xtal */ - if (CKGR_MOR_MOSCXTBY == (osc_setting & CKGR_MOR_MOSCXTBY)) { - /* Bypass mode */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTBY | - CKGR_MOR_MOSCSEL; - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCEN & - ~CKGR_MOR_MOSCRCF_Msk) - | CKGR_MOR_KEY_PASSWD; - } else if (CKGR_MOR_MOSCXTEN == (osc_setting & CKGR_MOR_MOSCXTEN)) { - /* Enable External XTAL */ - if (!(PMC->CKGR_MOR & CKGR_MOR_MOSCXTEN)) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTBY) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTEN; - /* Wait the Xtal to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCXTS)); - } - /* Select External XTAL */ - if (!(PMC->CKGR_MOR & CKGR_MOR_MOSCSEL)) { - PMC->CKGR_MOR |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCSEL; - while (!(PMC->PMC_SR & PMC_SR_MOSCSELS)); - } - /* Disable Fast RC */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCEN & - ~CKGR_MOR_MOSCRCF_Msk) - | CKGR_MOR_KEY_PASSWD; - } - - if (pll0_setting & CKGR_PLLAR_MULA_Msk) { -#if (SAM4C || SAM4CM || SAMG || SAM4CP) - PMC->CKGR_PLLAR = pll0_setting; -#else - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | pll0_setting; -#endif - pll_sr |= PMC_SR_LOCKA; - } -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - if (pll1_setting & CKGR_PLLBR_MULB_Msk) { - PMC->CKGR_PLLBR = pll1_setting; - pll_sr |= PMC_SR_LOCKB; - } -#elif (SAM3U || SAM3XA) - if (pll1_setting & CKGR_UCKR_UPLLEN) { - PMC->CKGR_UCKR = pll1_setting; - pll_sr |= PMC_SR_LOCKU; - } -#else - UNUSED(pll1_setting); -#endif - /* Wait MCK source ready */ - switch(mck_setting & PMC_MCKR_CSS_Msk) { - case PMC_MCKR_CSS_PLLA_CLK: - while (!(PMC->PMC_SR & PMC_SR_LOCKA)); - break; -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - case PMC_MCKR_CSS_PLLB_CLK: - while (!(PMC->PMC_SR & PMC_SR_LOCKB)); - break; -#elif (SAM3U || SAM3XA) - case PMC_MCKR_CSS_UPLL_CLK: - while (!(PMC->PMC_SR & PMC_SR_LOCKU)); - break; -#endif - } - - /* Switch to faster clock */ - mckr = PMC->PMC_MCKR; - - /* Set PRES */ - PMC->PMC_MCKR = (mckr & ~PMC_MCKR_PRES_Msk) - | (mck_setting & PMC_MCKR_PRES_Msk); - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); - - /* Restore flash wait states */ - EFC0->EEFC_FMR = fmr_setting; -#if defined(EFC1) - EFC1->EEFC_FMR = fmr_setting1; -#endif - - /* Set CSS and others */ - PMC->PMC_MCKR = mck_setting; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); - - /* Waiting all restored PLLs ready */ - while (!(PMC->PMC_SR & pll_sr)); -} - -/** If clocks are switched for some sleep mode */ -static volatile bool b_is_sleep_clock_used = false; -/** Callback invoked once when clocks are restored */ -static pmc_callback_wakeup_clocks_restored_t callback_clocks_restored = NULL; - -void pmc_sleep(int sleep_mode) -{ - switch (sleep_mode) { - case SAM_PM_SMODE_SLEEP_WFI: - case SAM_PM_SMODE_SLEEP_WFE: -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG || SAMV71 || SAMV70 || SAMS70 || SAME70) - SCB->SCR &= (uint32_t)~SCR_SLEEPDEEP; - cpu_irq_enable(); - __DSB(); - __WFI(); - break; -#else - PMC->PMC_FSMR &= (uint32_t)~PMC_FSMR_LPM; - SCB->SCR &= (uint32_t)~SCR_SLEEPDEEP; - cpu_irq_enable(); - if (sleep_mode == SAM_PM_SMODE_SLEEP_WFI) { - __DSB(); - __WFI(); - } else { - __DSB(); - __WFE(); - } - break; -#endif - - case SAM_PM_SMODE_WAIT_FAST: - case SAM_PM_SMODE_WAIT: { - uint32_t mor, pllr0, pllr1, mckr; - uint32_t fmr; -#if defined(EFC1) - uint32_t fmr1; -#endif -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG || SAMV71 || SAMV70 || SAMS70 || SAME70) - (sleep_mode == SAM_PM_SMODE_WAIT_FAST) ? - pmc_set_flash_in_wait_mode(PMC_FSMR_FLPM_FLASH_STANDBY) : - pmc_set_flash_in_wait_mode(PMC_FSMR_FLPM_FLASH_DEEP_POWERDOWN); -#endif - cpu_irq_disable(); - b_is_sleep_clock_used = true; - -#if (SAM4C || SAM4CM || SAM4CP) - /* Backup the sub-system 1 status and stop sub-system 1 */ - uint32_t cpclk_backup = PMC->PMC_SCSR & - (PMC_SCSR_CPCK | PMC_SCSR_CPBMCK); - PMC->PMC_SCDR = cpclk_backup | PMC_SCDR_CPKEY_PASSWD; -#endif - pmc_save_clock_settings(&mor, &pllr0, &pllr1, &mckr, &fmr, -#if defined(EFC1) - &fmr1, -#endif - (sleep_mode == SAM_PM_SMODE_WAIT)); - - /* Enter wait mode */ - cpu_irq_enable(); - - pmc_enable_waitmode(); - - cpu_irq_disable(); - pmc_restore_clock_setting(mor, pllr0, pllr1, mckr, fmr -#if defined(EFC1) - , fmr1 -#endif - ); - -#if (SAM4C || SAM4CM || SAM4CP) - /* Restore the sub-system 1 */ - PMC->PMC_SCER = cpclk_backup | PMC_SCER_CPKEY_PASSWD; -#endif - b_is_sleep_clock_used = false; - if (callback_clocks_restored) { - callback_clocks_restored(); - callback_clocks_restored = NULL; - } - cpu_irq_enable(); - - break; - } -#if (!(SAMG51 || SAMG53 || SAMG54)) - case SAM_PM_SMODE_BACKUP: - SCB->SCR |= SCR_SLEEPDEEP; -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 || SAMV70 || SAMS70 || SAME70) - SUPC->SUPC_CR = SUPC_CR_KEY_PASSWD | SUPC_CR_VROFF_STOP_VREG; - cpu_irq_enable(); - __WFI() ; -#else - cpu_irq_enable(); - __WFE() ; -#endif - break; -#endif - } -} - -bool pmc_is_wakeup_clocks_restored(void) -{ - return !b_is_sleep_clock_used; -} - -void pmc_wait_wakeup_clocks_restore( - pmc_callback_wakeup_clocks_restored_t callback) -{ - if (b_is_sleep_clock_used) { - cpu_irq_disable(); - callback_clocks_restored = callback; - } else if (callback) { - callback(); - } -} - -#endif diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.h deleted file mode 100644 index 868c57f..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/drivers/pmc/sleep.h +++ /dev/null @@ -1,127 +0,0 @@ -/** - * \file - * - * \brief Sleep mode access - * - * Copyright (c) 2012-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef SLEEP_H -#define SLEEP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <compiler.h> - -/** - * \defgroup sleep_group Power Manager (PM) - * - * This is a stub on the SAM Power Manager Control (PMC) for the sleepmgr - * service. - * - * \note To minimize the code overhead, these functions do not feature - * interrupt-protected access since they are likely to be called inside - * interrupt handlers or in applications where such protection is not - * necessary. If such protection is needed, it must be ensured by the calling - * code. - * - * @{ - */ - -#if defined(__DOXYGEN__) -/** - * \brief Sets the MCU in the specified sleep mode - * \param sleep_mode Sleep mode to set. - */ -#endif -/* SAM3,SAM4,SAMG,SAMV,SAME and SAMS series */ -#if (SAM3S || SAM3N || SAM3XA || SAM3U || SAM4S || SAM4E || SAM4N || SAM4C || \ - SAM4CM || SAM4CP || SAMG || SAMV71 || SAME70 || SAMS70) -# define SAM_PM_SMODE_ACTIVE 0 /**< Active */ -# define SAM_PM_SMODE_SLEEP_WFE 1 /**< Wait for Events */ -# define SAM_PM_SMODE_SLEEP_WFI 2 /**< Wait for Interrupts */ -# define SAM_PM_SMODE_WAIT_FAST 3 /**< Wait Mode, startup fast (in 3ms) */ -# define SAM_PM_SMODE_WAIT 4 /**< Wait Mode */ -#if (!(SAMG51 || SAMG53 || SAMG54)) -# define SAM_PM_SMODE_BACKUP 5 /**< Backup Mode */ -#endif - -/** (SCR) Sleep deep bit */ -#define SCR_SLEEPDEEP (0x1 << 2) - -/** - * Clocks restored callback function type. - * Registered by routine pmc_wait_wakeup_clocks_restore() - * Callback called when all clocks are restored. - */ -typedef void (*pmc_callback_wakeup_clocks_restored_t) (void); - -/** - * Enter sleep mode - * \param sleep_mode Sleep mode to enter - */ -void pmc_sleep(int sleep_mode); - -/** - * Check if clocks are restored after wakeup - * (For WAIT mode. In WAIT mode, clocks are switched to FASTRC. - * After wakeup clocks should be restored, before that some of the - * ISR should not be served, otherwise there may be timing or clock issue.) - */ -bool pmc_is_wakeup_clocks_restored(void); - -/** - * \return true if start waiting - */ -void pmc_wait_wakeup_clocks_restore( - pmc_callback_wakeup_clocks_restored_t callback); - -#endif - -//! @} - -#ifdef __cplusplus -} -#endif - -#endif /* SLEEP_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h deleted file mode 100644 index 9b87664..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h +++ /dev/null @@ -1,143 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ACC_COMPONENT_ -#define _SAMS70_ACC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Analog Comparator Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_ACC Analog Comparator Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Acc hardware registers */ -typedef struct { - __O uint32_t ACC_CR; /**< \brief (Acc Offset: 0x00) Control Register */ - __IO uint32_t ACC_MR; /**< \brief (Acc Offset: 0x04) Mode Register */ - __I uint32_t Reserved1[7]; - __O uint32_t ACC_IER; /**< \brief (Acc Offset: 0x24) Interrupt Enable Register */ - __O uint32_t ACC_IDR; /**< \brief (Acc Offset: 0x28) Interrupt Disable Register */ - __I uint32_t ACC_IMR; /**< \brief (Acc Offset: 0x2C) Interrupt Mask Register */ - __I uint32_t ACC_ISR; /**< \brief (Acc Offset: 0x30) Interrupt Status Register */ - __I uint32_t Reserved2[24]; - __IO uint32_t ACC_ACR; /**< \brief (Acc Offset: 0x94) Analog Control Register */ - __I uint32_t Reserved3[19]; - __IO uint32_t ACC_WPMR; /**< \brief (Acc Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t ACC_WPSR; /**< \brief (Acc Offset: 0xE8) Write Protection Status Register */ -} Acc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- ACC_CR : (ACC Offset: 0x00) Control Register -------- */ -#define ACC_CR_SWRST (0x1u << 0) /**< \brief (ACC_CR) Software Reset */ -/* -------- ACC_MR : (ACC Offset: 0x04) Mode Register -------- */ -#define ACC_MR_SELMINUS_Pos 0 -#define ACC_MR_SELMINUS_Msk (0x7u << ACC_MR_SELMINUS_Pos) /**< \brief (ACC_MR) Selection for Minus Comparator Input */ -#define ACC_MR_SELMINUS(value) ((ACC_MR_SELMINUS_Msk & ((value) << ACC_MR_SELMINUS_Pos))) -#define ACC_MR_SELMINUS_TS (0x0u << 0) /**< \brief (ACC_MR) Select TS */ -#define ACC_MR_SELMINUS_ADVREFP (0x1u << 0) /**< \brief (ACC_MR) Select ADVREFP */ -#define ACC_MR_SELMINUS_DAC0 (0x2u << 0) /**< \brief (ACC_MR) Select DAC0 */ -#define ACC_MR_SELMINUS_DAC1 (0x3u << 0) /**< \brief (ACC_MR) Select DAC1 */ -#define ACC_MR_SELMINUS_AFE0_AD0 (0x4u << 0) /**< \brief (ACC_MR) Select AFE0_AD0 */ -#define ACC_MR_SELMINUS_AFE0_AD1 (0x5u << 0) /**< \brief (ACC_MR) Select AFE0_AD1 */ -#define ACC_MR_SELMINUS_AFE0_AD2 (0x6u << 0) /**< \brief (ACC_MR) Select AFE0_AD2 */ -#define ACC_MR_SELMINUS_AFE0_AD3 (0x7u << 0) /**< \brief (ACC_MR) Select AFE0_AD3 */ -#define ACC_MR_SELPLUS_Pos 4 -#define ACC_MR_SELPLUS_Msk (0x7u << ACC_MR_SELPLUS_Pos) /**< \brief (ACC_MR) Selection For Plus Comparator Input */ -#define ACC_MR_SELPLUS(value) ((ACC_MR_SELPLUS_Msk & ((value) << ACC_MR_SELPLUS_Pos))) -#define ACC_MR_SELPLUS_AFE0_AD0 (0x0u << 4) /**< \brief (ACC_MR) Select AFE0_AD0 */ -#define ACC_MR_SELPLUS_AFE0_AD1 (0x1u << 4) /**< \brief (ACC_MR) Select AFE0_AD1 */ -#define ACC_MR_SELPLUS_AFE0_AD2 (0x2u << 4) /**< \brief (ACC_MR) Select AFE0_AD2 */ -#define ACC_MR_SELPLUS_AFE0_AD3 (0x3u << 4) /**< \brief (ACC_MR) Select AFE0_AD3 */ -#define ACC_MR_SELPLUS_AFE0_AD4 (0x4u << 4) /**< \brief (ACC_MR) Select AFE0_AD4 */ -#define ACC_MR_SELPLUS_AFE0_AD5 (0x5u << 4) /**< \brief (ACC_MR) Select AFE0_AD5 */ -#define ACC_MR_SELPLUS_AFE1_AD0 (0x6u << 4) /**< \brief (ACC_MR) Select AFE1_AD0 */ -#define ACC_MR_SELPLUS_AFE1_AD1 (0x7u << 4) /**< \brief (ACC_MR) Select AFE1_AD1 */ -#define ACC_MR_ACEN (0x1u << 8) /**< \brief (ACC_MR) Analog Comparator Enable */ -#define ACC_MR_ACEN_DIS (0x0u << 8) /**< \brief (ACC_MR) Analog comparator disabled. */ -#define ACC_MR_ACEN_EN (0x1u << 8) /**< \brief (ACC_MR) Analog comparator enabled. */ -#define ACC_MR_EDGETYP_Pos 9 -#define ACC_MR_EDGETYP_Msk (0x3u << ACC_MR_EDGETYP_Pos) /**< \brief (ACC_MR) Edge Type */ -#define ACC_MR_EDGETYP(value) ((ACC_MR_EDGETYP_Msk & ((value) << ACC_MR_EDGETYP_Pos))) -#define ACC_MR_EDGETYP_RISING (0x0u << 9) /**< \brief (ACC_MR) Only rising edge of comparator output */ -#define ACC_MR_EDGETYP_FALLING (0x1u << 9) /**< \brief (ACC_MR) Falling edge of comparator output */ -#define ACC_MR_EDGETYP_ANY (0x2u << 9) /**< \brief (ACC_MR) Any edge of comparator output */ -#define ACC_MR_INV (0x1u << 12) /**< \brief (ACC_MR) Invert Comparator Output */ -#define ACC_MR_INV_DIS (0x0u << 12) /**< \brief (ACC_MR) Analog comparator output is directly processed. */ -#define ACC_MR_INV_EN (0x1u << 12) /**< \brief (ACC_MR) Analog comparator output is inverted prior to being processed. */ -#define ACC_MR_SELFS (0x1u << 13) /**< \brief (ACC_MR) Selection Of Fault Source */ -#define ACC_MR_SELFS_CE (0x0u << 13) /**< \brief (ACC_MR) The CE flag is used to drive the FAULT output. */ -#define ACC_MR_SELFS_OUTPUT (0x1u << 13) /**< \brief (ACC_MR) The output of the analog comparator flag is used to drive the FAULT output. */ -#define ACC_MR_FE (0x1u << 14) /**< \brief (ACC_MR) Fault Enable */ -#define ACC_MR_FE_DIS (0x0u << 14) /**< \brief (ACC_MR) The FAULT output is tied to 0. */ -#define ACC_MR_FE_EN (0x1u << 14) /**< \brief (ACC_MR) The FAULT output is driven by the signal defined by SELFS. */ -/* -------- ACC_IER : (ACC Offset: 0x24) Interrupt Enable Register -------- */ -#define ACC_IER_CE (0x1u << 0) /**< \brief (ACC_IER) Comparison Edge */ -/* -------- ACC_IDR : (ACC Offset: 0x28) Interrupt Disable Register -------- */ -#define ACC_IDR_CE (0x1u << 0) /**< \brief (ACC_IDR) Comparison Edge */ -/* -------- ACC_IMR : (ACC Offset: 0x2C) Interrupt Mask Register -------- */ -#define ACC_IMR_CE (0x1u << 0) /**< \brief (ACC_IMR) Comparison Edge */ -/* -------- ACC_ISR : (ACC Offset: 0x30) Interrupt Status Register -------- */ -#define ACC_ISR_CE (0x1u << 0) /**< \brief (ACC_ISR) Comparison Edge (cleared on read) */ -#define ACC_ISR_SCO (0x1u << 1) /**< \brief (ACC_ISR) Synchronized Comparator Output */ -#define ACC_ISR_MASK (0x1u << 31) /**< \brief (ACC_ISR) Flag Mask */ -/* -------- ACC_ACR : (ACC Offset: 0x94) Analog Control Register -------- */ -#define ACC_ACR_ISEL (0x1u << 0) /**< \brief (ACC_ACR) Current Selection */ -#define ACC_ACR_ISEL_LOPW (0x0u << 0) /**< \brief (ACC_ACR) Low-power option. */ -#define ACC_ACR_ISEL_HISP (0x1u << 0) /**< \brief (ACC_ACR) High-speed option. */ -#define ACC_ACR_HYST_Pos 1 -#define ACC_ACR_HYST_Msk (0x3u << ACC_ACR_HYST_Pos) /**< \brief (ACC_ACR) Hysteresis Selection */ -#define ACC_ACR_HYST(value) ((ACC_ACR_HYST_Msk & ((value) << ACC_ACR_HYST_Pos))) -/* -------- ACC_WPMR : (ACC Offset: 0xE4) Write Protection Mode Register -------- */ -#define ACC_WPMR_WPEN (0x1u << 0) /**< \brief (ACC_WPMR) Write Protection Enable */ -#define ACC_WPMR_WPKEY_Pos 8 -#define ACC_WPMR_WPKEY_Msk (0xffffffu << ACC_WPMR_WPKEY_Pos) /**< \brief (ACC_WPMR) Write Protection Key */ -#define ACC_WPMR_WPKEY(value) ((ACC_WPMR_WPKEY_Msk & ((value) << ACC_WPMR_WPKEY_Pos))) -#define ACC_WPMR_WPKEY_PASSWD (0x414343u << 8) /**< \brief (ACC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- ACC_WPSR : (ACC Offset: 0xE8) Write Protection Status Register -------- */ -#define ACC_WPSR_WPVS (0x1u << 0) /**< \brief (ACC_WPSR) Write Protection Violation Status */ - -/*@}*/ - - -#endif /* _SAMS70_ACC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h deleted file mode 100644 index 963f22a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h +++ /dev/null @@ -1,187 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AES_COMPONENT_ -#define _SAMS70_AES_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Advanced Encryption Standard */ -/* ============================================================================= */ -/** \addtogroup SAMS70_AES Advanced Encryption Standard */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Aes hardware registers */ -typedef struct { - __O uint32_t AES_CR; /**< \brief (Aes Offset: 0x00) Control Register */ - __IO uint32_t AES_MR; /**< \brief (Aes Offset: 0x04) Mode Register */ - __I uint32_t Reserved1[2]; - __O uint32_t AES_IER; /**< \brief (Aes Offset: 0x10) Interrupt Enable Register */ - __O uint32_t AES_IDR; /**< \brief (Aes Offset: 0x14) Interrupt Disable Register */ - __I uint32_t AES_IMR; /**< \brief (Aes Offset: 0x18) Interrupt Mask Register */ - __I uint32_t AES_ISR; /**< \brief (Aes Offset: 0x1C) Interrupt Status Register */ - __O uint32_t AES_KEYWR[8]; /**< \brief (Aes Offset: 0x20) Key Word Register */ - __O uint32_t AES_IDATAR[4]; /**< \brief (Aes Offset: 0x40) Input Data Register */ - __I uint32_t AES_ODATAR[4]; /**< \brief (Aes Offset: 0x50) Output Data Register */ - __O uint32_t AES_IVR[4]; /**< \brief (Aes Offset: 0x60) Initialization Vector Register */ - __IO uint32_t AES_AADLENR; /**< \brief (Aes Offset: 0x70) Additional Authenticated Data Length Register */ - __IO uint32_t AES_CLENR; /**< \brief (Aes Offset: 0x74) Plaintext/Ciphertext Length Register */ - __IO uint32_t AES_GHASHR[4]; /**< \brief (Aes Offset: 0x78) GCM Intermediate Hash Word Register */ - __I uint32_t AES_TAGR[4]; /**< \brief (Aes Offset: 0x88) GCM Authentication Tag Word Register */ - __I uint32_t AES_CTRR; /**< \brief (Aes Offset: 0x98) GCM Encryption Counter Value Register */ - __IO uint32_t AES_GCMHR[4]; /**< \brief (Aes Offset: 0x9C) GCM H Word Register */ -} Aes; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- AES_CR : (AES Offset: 0x00) Control Register -------- */ -#define AES_CR_START (0x1u << 0) /**< \brief (AES_CR) Start Processing */ -#define AES_CR_SWRST (0x1u << 8) /**< \brief (AES_CR) Software Reset */ -/* -------- AES_MR : (AES Offset: 0x04) Mode Register -------- */ -#define AES_MR_CIPHER (0x1u << 0) /**< \brief (AES_MR) Processing Mode */ -#define AES_MR_GTAGEN (0x1u << 1) /**< \brief (AES_MR) GCM Automatic Tag Generation Enable */ -#define AES_MR_DUALBUFF (0x1u << 3) /**< \brief (AES_MR) Dual Input Buffer */ -#define AES_MR_DUALBUFF_INACTIVE (0x0u << 3) /**< \brief (AES_MR) AES_IDATARx cannot be written during processing of previous block. */ -#define AES_MR_DUALBUFF_ACTIVE (0x1u << 3) /**< \brief (AES_MR) AES_IDATARx can be written during processing of previous block when SMOD = 0x2. It speeds up the overall runtime of large files. */ -#define AES_MR_PROCDLY_Pos 4 -#define AES_MR_PROCDLY_Msk (0xfu << AES_MR_PROCDLY_Pos) /**< \brief (AES_MR) Processing Delay */ -#define AES_MR_PROCDLY(value) ((AES_MR_PROCDLY_Msk & ((value) << AES_MR_PROCDLY_Pos))) -#define AES_MR_SMOD_Pos 8 -#define AES_MR_SMOD_Msk (0x3u << AES_MR_SMOD_Pos) /**< \brief (AES_MR) Start Mode */ -#define AES_MR_SMOD(value) ((AES_MR_SMOD_Msk & ((value) << AES_MR_SMOD_Pos))) -#define AES_MR_SMOD_MANUAL_START (0x0u << 8) /**< \brief (AES_MR) Manual Mode */ -#define AES_MR_SMOD_AUTO_START (0x1u << 8) /**< \brief (AES_MR) Auto Mode */ -#define AES_MR_SMOD_IDATAR0_START (0x2u << 8) /**< \brief (AES_MR) AES_IDATAR0 access only Auto Mode (DMA) */ -#define AES_MR_KEYSIZE_Pos 10 -#define AES_MR_KEYSIZE_Msk (0x3u << AES_MR_KEYSIZE_Pos) /**< \brief (AES_MR) Key Size */ -#define AES_MR_KEYSIZE(value) ((AES_MR_KEYSIZE_Msk & ((value) << AES_MR_KEYSIZE_Pos))) -#define AES_MR_KEYSIZE_AES128 (0x0u << 10) /**< \brief (AES_MR) AES Key Size is 128 bits */ -#define AES_MR_KEYSIZE_AES192 (0x1u << 10) /**< \brief (AES_MR) AES Key Size is 192 bits */ -#define AES_MR_KEYSIZE_AES256 (0x2u << 10) /**< \brief (AES_MR) AES Key Size is 256 bits */ -#define AES_MR_OPMOD_Pos 12 -#define AES_MR_OPMOD_Msk (0x7u << AES_MR_OPMOD_Pos) /**< \brief (AES_MR) Operation Mode */ -#define AES_MR_OPMOD(value) ((AES_MR_OPMOD_Msk & ((value) << AES_MR_OPMOD_Pos))) -#define AES_MR_OPMOD_ECB (0x0u << 12) /**< \brief (AES_MR) ECB: Electronic Code Book mode */ -#define AES_MR_OPMOD_CBC (0x1u << 12) /**< \brief (AES_MR) CBC: Cipher Block Chaining mode */ -#define AES_MR_OPMOD_OFB (0x2u << 12) /**< \brief (AES_MR) OFB: Output Feedback mode */ -#define AES_MR_OPMOD_CFB (0x3u << 12) /**< \brief (AES_MR) CFB: Cipher Feedback mode */ -#define AES_MR_OPMOD_CTR (0x4u << 12) /**< \brief (AES_MR) CTR: Counter mode (16-bit internal counter) */ -#define AES_MR_OPMOD_GCM (0x5u << 12) /**< \brief (AES_MR) GCM: Galois/Counter mode */ -#define AES_MR_LOD (0x1u << 15) /**< \brief (AES_MR) Last Output Data Mode */ -#define AES_MR_CFBS_Pos 16 -#define AES_MR_CFBS_Msk (0x7u << AES_MR_CFBS_Pos) /**< \brief (AES_MR) Cipher Feedback Data Size */ -#define AES_MR_CFBS(value) ((AES_MR_CFBS_Msk & ((value) << AES_MR_CFBS_Pos))) -#define AES_MR_CFBS_SIZE_128BIT (0x0u << 16) /**< \brief (AES_MR) 128-bit */ -#define AES_MR_CFBS_SIZE_64BIT (0x1u << 16) /**< \brief (AES_MR) 64-bit */ -#define AES_MR_CFBS_SIZE_32BIT (0x2u << 16) /**< \brief (AES_MR) 32-bit */ -#define AES_MR_CFBS_SIZE_16BIT (0x3u << 16) /**< \brief (AES_MR) 16-bit */ -#define AES_MR_CFBS_SIZE_8BIT (0x4u << 16) /**< \brief (AES_MR) 8-bit */ -#define AES_MR_CKEY_Pos 20 -#define AES_MR_CKEY_Msk (0xfu << AES_MR_CKEY_Pos) /**< \brief (AES_MR) Key */ -#define AES_MR_CKEY(value) ((AES_MR_CKEY_Msk & ((value) << AES_MR_CKEY_Pos))) -#define AES_MR_CKEY_PASSWD (0xEu << 20) /**< \brief (AES_MR) This field must be written with 0xE the first time that AES_MR is programmed. For subsequent programming of the AES_MR, any value can be written, including that of 0xE.Always reads as 0. */ -/* -------- AES_IER : (AES Offset: 0x10) Interrupt Enable Register -------- */ -#define AES_IER_DATRDY (0x1u << 0) /**< \brief (AES_IER) Data Ready Interrupt Enable */ -#define AES_IER_URAD (0x1u << 8) /**< \brief (AES_IER) Unspecified Register Access Detection Interrupt Enable */ -#define AES_IER_TAGRDY (0x1u << 16) /**< \brief (AES_IER) GCM Tag Ready Interrupt Enable */ -/* -------- AES_IDR : (AES Offset: 0x14) Interrupt Disable Register -------- */ -#define AES_IDR_DATRDY (0x1u << 0) /**< \brief (AES_IDR) Data Ready Interrupt Disable */ -#define AES_IDR_URAD (0x1u << 8) /**< \brief (AES_IDR) Unspecified Register Access Detection Interrupt Disable */ -#define AES_IDR_TAGRDY (0x1u << 16) /**< \brief (AES_IDR) GCM Tag Ready Interrupt Disable */ -/* -------- AES_IMR : (AES Offset: 0x18) Interrupt Mask Register -------- */ -#define AES_IMR_DATRDY (0x1u << 0) /**< \brief (AES_IMR) Data Ready Interrupt Mask */ -#define AES_IMR_URAD (0x1u << 8) /**< \brief (AES_IMR) Unspecified Register Access Detection Interrupt Mask */ -#define AES_IMR_TAGRDY (0x1u << 16) /**< \brief (AES_IMR) GCM Tag Ready Interrupt Mask */ -/* -------- AES_ISR : (AES Offset: 0x1C) Interrupt Status Register -------- */ -#define AES_ISR_DATRDY (0x1u << 0) /**< \brief (AES_ISR) Data Ready (cleared by setting bit START or bit SWRST in AES_CR or by reading AES_ODATARx) */ -#define AES_ISR_URAD (0x1u << 8) /**< \brief (AES_ISR) Unspecified Register Access Detection Status (cleared by writing SWRST in AES_CR) */ -#define AES_ISR_URAT_Pos 12 -#define AES_ISR_URAT_Msk (0xfu << AES_ISR_URAT_Pos) /**< \brief (AES_ISR) Unspecified Register Access (cleared by writing SWRST in AES_CR) */ -#define AES_ISR_URAT_IDR_WR_PROCESSING (0x0u << 12) /**< \brief (AES_ISR) Input Data Register written during the data processing when SMOD = 0x2 mode. */ -#define AES_ISR_URAT_ODR_RD_PROCESSING (0x1u << 12) /**< \brief (AES_ISR) Output Data Register read during the data processing. */ -#define AES_ISR_URAT_MR_WR_PROCESSING (0x2u << 12) /**< \brief (AES_ISR) Mode Register written during the data processing. */ -#define AES_ISR_URAT_ODR_RD_SUBKGEN (0x3u << 12) /**< \brief (AES_ISR) Output Data Register read during the sub-keys generation. */ -#define AES_ISR_URAT_MR_WR_SUBKGEN (0x4u << 12) /**< \brief (AES_ISR) Mode Register written during the sub-keys generation. */ -#define AES_ISR_URAT_WOR_RD_ACCESS (0x5u << 12) /**< \brief (AES_ISR) Write-only register read access. */ -#define AES_ISR_TAGRDY (0x1u << 16) /**< \brief (AES_ISR) GCM Tag Ready */ -/* -------- AES_KEYWR[8] : (AES Offset: 0x20) Key Word Register -------- */ -#define AES_KEYWR_KEYW_Pos 0 -#define AES_KEYWR_KEYW_Msk (0xffffffffu << AES_KEYWR_KEYW_Pos) /**< \brief (AES_KEYWR[8]) Key Word */ -#define AES_KEYWR_KEYW(value) ((AES_KEYWR_KEYW_Msk & ((value) << AES_KEYWR_KEYW_Pos))) -/* -------- AES_IDATAR[4] : (AES Offset: 0x40) Input Data Register -------- */ -#define AES_IDATAR_IDATA_Pos 0 -#define AES_IDATAR_IDATA_Msk (0xffffffffu << AES_IDATAR_IDATA_Pos) /**< \brief (AES_IDATAR[4]) Input Data Word */ -#define AES_IDATAR_IDATA(value) ((AES_IDATAR_IDATA_Msk & ((value) << AES_IDATAR_IDATA_Pos))) -/* -------- AES_ODATAR[4] : (AES Offset: 0x50) Output Data Register -------- */ -#define AES_ODATAR_ODATA_Pos 0 -#define AES_ODATAR_ODATA_Msk (0xffffffffu << AES_ODATAR_ODATA_Pos) /**< \brief (AES_ODATAR[4]) Output Data */ -/* -------- AES_IVR[4] : (AES Offset: 0x60) Initialization Vector Register -------- */ -#define AES_IVR_IV_Pos 0 -#define AES_IVR_IV_Msk (0xffffffffu << AES_IVR_IV_Pos) /**< \brief (AES_IVR[4]) Initialization Vector */ -#define AES_IVR_IV(value) ((AES_IVR_IV_Msk & ((value) << AES_IVR_IV_Pos))) -/* -------- AES_AADLENR : (AES Offset: 0x70) Additional Authenticated Data Length Register -------- */ -#define AES_AADLENR_AADLEN_Pos 0 -#define AES_AADLENR_AADLEN_Msk (0xffffffffu << AES_AADLENR_AADLEN_Pos) /**< \brief (AES_AADLENR) Additional Authenticated Data Length */ -#define AES_AADLENR_AADLEN(value) ((AES_AADLENR_AADLEN_Msk & ((value) << AES_AADLENR_AADLEN_Pos))) -/* -------- AES_CLENR : (AES Offset: 0x74) Plaintext/Ciphertext Length Register -------- */ -#define AES_CLENR_CLEN_Pos 0 -#define AES_CLENR_CLEN_Msk (0xffffffffu << AES_CLENR_CLEN_Pos) /**< \brief (AES_CLENR) Plaintext/Ciphertext Length */ -#define AES_CLENR_CLEN(value) ((AES_CLENR_CLEN_Msk & ((value) << AES_CLENR_CLEN_Pos))) -/* -------- AES_GHASHR[4] : (AES Offset: 0x78) GCM Intermediate Hash Word Register -------- */ -#define AES_GHASHR_GHASH_Pos 0 -#define AES_GHASHR_GHASH_Msk (0xffffffffu << AES_GHASHR_GHASH_Pos) /**< \brief (AES_GHASHR[4]) Intermediate GCM Hash Word x */ -#define AES_GHASHR_GHASH(value) ((AES_GHASHR_GHASH_Msk & ((value) << AES_GHASHR_GHASH_Pos))) -/* -------- AES_TAGR[4] : (AES Offset: 0x88) GCM Authentication Tag Word Register -------- */ -#define AES_TAGR_TAG_Pos 0 -#define AES_TAGR_TAG_Msk (0xffffffffu << AES_TAGR_TAG_Pos) /**< \brief (AES_TAGR[4]) GCM Authentication Tag x */ -/* -------- AES_CTRR : (AES Offset: 0x98) GCM Encryption Counter Value Register -------- */ -#define AES_CTRR_CTR_Pos 0 -#define AES_CTRR_CTR_Msk (0xffffffffu << AES_CTRR_CTR_Pos) /**< \brief (AES_CTRR) GCM Encryption Counter */ -/* -------- AES_GCMHR[4] : (AES Offset: 0x9C) GCM H Word Register -------- */ -#define AES_GCMHR_H_Pos 0 -#define AES_GCMHR_H_Msk (0xffffffffu << AES_GCMHR_H_Pos) /**< \brief (AES_GCMHR[4]) GCM H Word x */ -#define AES_GCMHR_H(value) ((AES_GCMHR_H_Msk & ((value) << AES_GCMHR_H_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_AES_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h deleted file mode 100644 index f8ee47e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h +++ /dev/null @@ -1,498 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AFEC_COMPONENT_ -#define _SAMS70_AFEC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Analog Front-End Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_AFEC Analog Front-End Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Afec hardware registers */ -typedef struct { - __O uint32_t AFEC_CR; /**< \brief (Afec Offset: 0x00) AFEC Control Register */ - __IO uint32_t AFEC_MR; /**< \brief (Afec Offset: 0x04) AFEC Mode Register */ - __IO uint32_t AFEC_EMR; /**< \brief (Afec Offset: 0x08) AFEC Extended Mode Register */ - __IO uint32_t AFEC_SEQ1R; /**< \brief (Afec Offset: 0x0C) AFEC Channel Sequence 1 Register */ - __IO uint32_t AFEC_SEQ2R; /**< \brief (Afec Offset: 0x10) AFEC Channel Sequence 2 Register */ - __O uint32_t AFEC_CHER; /**< \brief (Afec Offset: 0x14) AFEC Channel Enable Register */ - __O uint32_t AFEC_CHDR; /**< \brief (Afec Offset: 0x18) AFEC Channel Disable Register */ - __I uint32_t AFEC_CHSR; /**< \brief (Afec Offset: 0x1C) AFEC Channel Status Register */ - __I uint32_t AFEC_LCDR; /**< \brief (Afec Offset: 0x20) AFEC Last Converted Data Register */ - __O uint32_t AFEC_IER; /**< \brief (Afec Offset: 0x24) AFEC Interrupt Enable Register */ - __O uint32_t AFEC_IDR; /**< \brief (Afec Offset: 0x28) AFEC Interrupt Disable Register */ - __I uint32_t AFEC_IMR; /**< \brief (Afec Offset: 0x2C) AFEC Interrupt Mask Register */ - __I uint32_t AFEC_ISR; /**< \brief (Afec Offset: 0x30) AFEC Interrupt Status Register */ - __I uint32_t Reserved1[6]; - __I uint32_t AFEC_OVER; /**< \brief (Afec Offset: 0x4C) AFEC Overrun Status Register */ - __IO uint32_t AFEC_CWR; /**< \brief (Afec Offset: 0x50) AFEC Compare Window Register */ - __IO uint32_t AFEC_CGR; /**< \brief (Afec Offset: 0x54) AFEC Channel Gain Register */ - __I uint32_t Reserved2[2]; - __IO uint32_t AFEC_DIFFR; /**< \brief (Afec Offset: 0x60) AFEC Channel Differential Register */ - __IO uint32_t AFEC_CSELR; /**< \brief (Afec Offset: 0x64) AFEC Channel Selection Register */ - __I uint32_t AFEC_CDR; /**< \brief (Afec Offset: 0x68) AFEC Channel Data Register */ - __IO uint32_t AFEC_COCR; /**< \brief (Afec Offset: 0x6C) AFEC Channel Offset Compensation Register */ - __IO uint32_t AFEC_TEMPMR; /**< \brief (Afec Offset: 0x70) AFEC Temperature Sensor Mode Register */ - __IO uint32_t AFEC_TEMPCWR; /**< \brief (Afec Offset: 0x74) AFEC Temperature Compare Window Register */ - __I uint32_t Reserved3[7]; - __IO uint32_t AFEC_ACR; /**< \brief (Afec Offset: 0x94) AFEC Analog Control Register */ - __I uint32_t Reserved4[2]; - __IO uint32_t AFEC_SHMR; /**< \brief (Afec Offset: 0xA0) AFEC Sample & Hold Mode Register */ - __I uint32_t Reserved5[11]; - __IO uint32_t AFEC_COSR; /**< \brief (Afec Offset: 0xD0) AFEC Correction Select Register */ - __IO uint32_t AFEC_CVR; /**< \brief (Afec Offset: 0xD4) AFEC Correction Values Register */ - __IO uint32_t AFEC_CECR; /**< \brief (Afec Offset: 0xD8) AFEC Channel Error Correction Register */ - __I uint32_t Reserved6[2]; - __IO uint32_t AFEC_WPMR; /**< \brief (Afec Offset: 0xE4) AFEC Write Protection Mode Register */ - __I uint32_t AFEC_WPSR; /**< \brief (Afec Offset: 0xE8) AFEC Write Protection Status Register */ -} Afec; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- AFEC_CR : (AFEC Offset: 0x00) AFEC Control Register -------- */ -#define AFEC_CR_SWRST (0x1u << 0) /**< \brief (AFEC_CR) Software Reset */ -#define AFEC_CR_START (0x1u << 1) /**< \brief (AFEC_CR) Start Conversion */ -/* -------- AFEC_MR : (AFEC Offset: 0x04) AFEC Mode Register -------- */ -#define AFEC_MR_TRGEN (0x1u << 0) /**< \brief (AFEC_MR) Trigger Enable */ -#define AFEC_MR_TRGEN_DIS (0x0u << 0) /**< \brief (AFEC_MR) Hardware triggers are disabled. Starting a conversion is only possible by software. */ -#define AFEC_MR_TRGEN_EN (0x1u << 0) /**< \brief (AFEC_MR) Hardware trigger selected by TRGSEL field is enabled. */ -#define AFEC_MR_TRGSEL_Pos 1 -#define AFEC_MR_TRGSEL_Msk (0x7u << AFEC_MR_TRGSEL_Pos) /**< \brief (AFEC_MR) Trigger Selection */ -#define AFEC_MR_TRGSEL(value) ((AFEC_MR_TRGSEL_Msk & ((value) << AFEC_MR_TRGSEL_Pos))) -#define AFEC_MR_TRGSEL_AFEC_TRIG0 (0x0u << 1) /**< \brief (AFEC_MR) AFE0_ADTRG for AFEC0 / AFE1_ADTRG for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG1 (0x1u << 1) /**< \brief (AFEC_MR) TIOA Output of the Timer Counter Channel 0 for AFEC0/TIOA Output of the Timer Counter Channel 3 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG2 (0x2u << 1) /**< \brief (AFEC_MR) TIOA Output of the Timer Counter Channel 1 for AFEC0/TIOA Output of the Timer Counter Channel 4 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG3 (0x3u << 1) /**< \brief (AFEC_MR) TIOA Output of the Timer Counter Channel 2 for AFEC0/TIOA Output of the Timer Counter Channel 5 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG4 (0x4u << 1) /**< \brief (AFEC_MR) PWM0 event line 0 for AFEC0 / PWM1 event line 0 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG5 (0x5u << 1) /**< \brief (AFEC_MR) PWM0 event line 1 for AFEC0 / PWM1 event line 1 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG6 (0x6u << 1) /**< \brief (AFEC_MR) Analog Comparator */ -#define AFEC_MR_SLEEP (0x1u << 5) /**< \brief (AFEC_MR) Sleep Mode */ -#define AFEC_MR_SLEEP_NORMAL (0x0u << 5) /**< \brief (AFEC_MR) Normal mode: The AFE and reference voltage circuitry are kept ON between conversions. */ -#define AFEC_MR_SLEEP_SLEEP (0x1u << 5) /**< \brief (AFEC_MR) Sleep mode: The AFE and reference voltage circuitry are OFF between conversions. */ -#define AFEC_MR_FWUP (0x1u << 6) /**< \brief (AFEC_MR) Fast Wake-up */ -#define AFEC_MR_FWUP_OFF (0x0u << 6) /**< \brief (AFEC_MR) Normal Sleep mode: The sleep mode is defined by the SLEEP bit. */ -#define AFEC_MR_FWUP_ON (0x1u << 6) /**< \brief (AFEC_MR) Fast wake-up Sleep mode: The voltage reference is ON between conversions and AFE is OFF. */ -#define AFEC_MR_FREERUN (0x1u << 7) /**< \brief (AFEC_MR) Free Run Mode */ -#define AFEC_MR_FREERUN_OFF (0x0u << 7) /**< \brief (AFEC_MR) Normal mode */ -#define AFEC_MR_FREERUN_ON (0x1u << 7) /**< \brief (AFEC_MR) Free Run mode: Never wait for any trigger. */ -#define AFEC_MR_PRESCAL_Pos 8 -#define AFEC_MR_PRESCAL_Msk (0xffu << AFEC_MR_PRESCAL_Pos) /**< \brief (AFEC_MR) Prescaler Rate Selection */ -#define AFEC_MR_PRESCAL(value) ((AFEC_MR_PRESCAL_Msk & ((value) << AFEC_MR_PRESCAL_Pos))) -#define AFEC_MR_STARTUP_Pos 16 -#define AFEC_MR_STARTUP_Msk (0xfu << AFEC_MR_STARTUP_Pos) /**< \brief (AFEC_MR) Start-up Time */ -#define AFEC_MR_STARTUP(value) ((AFEC_MR_STARTUP_Msk & ((value) << AFEC_MR_STARTUP_Pos))) -#define AFEC_MR_STARTUP_SUT0 (0x0u << 16) /**< \brief (AFEC_MR) 0 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT8 (0x1u << 16) /**< \brief (AFEC_MR) 8 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT16 (0x2u << 16) /**< \brief (AFEC_MR) 16 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT24 (0x3u << 16) /**< \brief (AFEC_MR) 24 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT64 (0x4u << 16) /**< \brief (AFEC_MR) 64 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT80 (0x5u << 16) /**< \brief (AFEC_MR) 80 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT96 (0x6u << 16) /**< \brief (AFEC_MR) 96 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT112 (0x7u << 16) /**< \brief (AFEC_MR) 112 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT512 (0x8u << 16) /**< \brief (AFEC_MR) 512 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT576 (0x9u << 16) /**< \brief (AFEC_MR) 576 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT640 (0xAu << 16) /**< \brief (AFEC_MR) 640 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT704 (0xBu << 16) /**< \brief (AFEC_MR) 704 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT768 (0xCu << 16) /**< \brief (AFEC_MR) 768 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT832 (0xDu << 16) /**< \brief (AFEC_MR) 832 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT896 (0xEu << 16) /**< \brief (AFEC_MR) 896 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT960 (0xFu << 16) /**< \brief (AFEC_MR) 960 periods of AFE clock */ -#define AFEC_MR_ONE (0x1u << 23) /**< \brief (AFEC_MR) One */ -#define AFEC_MR_TRACKTIM_Pos 24 -#define AFEC_MR_TRACKTIM_Msk (0xfu << AFEC_MR_TRACKTIM_Pos) /**< \brief (AFEC_MR) Tracking Time */ -#define AFEC_MR_TRACKTIM(value) ((AFEC_MR_TRACKTIM_Msk & ((value) << AFEC_MR_TRACKTIM_Pos))) -#define AFEC_MR_TRANSFER_Pos 28 -#define AFEC_MR_TRANSFER_Msk (0x3u << AFEC_MR_TRANSFER_Pos) /**< \brief (AFEC_MR) Transfer Period */ -#define AFEC_MR_TRANSFER(value) ((AFEC_MR_TRANSFER_Msk & ((value) << AFEC_MR_TRANSFER_Pos))) -#define AFEC_MR_USEQ (0x1u << 31) /**< \brief (AFEC_MR) User Sequence Enable */ -#define AFEC_MR_USEQ_NUM_ORDER (0x0u << 31) /**< \brief (AFEC_MR) Normal mode: The controller converts channels in a simple numeric order. */ -#define AFEC_MR_USEQ_REG_ORDER (0x1u << 31) /**< \brief (AFEC_MR) User Sequence mode: The sequence respects what is defined in AFEC_SEQ1R and AFEC_SEQ1R. */ -/* -------- AFEC_EMR : (AFEC Offset: 0x08) AFEC Extended Mode Register -------- */ -#define AFEC_EMR_CMPMODE_Pos 0 -#define AFEC_EMR_CMPMODE_Msk (0x3u << AFEC_EMR_CMPMODE_Pos) /**< \brief (AFEC_EMR) Comparison Mode */ -#define AFEC_EMR_CMPMODE(value) ((AFEC_EMR_CMPMODE_Msk & ((value) << AFEC_EMR_CMPMODE_Pos))) -#define AFEC_EMR_CMPMODE_LOW (0x0u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is lower than the low threshold of the window. */ -#define AFEC_EMR_CMPMODE_HIGH (0x1u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is higher than the high threshold of the window. */ -#define AFEC_EMR_CMPMODE_IN (0x2u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is in the comparison window. */ -#define AFEC_EMR_CMPMODE_OUT (0x3u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is out of the comparison window. */ -#define AFEC_EMR_CMPSEL_Pos 3 -#define AFEC_EMR_CMPSEL_Msk (0x1fu << AFEC_EMR_CMPSEL_Pos) /**< \brief (AFEC_EMR) Comparison Selected Channel */ -#define AFEC_EMR_CMPSEL(value) ((AFEC_EMR_CMPSEL_Msk & ((value) << AFEC_EMR_CMPSEL_Pos))) -#define AFEC_EMR_CMPALL (0x1u << 9) /**< \brief (AFEC_EMR) Compare All Channels */ -#define AFEC_EMR_CMPFILTER_Pos 12 -#define AFEC_EMR_CMPFILTER_Msk (0x3u << AFEC_EMR_CMPFILTER_Pos) /**< \brief (AFEC_EMR) Compare Event Filtering */ -#define AFEC_EMR_CMPFILTER(value) ((AFEC_EMR_CMPFILTER_Msk & ((value) << AFEC_EMR_CMPFILTER_Pos))) -#define AFEC_EMR_RES_Pos 16 -#define AFEC_EMR_RES_Msk (0x7u << AFEC_EMR_RES_Pos) /**< \brief (AFEC_EMR) Resolution */ -#define AFEC_EMR_RES(value) ((AFEC_EMR_RES_Msk & ((value) << AFEC_EMR_RES_Pos))) -#define AFEC_EMR_RES_NO_AVERAGE (0x0u << 16) /**< \brief (AFEC_EMR) 12-bit resolution, AFE sample rate is maximum (no averaging). */ -#define AFEC_EMR_RES_OSR4 (0x2u << 16) /**< \brief (AFEC_EMR) 13-bit resolution, AFE sample rate divided by 4 (averaging). */ -#define AFEC_EMR_RES_OSR16 (0x3u << 16) /**< \brief (AFEC_EMR) 14-bit resolution, AFE sample rate divided by 16 (averaging). */ -#define AFEC_EMR_RES_OSR64 (0x4u << 16) /**< \brief (AFEC_EMR) 15-bit resolution, AFE sample rate divided by 64 (averaging). */ -#define AFEC_EMR_RES_OSR256 (0x5u << 16) /**< \brief (AFEC_EMR) 16-bit resolution, AFE sample rate divided by 256 (averaging). */ -#define AFEC_EMR_TAG (0x1u << 24) /**< \brief (AFEC_EMR) TAG of the AFEC_LDCR */ -#define AFEC_EMR_STM (0x1u << 25) /**< \brief (AFEC_EMR) Single Trigger Mode */ -#define AFEC_EMR_SIGNMODE_Pos 28 -#define AFEC_EMR_SIGNMODE_Msk (0x3u << AFEC_EMR_SIGNMODE_Pos) /**< \brief (AFEC_EMR) Sign Mode */ -#define AFEC_EMR_SIGNMODE(value) ((AFEC_EMR_SIGNMODE_Msk & ((value) << AFEC_EMR_SIGNMODE_Pos))) -#define AFEC_EMR_SIGNMODE_SE_UNSG_DF_SIGN (0x0u << 28) /**< \brief (AFEC_EMR) Single-Ended channels: Unsigned conversions.Differential channels: Signed conversions. */ -#define AFEC_EMR_SIGNMODE_SE_SIGN_DF_UNSG (0x1u << 28) /**< \brief (AFEC_EMR) Single-Ended channels: Signed conversions.Differential channels: Unsigned conversions. */ -#define AFEC_EMR_SIGNMODE_ALL_UNSIGNED (0x2u << 28) /**< \brief (AFEC_EMR) All channels: Unsigned conversions. */ -#define AFEC_EMR_SIGNMODE_ALL_SIGNED (0x3u << 28) /**< \brief (AFEC_EMR) All channels: Signed conversions. */ -/* -------- AFEC_SEQ1R : (AFEC Offset: 0x0C) AFEC Channel Sequence 1 Register -------- */ -#define AFEC_SEQ1R_USCH0_Pos 0 -#define AFEC_SEQ1R_USCH0_Msk (0xfu << AFEC_SEQ1R_USCH0_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 0 */ -#define AFEC_SEQ1R_USCH0(value) ((AFEC_SEQ1R_USCH0_Msk & ((value) << AFEC_SEQ1R_USCH0_Pos))) -#define AFEC_SEQ1R_USCH1_Pos 4 -#define AFEC_SEQ1R_USCH1_Msk (0xfu << AFEC_SEQ1R_USCH1_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 1 */ -#define AFEC_SEQ1R_USCH1(value) ((AFEC_SEQ1R_USCH1_Msk & ((value) << AFEC_SEQ1R_USCH1_Pos))) -#define AFEC_SEQ1R_USCH2_Pos 8 -#define AFEC_SEQ1R_USCH2_Msk (0xfu << AFEC_SEQ1R_USCH2_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 2 */ -#define AFEC_SEQ1R_USCH2(value) ((AFEC_SEQ1R_USCH2_Msk & ((value) << AFEC_SEQ1R_USCH2_Pos))) -#define AFEC_SEQ1R_USCH3_Pos 12 -#define AFEC_SEQ1R_USCH3_Msk (0xfu << AFEC_SEQ1R_USCH3_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 3 */ -#define AFEC_SEQ1R_USCH3(value) ((AFEC_SEQ1R_USCH3_Msk & ((value) << AFEC_SEQ1R_USCH3_Pos))) -#define AFEC_SEQ1R_USCH4_Pos 16 -#define AFEC_SEQ1R_USCH4_Msk (0xfu << AFEC_SEQ1R_USCH4_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 4 */ -#define AFEC_SEQ1R_USCH4(value) ((AFEC_SEQ1R_USCH4_Msk & ((value) << AFEC_SEQ1R_USCH4_Pos))) -#define AFEC_SEQ1R_USCH5_Pos 20 -#define AFEC_SEQ1R_USCH5_Msk (0xfu << AFEC_SEQ1R_USCH5_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 5 */ -#define AFEC_SEQ1R_USCH5(value) ((AFEC_SEQ1R_USCH5_Msk & ((value) << AFEC_SEQ1R_USCH5_Pos))) -#define AFEC_SEQ1R_USCH6_Pos 24 -#define AFEC_SEQ1R_USCH6_Msk (0xfu << AFEC_SEQ1R_USCH6_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 6 */ -#define AFEC_SEQ1R_USCH6(value) ((AFEC_SEQ1R_USCH6_Msk & ((value) << AFEC_SEQ1R_USCH6_Pos))) -#define AFEC_SEQ1R_USCH7_Pos 28 -#define AFEC_SEQ1R_USCH7_Msk (0xfu << AFEC_SEQ1R_USCH7_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 7 */ -#define AFEC_SEQ1R_USCH7(value) ((AFEC_SEQ1R_USCH7_Msk & ((value) << AFEC_SEQ1R_USCH7_Pos))) -/* -------- AFEC_SEQ2R : (AFEC Offset: 0x10) AFEC Channel Sequence 2 Register -------- */ -#define AFEC_SEQ2R_USCH8_Pos 0 -#define AFEC_SEQ2R_USCH8_Msk (0xfu << AFEC_SEQ2R_USCH8_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 8 */ -#define AFEC_SEQ2R_USCH8(value) ((AFEC_SEQ2R_USCH8_Msk & ((value) << AFEC_SEQ2R_USCH8_Pos))) -#define AFEC_SEQ2R_USCH9_Pos 4 -#define AFEC_SEQ2R_USCH9_Msk (0xfu << AFEC_SEQ2R_USCH9_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 9 */ -#define AFEC_SEQ2R_USCH9(value) ((AFEC_SEQ2R_USCH9_Msk & ((value) << AFEC_SEQ2R_USCH9_Pos))) -#define AFEC_SEQ2R_USCH10_Pos 8 -#define AFEC_SEQ2R_USCH10_Msk (0xfu << AFEC_SEQ2R_USCH10_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 10 */ -#define AFEC_SEQ2R_USCH10(value) ((AFEC_SEQ2R_USCH10_Msk & ((value) << AFEC_SEQ2R_USCH10_Pos))) -#define AFEC_SEQ2R_USCH11_Pos 12 -#define AFEC_SEQ2R_USCH11_Msk (0xfu << AFEC_SEQ2R_USCH11_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 11 */ -#define AFEC_SEQ2R_USCH11(value) ((AFEC_SEQ2R_USCH11_Msk & ((value) << AFEC_SEQ2R_USCH11_Pos))) -#define AFEC_SEQ2R_USCH12_Pos 16 -#define AFEC_SEQ2R_USCH12_Msk (0xfu << AFEC_SEQ2R_USCH12_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 12 */ -#define AFEC_SEQ2R_USCH12(value) ((AFEC_SEQ2R_USCH12_Msk & ((value) << AFEC_SEQ2R_USCH12_Pos))) -#define AFEC_SEQ2R_USCH13_Pos 20 -#define AFEC_SEQ2R_USCH13_Msk (0xfu << AFEC_SEQ2R_USCH13_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 13 */ -#define AFEC_SEQ2R_USCH13(value) ((AFEC_SEQ2R_USCH13_Msk & ((value) << AFEC_SEQ2R_USCH13_Pos))) -#define AFEC_SEQ2R_USCH14_Pos 24 -#define AFEC_SEQ2R_USCH14_Msk (0xfu << AFEC_SEQ2R_USCH14_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 14 */ -#define AFEC_SEQ2R_USCH14(value) ((AFEC_SEQ2R_USCH14_Msk & ((value) << AFEC_SEQ2R_USCH14_Pos))) -#define AFEC_SEQ2R_USCH15_Pos 28 -#define AFEC_SEQ2R_USCH15_Msk (0xfu << AFEC_SEQ2R_USCH15_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 15 */ -#define AFEC_SEQ2R_USCH15(value) ((AFEC_SEQ2R_USCH15_Msk & ((value) << AFEC_SEQ2R_USCH15_Pos))) -/* -------- AFEC_CHER : (AFEC Offset: 0x14) AFEC Channel Enable Register -------- */ -#define AFEC_CHER_CH0 (0x1u << 0) /**< \brief (AFEC_CHER) Channel 0 Enable */ -#define AFEC_CHER_CH1 (0x1u << 1) /**< \brief (AFEC_CHER) Channel 1 Enable */ -#define AFEC_CHER_CH2 (0x1u << 2) /**< \brief (AFEC_CHER) Channel 2 Enable */ -#define AFEC_CHER_CH3 (0x1u << 3) /**< \brief (AFEC_CHER) Channel 3 Enable */ -#define AFEC_CHER_CH4 (0x1u << 4) /**< \brief (AFEC_CHER) Channel 4 Enable */ -#define AFEC_CHER_CH5 (0x1u << 5) /**< \brief (AFEC_CHER) Channel 5 Enable */ -#define AFEC_CHER_CH6 (0x1u << 6) /**< \brief (AFEC_CHER) Channel 6 Enable */ -#define AFEC_CHER_CH7 (0x1u << 7) /**< \brief (AFEC_CHER) Channel 7 Enable */ -#define AFEC_CHER_CH8 (0x1u << 8) /**< \brief (AFEC_CHER) Channel 8 Enable */ -#define AFEC_CHER_CH9 (0x1u << 9) /**< \brief (AFEC_CHER) Channel 9 Enable */ -#define AFEC_CHER_CH10 (0x1u << 10) /**< \brief (AFEC_CHER) Channel 10 Enable */ -#define AFEC_CHER_CH11 (0x1u << 11) /**< \brief (AFEC_CHER) Channel 11 Enable */ -/* -------- AFEC_CHDR : (AFEC Offset: 0x18) AFEC Channel Disable Register -------- */ -#define AFEC_CHDR_CH0 (0x1u << 0) /**< \brief (AFEC_CHDR) Channel 0 Disable */ -#define AFEC_CHDR_CH1 (0x1u << 1) /**< \brief (AFEC_CHDR) Channel 1 Disable */ -#define AFEC_CHDR_CH2 (0x1u << 2) /**< \brief (AFEC_CHDR) Channel 2 Disable */ -#define AFEC_CHDR_CH3 (0x1u << 3) /**< \brief (AFEC_CHDR) Channel 3 Disable */ -#define AFEC_CHDR_CH4 (0x1u << 4) /**< \brief (AFEC_CHDR) Channel 4 Disable */ -#define AFEC_CHDR_CH5 (0x1u << 5) /**< \brief (AFEC_CHDR) Channel 5 Disable */ -#define AFEC_CHDR_CH6 (0x1u << 6) /**< \brief (AFEC_CHDR) Channel 6 Disable */ -#define AFEC_CHDR_CH7 (0x1u << 7) /**< \brief (AFEC_CHDR) Channel 7 Disable */ -#define AFEC_CHDR_CH8 (0x1u << 8) /**< \brief (AFEC_CHDR) Channel 8 Disable */ -#define AFEC_CHDR_CH9 (0x1u << 9) /**< \brief (AFEC_CHDR) Channel 9 Disable */ -#define AFEC_CHDR_CH10 (0x1u << 10) /**< \brief (AFEC_CHDR) Channel 10 Disable */ -#define AFEC_CHDR_CH11 (0x1u << 11) /**< \brief (AFEC_CHDR) Channel 11 Disable */ -/* -------- AFEC_CHSR : (AFEC Offset: 0x1C) AFEC Channel Status Register -------- */ -#define AFEC_CHSR_CH0 (0x1u << 0) /**< \brief (AFEC_CHSR) Channel 0 Status */ -#define AFEC_CHSR_CH1 (0x1u << 1) /**< \brief (AFEC_CHSR) Channel 1 Status */ -#define AFEC_CHSR_CH2 (0x1u << 2) /**< \brief (AFEC_CHSR) Channel 2 Status */ -#define AFEC_CHSR_CH3 (0x1u << 3) /**< \brief (AFEC_CHSR) Channel 3 Status */ -#define AFEC_CHSR_CH4 (0x1u << 4) /**< \brief (AFEC_CHSR) Channel 4 Status */ -#define AFEC_CHSR_CH5 (0x1u << 5) /**< \brief (AFEC_CHSR) Channel 5 Status */ -#define AFEC_CHSR_CH6 (0x1u << 6) /**< \brief (AFEC_CHSR) Channel 6 Status */ -#define AFEC_CHSR_CH7 (0x1u << 7) /**< \brief (AFEC_CHSR) Channel 7 Status */ -#define AFEC_CHSR_CH8 (0x1u << 8) /**< \brief (AFEC_CHSR) Channel 8 Status */ -#define AFEC_CHSR_CH9 (0x1u << 9) /**< \brief (AFEC_CHSR) Channel 9 Status */ -#define AFEC_CHSR_CH10 (0x1u << 10) /**< \brief (AFEC_CHSR) Channel 10 Status */ -#define AFEC_CHSR_CH11 (0x1u << 11) /**< \brief (AFEC_CHSR) Channel 11 Status */ -/* -------- AFEC_LCDR : (AFEC Offset: 0x20) AFEC Last Converted Data Register -------- */ -#define AFEC_LCDR_LDATA_Pos 0 -#define AFEC_LCDR_LDATA_Msk (0xffffu << AFEC_LCDR_LDATA_Pos) /**< \brief (AFEC_LCDR) Last Data Converted */ -#define AFEC_LCDR_CHNB_Pos 24 -#define AFEC_LCDR_CHNB_Msk (0xfu << AFEC_LCDR_CHNB_Pos) /**< \brief (AFEC_LCDR) Channel Number */ -/* -------- AFEC_IER : (AFEC Offset: 0x24) AFEC Interrupt Enable Register -------- */ -#define AFEC_IER_EOC0 (0x1u << 0) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 0 */ -#define AFEC_IER_EOC1 (0x1u << 1) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 1 */ -#define AFEC_IER_EOC2 (0x1u << 2) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 2 */ -#define AFEC_IER_EOC3 (0x1u << 3) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 3 */ -#define AFEC_IER_EOC4 (0x1u << 4) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 4 */ -#define AFEC_IER_EOC5 (0x1u << 5) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 5 */ -#define AFEC_IER_EOC6 (0x1u << 6) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 6 */ -#define AFEC_IER_EOC7 (0x1u << 7) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 7 */ -#define AFEC_IER_EOC8 (0x1u << 8) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 8 */ -#define AFEC_IER_EOC9 (0x1u << 9) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 9 */ -#define AFEC_IER_EOC10 (0x1u << 10) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 10 */ -#define AFEC_IER_EOC11 (0x1u << 11) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 11 */ -#define AFEC_IER_DRDY (0x1u << 24) /**< \brief (AFEC_IER) Data Ready Interrupt Enable */ -#define AFEC_IER_GOVRE (0x1u << 25) /**< \brief (AFEC_IER) General Overrun Error Interrupt Enable */ -#define AFEC_IER_COMPE (0x1u << 26) /**< \brief (AFEC_IER) Comparison Event Interrupt Enable */ -#define AFEC_IER_TEMPCHG (0x1u << 30) /**< \brief (AFEC_IER) Temperature Change Interrupt Enable */ -/* -------- AFEC_IDR : (AFEC Offset: 0x28) AFEC Interrupt Disable Register -------- */ -#define AFEC_IDR_EOC0 (0x1u << 0) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 0 */ -#define AFEC_IDR_EOC1 (0x1u << 1) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 1 */ -#define AFEC_IDR_EOC2 (0x1u << 2) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 2 */ -#define AFEC_IDR_EOC3 (0x1u << 3) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 3 */ -#define AFEC_IDR_EOC4 (0x1u << 4) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 4 */ -#define AFEC_IDR_EOC5 (0x1u << 5) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 5 */ -#define AFEC_IDR_EOC6 (0x1u << 6) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 6 */ -#define AFEC_IDR_EOC7 (0x1u << 7) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 7 */ -#define AFEC_IDR_EOC8 (0x1u << 8) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 8 */ -#define AFEC_IDR_EOC9 (0x1u << 9) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 9 */ -#define AFEC_IDR_EOC10 (0x1u << 10) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 10 */ -#define AFEC_IDR_EOC11 (0x1u << 11) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 11 */ -#define AFEC_IDR_DRDY (0x1u << 24) /**< \brief (AFEC_IDR) Data Ready Interrupt Disable */ -#define AFEC_IDR_GOVRE (0x1u << 25) /**< \brief (AFEC_IDR) General Overrun Error Interrupt Disable */ -#define AFEC_IDR_COMPE (0x1u << 26) /**< \brief (AFEC_IDR) Comparison Event Interrupt Disable */ -#define AFEC_IDR_TEMPCHG (0x1u << 30) /**< \brief (AFEC_IDR) Temperature Change Interrupt Disable */ -/* -------- AFEC_IMR : (AFEC Offset: 0x2C) AFEC Interrupt Mask Register -------- */ -#define AFEC_IMR_EOC0 (0x1u << 0) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 0 */ -#define AFEC_IMR_EOC1 (0x1u << 1) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 1 */ -#define AFEC_IMR_EOC2 (0x1u << 2) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 2 */ -#define AFEC_IMR_EOC3 (0x1u << 3) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 3 */ -#define AFEC_IMR_EOC4 (0x1u << 4) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 4 */ -#define AFEC_IMR_EOC5 (0x1u << 5) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 5 */ -#define AFEC_IMR_EOC6 (0x1u << 6) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 6 */ -#define AFEC_IMR_EOC7 (0x1u << 7) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 7 */ -#define AFEC_IMR_EOC8 (0x1u << 8) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 8 */ -#define AFEC_IMR_EOC9 (0x1u << 9) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 9 */ -#define AFEC_IMR_EOC10 (0x1u << 10) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 10 */ -#define AFEC_IMR_EOC11 (0x1u << 11) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 11 */ -#define AFEC_IMR_DRDY (0x1u << 24) /**< \brief (AFEC_IMR) Data Ready Interrupt Mask */ -#define AFEC_IMR_GOVRE (0x1u << 25) /**< \brief (AFEC_IMR) General Overrun Error Interrupt Mask */ -#define AFEC_IMR_COMPE (0x1u << 26) /**< \brief (AFEC_IMR) Comparison Event Interrupt Mask */ -#define AFEC_IMR_TEMPCHG (0x1u << 30) /**< \brief (AFEC_IMR) Temperature Change Interrupt Mask */ -/* -------- AFEC_ISR : (AFEC Offset: 0x30) AFEC Interrupt Status Register -------- */ -#define AFEC_ISR_EOC0 (0x1u << 0) /**< \brief (AFEC_ISR) End of Conversion 0 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC1 (0x1u << 1) /**< \brief (AFEC_ISR) End of Conversion 1 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC2 (0x1u << 2) /**< \brief (AFEC_ISR) End of Conversion 2 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC3 (0x1u << 3) /**< \brief (AFEC_ISR) End of Conversion 3 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC4 (0x1u << 4) /**< \brief (AFEC_ISR) End of Conversion 4 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC5 (0x1u << 5) /**< \brief (AFEC_ISR) End of Conversion 5 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC6 (0x1u << 6) /**< \brief (AFEC_ISR) End of Conversion 6 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC7 (0x1u << 7) /**< \brief (AFEC_ISR) End of Conversion 7 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC8 (0x1u << 8) /**< \brief (AFEC_ISR) End of Conversion 8 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC9 (0x1u << 9) /**< \brief (AFEC_ISR) End of Conversion 9 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC10 (0x1u << 10) /**< \brief (AFEC_ISR) End of Conversion 10 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC11 (0x1u << 11) /**< \brief (AFEC_ISR) End of Conversion 11 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_DRDY (0x1u << 24) /**< \brief (AFEC_ISR) Data Ready (cleared by reading AFEC_LCDR) */ -#define AFEC_ISR_GOVRE (0x1u << 25) /**< \brief (AFEC_ISR) General Overrun Error (cleared by reading AFEC_ISR) */ -#define AFEC_ISR_COMPE (0x1u << 26) /**< \brief (AFEC_ISR) Comparison Error (cleared by reading AFEC_ISR) */ -#define AFEC_ISR_TEMPCHG (0x1u << 30) /**< \brief (AFEC_ISR) Temperature Change (cleared on read) */ -/* -------- AFEC_OVER : (AFEC Offset: 0x4C) AFEC Overrun Status Register -------- */ -#define AFEC_OVER_OVRE0 (0x1u << 0) /**< \brief (AFEC_OVER) Overrun Error 0 */ -#define AFEC_OVER_OVRE1 (0x1u << 1) /**< \brief (AFEC_OVER) Overrun Error 1 */ -#define AFEC_OVER_OVRE2 (0x1u << 2) /**< \brief (AFEC_OVER) Overrun Error 2 */ -#define AFEC_OVER_OVRE3 (0x1u << 3) /**< \brief (AFEC_OVER) Overrun Error 3 */ -#define AFEC_OVER_OVRE4 (0x1u << 4) /**< \brief (AFEC_OVER) Overrun Error 4 */ -#define AFEC_OVER_OVRE5 (0x1u << 5) /**< \brief (AFEC_OVER) Overrun Error 5 */ -#define AFEC_OVER_OVRE6 (0x1u << 6) /**< \brief (AFEC_OVER) Overrun Error 6 */ -#define AFEC_OVER_OVRE7 (0x1u << 7) /**< \brief (AFEC_OVER) Overrun Error 7 */ -#define AFEC_OVER_OVRE8 (0x1u << 8) /**< \brief (AFEC_OVER) Overrun Error 8 */ -#define AFEC_OVER_OVRE9 (0x1u << 9) /**< \brief (AFEC_OVER) Overrun Error 9 */ -#define AFEC_OVER_OVRE10 (0x1u << 10) /**< \brief (AFEC_OVER) Overrun Error 10 */ -#define AFEC_OVER_OVRE11 (0x1u << 11) /**< \brief (AFEC_OVER) Overrun Error 11 */ -/* -------- AFEC_CWR : (AFEC Offset: 0x50) AFEC Compare Window Register -------- */ -#define AFEC_CWR_LOWTHRES_Pos 0 -#define AFEC_CWR_LOWTHRES_Msk (0xffffu << AFEC_CWR_LOWTHRES_Pos) /**< \brief (AFEC_CWR) Low Threshold */ -#define AFEC_CWR_LOWTHRES(value) ((AFEC_CWR_LOWTHRES_Msk & ((value) << AFEC_CWR_LOWTHRES_Pos))) -#define AFEC_CWR_HIGHTHRES_Pos 16 -#define AFEC_CWR_HIGHTHRES_Msk (0xffffu << AFEC_CWR_HIGHTHRES_Pos) /**< \brief (AFEC_CWR) High Threshold */ -#define AFEC_CWR_HIGHTHRES(value) ((AFEC_CWR_HIGHTHRES_Msk & ((value) << AFEC_CWR_HIGHTHRES_Pos))) -/* -------- AFEC_CGR : (AFEC Offset: 0x54) AFEC Channel Gain Register -------- */ -#define AFEC_CGR_GAIN0_Pos 0 -#define AFEC_CGR_GAIN0_Msk (0x3u << AFEC_CGR_GAIN0_Pos) /**< \brief (AFEC_CGR) Gain for Channel 0 */ -#define AFEC_CGR_GAIN0(value) ((AFEC_CGR_GAIN0_Msk & ((value) << AFEC_CGR_GAIN0_Pos))) -#define AFEC_CGR_GAIN1_Pos 2 -#define AFEC_CGR_GAIN1_Msk (0x3u << AFEC_CGR_GAIN1_Pos) /**< \brief (AFEC_CGR) Gain for Channel 1 */ -#define AFEC_CGR_GAIN1(value) ((AFEC_CGR_GAIN1_Msk & ((value) << AFEC_CGR_GAIN1_Pos))) -#define AFEC_CGR_GAIN2_Pos 4 -#define AFEC_CGR_GAIN2_Msk (0x3u << AFEC_CGR_GAIN2_Pos) /**< \brief (AFEC_CGR) Gain for Channel 2 */ -#define AFEC_CGR_GAIN2(value) ((AFEC_CGR_GAIN2_Msk & ((value) << AFEC_CGR_GAIN2_Pos))) -#define AFEC_CGR_GAIN3_Pos 6 -#define AFEC_CGR_GAIN3_Msk (0x3u << AFEC_CGR_GAIN3_Pos) /**< \brief (AFEC_CGR) Gain for Channel 3 */ -#define AFEC_CGR_GAIN3(value) ((AFEC_CGR_GAIN3_Msk & ((value) << AFEC_CGR_GAIN3_Pos))) -#define AFEC_CGR_GAIN4_Pos 8 -#define AFEC_CGR_GAIN4_Msk (0x3u << AFEC_CGR_GAIN4_Pos) /**< \brief (AFEC_CGR) Gain for Channel 4 */ -#define AFEC_CGR_GAIN4(value) ((AFEC_CGR_GAIN4_Msk & ((value) << AFEC_CGR_GAIN4_Pos))) -#define AFEC_CGR_GAIN5_Pos 10 -#define AFEC_CGR_GAIN5_Msk (0x3u << AFEC_CGR_GAIN5_Pos) /**< \brief (AFEC_CGR) Gain for Channel 5 */ -#define AFEC_CGR_GAIN5(value) ((AFEC_CGR_GAIN5_Msk & ((value) << AFEC_CGR_GAIN5_Pos))) -#define AFEC_CGR_GAIN6_Pos 12 -#define AFEC_CGR_GAIN6_Msk (0x3u << AFEC_CGR_GAIN6_Pos) /**< \brief (AFEC_CGR) Gain for Channel 6 */ -#define AFEC_CGR_GAIN6(value) ((AFEC_CGR_GAIN6_Msk & ((value) << AFEC_CGR_GAIN6_Pos))) -#define AFEC_CGR_GAIN7_Pos 14 -#define AFEC_CGR_GAIN7_Msk (0x3u << AFEC_CGR_GAIN7_Pos) /**< \brief (AFEC_CGR) Gain for Channel 7 */ -#define AFEC_CGR_GAIN7(value) ((AFEC_CGR_GAIN7_Msk & ((value) << AFEC_CGR_GAIN7_Pos))) -#define AFEC_CGR_GAIN8_Pos 16 -#define AFEC_CGR_GAIN8_Msk (0x3u << AFEC_CGR_GAIN8_Pos) /**< \brief (AFEC_CGR) Gain for Channel 8 */ -#define AFEC_CGR_GAIN8(value) ((AFEC_CGR_GAIN8_Msk & ((value) << AFEC_CGR_GAIN8_Pos))) -#define AFEC_CGR_GAIN9_Pos 18 -#define AFEC_CGR_GAIN9_Msk (0x3u << AFEC_CGR_GAIN9_Pos) /**< \brief (AFEC_CGR) Gain for Channel 9 */ -#define AFEC_CGR_GAIN9(value) ((AFEC_CGR_GAIN9_Msk & ((value) << AFEC_CGR_GAIN9_Pos))) -#define AFEC_CGR_GAIN10_Pos 20 -#define AFEC_CGR_GAIN10_Msk (0x3u << AFEC_CGR_GAIN10_Pos) /**< \brief (AFEC_CGR) Gain for Channel 10 */ -#define AFEC_CGR_GAIN10(value) ((AFEC_CGR_GAIN10_Msk & ((value) << AFEC_CGR_GAIN10_Pos))) -#define AFEC_CGR_GAIN11_Pos 22 -#define AFEC_CGR_GAIN11_Msk (0x3u << AFEC_CGR_GAIN11_Pos) /**< \brief (AFEC_CGR) Gain for Channel 11 */ -#define AFEC_CGR_GAIN11(value) ((AFEC_CGR_GAIN11_Msk & ((value) << AFEC_CGR_GAIN11_Pos))) -/* -------- AFEC_DIFFR : (AFEC Offset: 0x60) AFEC Channel Differential Register -------- */ -#define AFEC_DIFFR_DIFF0 (0x1u << 0) /**< \brief (AFEC_DIFFR) Differential inputs for channel 0 */ -#define AFEC_DIFFR_DIFF1 (0x1u << 1) /**< \brief (AFEC_DIFFR) Differential inputs for channel 1 */ -#define AFEC_DIFFR_DIFF2 (0x1u << 2) /**< \brief (AFEC_DIFFR) Differential inputs for channel 2 */ -#define AFEC_DIFFR_DIFF3 (0x1u << 3) /**< \brief (AFEC_DIFFR) Differential inputs for channel 3 */ -#define AFEC_DIFFR_DIFF4 (0x1u << 4) /**< \brief (AFEC_DIFFR) Differential inputs for channel 4 */ -#define AFEC_DIFFR_DIFF5 (0x1u << 5) /**< \brief (AFEC_DIFFR) Differential inputs for channel 5 */ -#define AFEC_DIFFR_DIFF6 (0x1u << 6) /**< \brief (AFEC_DIFFR) Differential inputs for channel 6 */ -#define AFEC_DIFFR_DIFF7 (0x1u << 7) /**< \brief (AFEC_DIFFR) Differential inputs for channel 7 */ -#define AFEC_DIFFR_DIFF8 (0x1u << 8) /**< \brief (AFEC_DIFFR) Differential inputs for channel 8 */ -#define AFEC_DIFFR_DIFF9 (0x1u << 9) /**< \brief (AFEC_DIFFR) Differential inputs for channel 9 */ -#define AFEC_DIFFR_DIFF10 (0x1u << 10) /**< \brief (AFEC_DIFFR) Differential inputs for channel 10 */ -#define AFEC_DIFFR_DIFF11 (0x1u << 11) /**< \brief (AFEC_DIFFR) Differential inputs for channel 11 */ -/* -------- AFEC_CSELR : (AFEC Offset: 0x64) AFEC Channel Selection Register -------- */ -#define AFEC_CSELR_CSEL_Pos 0 -#define AFEC_CSELR_CSEL_Msk (0xfu << AFEC_CSELR_CSEL_Pos) /**< \brief (AFEC_CSELR) Channel Selection */ -#define AFEC_CSELR_CSEL(value) ((AFEC_CSELR_CSEL_Msk & ((value) << AFEC_CSELR_CSEL_Pos))) -/* -------- AFEC_CDR : (AFEC Offset: 0x68) AFEC Channel Data Register -------- */ -#define AFEC_CDR_DATA_Pos 0 -#define AFEC_CDR_DATA_Msk (0xffffu << AFEC_CDR_DATA_Pos) /**< \brief (AFEC_CDR) Converted Data */ -/* -------- AFEC_COCR : (AFEC Offset: 0x6C) AFEC Channel Offset Compensation Register -------- */ -#define AFEC_COCR_AOFF_Pos 0 -#define AFEC_COCR_AOFF_Msk (0xfffu << AFEC_COCR_AOFF_Pos) /**< \brief (AFEC_COCR) Analog Offset */ -#define AFEC_COCR_AOFF(value) ((AFEC_COCR_AOFF_Msk & ((value) << AFEC_COCR_AOFF_Pos))) -/* -------- AFEC_TEMPMR : (AFEC Offset: 0x70) AFEC Temperature Sensor Mode Register -------- */ -#define AFEC_TEMPMR_RTCT (0x1u << 0) /**< \brief (AFEC_TEMPMR) Temperature Sensor RTC Trigger Mode */ -#define AFEC_TEMPMR_TEMPCMPMOD_Pos 4 -#define AFEC_TEMPMR_TEMPCMPMOD_Msk (0x3u << AFEC_TEMPMR_TEMPCMPMOD_Pos) /**< \brief (AFEC_TEMPMR) Temperature Comparison Mode */ -#define AFEC_TEMPMR_TEMPCMPMOD(value) ((AFEC_TEMPMR_TEMPCMPMOD_Msk & ((value) << AFEC_TEMPMR_TEMPCMPMOD_Pos))) -#define AFEC_TEMPMR_TEMPCMPMOD_LOW (0x0u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is lower than the low threshold of the window. */ -#define AFEC_TEMPMR_TEMPCMPMOD_HIGH (0x1u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is higher than the high threshold of the window. */ -#define AFEC_TEMPMR_TEMPCMPMOD_IN (0x2u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is in the comparison window. */ -#define AFEC_TEMPMR_TEMPCMPMOD_OUT (0x3u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is out of the comparison window. */ -/* -------- AFEC_TEMPCWR : (AFEC Offset: 0x74) AFEC Temperature Compare Window Register -------- */ -#define AFEC_TEMPCWR_TLOWTHRES_Pos 0 -#define AFEC_TEMPCWR_TLOWTHRES_Msk (0xffffu << AFEC_TEMPCWR_TLOWTHRES_Pos) /**< \brief (AFEC_TEMPCWR) Temperature Low Threshold */ -#define AFEC_TEMPCWR_TLOWTHRES(value) ((AFEC_TEMPCWR_TLOWTHRES_Msk & ((value) << AFEC_TEMPCWR_TLOWTHRES_Pos))) -#define AFEC_TEMPCWR_THIGHTHRES_Pos 16 -#define AFEC_TEMPCWR_THIGHTHRES_Msk (0xffffu << AFEC_TEMPCWR_THIGHTHRES_Pos) /**< \brief (AFEC_TEMPCWR) Temperature High Threshold */ -#define AFEC_TEMPCWR_THIGHTHRES(value) ((AFEC_TEMPCWR_THIGHTHRES_Msk & ((value) << AFEC_TEMPCWR_THIGHTHRES_Pos))) -/* -------- AFEC_ACR : (AFEC Offset: 0x94) AFEC Analog Control Register -------- */ -#define AFEC_ACR_PGA0EN (0x1u << 2) /**< \brief (AFEC_ACR) PGA0 Enable */ -#define AFEC_ACR_PGA1EN (0x1u << 3) /**< \brief (AFEC_ACR) PGA1 Enable */ -#define AFEC_ACR_IBCTL_Pos 8 -#define AFEC_ACR_IBCTL_Msk (0x3u << AFEC_ACR_IBCTL_Pos) /**< \brief (AFEC_ACR) AFE Bias Current Control */ -#define AFEC_ACR_IBCTL(value) ((AFEC_ACR_IBCTL_Msk & ((value) << AFEC_ACR_IBCTL_Pos))) -/* -------- AFEC_SHMR : (AFEC Offset: 0xA0) AFEC Sample & Hold Mode Register -------- */ -#define AFEC_SHMR_DUAL0 (0x1u << 0) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 0 */ -#define AFEC_SHMR_DUAL1 (0x1u << 1) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 1 */ -#define AFEC_SHMR_DUAL2 (0x1u << 2) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 2 */ -#define AFEC_SHMR_DUAL3 (0x1u << 3) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 3 */ -#define AFEC_SHMR_DUAL4 (0x1u << 4) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 4 */ -#define AFEC_SHMR_DUAL5 (0x1u << 5) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 5 */ -#define AFEC_SHMR_DUAL6 (0x1u << 6) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 6 */ -#define AFEC_SHMR_DUAL7 (0x1u << 7) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 7 */ -#define AFEC_SHMR_DUAL8 (0x1u << 8) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 8 */ -#define AFEC_SHMR_DUAL9 (0x1u << 9) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 9 */ -#define AFEC_SHMR_DUAL10 (0x1u << 10) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 10 */ -#define AFEC_SHMR_DUAL11 (0x1u << 11) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 11 */ -/* -------- AFEC_COSR : (AFEC Offset: 0xD0) AFEC Correction Select Register -------- */ -#define AFEC_COSR_CSEL (0x1u << 0) /**< \brief (AFEC_COSR) Sample & Hold unit Correction Select */ -/* -------- AFEC_CVR : (AFEC Offset: 0xD4) AFEC Correction Values Register -------- */ -#define AFEC_CVR_OFFSETCORR_Pos 0 -#define AFEC_CVR_OFFSETCORR_Msk (0xffffu << AFEC_CVR_OFFSETCORR_Pos) /**< \brief (AFEC_CVR) Offset Correction */ -#define AFEC_CVR_OFFSETCORR(value) ((AFEC_CVR_OFFSETCORR_Msk & ((value) << AFEC_CVR_OFFSETCORR_Pos))) -#define AFEC_CVR_GAINCORR_Pos 16 -#define AFEC_CVR_GAINCORR_Msk (0xffffu << AFEC_CVR_GAINCORR_Pos) /**< \brief (AFEC_CVR) Gain Correction */ -#define AFEC_CVR_GAINCORR(value) ((AFEC_CVR_GAINCORR_Msk & ((value) << AFEC_CVR_GAINCORR_Pos))) -/* -------- AFEC_CECR : (AFEC Offset: 0xD8) AFEC Channel Error Correction Register -------- */ -#define AFEC_CECR_ECORR0 (0x1u << 0) /**< \brief (AFEC_CECR) Error Correction Enable for channel 0 */ -#define AFEC_CECR_ECORR1 (0x1u << 1) /**< \brief (AFEC_CECR) Error Correction Enable for channel 1 */ -#define AFEC_CECR_ECORR2 (0x1u << 2) /**< \brief (AFEC_CECR) Error Correction Enable for channel 2 */ -#define AFEC_CECR_ECORR3 (0x1u << 3) /**< \brief (AFEC_CECR) Error Correction Enable for channel 3 */ -#define AFEC_CECR_ECORR4 (0x1u << 4) /**< \brief (AFEC_CECR) Error Correction Enable for channel 4 */ -#define AFEC_CECR_ECORR5 (0x1u << 5) /**< \brief (AFEC_CECR) Error Correction Enable for channel 5 */ -#define AFEC_CECR_ECORR6 (0x1u << 6) /**< \brief (AFEC_CECR) Error Correction Enable for channel 6 */ -#define AFEC_CECR_ECORR7 (0x1u << 7) /**< \brief (AFEC_CECR) Error Correction Enable for channel 7 */ -#define AFEC_CECR_ECORR8 (0x1u << 8) /**< \brief (AFEC_CECR) Error Correction Enable for channel 8 */ -#define AFEC_CECR_ECORR9 (0x1u << 9) /**< \brief (AFEC_CECR) Error Correction Enable for channel 9 */ -#define AFEC_CECR_ECORR10 (0x1u << 10) /**< \brief (AFEC_CECR) Error Correction Enable for channel 10 */ -#define AFEC_CECR_ECORR11 (0x1u << 11) /**< \brief (AFEC_CECR) Error Correction Enable for channel 11 */ -/* -------- AFEC_WPMR : (AFEC Offset: 0xE4) AFEC Write Protection Mode Register -------- */ -#define AFEC_WPMR_WPEN (0x1u << 0) /**< \brief (AFEC_WPMR) Write Protection Enable */ -#define AFEC_WPMR_WPKEY_Pos 8 -#define AFEC_WPMR_WPKEY_Msk (0xffffffu << AFEC_WPMR_WPKEY_Pos) /**< \brief (AFEC_WPMR) Write Protect KEY */ -#define AFEC_WPMR_WPKEY(value) ((AFEC_WPMR_WPKEY_Msk & ((value) << AFEC_WPMR_WPKEY_Pos))) -#define AFEC_WPMR_WPKEY_PASSWD (0x414443u << 8) /**< \brief (AFEC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- AFEC_WPSR : (AFEC Offset: 0xE8) AFEC Write Protection Status Register -------- */ -#define AFEC_WPSR_WPVS (0x1u << 0) /**< \brief (AFEC_WPSR) Write Protect Violation Status */ -#define AFEC_WPSR_WPVSRC_Pos 8 -#define AFEC_WPSR_WPVSRC_Msk (0xffffu << AFEC_WPSR_WPVSRC_Pos) /**< \brief (AFEC_WPSR) Write Protect Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_AFEC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h deleted file mode 100644 index 57f14ab..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h +++ /dev/null @@ -1,138 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_CHIPID_COMPONENT_ -#define _SAMS70_CHIPID_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Chip Identifier */ -/* ============================================================================= */ -/** \addtogroup SAMS70_CHIPID Chip Identifier */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Chipid hardware registers */ -typedef struct { - __I uint32_t CHIPID_CIDR; /**< \brief (Chipid Offset: 0x0) Chip ID Register */ - __I uint32_t CHIPID_EXID; /**< \brief (Chipid Offset: 0x4) Chip ID Extension Register */ -} Chipid; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- CHIPID_CIDR : (CHIPID Offset: 0x0) Chip ID Register -------- */ -#define CHIPID_CIDR_VERSION_Pos 0 -#define CHIPID_CIDR_VERSION_Msk (0x1fu << CHIPID_CIDR_VERSION_Pos) /**< \brief (CHIPID_CIDR) Version of the Device */ -#define CHIPID_CIDR_EPROC_Pos 5 -#define CHIPID_CIDR_EPROC_Msk (0x7u << CHIPID_CIDR_EPROC_Pos) /**< \brief (CHIPID_CIDR) Embedded Processor */ -#define CHIPID_CIDR_EPROC_SAMx7 (0x0u << 5) /**< \brief (CHIPID_CIDR) Cortex-M7 */ -#define CHIPID_CIDR_EPROC_ARM946ES (0x1u << 5) /**< \brief (CHIPID_CIDR) ARM946ES */ -#define CHIPID_CIDR_EPROC_ARM7TDMI (0x2u << 5) /**< \brief (CHIPID_CIDR) ARM7TDMI */ -#define CHIPID_CIDR_EPROC_CM3 (0x3u << 5) /**< \brief (CHIPID_CIDR) Cortex-M3 */ -#define CHIPID_CIDR_EPROC_ARM920T (0x4u << 5) /**< \brief (CHIPID_CIDR) ARM920T */ -#define CHIPID_CIDR_EPROC_ARM926EJS (0x5u << 5) /**< \brief (CHIPID_CIDR) ARM926EJS */ -#define CHIPID_CIDR_EPROC_CA5 (0x6u << 5) /**< \brief (CHIPID_CIDR) Cortex-A5 */ -#define CHIPID_CIDR_EPROC_CM4 (0x7u << 5) /**< \brief (CHIPID_CIDR) Cortex-M4 */ -#define CHIPID_CIDR_NVPSIZ_Pos 8 -#define CHIPID_CIDR_NVPSIZ_Msk (0xfu << CHIPID_CIDR_NVPSIZ_Pos) /**< \brief (CHIPID_CIDR) Nonvolatile Program Memory Size */ -#define CHIPID_CIDR_NVPSIZ_NONE (0x0u << 8) /**< \brief (CHIPID_CIDR) None */ -#define CHIPID_CIDR_NVPSIZ_8K (0x1u << 8) /**< \brief (CHIPID_CIDR) 8 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_16K (0x2u << 8) /**< \brief (CHIPID_CIDR) 16 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_32K (0x3u << 8) /**< \brief (CHIPID_CIDR) 32 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_64K (0x5u << 8) /**< \brief (CHIPID_CIDR) 64 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_128K (0x7u << 8) /**< \brief (CHIPID_CIDR) 128 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_160K (0x8u << 8) /**< \brief (CHIPID_CIDR) 160 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_256K (0x9u << 8) /**< \brief (CHIPID_CIDR) 256 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_512K (0xAu << 8) /**< \brief (CHIPID_CIDR) 512 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_1024K (0xCu << 8) /**< \brief (CHIPID_CIDR) 1024 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_2048K (0xEu << 8) /**< \brief (CHIPID_CIDR) 2048 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_Pos 12 -#define CHIPID_CIDR_NVPSIZ2_Msk (0xfu << CHIPID_CIDR_NVPSIZ2_Pos) /**< \brief (CHIPID_CIDR) Second Nonvolatile Program Memory Size */ -#define CHIPID_CIDR_NVPSIZ2_NONE (0x0u << 12) /**< \brief (CHIPID_CIDR) None */ -#define CHIPID_CIDR_NVPSIZ2_8K (0x1u << 12) /**< \brief (CHIPID_CIDR) 8 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_16K (0x2u << 12) /**< \brief (CHIPID_CIDR) 16 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_32K (0x3u << 12) /**< \brief (CHIPID_CIDR) 32 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_64K (0x5u << 12) /**< \brief (CHIPID_CIDR) 64 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_128K (0x7u << 12) /**< \brief (CHIPID_CIDR) 128 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_256K (0x9u << 12) /**< \brief (CHIPID_CIDR) 256 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_512K (0xAu << 12) /**< \brief (CHIPID_CIDR) 512 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_1024K (0xCu << 12) /**< \brief (CHIPID_CIDR) 1024 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_2048K (0xEu << 12) /**< \brief (CHIPID_CIDR) 2048 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_Pos 16 -#define CHIPID_CIDR_SRAMSIZ_Msk (0xfu << CHIPID_CIDR_SRAMSIZ_Pos) /**< \brief (CHIPID_CIDR) Internal SRAM Size */ -#define CHIPID_CIDR_SRAMSIZ_48K (0x0u << 16) /**< \brief (CHIPID_CIDR) 48 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_192K (0x1u << 16) /**< \brief (CHIPID_CIDR) 192 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_384K (0x2u << 16) /**< \brief (CHIPID_CIDR) 384 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_6K (0x3u << 16) /**< \brief (CHIPID_CIDR) 6 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_24K (0x4u << 16) /**< \brief (CHIPID_CIDR) 24 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_4K (0x5u << 16) /**< \brief (CHIPID_CIDR) 4 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_80K (0x6u << 16) /**< \brief (CHIPID_CIDR) 80 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_160K (0x7u << 16) /**< \brief (CHIPID_CIDR) 160 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_8K (0x8u << 16) /**< \brief (CHIPID_CIDR) 8 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_16K (0x9u << 16) /**< \brief (CHIPID_CIDR) 16 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_32K (0xAu << 16) /**< \brief (CHIPID_CIDR) 32 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_64K (0xBu << 16) /**< \brief (CHIPID_CIDR) 64 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_128K (0xCu << 16) /**< \brief (CHIPID_CIDR) 128 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_256K (0xDu << 16) /**< \brief (CHIPID_CIDR) 256 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_96K (0xEu << 16) /**< \brief (CHIPID_CIDR) 96 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_512K (0xFu << 16) /**< \brief (CHIPID_CIDR) 512 Kbytes */ -#define CHIPID_CIDR_ARCH_Pos 20 -#define CHIPID_CIDR_ARCH_Msk (0xffu << CHIPID_CIDR_ARCH_Pos) /**< \brief (CHIPID_CIDR) Architecture Identifier */ -#define CHIPID_CIDR_ARCH_SAME70 (0x10u << 20) /**< \brief (CHIPID_CIDR) SAM E70 */ -#define CHIPID_CIDR_ARCH_SAMS70 (0x11u << 20) /**< \brief (CHIPID_CIDR) SAM S70 */ -#define CHIPID_CIDR_ARCH_SAMV71 (0x12u << 20) /**< \brief (CHIPID_CIDR) SAM V71 */ -#define CHIPID_CIDR_ARCH_SAMV70 (0x13u << 20) /**< \brief (CHIPID_CIDR) SAM V70 */ -#define CHIPID_CIDR_NVPTYP_Pos 28 -#define CHIPID_CIDR_NVPTYP_Msk (0x7u << CHIPID_CIDR_NVPTYP_Pos) /**< \brief (CHIPID_CIDR) Nonvolatile Program Memory Type */ -#define CHIPID_CIDR_NVPTYP_ROM (0x0u << 28) /**< \brief (CHIPID_CIDR) ROM */ -#define CHIPID_CIDR_NVPTYP_ROMLESS (0x1u << 28) /**< \brief (CHIPID_CIDR) ROMless or on-chip Flash */ -#define CHIPID_CIDR_NVPTYP_FLASH (0x2u << 28) /**< \brief (CHIPID_CIDR) Embedded Flash Memory */ -#define CHIPID_CIDR_NVPTYP_ROM_FLASH (0x3u << 28) /**< \brief (CHIPID_CIDR) ROM and Embedded Flash Memory- NVPSIZ is ROM size- NVPSIZ2 is Flash size */ -#define CHIPID_CIDR_NVPTYP_SRAM (0x4u << 28) /**< \brief (CHIPID_CIDR) SRAM emulating ROM */ -#define CHIPID_CIDR_EXT (0x1u << 31) /**< \brief (CHIPID_CIDR) Extension Flag */ -/* -------- CHIPID_EXID : (CHIPID Offset: 0x4) Chip ID Extension Register -------- */ -#define CHIPID_EXID_EXID_Pos 0 -#define CHIPID_EXID_EXID_Msk (0xffffffffu << CHIPID_EXID_EXID_Pos) /**< \brief (CHIPID_EXID) Chip ID Extension */ - -/*@}*/ - - -#endif /* _SAMS70_CHIPID_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h deleted file mode 100644 index 7aec4a9..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h +++ /dev/null @@ -1,217 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_DACC_COMPONENT_ -#define _SAMS70_DACC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Digital-to-Analog Converter Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_DACC Digital-to-Analog Converter Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Dacc hardware registers */ -typedef struct { - __O uint32_t DACC_CR; /**< \brief (Dacc Offset: 0x00) Control Register */ - __IO uint32_t DACC_MR; /**< \brief (Dacc Offset: 0x04) Mode Register */ - __IO uint32_t DACC_TRIGR; /**< \brief (Dacc Offset: 0x08) Trigger Register */ - __I uint32_t Reserved1[1]; - __O uint32_t DACC_CHER; /**< \brief (Dacc Offset: 0x10) Channel Enable Register */ - __O uint32_t DACC_CHDR; /**< \brief (Dacc Offset: 0x14) Channel Disable Register */ - __I uint32_t DACC_CHSR; /**< \brief (Dacc Offset: 0x18) Channel Status Register */ - __O uint32_t DACC_CDR[2]; /**< \brief (Dacc Offset: 0x1C) Conversion Data Register */ - __O uint32_t DACC_IER; /**< \brief (Dacc Offset: 0x24) Interrupt Enable Register */ - __O uint32_t DACC_IDR; /**< \brief (Dacc Offset: 0x28) Interrupt Disable Register */ - __I uint32_t DACC_IMR; /**< \brief (Dacc Offset: 0x2C) Interrupt Mask Register */ - __I uint32_t DACC_ISR; /**< \brief (Dacc Offset: 0x30) Interrupt Status Register */ - __I uint32_t Reserved2[24]; - __IO uint32_t DACC_ACR; /**< \brief (Dacc Offset: 0x94) Analog Current Register */ - __I uint32_t Reserved3[19]; - __IO uint32_t DACC_WPMR; /**< \brief (Dacc Offset: 0xE4) Write Protection Mode register */ - __I uint32_t DACC_WPSR; /**< \brief (Dacc Offset: 0xE8) Write Protection Status register */ -} Dacc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- DACC_CR : (DACC Offset: 0x00) Control Register -------- */ -#define DACC_CR_SWRST (0x1u << 0) /**< \brief (DACC_CR) Software Reset */ -/* -------- DACC_MR : (DACC Offset: 0x04) Mode Register -------- */ -#define DACC_MR_MAXS0 (0x1u << 0) /**< \brief (DACC_MR) Max Speed Mode for Channel 0 */ -#define DACC_MR_MAXS0_TRIG_EVENT (0x0u << 0) /**< \brief (DACC_MR) Triggered by selected event */ -#define DACC_MR_MAXS0_MAXIMUM (0x1u << 0) /**< \brief (DACC_MR) Max Speed Mode enabled */ -#define DACC_MR_MAXS1 (0x1u << 1) /**< \brief (DACC_MR) Max Speed Mode for Channel 1 */ -#define DACC_MR_MAXS1_TRIG_EVENT (0x0u << 1) /**< \brief (DACC_MR) Triggered by selected event */ -#define DACC_MR_MAXS1_MAXIMUM (0x1u << 1) /**< \brief (DACC_MR) Max Speed Mode enabled */ -#define DACC_MR_WORD (0x1u << 4) /**< \brief (DACC_MR) Word Transfer Mode */ -#define DACC_MR_WORD_DISABLED (0x0u << 4) /**< \brief (DACC_MR) One data to convert is written to the FIFO per access to DACC */ -#define DACC_MR_WORD_ENABLED (0x1u << 4) /**< \brief (DACC_MR) Two data to convert are written to the FIFO per access to DACC (reduces number of requests to DMA and the number of system bus accesses) */ -#define DACC_MR_REFRESH_Pos 8 -#define DACC_MR_REFRESH_Msk (0xffu << DACC_MR_REFRESH_Pos) /**< \brief (DACC_MR) Refresh Period */ -#define DACC_MR_REFRESH(value) ((DACC_MR_REFRESH_Msk & ((value) << DACC_MR_REFRESH_Pos))) -#define DACC_MR_DIFF (0x1u << 23) /**< \brief (DACC_MR) Differential Mode */ -#define DACC_MR_DIFF_DISABLED (0x0u << 23) /**< \brief (DACC_MR) DAC0 and DAC1 outputs can be separately configured */ -#define DACC_MR_DIFF_ENABLED (0x1u << 23) /**< \brief (DACC_MR) DACP and DACN outputs are configured by the channel 0 value. */ -#define DACC_MR_PRESCALER_Pos 24 -#define DACC_MR_PRESCALER_Msk (0xfu << DACC_MR_PRESCALER_Pos) /**< \brief (DACC_MR) Peripheral Clock to DAC Clock Ratio */ -#define DACC_MR_PRESCALER(value) ((DACC_MR_PRESCALER_Msk & ((value) << DACC_MR_PRESCALER_Pos))) -/* -------- DACC_TRIGR : (DACC Offset: 0x08) Trigger Register -------- */ -#define DACC_TRIGR_TRGEN0 (0x1u << 0) /**< \brief (DACC_TRIGR) Trigger Enable of Channel 0 */ -#define DACC_TRIGR_TRGEN0_DIS (0x0u << 0) /**< \brief (DACC_TRIGR) External trigger mode disabled. DAC is in free running mode. */ -#define DACC_TRIGR_TRGEN0_EN (0x1u << 0) /**< \brief (DACC_TRIGR) External trigger mode enabled. */ -#define DACC_TRIGR_TRGEN1 (0x1u << 1) /**< \brief (DACC_TRIGR) Trigger Enable of Channel 1 */ -#define DACC_TRIGR_TRGEN1_DIS (0x0u << 1) /**< \brief (DACC_TRIGR) External trigger mode disabled. DAC is in free running mode. */ -#define DACC_TRIGR_TRGEN1_EN (0x1u << 1) /**< \brief (DACC_TRIGR) External trigger mode enabled. */ -#define DACC_TRIGR_TRGSEL0_Pos 4 -#define DACC_TRIGR_TRGSEL0_Msk (0x7u << DACC_TRIGR_TRGSEL0_Pos) /**< \brief (DACC_TRIGR) Trigger Selection of Channel 0 */ -#define DACC_TRIGR_TRGSEL0(value) ((DACC_TRIGR_TRGSEL0_Msk & ((value) << DACC_TRIGR_TRGSEL0_Pos))) -#define DACC_TRIGR_TRGSEL0_TRGSEL0 (0x0u << 4) /**< \brief (DACC_TRIGR) TC0 output */ -#define DACC_TRIGR_TRGSEL0_TRGSEL1 (0x1u << 4) /**< \brief (DACC_TRIGR) TC1 output */ -#define DACC_TRIGR_TRGSEL0_TRGSEL2 (0x2u << 4) /**< \brief (DACC_TRIGR) TC2 output */ -#define DACC_TRIGR_TRGSEL0_TRGSEL3 (0x3u << 4) /**< \brief (DACC_TRIGR) PWM0 event 0 */ -#define DACC_TRIGR_TRGSEL0_TRGSEL4 (0x4u << 4) /**< \brief (DACC_TRIGR) PWM0 event 1 */ -#define DACC_TRIGR_TRGSEL0_TRGSEL5 (0x5u << 4) /**< \brief (DACC_TRIGR) PWM1 event 0 */ -#define DACC_TRIGR_TRGSEL0_TRGSEL6 (0x6u << 4) /**< \brief (DACC_TRIGR) PWM1 event 1 */ -#define DACC_TRIGR_TRGSEL1_Pos 8 -#define DACC_TRIGR_TRGSEL1_Msk (0x7u << DACC_TRIGR_TRGSEL1_Pos) /**< \brief (DACC_TRIGR) Trigger Selection of Channel 1 */ -#define DACC_TRIGR_TRGSEL1(value) ((DACC_TRIGR_TRGSEL1_Msk & ((value) << DACC_TRIGR_TRGSEL1_Pos))) -#define DACC_TRIGR_TRGSEL1_TRGSEL0 (0x0u << 8) /**< \brief (DACC_TRIGR) TC0 output */ -#define DACC_TRIGR_TRGSEL1_TRGSEL1 (0x1u << 8) /**< \brief (DACC_TRIGR) TC1 output */ -#define DACC_TRIGR_TRGSEL1_TRGSEL2 (0x2u << 8) /**< \brief (DACC_TRIGR) TC2 output */ -#define DACC_TRIGR_TRGSEL1_TRGSEL3 (0x3u << 8) /**< \brief (DACC_TRIGR) PWM0 event 0 */ -#define DACC_TRIGR_TRGSEL1_TRGSEL4 (0x4u << 8) /**< \brief (DACC_TRIGR) PWM0 event 1 */ -#define DACC_TRIGR_TRGSEL1_TRGSEL5 (0x5u << 8) /**< \brief (DACC_TRIGR) PWM1 event 0 */ -#define DACC_TRIGR_TRGSEL1_TRGSEL6 (0x6u << 8) /**< \brief (DACC_TRIGR) PWM1 event 1 */ -#define DACC_TRIGR_OSR0_Pos 16 -#define DACC_TRIGR_OSR0_Msk (0x7u << DACC_TRIGR_OSR0_Pos) /**< \brief (DACC_TRIGR) Over Sampling Ratio of Channel 0 */ -#define DACC_TRIGR_OSR0(value) ((DACC_TRIGR_OSR0_Msk & ((value) << DACC_TRIGR_OSR0_Pos))) -#define DACC_TRIGR_OSR0_OSR_1 (0x0u << 16) /**< \brief (DACC_TRIGR) OSR = 1 */ -#define DACC_TRIGR_OSR0_OSR_2 (0x1u << 16) /**< \brief (DACC_TRIGR) OSR = 2 */ -#define DACC_TRIGR_OSR0_OSR_4 (0x2u << 16) /**< \brief (DACC_TRIGR) OSR = 4 */ -#define DACC_TRIGR_OSR0_OSR_8 (0x3u << 16) /**< \brief (DACC_TRIGR) OSR = 8 */ -#define DACC_TRIGR_OSR0_OSR_16 (0x4u << 16) /**< \brief (DACC_TRIGR) OSR = 16 */ -#define DACC_TRIGR_OSR0_OSR_32 (0x5u << 16) /**< \brief (DACC_TRIGR) OSR = 32 */ -#define DACC_TRIGR_OSR1_Pos 20 -#define DACC_TRIGR_OSR1_Msk (0x7u << DACC_TRIGR_OSR1_Pos) /**< \brief (DACC_TRIGR) Over Sampling Ratio of Channel 1 */ -#define DACC_TRIGR_OSR1(value) ((DACC_TRIGR_OSR1_Msk & ((value) << DACC_TRIGR_OSR1_Pos))) -#define DACC_TRIGR_OSR1_OSR_1 (0x0u << 20) /**< \brief (DACC_TRIGR) OSR = 1 */ -#define DACC_TRIGR_OSR1_OSR_2 (0x1u << 20) /**< \brief (DACC_TRIGR) OSR = 2 */ -#define DACC_TRIGR_OSR1_OSR_4 (0x2u << 20) /**< \brief (DACC_TRIGR) OSR = 4 */ -#define DACC_TRIGR_OSR1_OSR_8 (0x3u << 20) /**< \brief (DACC_TRIGR) OSR = 8 */ -#define DACC_TRIGR_OSR1_OSR_16 (0x4u << 20) /**< \brief (DACC_TRIGR) OSR = 16 */ -#define DACC_TRIGR_OSR1_OSR_32 (0x5u << 20) /**< \brief (DACC_TRIGR) OSR = 32 */ -/* -------- DACC_CHER : (DACC Offset: 0x10) Channel Enable Register -------- */ -#define DACC_CHER_CH0 (0x1u << 0) /**< \brief (DACC_CHER) Channel 0 Enable */ -#define DACC_CHER_CH1 (0x1u << 1) /**< \brief (DACC_CHER) Channel 1 Enable */ -/* -------- DACC_CHDR : (DACC Offset: 0x14) Channel Disable Register -------- */ -#define DACC_CHDR_CH0 (0x1u << 0) /**< \brief (DACC_CHDR) Channel 0 Disable */ -#define DACC_CHDR_CH1 (0x1u << 1) /**< \brief (DACC_CHDR) Channel 1 Disable */ -/* -------- DACC_CHSR : (DACC Offset: 0x18) Channel Status Register -------- */ -#define DACC_CHSR_CH0 (0x1u << 0) /**< \brief (DACC_CHSR) Channel 0 Status */ -#define DACC_CHSR_CH1 (0x1u << 1) /**< \brief (DACC_CHSR) Channel 1 Status */ -#define DACC_CHSR_DACRDY0 (0x1u << 8) /**< \brief (DACC_CHSR) DAC ready flag */ -#define DACC_CHSR_DACRDY1 (0x1u << 9) /**< \brief (DACC_CHSR) DAC ready flag */ -/* -------- DACC_CDR[2] : (DACC Offset: 0x1C) Conversion Data Register -------- */ -#define DACC_CDR_DATA0_Pos 0 -#define DACC_CDR_DATA0_Msk (0xffffu << DACC_CDR_DATA0_Pos) /**< \brief (DACC_CDR[2]) Data to Convert for channel 0 */ -#define DACC_CDR_DATA0(value) ((DACC_CDR_DATA0_Msk & ((value) << DACC_CDR_DATA0_Pos))) -#define DACC_CDR_DATA1_Pos 16 -#define DACC_CDR_DATA1_Msk (0xffffu << DACC_CDR_DATA1_Pos) /**< \brief (DACC_CDR[2]) Data to Convert for channel 1 */ -#define DACC_CDR_DATA1(value) ((DACC_CDR_DATA1_Msk & ((value) << DACC_CDR_DATA1_Pos))) -/* -------- DACC_IER : (DACC Offset: 0x24) Interrupt Enable Register -------- */ -#define DACC_IER_TXRDY0 (0x1u << 0) /**< \brief (DACC_IER) Transmit Ready Interrupt Enable of channel 0 */ -#define DACC_IER_TXRDY1 (0x1u << 1) /**< \brief (DACC_IER) Transmit Ready Interrupt Enable of channel 1 */ -#define DACC_IER_EOC0 (0x1u << 4) /**< \brief (DACC_IER) End of Conversion Interrupt Enable of channel 0 */ -#define DACC_IER_EOC1 (0x1u << 5) /**< \brief (DACC_IER) End of Conversion Interrupt Enable of channel 1 */ -#define DACC_IER_ENDTX0 (0x1u << 8) /**< \brief (DACC_IER) End of Transmit Buffer Interrupt Enable of channel 0 */ -#define DACC_IER_ENDTX1 (0x1u << 9) /**< \brief (DACC_IER) End of Transmit Buffer Interrupt Enable of channel 1 */ -#define DACC_IER_TXBUFE0 (0x1u << 12) /**< \brief (DACC_IER) Transmit Buffer Empty Interrupt Enable of channel 0 */ -#define DACC_IER_TXBUFE1 (0x1u << 13) /**< \brief (DACC_IER) Transmit Buffer Empty Interrupt Enable of channel 1 */ -/* -------- DACC_IDR : (DACC Offset: 0x28) Interrupt Disable Register -------- */ -#define DACC_IDR_TXRDY0 (0x1u << 0) /**< \brief (DACC_IDR) Transmit Ready Interrupt Disable of channel 0 */ -#define DACC_IDR_TXRDY1 (0x1u << 1) /**< \brief (DACC_IDR) Transmit Ready Interrupt Disable of channel 1 */ -#define DACC_IDR_EOC0 (0x1u << 4) /**< \brief (DACC_IDR) End of Conversion Interrupt Disable of channel 0 */ -#define DACC_IDR_EOC1 (0x1u << 5) /**< \brief (DACC_IDR) End of Conversion Interrupt Disable of channel 1 */ -#define DACC_IDR_ENDTX0 (0x1u << 8) /**< \brief (DACC_IDR) End of Transmit Buffer Interrupt Disable of channel 0 */ -#define DACC_IDR_ENDTX1 (0x1u << 9) /**< \brief (DACC_IDR) End of Transmit Buffer Interrupt Disable of channel 1 */ -#define DACC_IDR_TXBUFE0 (0x1u << 12) /**< \brief (DACC_IDR) Transmit Buffer Empty Interrupt Disable of channel 0 */ -#define DACC_IDR_TXBUFE1 (0x1u << 13) /**< \brief (DACC_IDR) Transmit Buffer Empty Interrupt Disable of channel 1 */ -/* -------- DACC_IMR : (DACC Offset: 0x2C) Interrupt Mask Register -------- */ -#define DACC_IMR_TXRDY0 (0x1u << 0) /**< \brief (DACC_IMR) Transmit Ready Interrupt Mask of channel 0 */ -#define DACC_IMR_TXRDY1 (0x1u << 1) /**< \brief (DACC_IMR) Transmit Ready Interrupt Mask of channel 1 */ -#define DACC_IMR_EOC0 (0x1u << 4) /**< \brief (DACC_IMR) End of Conversion Interrupt Mask of channel 0 */ -#define DACC_IMR_EOC1 (0x1u << 5) /**< \brief (DACC_IMR) End of Conversion Interrupt Mask of channel 1 */ -#define DACC_IMR_ENDTX0 (0x1u << 8) /**< \brief (DACC_IMR) End of Transmit Buffer Interrupt Mask of channel 0 */ -#define DACC_IMR_ENDTX1 (0x1u << 9) /**< \brief (DACC_IMR) End of Transmit Buffer Interrupt Mask of channel 1 */ -#define DACC_IMR_TXBUFE0 (0x1u << 12) /**< \brief (DACC_IMR) Transmit Buffer Empty Interrupt Mask of channel 0 */ -#define DACC_IMR_TXBUFE1 (0x1u << 13) /**< \brief (DACC_IMR) Transmit Buffer Empty Interrupt Mask of channel 1 */ -/* -------- DACC_ISR : (DACC Offset: 0x30) Interrupt Status Register -------- */ -#define DACC_ISR_TXRDY0 (0x1u << 0) /**< \brief (DACC_ISR) Transmit Ready Interrupt Flag of channel 0 */ -#define DACC_ISR_TXRDY1 (0x1u << 1) /**< \brief (DACC_ISR) Transmit Ready Interrupt Flag of channel 1 */ -#define DACC_ISR_EOC0 (0x1u << 4) /**< \brief (DACC_ISR) End of Conversion Interrupt Flag of channel 0 */ -#define DACC_ISR_EOC1 (0x1u << 5) /**< \brief (DACC_ISR) End of Conversion Interrupt Flag of channel 1 */ -#define DACC_ISR_ENDTX0 (0x1u << 8) /**< \brief (DACC_ISR) End of DMA Interrupt Flag of channel 0 */ -#define DACC_ISR_ENDTX1 (0x1u << 9) /**< \brief (DACC_ISR) End of DMA Interrupt Flag of channel 1 */ -#define DACC_ISR_TXBUFE0 (0x1u << 12) /**< \brief (DACC_ISR) Transmit Buffer Empty of channel 0 */ -#define DACC_ISR_TXBUFE1 (0x1u << 13) /**< \brief (DACC_ISR) Transmit Buffer Empty of channel 1 */ -/* -------- DACC_ACR : (DACC Offset: 0x94) Analog Current Register -------- */ -#define DACC_ACR_IBCTLCH0_Pos 0 -#define DACC_ACR_IBCTLCH0_Msk (0x3u << DACC_ACR_IBCTLCH0_Pos) /**< \brief (DACC_ACR) Analog Output Current Control */ -#define DACC_ACR_IBCTLCH0(value) ((DACC_ACR_IBCTLCH0_Msk & ((value) << DACC_ACR_IBCTLCH0_Pos))) -#define DACC_ACR_IBCTLCH1_Pos 2 -#define DACC_ACR_IBCTLCH1_Msk (0x3u << DACC_ACR_IBCTLCH1_Pos) /**< \brief (DACC_ACR) Analog Output Current Control */ -#define DACC_ACR_IBCTLCH1(value) ((DACC_ACR_IBCTLCH1_Msk & ((value) << DACC_ACR_IBCTLCH1_Pos))) -/* -------- DACC_WPMR : (DACC Offset: 0xE4) Write Protection Mode register -------- */ -#define DACC_WPMR_WPEN (0x1u << 0) /**< \brief (DACC_WPMR) Write Protection Enable */ -#define DACC_WPMR_WPKEY_Pos 8 -#define DACC_WPMR_WPKEY_Msk (0xffffffu << DACC_WPMR_WPKEY_Pos) /**< \brief (DACC_WPMR) Write Protect Key */ -#define DACC_WPMR_WPKEY(value) ((DACC_WPMR_WPKEY_Msk & ((value) << DACC_WPMR_WPKEY_Pos))) -#define DACC_WPMR_WPKEY_PASSWD (0x444143u << 8) /**< \brief (DACC_WPMR) Writing any other value in this field aborts the write operation of bit WPEN.Always reads as 0. */ -/* -------- DACC_WPSR : (DACC Offset: 0xE8) Write Protection Status register -------- */ -#define DACC_WPSR_WPVS (0x1u << 0) /**< \brief (DACC_WPSR) Write Protection Violation Status */ -#define DACC_WPSR_WPVSRC_Pos 8 -#define DACC_WPSR_WPVSRC_Msk (0xffu << DACC_WPSR_WPVSRC_Pos) /**< \brief (DACC_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_DACC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h deleted file mode 100644 index e316688..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h +++ /dev/null @@ -1,133 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_EFC_COMPONENT_ -#define _SAMS70_EFC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Embedded Flash Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_EFC Embedded Flash Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Efc hardware registers */ -typedef struct { - __IO uint32_t EEFC_FMR; /**< \brief (Efc Offset: 0x00) EEFC Flash Mode Register */ - __O uint32_t EEFC_FCR; /**< \brief (Efc Offset: 0x04) EEFC Flash Command Register */ - __I uint32_t EEFC_FSR; /**< \brief (Efc Offset: 0x08) EEFC Flash Status Register */ - __I uint32_t EEFC_FRR; /**< \brief (Efc Offset: 0x0C) EEFC Flash Result Register */ - __I uint32_t Reserved1[1]; - __I uint32_t EEFC_VERSION; /**< \brief (Efc Offset: 0x14) EEFC Version Register */ - __I uint32_t Reserved2[51]; - __IO uint32_t EEFC_WPMR; /**< \brief (Efc Offset: 0xE4) Write Protection Mode Register */ -} Efc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- EEFC_FMR : (EFC Offset: 0x00) EEFC Flash Mode Register -------- */ -#define EEFC_FMR_FRDY (0x1u << 0) /**< \brief (EEFC_FMR) Flash Ready Interrupt Enable */ -#define EEFC_FMR_FWS_Pos 8 -#define EEFC_FMR_FWS_Msk (0xfu << EEFC_FMR_FWS_Pos) /**< \brief (EEFC_FMR) Flash Wait State */ -#define EEFC_FMR_FWS(value) ((EEFC_FMR_FWS_Msk & ((value) << EEFC_FMR_FWS_Pos))) -#define EEFC_FMR_SCOD (0x1u << 16) /**< \brief (EEFC_FMR) Sequential Code Optimization Disable */ -#define EEFC_FMR_CLOE (0x1u << 26) /**< \brief (EEFC_FMR) Code Loop Optimization Enable */ -/* -------- EEFC_FCR : (EFC Offset: 0x04) EEFC Flash Command Register -------- */ -#define EEFC_FCR_FCMD_Pos 0 -#define EEFC_FCR_FCMD_Msk (0xffu << EEFC_FCR_FCMD_Pos) /**< \brief (EEFC_FCR) Flash Command */ -#define EEFC_FCR_FCMD(value) ((EEFC_FCR_FCMD_Msk & ((value) << EEFC_FCR_FCMD_Pos))) -#define EEFC_FCR_FCMD_GETD (0x0u << 0) /**< \brief (EEFC_FCR) Get Flash descriptor */ -#define EEFC_FCR_FCMD_WP (0x1u << 0) /**< \brief (EEFC_FCR) Write page */ -#define EEFC_FCR_FCMD_WPL (0x2u << 0) /**< \brief (EEFC_FCR) Write page and lock */ -#define EEFC_FCR_FCMD_EWP (0x3u << 0) /**< \brief (EEFC_FCR) Erase page and write page */ -#define EEFC_FCR_FCMD_EWPL (0x4u << 0) /**< \brief (EEFC_FCR) Erase page and write page then lock */ -#define EEFC_FCR_FCMD_EA (0x5u << 0) /**< \brief (EEFC_FCR) Erase all */ -#define EEFC_FCR_FCMD_EPA (0x7u << 0) /**< \brief (EEFC_FCR) Erase pages */ -#define EEFC_FCR_FCMD_SLB (0x8u << 0) /**< \brief (EEFC_FCR) Set lock bit */ -#define EEFC_FCR_FCMD_CLB (0x9u << 0) /**< \brief (EEFC_FCR) Clear lock bit */ -#define EEFC_FCR_FCMD_GLB (0xAu << 0) /**< \brief (EEFC_FCR) Get lock bit */ -#define EEFC_FCR_FCMD_SGPB (0xBu << 0) /**< \brief (EEFC_FCR) Set GPNVM bit */ -#define EEFC_FCR_FCMD_CGPB (0xCu << 0) /**< \brief (EEFC_FCR) Clear GPNVM bit */ -#define EEFC_FCR_FCMD_GGPB (0xDu << 0) /**< \brief (EEFC_FCR) Get GPNVM bit */ -#define EEFC_FCR_FCMD_STUI (0xEu << 0) /**< \brief (EEFC_FCR) Start read unique identifier */ -#define EEFC_FCR_FCMD_SPUI (0xFu << 0) /**< \brief (EEFC_FCR) Stop read unique identifier */ -#define EEFC_FCR_FCMD_GCALB (0x10u << 0) /**< \brief (EEFC_FCR) Get CALIB bit */ -#define EEFC_FCR_FCMD_ES (0x11u << 0) /**< \brief (EEFC_FCR) Erase sector */ -#define EEFC_FCR_FCMD_WUS (0x12u << 0) /**< \brief (EEFC_FCR) Write user signature */ -#define EEFC_FCR_FCMD_EUS (0x13u << 0) /**< \brief (EEFC_FCR) Erase user signature */ -#define EEFC_FCR_FCMD_STUS (0x14u << 0) /**< \brief (EEFC_FCR) Start read user signature */ -#define EEFC_FCR_FCMD_SPUS (0x15u << 0) /**< \brief (EEFC_FCR) Stop read user signature */ -#define EEFC_FCR_FARG_Pos 8 -#define EEFC_FCR_FARG_Msk (0xffffu << EEFC_FCR_FARG_Pos) /**< \brief (EEFC_FCR) Flash Command Argument */ -#define EEFC_FCR_FARG(value) ((EEFC_FCR_FARG_Msk & ((value) << EEFC_FCR_FARG_Pos))) -#define EEFC_FCR_FKEY_Pos 24 -#define EEFC_FCR_FKEY_Msk (0xffu << EEFC_FCR_FKEY_Pos) /**< \brief (EEFC_FCR) Flash Writing Protection Key */ -#define EEFC_FCR_FKEY(value) ((EEFC_FCR_FKEY_Msk & ((value) << EEFC_FCR_FKEY_Pos))) -#define EEFC_FCR_FKEY_PASSWD (0x5Au << 24) /**< \brief (EEFC_FCR) The 0x5A value enables the command defined by the bits of the register. If the field is written with a different value, the write is not performed and no action is started. */ -/* -------- EEFC_FSR : (EFC Offset: 0x08) EEFC Flash Status Register -------- */ -#define EEFC_FSR_FRDY (0x1u << 0) /**< \brief (EEFC_FSR) Flash Ready Status (cleared when Flash is busy) */ -#define EEFC_FSR_FCMDE (0x1u << 1) /**< \brief (EEFC_FSR) Flash Command Error Status (cleared on read or by writing EEFC_FCR) */ -#define EEFC_FSR_FLOCKE (0x1u << 2) /**< \brief (EEFC_FSR) Flash Lock Error Status (cleared on read) */ -#define EEFC_FSR_FLERR (0x1u << 3) /**< \brief (EEFC_FSR) Flash Error Status (cleared when a programming operation starts) */ -#define EEFC_FSR_UECCELSB (0x1u << 16) /**< \brief (EEFC_FSR) Unique ECC Error on LSB Part of the Memory Flash Data Bus (cleared on read) */ -#define EEFC_FSR_MECCELSB (0x1u << 17) /**< \brief (EEFC_FSR) Multiple ECC Error on LSB Part of the Memory Flash Data Bus (cleared on read) */ -#define EEFC_FSR_UECCEMSB (0x1u << 18) /**< \brief (EEFC_FSR) Unique ECC Error on MSB Part of the Memory Flash Data Bus (cleared on read) */ -#define EEFC_FSR_MECCEMSB (0x1u << 19) /**< \brief (EEFC_FSR) Multiple ECC Error on MSB Part of the Memory Flash Data Bus (cleared on read) */ -/* -------- EEFC_FRR : (EFC Offset: 0x0C) EEFC Flash Result Register -------- */ -#define EEFC_FRR_FVALUE_Pos 0 -#define EEFC_FRR_FVALUE_Msk (0xffffffffu << EEFC_FRR_FVALUE_Pos) /**< \brief (EEFC_FRR) Flash Result Value */ -/* -------- EEFC_VERSION : (EFC Offset: 0x14) EEFC Version Register -------- */ -#define EEFC_VERSION_VERSION_Pos 0 -#define EEFC_VERSION_VERSION_Msk (0xfffu << EEFC_VERSION_VERSION_Pos) /**< \brief (EEFC_VERSION) Version of the Hardware Module */ -#define EEFC_VERSION_MFN_Pos 16 -#define EEFC_VERSION_MFN_Msk (0x7u << EEFC_VERSION_MFN_Pos) /**< \brief (EEFC_VERSION) Metal Fix Number */ -/* -------- EEFC_WPMR : (EFC Offset: 0xE4) Write Protection Mode Register -------- */ -#define EEFC_WPMR_WPEN (0x1u << 0) /**< \brief (EEFC_WPMR) Write Protection Enable */ -#define EEFC_WPMR_WPKEY_Pos 8 -#define EEFC_WPMR_WPKEY_Msk (0xffffffu << EEFC_WPMR_WPKEY_Pos) /**< \brief (EEFC_WPMR) Write Protection Key */ -#define EEFC_WPMR_WPKEY(value) ((EEFC_WPMR_WPKEY_Msk & ((value) << EEFC_WPMR_WPKEY_Pos))) -#define EEFC_WPMR_WPKEY_PASSWD (0x454643u << 8) /**< \brief (EEFC_WPMR) Writing any other value in this field aborts the write operation.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_EFC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h deleted file mode 100644 index 21de664..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h +++ /dev/null @@ -1,68 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_GPBR_COMPONENT_ -#define _SAMS70_GPBR_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR General Purpose Backup Registers */ -/* ============================================================================= */ -/** \addtogroup SAMS70_GPBR General Purpose Backup Registers */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Gpbr hardware registers */ -typedef struct { - __IO uint32_t SYS_GPBR[8]; /**< \brief (Gpbr Offset: 0x0) General Purpose Backup Register */ -} Gpbr; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SYS_GPBR[8] : (GPBR Offset: 0x0) General Purpose Backup Register -------- */ -#define SYS_GPBR_GPBR_VALUE_Pos 0 -#define SYS_GPBR_GPBR_VALUE_Msk (0xffffffffu << SYS_GPBR_GPBR_VALUE_Pos) /**< \brief (SYS_GPBR[8]) Value of GPBR x */ -#define SYS_GPBR_GPBR_VALUE(value) ((SYS_GPBR_GPBR_VALUE_Msk & ((value) << SYS_GPBR_GPBR_VALUE_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_GPBR_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h deleted file mode 100644 index ef86451..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h +++ /dev/null @@ -1,350 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_HSMCI_COMPONENT_ -#define _SAMS70_HSMCI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR High Speed MultiMedia Card Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_HSMCI High Speed MultiMedia Card Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Hsmci hardware registers */ -typedef struct { - __O uint32_t HSMCI_CR; /**< \brief (Hsmci Offset: 0x00) Control Register */ - __IO uint32_t HSMCI_MR; /**< \brief (Hsmci Offset: 0x04) Mode Register */ - __IO uint32_t HSMCI_DTOR; /**< \brief (Hsmci Offset: 0x08) Data Timeout Register */ - __IO uint32_t HSMCI_SDCR; /**< \brief (Hsmci Offset: 0x0C) SD/SDIO Card Register */ - __IO uint32_t HSMCI_ARGR; /**< \brief (Hsmci Offset: 0x10) Argument Register */ - __O uint32_t HSMCI_CMDR; /**< \brief (Hsmci Offset: 0x14) Command Register */ - __IO uint32_t HSMCI_BLKR; /**< \brief (Hsmci Offset: 0x18) Block Register */ - __IO uint32_t HSMCI_CSTOR; /**< \brief (Hsmci Offset: 0x1C) Completion Signal Timeout Register */ - __I uint32_t HSMCI_RSPR[4]; /**< \brief (Hsmci Offset: 0x20) Response Register */ - __I uint32_t HSMCI_RDR; /**< \brief (Hsmci Offset: 0x30) Receive Data Register */ - __O uint32_t HSMCI_TDR; /**< \brief (Hsmci Offset: 0x34) Transmit Data Register */ - __I uint32_t Reserved1[2]; - __I uint32_t HSMCI_SR; /**< \brief (Hsmci Offset: 0x40) Status Register */ - __O uint32_t HSMCI_IER; /**< \brief (Hsmci Offset: 0x44) Interrupt Enable Register */ - __O uint32_t HSMCI_IDR; /**< \brief (Hsmci Offset: 0x48) Interrupt Disable Register */ - __I uint32_t HSMCI_IMR; /**< \brief (Hsmci Offset: 0x4C) Interrupt Mask Register */ - __IO uint32_t HSMCI_DMA; /**< \brief (Hsmci Offset: 0x50) DMA Configuration Register */ - __IO uint32_t HSMCI_CFG; /**< \brief (Hsmci Offset: 0x54) Configuration Register */ - __I uint32_t Reserved2[35]; - __IO uint32_t HSMCI_WPMR; /**< \brief (Hsmci Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t HSMCI_WPSR; /**< \brief (Hsmci Offset: 0xE8) Write Protection Status Register */ - __I uint32_t Reserved3[69]; - __IO uint32_t HSMCI_FIFO[256]; /**< \brief (Hsmci Offset: 0x200) FIFO Memory Aperture0 */ -} Hsmci; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- HSMCI_CR : (HSMCI Offset: 0x00) Control Register -------- */ -#define HSMCI_CR_MCIEN (0x1u << 0) /**< \brief (HSMCI_CR) Multi-Media Interface Enable */ -#define HSMCI_CR_MCIDIS (0x1u << 1) /**< \brief (HSMCI_CR) Multi-Media Interface Disable */ -#define HSMCI_CR_PWSEN (0x1u << 2) /**< \brief (HSMCI_CR) Power Save Mode Enable */ -#define HSMCI_CR_PWSDIS (0x1u << 3) /**< \brief (HSMCI_CR) Power Save Mode Disable */ -#define HSMCI_CR_SWRST (0x1u << 7) /**< \brief (HSMCI_CR) Software Reset */ -/* -------- HSMCI_MR : (HSMCI Offset: 0x04) Mode Register -------- */ -#define HSMCI_MR_CLKDIV_Pos 0 -#define HSMCI_MR_CLKDIV_Msk (0xffu << HSMCI_MR_CLKDIV_Pos) /**< \brief (HSMCI_MR) Clock Divider */ -#define HSMCI_MR_CLKDIV(value) ((HSMCI_MR_CLKDIV_Msk & ((value) << HSMCI_MR_CLKDIV_Pos))) -#define HSMCI_MR_PWSDIV_Pos 8 -#define HSMCI_MR_PWSDIV_Msk (0x7u << HSMCI_MR_PWSDIV_Pos) /**< \brief (HSMCI_MR) Power Saving Divider */ -#define HSMCI_MR_PWSDIV(value) ((HSMCI_MR_PWSDIV_Msk & ((value) << HSMCI_MR_PWSDIV_Pos))) -#define HSMCI_MR_RDPROOF (0x1u << 11) /**< \brief (HSMCI_MR) Read Proof Enable */ -#define HSMCI_MR_WRPROOF (0x1u << 12) /**< \brief (HSMCI_MR) Write Proof Enable */ -#define HSMCI_MR_FBYTE (0x1u << 13) /**< \brief (HSMCI_MR) Force Byte Transfer */ -#define HSMCI_MR_PADV (0x1u << 14) /**< \brief (HSMCI_MR) Padding Value */ -#define HSMCI_MR_CLKODD (0x1u << 16) /**< \brief (HSMCI_MR) Clock divider is odd */ -/* -------- HSMCI_DTOR : (HSMCI Offset: 0x08) Data Timeout Register -------- */ -#define HSMCI_DTOR_DTOCYC_Pos 0 -#define HSMCI_DTOR_DTOCYC_Msk (0xfu << HSMCI_DTOR_DTOCYC_Pos) /**< \brief (HSMCI_DTOR) Data Timeout Cycle Number */ -#define HSMCI_DTOR_DTOCYC(value) ((HSMCI_DTOR_DTOCYC_Msk & ((value) << HSMCI_DTOR_DTOCYC_Pos))) -#define HSMCI_DTOR_DTOMUL_Pos 4 -#define HSMCI_DTOR_DTOMUL_Msk (0x7u << HSMCI_DTOR_DTOMUL_Pos) /**< \brief (HSMCI_DTOR) Data Timeout Multiplier */ -#define HSMCI_DTOR_DTOMUL(value) ((HSMCI_DTOR_DTOMUL_Msk & ((value) << HSMCI_DTOR_DTOMUL_Pos))) -#define HSMCI_DTOR_DTOMUL_1 (0x0u << 4) /**< \brief (HSMCI_DTOR) DTOCYC */ -#define HSMCI_DTOR_DTOMUL_16 (0x1u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 16 */ -#define HSMCI_DTOR_DTOMUL_128 (0x2u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 128 */ -#define HSMCI_DTOR_DTOMUL_256 (0x3u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 256 */ -#define HSMCI_DTOR_DTOMUL_1024 (0x4u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 1024 */ -#define HSMCI_DTOR_DTOMUL_4096 (0x5u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 4096 */ -#define HSMCI_DTOR_DTOMUL_65536 (0x6u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 65536 */ -#define HSMCI_DTOR_DTOMUL_1048576 (0x7u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 1048576 */ -/* -------- HSMCI_SDCR : (HSMCI Offset: 0x0C) SD/SDIO Card Register -------- */ -#define HSMCI_SDCR_SDCSEL_Pos 0 -#define HSMCI_SDCR_SDCSEL_Msk (0x3u << HSMCI_SDCR_SDCSEL_Pos) /**< \brief (HSMCI_SDCR) SDCard/SDIO Slot */ -#define HSMCI_SDCR_SDCSEL(value) ((HSMCI_SDCR_SDCSEL_Msk & ((value) << HSMCI_SDCR_SDCSEL_Pos))) -#define HSMCI_SDCR_SDCSEL_SLOTA (0x0u << 0) /**< \brief (HSMCI_SDCR) Slot A is selected. */ -#define HSMCI_SDCR_SDCBUS_Pos 6 -#define HSMCI_SDCR_SDCBUS_Msk (0x3u << HSMCI_SDCR_SDCBUS_Pos) /**< \brief (HSMCI_SDCR) SDCard/SDIO Bus Width */ -#define HSMCI_SDCR_SDCBUS(value) ((HSMCI_SDCR_SDCBUS_Msk & ((value) << HSMCI_SDCR_SDCBUS_Pos))) -#define HSMCI_SDCR_SDCBUS_1 (0x0u << 6) /**< \brief (HSMCI_SDCR) 1 bit */ -#define HSMCI_SDCR_SDCBUS_4 (0x2u << 6) /**< \brief (HSMCI_SDCR) 4 bits */ -#define HSMCI_SDCR_SDCBUS_8 (0x3u << 6) /**< \brief (HSMCI_SDCR) 8 bits */ -/* -------- HSMCI_ARGR : (HSMCI Offset: 0x10) Argument Register -------- */ -#define HSMCI_ARGR_ARG_Pos 0 -#define HSMCI_ARGR_ARG_Msk (0xffffffffu << HSMCI_ARGR_ARG_Pos) /**< \brief (HSMCI_ARGR) Command Argument */ -#define HSMCI_ARGR_ARG(value) ((HSMCI_ARGR_ARG_Msk & ((value) << HSMCI_ARGR_ARG_Pos))) -/* -------- HSMCI_CMDR : (HSMCI Offset: 0x14) Command Register -------- */ -#define HSMCI_CMDR_CMDNB_Pos 0 -#define HSMCI_CMDR_CMDNB_Msk (0x3fu << HSMCI_CMDR_CMDNB_Pos) /**< \brief (HSMCI_CMDR) Command Number */ -#define HSMCI_CMDR_CMDNB(value) ((HSMCI_CMDR_CMDNB_Msk & ((value) << HSMCI_CMDR_CMDNB_Pos))) -#define HSMCI_CMDR_RSPTYP_Pos 6 -#define HSMCI_CMDR_RSPTYP_Msk (0x3u << HSMCI_CMDR_RSPTYP_Pos) /**< \brief (HSMCI_CMDR) Response Type */ -#define HSMCI_CMDR_RSPTYP(value) ((HSMCI_CMDR_RSPTYP_Msk & ((value) << HSMCI_CMDR_RSPTYP_Pos))) -#define HSMCI_CMDR_RSPTYP_NORESP (0x0u << 6) /**< \brief (HSMCI_CMDR) No response */ -#define HSMCI_CMDR_RSPTYP_48_BIT (0x1u << 6) /**< \brief (HSMCI_CMDR) 48-bit response */ -#define HSMCI_CMDR_RSPTYP_136_BIT (0x2u << 6) /**< \brief (HSMCI_CMDR) 136-bit response */ -#define HSMCI_CMDR_RSPTYP_R1B (0x3u << 6) /**< \brief (HSMCI_CMDR) R1b response type */ -#define HSMCI_CMDR_SPCMD_Pos 8 -#define HSMCI_CMDR_SPCMD_Msk (0x7u << HSMCI_CMDR_SPCMD_Pos) /**< \brief (HSMCI_CMDR) Special Command */ -#define HSMCI_CMDR_SPCMD(value) ((HSMCI_CMDR_SPCMD_Msk & ((value) << HSMCI_CMDR_SPCMD_Pos))) -#define HSMCI_CMDR_SPCMD_STD (0x0u << 8) /**< \brief (HSMCI_CMDR) Not a special CMD. */ -#define HSMCI_CMDR_SPCMD_INIT (0x1u << 8) /**< \brief (HSMCI_CMDR) Initialization CMD: 74 clock cycles for initialization sequence. */ -#define HSMCI_CMDR_SPCMD_SYNC (0x2u << 8) /**< \brief (HSMCI_CMDR) Synchronized CMD: Wait for the end of the current data block transfer before sending the pending command. */ -#define HSMCI_CMDR_SPCMD_CE_ATA (0x3u << 8) /**< \brief (HSMCI_CMDR) CE-ATA Completion Signal disable Command. The host cancels the ability for the device to return a command completion signal on the command line. */ -#define HSMCI_CMDR_SPCMD_IT_CMD (0x4u << 8) /**< \brief (HSMCI_CMDR) Interrupt command: Corresponds to the Interrupt Mode (CMD40). */ -#define HSMCI_CMDR_SPCMD_IT_RESP (0x5u << 8) /**< \brief (HSMCI_CMDR) Interrupt response: Corresponds to the Interrupt Mode (CMD40). */ -#define HSMCI_CMDR_SPCMD_BOR (0x6u << 8) /**< \brief (HSMCI_CMDR) Boot Operation Request. Start a boot operation mode, the host processor can read boot data from the MMC device directly. */ -#define HSMCI_CMDR_SPCMD_EBO (0x7u << 8) /**< \brief (HSMCI_CMDR) End Boot Operation. This command allows the host processor to terminate the boot operation mode. */ -#define HSMCI_CMDR_OPDCMD (0x1u << 11) /**< \brief (HSMCI_CMDR) Open Drain Command */ -#define HSMCI_CMDR_OPDCMD_PUSHPULL (0x0u << 11) /**< \brief (HSMCI_CMDR) Push pull command. */ -#define HSMCI_CMDR_OPDCMD_OPENDRAIN (0x1u << 11) /**< \brief (HSMCI_CMDR) Open drain command. */ -#define HSMCI_CMDR_MAXLAT (0x1u << 12) /**< \brief (HSMCI_CMDR) Max Latency for Command to Response */ -#define HSMCI_CMDR_MAXLAT_5 (0x0u << 12) /**< \brief (HSMCI_CMDR) 5-cycle max latency. */ -#define HSMCI_CMDR_MAXLAT_64 (0x1u << 12) /**< \brief (HSMCI_CMDR) 64-cycle max latency. */ -#define HSMCI_CMDR_TRCMD_Pos 16 -#define HSMCI_CMDR_TRCMD_Msk (0x3u << HSMCI_CMDR_TRCMD_Pos) /**< \brief (HSMCI_CMDR) Transfer Command */ -#define HSMCI_CMDR_TRCMD(value) ((HSMCI_CMDR_TRCMD_Msk & ((value) << HSMCI_CMDR_TRCMD_Pos))) -#define HSMCI_CMDR_TRCMD_NO_DATA (0x0u << 16) /**< \brief (HSMCI_CMDR) No data transfer */ -#define HSMCI_CMDR_TRCMD_START_DATA (0x1u << 16) /**< \brief (HSMCI_CMDR) Start data transfer */ -#define HSMCI_CMDR_TRCMD_STOP_DATA (0x2u << 16) /**< \brief (HSMCI_CMDR) Stop data transfer */ -#define HSMCI_CMDR_TRDIR (0x1u << 18) /**< \brief (HSMCI_CMDR) Transfer Direction */ -#define HSMCI_CMDR_TRDIR_WRITE (0x0u << 18) /**< \brief (HSMCI_CMDR) Write. */ -#define HSMCI_CMDR_TRDIR_READ (0x1u << 18) /**< \brief (HSMCI_CMDR) Read. */ -#define HSMCI_CMDR_TRTYP_Pos 19 -#define HSMCI_CMDR_TRTYP_Msk (0x7u << HSMCI_CMDR_TRTYP_Pos) /**< \brief (HSMCI_CMDR) Transfer Type */ -#define HSMCI_CMDR_TRTYP(value) ((HSMCI_CMDR_TRTYP_Msk & ((value) << HSMCI_CMDR_TRTYP_Pos))) -#define HSMCI_CMDR_TRTYP_SINGLE (0x0u << 19) /**< \brief (HSMCI_CMDR) MMC/SD Card Single Block */ -#define HSMCI_CMDR_TRTYP_MULTIPLE (0x1u << 19) /**< \brief (HSMCI_CMDR) MMC/SD Card Multiple Block */ -#define HSMCI_CMDR_TRTYP_STREAM (0x2u << 19) /**< \brief (HSMCI_CMDR) MMC Stream */ -#define HSMCI_CMDR_TRTYP_BYTE (0x4u << 19) /**< \brief (HSMCI_CMDR) SDIO Byte */ -#define HSMCI_CMDR_TRTYP_BLOCK (0x5u << 19) /**< \brief (HSMCI_CMDR) SDIO Block */ -#define HSMCI_CMDR_IOSPCMD_Pos 24 -#define HSMCI_CMDR_IOSPCMD_Msk (0x3u << HSMCI_CMDR_IOSPCMD_Pos) /**< \brief (HSMCI_CMDR) SDIO Special Command */ -#define HSMCI_CMDR_IOSPCMD(value) ((HSMCI_CMDR_IOSPCMD_Msk & ((value) << HSMCI_CMDR_IOSPCMD_Pos))) -#define HSMCI_CMDR_IOSPCMD_STD (0x0u << 24) /**< \brief (HSMCI_CMDR) Not an SDIO Special Command */ -#define HSMCI_CMDR_IOSPCMD_SUSPEND (0x1u << 24) /**< \brief (HSMCI_CMDR) SDIO Suspend Command */ -#define HSMCI_CMDR_IOSPCMD_RESUME (0x2u << 24) /**< \brief (HSMCI_CMDR) SDIO Resume Command */ -#define HSMCI_CMDR_ATACS (0x1u << 26) /**< \brief (HSMCI_CMDR) ATA with Command Completion Signal */ -#define HSMCI_CMDR_ATACS_NORMAL (0x0u << 26) /**< \brief (HSMCI_CMDR) Normal operation mode. */ -#define HSMCI_CMDR_ATACS_COMPLETION (0x1u << 26) /**< \brief (HSMCI_CMDR) This bit indicates that a completion signal is expected within a programmed amount of time (HSMCI_CSTOR). */ -#define HSMCI_CMDR_BOOT_ACK (0x1u << 27) /**< \brief (HSMCI_CMDR) Boot Operation Acknowledge */ -/* -------- HSMCI_BLKR : (HSMCI Offset: 0x18) Block Register -------- */ -#define HSMCI_BLKR_BCNT_Pos 0 -#define HSMCI_BLKR_BCNT_Msk (0xffffu << HSMCI_BLKR_BCNT_Pos) /**< \brief (HSMCI_BLKR) MMC/SDIO Block Count - SDIO Byte Count */ -#define HSMCI_BLKR_BCNT(value) ((HSMCI_BLKR_BCNT_Msk & ((value) << HSMCI_BLKR_BCNT_Pos))) -#define HSMCI_BLKR_BLKLEN_Pos 16 -#define HSMCI_BLKR_BLKLEN_Msk (0xffffu << HSMCI_BLKR_BLKLEN_Pos) /**< \brief (HSMCI_BLKR) Data Block Length */ -#define HSMCI_BLKR_BLKLEN(value) ((HSMCI_BLKR_BLKLEN_Msk & ((value) << HSMCI_BLKR_BLKLEN_Pos))) -/* -------- HSMCI_CSTOR : (HSMCI Offset: 0x1C) Completion Signal Timeout Register -------- */ -#define HSMCI_CSTOR_CSTOCYC_Pos 0 -#define HSMCI_CSTOR_CSTOCYC_Msk (0xfu << HSMCI_CSTOR_CSTOCYC_Pos) /**< \brief (HSMCI_CSTOR) Completion Signal Timeout Cycle Number */ -#define HSMCI_CSTOR_CSTOCYC(value) ((HSMCI_CSTOR_CSTOCYC_Msk & ((value) << HSMCI_CSTOR_CSTOCYC_Pos))) -#define HSMCI_CSTOR_CSTOMUL_Pos 4 -#define HSMCI_CSTOR_CSTOMUL_Msk (0x7u << HSMCI_CSTOR_CSTOMUL_Pos) /**< \brief (HSMCI_CSTOR) Completion Signal Timeout Multiplier */ -#define HSMCI_CSTOR_CSTOMUL(value) ((HSMCI_CSTOR_CSTOMUL_Msk & ((value) << HSMCI_CSTOR_CSTOMUL_Pos))) -#define HSMCI_CSTOR_CSTOMUL_1 (0x0u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 1 */ -#define HSMCI_CSTOR_CSTOMUL_16 (0x1u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 16 */ -#define HSMCI_CSTOR_CSTOMUL_128 (0x2u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 128 */ -#define HSMCI_CSTOR_CSTOMUL_256 (0x3u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 256 */ -#define HSMCI_CSTOR_CSTOMUL_1024 (0x4u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 1024 */ -#define HSMCI_CSTOR_CSTOMUL_4096 (0x5u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 4096 */ -#define HSMCI_CSTOR_CSTOMUL_65536 (0x6u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 65536 */ -#define HSMCI_CSTOR_CSTOMUL_1048576 (0x7u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 1048576 */ -/* -------- HSMCI_RSPR[4] : (HSMCI Offset: 0x20) Response Register -------- */ -#define HSMCI_RSPR_RSP_Pos 0 -#define HSMCI_RSPR_RSP_Msk (0xffffffffu << HSMCI_RSPR_RSP_Pos) /**< \brief (HSMCI_RSPR[4]) Response */ -/* -------- HSMCI_RDR : (HSMCI Offset: 0x30) Receive Data Register -------- */ -#define HSMCI_RDR_DATA_Pos 0 -#define HSMCI_RDR_DATA_Msk (0xffffffffu << HSMCI_RDR_DATA_Pos) /**< \brief (HSMCI_RDR) Data to Read */ -/* -------- HSMCI_TDR : (HSMCI Offset: 0x34) Transmit Data Register -------- */ -#define HSMCI_TDR_DATA_Pos 0 -#define HSMCI_TDR_DATA_Msk (0xffffffffu << HSMCI_TDR_DATA_Pos) /**< \brief (HSMCI_TDR) Data to Write */ -#define HSMCI_TDR_DATA(value) ((HSMCI_TDR_DATA_Msk & ((value) << HSMCI_TDR_DATA_Pos))) -/* -------- HSMCI_SR : (HSMCI Offset: 0x40) Status Register -------- */ -#define HSMCI_SR_CMDRDY (0x1u << 0) /**< \brief (HSMCI_SR) Command Ready (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RXRDY (0x1u << 1) /**< \brief (HSMCI_SR) Receiver Ready (cleared by reading HSMCI_RDR) */ -#define HSMCI_SR_TXRDY (0x1u << 2) /**< \brief (HSMCI_SR) Transmit Ready (cleared by writing in HSMCI_TDR) */ -#define HSMCI_SR_BLKE (0x1u << 3) /**< \brief (HSMCI_SR) Data Block Ended (cleared on read) */ -#define HSMCI_SR_DTIP (0x1u << 4) /**< \brief (HSMCI_SR) Data Transfer in Progress (cleared at the end of CRC16 calculation) */ -#define HSMCI_SR_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_SR) HSMCI Not Busy */ -#define HSMCI_SR_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_SR) SDIO Interrupt for Slot A (cleared on read) */ -#define HSMCI_SR_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_SR) SDIO Read Wait Operation Status */ -#define HSMCI_SR_CSRCV (0x1u << 13) /**< \brief (HSMCI_SR) CE-ATA Completion Signal Received (cleared on read) */ -#define HSMCI_SR_RINDE (0x1u << 16) /**< \brief (HSMCI_SR) Response Index Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RDIRE (0x1u << 17) /**< \brief (HSMCI_SR) Response Direction Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RCRCE (0x1u << 18) /**< \brief (HSMCI_SR) Response CRC Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RENDE (0x1u << 19) /**< \brief (HSMCI_SR) Response End Bit Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RTOE (0x1u << 20) /**< \brief (HSMCI_SR) Response Time-out Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_DCRCE (0x1u << 21) /**< \brief (HSMCI_SR) Data CRC Error (cleared on read) */ -#define HSMCI_SR_DTOE (0x1u << 22) /**< \brief (HSMCI_SR) Data Time-out Error (cleared on read) */ -#define HSMCI_SR_CSTOE (0x1u << 23) /**< \brief (HSMCI_SR) Completion Signal Time-out Error (cleared on read) */ -#define HSMCI_SR_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_SR) DMA Block Overrun Error (cleared on read) */ -#define HSMCI_SR_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_SR) FIFO empty flag */ -#define HSMCI_SR_XFRDONE (0x1u << 27) /**< \brief (HSMCI_SR) Transfer Done flag */ -#define HSMCI_SR_ACKRCV (0x1u << 28) /**< \brief (HSMCI_SR) Boot Operation Acknowledge Received (cleared on read) */ -#define HSMCI_SR_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_SR) Boot Operation Acknowledge Error (cleared on read) */ -#define HSMCI_SR_OVRE (0x1u << 30) /**< \brief (HSMCI_SR) Overrun (if FERRCTRL = 1, cleared by writing in HSMCI_CMDR or cleared on read if FERRCTRL = 0) */ -#define HSMCI_SR_UNRE (0x1u << 31) /**< \brief (HSMCI_SR) Underrun (if FERRCTRL = 1, cleared by writing in HSMCI_CMDR or cleared on read if FERRCTRL = 0) */ -/* -------- HSMCI_IER : (HSMCI Offset: 0x44) Interrupt Enable Register -------- */ -#define HSMCI_IER_CMDRDY (0x1u << 0) /**< \brief (HSMCI_IER) Command Ready Interrupt Enable */ -#define HSMCI_IER_RXRDY (0x1u << 1) /**< \brief (HSMCI_IER) Receiver Ready Interrupt Enable */ -#define HSMCI_IER_TXRDY (0x1u << 2) /**< \brief (HSMCI_IER) Transmit Ready Interrupt Enable */ -#define HSMCI_IER_BLKE (0x1u << 3) /**< \brief (HSMCI_IER) Data Block Ended Interrupt Enable */ -#define HSMCI_IER_DTIP (0x1u << 4) /**< \brief (HSMCI_IER) Data Transfer in Progress Interrupt Enable */ -#define HSMCI_IER_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_IER) Data Not Busy Interrupt Enable */ -#define HSMCI_IER_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_IER) SDIO Interrupt for Slot A Interrupt Enable */ -#define HSMCI_IER_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_IER) SDIO Read Wait Operation Status Interrupt Enable */ -#define HSMCI_IER_CSRCV (0x1u << 13) /**< \brief (HSMCI_IER) Completion Signal Received Interrupt Enable */ -#define HSMCI_IER_RINDE (0x1u << 16) /**< \brief (HSMCI_IER) Response Index Error Interrupt Enable */ -#define HSMCI_IER_RDIRE (0x1u << 17) /**< \brief (HSMCI_IER) Response Direction Error Interrupt Enable */ -#define HSMCI_IER_RCRCE (0x1u << 18) /**< \brief (HSMCI_IER) Response CRC Error Interrupt Enable */ -#define HSMCI_IER_RENDE (0x1u << 19) /**< \brief (HSMCI_IER) Response End Bit Error Interrupt Enable */ -#define HSMCI_IER_RTOE (0x1u << 20) /**< \brief (HSMCI_IER) Response Time-out Error Interrupt Enable */ -#define HSMCI_IER_DCRCE (0x1u << 21) /**< \brief (HSMCI_IER) Data CRC Error Interrupt Enable */ -#define HSMCI_IER_DTOE (0x1u << 22) /**< \brief (HSMCI_IER) Data Time-out Error Interrupt Enable */ -#define HSMCI_IER_CSTOE (0x1u << 23) /**< \brief (HSMCI_IER) Completion Signal Timeout Error Interrupt Enable */ -#define HSMCI_IER_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_IER) DMA Block Overrun Error Interrupt Enable */ -#define HSMCI_IER_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_IER) FIFO empty Interrupt enable */ -#define HSMCI_IER_XFRDONE (0x1u << 27) /**< \brief (HSMCI_IER) Transfer Done Interrupt enable */ -#define HSMCI_IER_ACKRCV (0x1u << 28) /**< \brief (HSMCI_IER) Boot Acknowledge Interrupt Enable */ -#define HSMCI_IER_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_IER) Boot Acknowledge Error Interrupt Enable */ -#define HSMCI_IER_OVRE (0x1u << 30) /**< \brief (HSMCI_IER) Overrun Interrupt Enable */ -#define HSMCI_IER_UNRE (0x1u << 31) /**< \brief (HSMCI_IER) Underrun Interrupt Enable */ -/* -------- HSMCI_IDR : (HSMCI Offset: 0x48) Interrupt Disable Register -------- */ -#define HSMCI_IDR_CMDRDY (0x1u << 0) /**< \brief (HSMCI_IDR) Command Ready Interrupt Disable */ -#define HSMCI_IDR_RXRDY (0x1u << 1) /**< \brief (HSMCI_IDR) Receiver Ready Interrupt Disable */ -#define HSMCI_IDR_TXRDY (0x1u << 2) /**< \brief (HSMCI_IDR) Transmit Ready Interrupt Disable */ -#define HSMCI_IDR_BLKE (0x1u << 3) /**< \brief (HSMCI_IDR) Data Block Ended Interrupt Disable */ -#define HSMCI_IDR_DTIP (0x1u << 4) /**< \brief (HSMCI_IDR) Data Transfer in Progress Interrupt Disable */ -#define HSMCI_IDR_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_IDR) Data Not Busy Interrupt Disable */ -#define HSMCI_IDR_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_IDR) SDIO Interrupt for Slot A Interrupt Disable */ -#define HSMCI_IDR_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_IDR) SDIO Read Wait Operation Status Interrupt Disable */ -#define HSMCI_IDR_CSRCV (0x1u << 13) /**< \brief (HSMCI_IDR) Completion Signal received interrupt Disable */ -#define HSMCI_IDR_RINDE (0x1u << 16) /**< \brief (HSMCI_IDR) Response Index Error Interrupt Disable */ -#define HSMCI_IDR_RDIRE (0x1u << 17) /**< \brief (HSMCI_IDR) Response Direction Error Interrupt Disable */ -#define HSMCI_IDR_RCRCE (0x1u << 18) /**< \brief (HSMCI_IDR) Response CRC Error Interrupt Disable */ -#define HSMCI_IDR_RENDE (0x1u << 19) /**< \brief (HSMCI_IDR) Response End Bit Error Interrupt Disable */ -#define HSMCI_IDR_RTOE (0x1u << 20) /**< \brief (HSMCI_IDR) Response Time-out Error Interrupt Disable */ -#define HSMCI_IDR_DCRCE (0x1u << 21) /**< \brief (HSMCI_IDR) Data CRC Error Interrupt Disable */ -#define HSMCI_IDR_DTOE (0x1u << 22) /**< \brief (HSMCI_IDR) Data Time-out Error Interrupt Disable */ -#define HSMCI_IDR_CSTOE (0x1u << 23) /**< \brief (HSMCI_IDR) Completion Signal Time out Error Interrupt Disable */ -#define HSMCI_IDR_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_IDR) DMA Block Overrun Error Interrupt Disable */ -#define HSMCI_IDR_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_IDR) FIFO empty Interrupt Disable */ -#define HSMCI_IDR_XFRDONE (0x1u << 27) /**< \brief (HSMCI_IDR) Transfer Done Interrupt Disable */ -#define HSMCI_IDR_ACKRCV (0x1u << 28) /**< \brief (HSMCI_IDR) Boot Acknowledge Interrupt Disable */ -#define HSMCI_IDR_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_IDR) Boot Acknowledge Error Interrupt Disable */ -#define HSMCI_IDR_OVRE (0x1u << 30) /**< \brief (HSMCI_IDR) Overrun Interrupt Disable */ -#define HSMCI_IDR_UNRE (0x1u << 31) /**< \brief (HSMCI_IDR) Underrun Interrupt Disable */ -/* -------- HSMCI_IMR : (HSMCI Offset: 0x4C) Interrupt Mask Register -------- */ -#define HSMCI_IMR_CMDRDY (0x1u << 0) /**< \brief (HSMCI_IMR) Command Ready Interrupt Mask */ -#define HSMCI_IMR_RXRDY (0x1u << 1) /**< \brief (HSMCI_IMR) Receiver Ready Interrupt Mask */ -#define HSMCI_IMR_TXRDY (0x1u << 2) /**< \brief (HSMCI_IMR) Transmit Ready Interrupt Mask */ -#define HSMCI_IMR_BLKE (0x1u << 3) /**< \brief (HSMCI_IMR) Data Block Ended Interrupt Mask */ -#define HSMCI_IMR_DTIP (0x1u << 4) /**< \brief (HSMCI_IMR) Data Transfer in Progress Interrupt Mask */ -#define HSMCI_IMR_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_IMR) Data Not Busy Interrupt Mask */ -#define HSMCI_IMR_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_IMR) SDIO Interrupt for Slot A Interrupt Mask */ -#define HSMCI_IMR_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_IMR) SDIO Read Wait Operation Status Interrupt Mask */ -#define HSMCI_IMR_CSRCV (0x1u << 13) /**< \brief (HSMCI_IMR) Completion Signal Received Interrupt Mask */ -#define HSMCI_IMR_RINDE (0x1u << 16) /**< \brief (HSMCI_IMR) Response Index Error Interrupt Mask */ -#define HSMCI_IMR_RDIRE (0x1u << 17) /**< \brief (HSMCI_IMR) Response Direction Error Interrupt Mask */ -#define HSMCI_IMR_RCRCE (0x1u << 18) /**< \brief (HSMCI_IMR) Response CRC Error Interrupt Mask */ -#define HSMCI_IMR_RENDE (0x1u << 19) /**< \brief (HSMCI_IMR) Response End Bit Error Interrupt Mask */ -#define HSMCI_IMR_RTOE (0x1u << 20) /**< \brief (HSMCI_IMR) Response Time-out Error Interrupt Mask */ -#define HSMCI_IMR_DCRCE (0x1u << 21) /**< \brief (HSMCI_IMR) Data CRC Error Interrupt Mask */ -#define HSMCI_IMR_DTOE (0x1u << 22) /**< \brief (HSMCI_IMR) Data Time-out Error Interrupt Mask */ -#define HSMCI_IMR_CSTOE (0x1u << 23) /**< \brief (HSMCI_IMR) Completion Signal Time-out Error Interrupt Mask */ -#define HSMCI_IMR_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_IMR) DMA Block Overrun Error Interrupt Mask */ -#define HSMCI_IMR_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_IMR) FIFO Empty Interrupt Mask */ -#define HSMCI_IMR_XFRDONE (0x1u << 27) /**< \brief (HSMCI_IMR) Transfer Done Interrupt Mask */ -#define HSMCI_IMR_ACKRCV (0x1u << 28) /**< \brief (HSMCI_IMR) Boot Operation Acknowledge Received Interrupt Mask */ -#define HSMCI_IMR_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_IMR) Boot Operation Acknowledge Error Interrupt Mask */ -#define HSMCI_IMR_OVRE (0x1u << 30) /**< \brief (HSMCI_IMR) Overrun Interrupt Mask */ -#define HSMCI_IMR_UNRE (0x1u << 31) /**< \brief (HSMCI_IMR) Underrun Interrupt Mask */ -/* -------- HSMCI_DMA : (HSMCI Offset: 0x50) DMA Configuration Register -------- */ -#define HSMCI_DMA_CHKSIZE_Pos 4 -#define HSMCI_DMA_CHKSIZE_Msk (0x7u << HSMCI_DMA_CHKSIZE_Pos) /**< \brief (HSMCI_DMA) DMA Channel Read and Write Chunk Size */ -#define HSMCI_DMA_CHKSIZE(value) ((HSMCI_DMA_CHKSIZE_Msk & ((value) << HSMCI_DMA_CHKSIZE_Pos))) -#define HSMCI_DMA_CHKSIZE_1 (0x0u << 4) /**< \brief (HSMCI_DMA) 1 data available */ -#define HSMCI_DMA_CHKSIZE_2 (0x1u << 4) /**< \brief (HSMCI_DMA) 2 data available */ -#define HSMCI_DMA_CHKSIZE_4 (0x2u << 4) /**< \brief (HSMCI_DMA) 4 data available */ -#define HSMCI_DMA_CHKSIZE_8 (0x3u << 4) /**< \brief (HSMCI_DMA) 8 data available */ -#define HSMCI_DMA_CHKSIZE_16 (0x4u << 4) /**< \brief (HSMCI_DMA) 16 data available */ -#define HSMCI_DMA_DMAEN (0x1u << 8) /**< \brief (HSMCI_DMA) DMA Hardware Handshaking Enable */ -/* -------- HSMCI_CFG : (HSMCI Offset: 0x54) Configuration Register -------- */ -#define HSMCI_CFG_FIFOMODE (0x1u << 0) /**< \brief (HSMCI_CFG) HSMCI Internal FIFO control mode */ -#define HSMCI_CFG_FERRCTRL (0x1u << 4) /**< \brief (HSMCI_CFG) Flow Error flag reset control mode */ -#define HSMCI_CFG_HSMODE (0x1u << 8) /**< \brief (HSMCI_CFG) High Speed Mode */ -#define HSMCI_CFG_LSYNC (0x1u << 12) /**< \brief (HSMCI_CFG) Synchronize on the last block */ -/* -------- HSMCI_WPMR : (HSMCI Offset: 0xE4) Write Protection Mode Register -------- */ -#define HSMCI_WPMR_WPEN (0x1u << 0) /**< \brief (HSMCI_WPMR) Write Protect Enable */ -#define HSMCI_WPMR_WPKEY_Pos 8 -#define HSMCI_WPMR_WPKEY_Msk (0xffffffu << HSMCI_WPMR_WPKEY_Pos) /**< \brief (HSMCI_WPMR) Write Protect Key */ -#define HSMCI_WPMR_WPKEY(value) ((HSMCI_WPMR_WPKEY_Msk & ((value) << HSMCI_WPMR_WPKEY_Pos))) -#define HSMCI_WPMR_WPKEY_PASSWD (0x4D4349u << 8) /**< \brief (HSMCI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- HSMCI_WPSR : (HSMCI Offset: 0xE8) Write Protection Status Register -------- */ -#define HSMCI_WPSR_WPVS (0x1u << 0) /**< \brief (HSMCI_WPSR) Write Protection Violation Status */ -#define HSMCI_WPSR_WPVSRC_Pos 8 -#define HSMCI_WPSR_WPVSRC_Msk (0xffffu << HSMCI_WPSR_WPVSRC_Pos) /**< \brief (HSMCI_WPSR) Write Protection Violation Source */ -/* -------- HSMCI_FIFO[256] : (HSMCI Offset: 0x200) FIFO Memory Aperture0 -------- */ -#define HSMCI_FIFO_DATA_Pos 0 -#define HSMCI_FIFO_DATA_Msk (0xffffffffu << HSMCI_FIFO_DATA_Pos) /**< \brief (HSMCI_FIFO[256]) Data to Read or Data to Write */ -#define HSMCI_FIFO_DATA(value) ((HSMCI_FIFO_DATA_Msk & ((value) << HSMCI_FIFO_DATA_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_HSMCI_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h deleted file mode 100644 index f4c7a1e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h +++ /dev/null @@ -1,207 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ICM_COMPONENT_ -#define _SAMS70_ICM_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Integrity Check Monitor */ -/* ============================================================================= */ -/** \addtogroup SAMS70_ICM Integrity Check Monitor */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Icm hardware registers */ -typedef struct { - __IO uint32_t ICM_CFG; /**< \brief (Icm Offset: 0x00) Configuration Register */ - __O uint32_t ICM_CTRL; /**< \brief (Icm Offset: 0x04) Control Register */ - __O uint32_t ICM_SR; /**< \brief (Icm Offset: 0x08) Status Register */ - __I uint32_t Reserved1[1]; - __O uint32_t ICM_IER; /**< \brief (Icm Offset: 0x10) Interrupt Enable Register */ - __O uint32_t ICM_IDR; /**< \brief (Icm Offset: 0x14) Interrupt Disable Register */ - __I uint32_t ICM_IMR; /**< \brief (Icm Offset: 0x18) Interrupt Mask Register */ - __I uint32_t ICM_ISR; /**< \brief (Icm Offset: 0x1C) Interrupt Status Register */ - __I uint32_t ICM_UASR; /**< \brief (Icm Offset: 0x20) Undefined Access Status Register */ - __I uint32_t Reserved2[3]; - __IO uint32_t ICM_DSCR; /**< \brief (Icm Offset: 0x30) Region Descriptor Area Start Address Register */ - __IO uint32_t ICM_HASH; /**< \brief (Icm Offset: 0x34) Region Hash Area Start Address Register */ - __O uint32_t ICM_UIHVAL[8]; /**< \brief (Icm Offset: 0x38) User Initial Hash Value 0 Register */ -} Icm; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- ICM_CFG : (ICM Offset: 0x00) Configuration Register -------- */ -#define ICM_CFG_WBDIS (0x1u << 0) /**< \brief (ICM_CFG) Write Back Disable */ -#define ICM_CFG_EOMDIS (0x1u << 1) /**< \brief (ICM_CFG) End of Monitoring Disable */ -#define ICM_CFG_SLBDIS (0x1u << 2) /**< \brief (ICM_CFG) Secondary List Branching Disable */ -#define ICM_CFG_BBC_Pos 4 -#define ICM_CFG_BBC_Msk (0xfu << ICM_CFG_BBC_Pos) /**< \brief (ICM_CFG) Bus Burden Control */ -#define ICM_CFG_BBC(value) ((ICM_CFG_BBC_Msk & ((value) << ICM_CFG_BBC_Pos))) -#define ICM_CFG_ASCD (0x1u << 8) /**< \brief (ICM_CFG) Automatic Switch To Compare Digest */ -#define ICM_CFG_DUALBUFF (0x1u << 9) /**< \brief (ICM_CFG) Dual Input Buffer */ -#define ICM_CFG_UIHASH (0x1u << 12) /**< \brief (ICM_CFG) User Initial Hash Value */ -#define ICM_CFG_UALGO_Pos 13 -#define ICM_CFG_UALGO_Msk (0x7u << ICM_CFG_UALGO_Pos) /**< \brief (ICM_CFG) User SHA Algorithm */ -#define ICM_CFG_UALGO(value) ((ICM_CFG_UALGO_Msk & ((value) << ICM_CFG_UALGO_Pos))) -#define ICM_CFG_UALGO_SHA1 (0x0u << 13) /**< \brief (ICM_CFG) SHA1 algorithm processed */ -#define ICM_CFG_UALGO_SHA256 (0x1u << 13) /**< \brief (ICM_CFG) SHA256 algorithm processed */ -#define ICM_CFG_UALGO_SHA224 (0x4u << 13) /**< \brief (ICM_CFG) SHA224 algorithm processed */ -#define ICM_CFG_HAPROT_Pos 16 -#define ICM_CFG_HAPROT_Msk (0x3fu << ICM_CFG_HAPROT_Pos) /**< \brief (ICM_CFG) Region Hash Area Protection */ -#define ICM_CFG_HAPROT(value) ((ICM_CFG_HAPROT_Msk & ((value) << ICM_CFG_HAPROT_Pos))) -#define ICM_CFG_DAPROT_Pos 24 -#define ICM_CFG_DAPROT_Msk (0x3fu << ICM_CFG_DAPROT_Pos) /**< \brief (ICM_CFG) Region Descriptor Area Protection */ -#define ICM_CFG_DAPROT(value) ((ICM_CFG_DAPROT_Msk & ((value) << ICM_CFG_DAPROT_Pos))) -/* -------- ICM_CTRL : (ICM Offset: 0x04) Control Register -------- */ -#define ICM_CTRL_ENABLE (0x1u << 0) /**< \brief (ICM_CTRL) ICM Enable */ -#define ICM_CTRL_DISABLE (0x1u << 1) /**< \brief (ICM_CTRL) ICM Disable Register */ -#define ICM_CTRL_SWRST (0x1u << 2) /**< \brief (ICM_CTRL) Software Reset */ -#define ICM_CTRL_REHASH_Pos 4 -#define ICM_CTRL_REHASH_Msk (0xfu << ICM_CTRL_REHASH_Pos) /**< \brief (ICM_CTRL) Recompute Internal Hash */ -#define ICM_CTRL_REHASH(value) ((ICM_CTRL_REHASH_Msk & ((value) << ICM_CTRL_REHASH_Pos))) -#define ICM_CTRL_RMDIS_Pos 8 -#define ICM_CTRL_RMDIS_Msk (0xfu << ICM_CTRL_RMDIS_Pos) /**< \brief (ICM_CTRL) Region Monitoring Disable */ -#define ICM_CTRL_RMDIS(value) ((ICM_CTRL_RMDIS_Msk & ((value) << ICM_CTRL_RMDIS_Pos))) -#define ICM_CTRL_RMEN_Pos 12 -#define ICM_CTRL_RMEN_Msk (0xfu << ICM_CTRL_RMEN_Pos) /**< \brief (ICM_CTRL) Region Monitoring Enable */ -#define ICM_CTRL_RMEN(value) ((ICM_CTRL_RMEN_Msk & ((value) << ICM_CTRL_RMEN_Pos))) -/* -------- ICM_SR : (ICM Offset: 0x08) Status Register -------- */ -#define ICM_SR_ENABLE (0x1u << 0) /**< \brief (ICM_SR) ICM Controller Enable Register */ -#define ICM_SR_RAWRMDIS_Pos 8 -#define ICM_SR_RAWRMDIS_Msk (0xfu << ICM_SR_RAWRMDIS_Pos) /**< \brief (ICM_SR) RAW Region Monitoring Disabled Status */ -#define ICM_SR_RAWRMDIS(value) ((ICM_SR_RAWRMDIS_Msk & ((value) << ICM_SR_RAWRMDIS_Pos))) -#define ICM_SR_RMDIS_Pos 12 -#define ICM_SR_RMDIS_Msk (0xfu << ICM_SR_RMDIS_Pos) /**< \brief (ICM_SR) Region Monitoring Disabled Status */ -#define ICM_SR_RMDIS(value) ((ICM_SR_RMDIS_Msk & ((value) << ICM_SR_RMDIS_Pos))) -/* -------- ICM_IER : (ICM Offset: 0x10) Interrupt Enable Register -------- */ -#define ICM_IER_RHC_Pos 0 -#define ICM_IER_RHC_Msk (0xfu << ICM_IER_RHC_Pos) /**< \brief (ICM_IER) Region Hash Completed Interrupt Enable */ -#define ICM_IER_RHC(value) ((ICM_IER_RHC_Msk & ((value) << ICM_IER_RHC_Pos))) -#define ICM_IER_RDM_Pos 4 -#define ICM_IER_RDM_Msk (0xfu << ICM_IER_RDM_Pos) /**< \brief (ICM_IER) Region Digest Mismatch Interrupt Enable */ -#define ICM_IER_RDM(value) ((ICM_IER_RDM_Msk & ((value) << ICM_IER_RDM_Pos))) -#define ICM_IER_RBE_Pos 8 -#define ICM_IER_RBE_Msk (0xfu << ICM_IER_RBE_Pos) /**< \brief (ICM_IER) Region Bus Error Interrupt Enable */ -#define ICM_IER_RBE(value) ((ICM_IER_RBE_Msk & ((value) << ICM_IER_RBE_Pos))) -#define ICM_IER_RWC_Pos 12 -#define ICM_IER_RWC_Msk (0xfu << ICM_IER_RWC_Pos) /**< \brief (ICM_IER) Region Wrap Condition detected Interrupt Enable */ -#define ICM_IER_RWC(value) ((ICM_IER_RWC_Msk & ((value) << ICM_IER_RWC_Pos))) -#define ICM_IER_REC_Pos 16 -#define ICM_IER_REC_Msk (0xfu << ICM_IER_REC_Pos) /**< \brief (ICM_IER) Region End bit Condition Detected Interrupt Enable */ -#define ICM_IER_REC(value) ((ICM_IER_REC_Msk & ((value) << ICM_IER_REC_Pos))) -#define ICM_IER_RSU_Pos 20 -#define ICM_IER_RSU_Msk (0xfu << ICM_IER_RSU_Pos) /**< \brief (ICM_IER) Region Status Updated Interrupt Disable */ -#define ICM_IER_RSU(value) ((ICM_IER_RSU_Msk & ((value) << ICM_IER_RSU_Pos))) -#define ICM_IER_URAD (0x1u << 24) /**< \brief (ICM_IER) Undefined Register Access Detection Interrupt Enable */ -/* -------- ICM_IDR : (ICM Offset: 0x14) Interrupt Disable Register -------- */ -#define ICM_IDR_RHC_Pos 0 -#define ICM_IDR_RHC_Msk (0xfu << ICM_IDR_RHC_Pos) /**< \brief (ICM_IDR) Region Hash Completed Interrupt Disable */ -#define ICM_IDR_RHC(value) ((ICM_IDR_RHC_Msk & ((value) << ICM_IDR_RHC_Pos))) -#define ICM_IDR_RDM_Pos 4 -#define ICM_IDR_RDM_Msk (0xfu << ICM_IDR_RDM_Pos) /**< \brief (ICM_IDR) Region Digest Mismatch Interrupt Disable */ -#define ICM_IDR_RDM(value) ((ICM_IDR_RDM_Msk & ((value) << ICM_IDR_RDM_Pos))) -#define ICM_IDR_RBE_Pos 8 -#define ICM_IDR_RBE_Msk (0xfu << ICM_IDR_RBE_Pos) /**< \brief (ICM_IDR) Region Bus Error Interrupt Disable */ -#define ICM_IDR_RBE(value) ((ICM_IDR_RBE_Msk & ((value) << ICM_IDR_RBE_Pos))) -#define ICM_IDR_RWC_Pos 12 -#define ICM_IDR_RWC_Msk (0xfu << ICM_IDR_RWC_Pos) /**< \brief (ICM_IDR) Region Wrap Condition Detected Interrupt Disable */ -#define ICM_IDR_RWC(value) ((ICM_IDR_RWC_Msk & ((value) << ICM_IDR_RWC_Pos))) -#define ICM_IDR_REC_Pos 16 -#define ICM_IDR_REC_Msk (0xfu << ICM_IDR_REC_Pos) /**< \brief (ICM_IDR) Region End bit Condition detected Interrupt Disable */ -#define ICM_IDR_REC(value) ((ICM_IDR_REC_Msk & ((value) << ICM_IDR_REC_Pos))) -#define ICM_IDR_RSU_Pos 20 -#define ICM_IDR_RSU_Msk (0xfu << ICM_IDR_RSU_Pos) /**< \brief (ICM_IDR) Region Status Updated Interrupt Disable */ -#define ICM_IDR_RSU(value) ((ICM_IDR_RSU_Msk & ((value) << ICM_IDR_RSU_Pos))) -#define ICM_IDR_URAD (0x1u << 24) /**< \brief (ICM_IDR) Undefined Register Access Detection Interrupt Disable */ -/* -------- ICM_IMR : (ICM Offset: 0x18) Interrupt Mask Register -------- */ -#define ICM_IMR_RHC_Pos 0 -#define ICM_IMR_RHC_Msk (0xfu << ICM_IMR_RHC_Pos) /**< \brief (ICM_IMR) Region Hash Completed Interrupt Mask */ -#define ICM_IMR_RDM_Pos 4 -#define ICM_IMR_RDM_Msk (0xfu << ICM_IMR_RDM_Pos) /**< \brief (ICM_IMR) Region Digest Mismatch Interrupt Mask */ -#define ICM_IMR_RBE_Pos 8 -#define ICM_IMR_RBE_Msk (0xfu << ICM_IMR_RBE_Pos) /**< \brief (ICM_IMR) Region Bus Error Interrupt Mask */ -#define ICM_IMR_RWC_Pos 12 -#define ICM_IMR_RWC_Msk (0xfu << ICM_IMR_RWC_Pos) /**< \brief (ICM_IMR) Region Wrap Condition Detected Interrupt Mask */ -#define ICM_IMR_REC_Pos 16 -#define ICM_IMR_REC_Msk (0xfu << ICM_IMR_REC_Pos) /**< \brief (ICM_IMR) Region End bit Condition Detected Interrupt Mask */ -#define ICM_IMR_RSU_Pos 20 -#define ICM_IMR_RSU_Msk (0xfu << ICM_IMR_RSU_Pos) /**< \brief (ICM_IMR) Region Status Updated Interrupt Mask */ -#define ICM_IMR_URAD (0x1u << 24) /**< \brief (ICM_IMR) Undefined Register Access Detection Interrupt Mask */ -/* -------- ICM_ISR : (ICM Offset: 0x1C) Interrupt Status Register -------- */ -#define ICM_ISR_RHC_Pos 0 -#define ICM_ISR_RHC_Msk (0xfu << ICM_ISR_RHC_Pos) /**< \brief (ICM_ISR) Region Hash Completed */ -#define ICM_ISR_RDM_Pos 4 -#define ICM_ISR_RDM_Msk (0xfu << ICM_ISR_RDM_Pos) /**< \brief (ICM_ISR) Region Digest Mismatch */ -#define ICM_ISR_RBE_Pos 8 -#define ICM_ISR_RBE_Msk (0xfu << ICM_ISR_RBE_Pos) /**< \brief (ICM_ISR) Region Bus Error */ -#define ICM_ISR_RWC_Pos 12 -#define ICM_ISR_RWC_Msk (0xfu << ICM_ISR_RWC_Pos) /**< \brief (ICM_ISR) Region Wrap Condition Detected */ -#define ICM_ISR_REC_Pos 16 -#define ICM_ISR_REC_Msk (0xfu << ICM_ISR_REC_Pos) /**< \brief (ICM_ISR) Region End bit Condition Detected */ -#define ICM_ISR_RSU_Pos 20 -#define ICM_ISR_RSU_Msk (0xfu << ICM_ISR_RSU_Pos) /**< \brief (ICM_ISR) Region Status Updated Detected */ -#define ICM_ISR_URAD (0x1u << 24) /**< \brief (ICM_ISR) Undefined Register Access Detection Status */ -/* -------- ICM_UASR : (ICM Offset: 0x20) Undefined Access Status Register -------- */ -#define ICM_UASR_URAT_Pos 0 -#define ICM_UASR_URAT_Msk (0x7u << ICM_UASR_URAT_Pos) /**< \brief (ICM_UASR) Undefined Register Access Trace */ -#define ICM_UASR_URAT_UNSPEC_STRUCT_MEMBER (0x0u << 0) /**< \brief (ICM_UASR) Unspecified structure member set to one detected when the descriptor is loaded. */ -#define ICM_UASR_URAT_ICM_CFG_MODIFIED (0x1u << 0) /**< \brief (ICM_UASR) ICM_CFG modified during active monitoring. */ -#define ICM_UASR_URAT_ICM_DSCR_MODIFIED (0x2u << 0) /**< \brief (ICM_UASR) ICM_DSCR modified during active monitoring. */ -#define ICM_UASR_URAT_ICM_HASH_MODIFIED (0x3u << 0) /**< \brief (ICM_UASR) ICM_HASH modified during active monitoring */ -#define ICM_UASR_URAT_READ_ACCESS (0x4u << 0) /**< \brief (ICM_UASR) Write-only register read access */ -/* -------- ICM_DSCR : (ICM Offset: 0x30) Region Descriptor Area Start Address Register -------- */ -#define ICM_DSCR_DASA_Pos 6 -#define ICM_DSCR_DASA_Msk (0x3ffffffu << ICM_DSCR_DASA_Pos) /**< \brief (ICM_DSCR) Descriptor Area Start Address */ -#define ICM_DSCR_DASA(value) ((ICM_DSCR_DASA_Msk & ((value) << ICM_DSCR_DASA_Pos))) -/* -------- ICM_HASH : (ICM Offset: 0x34) Region Hash Area Start Address Register -------- */ -#define ICM_HASH_HASA_Pos 7 -#define ICM_HASH_HASA_Msk (0x1ffffffu << ICM_HASH_HASA_Pos) /**< \brief (ICM_HASH) Hash Area Start Address */ -#define ICM_HASH_HASA(value) ((ICM_HASH_HASA_Msk & ((value) << ICM_HASH_HASA_Pos))) -/* -------- ICM_UIHVAL[8] : (ICM Offset: 0x38) User Initial Hash Value 0 Register -------- */ -#define ICM_UIHVAL_VAL_Pos 0 -#define ICM_UIHVAL_VAL_Msk (0xffffffffu << ICM_UIHVAL_VAL_Pos) /**< \brief (ICM_UIHVAL[8]) Initial Hash Value */ -#define ICM_UIHVAL_VAL(value) ((ICM_UIHVAL_VAL_Msk & ((value) << ICM_UIHVAL_VAL_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_ICM_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h deleted file mode 100644 index 1ceb845..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h +++ /dev/null @@ -1,295 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ISI_COMPONENT_ -#define _SAMS70_ISI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Image Sensor Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_ISI Image Sensor Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Isi hardware registers */ -typedef struct { - __IO uint32_t ISI_CFG1; /**< \brief (Isi Offset: 0x00) ISI Configuration 1 Register */ - __IO uint32_t ISI_CFG2; /**< \brief (Isi Offset: 0x04) ISI Configuration 2 Register */ - __IO uint32_t ISI_PSIZE; /**< \brief (Isi Offset: 0x08) ISI Preview Size Register */ - __IO uint32_t ISI_PDECF; /**< \brief (Isi Offset: 0x0C) ISI Preview Decimation Factor Register */ - __IO uint32_t ISI_Y2R_SET0; /**< \brief (Isi Offset: 0x10) ISI Color Space Conversion YCrCb To RGB Set 0 Register */ - __IO uint32_t ISI_Y2R_SET1; /**< \brief (Isi Offset: 0x14) ISI Color Space Conversion YCrCb To RGB Set 1 Register */ - __IO uint32_t ISI_R2Y_SET0; /**< \brief (Isi Offset: 0x18) ISI Color Space Conversion RGB To YCrCb Set 0 Register */ - __IO uint32_t ISI_R2Y_SET1; /**< \brief (Isi Offset: 0x1C) ISI Color Space Conversion RGB To YCrCb Set 1 Register */ - __IO uint32_t ISI_R2Y_SET2; /**< \brief (Isi Offset: 0x20) ISI Color Space Conversion RGB To YCrCb Set 2 Register */ - __O uint32_t ISI_CR; /**< \brief (Isi Offset: 0x24) ISI Control Register */ - __I uint32_t ISI_SR; /**< \brief (Isi Offset: 0x28) ISI Status Register */ - __O uint32_t ISI_IER; /**< \brief (Isi Offset: 0x2C) ISI Interrupt Enable Register */ - __O uint32_t ISI_IDR; /**< \brief (Isi Offset: 0x30) ISI Interrupt Disable Register */ - __I uint32_t ISI_IMR; /**< \brief (Isi Offset: 0x34) ISI Interrupt Mask Register */ - __O uint32_t ISI_DMA_CHER; /**< \brief (Isi Offset: 0x38) DMA Channel Enable Register */ - __O uint32_t ISI_DMA_CHDR; /**< \brief (Isi Offset: 0x3C) DMA Channel Disable Register */ - __I uint32_t ISI_DMA_CHSR; /**< \brief (Isi Offset: 0x40) DMA Channel Status Register */ - __IO uint32_t ISI_DMA_P_ADDR; /**< \brief (Isi Offset: 0x44) DMA Preview Base Address Register */ - __IO uint32_t ISI_DMA_P_CTRL; /**< \brief (Isi Offset: 0x48) DMA Preview Control Register */ - __IO uint32_t ISI_DMA_P_DSCR; /**< \brief (Isi Offset: 0x4C) DMA Preview Descriptor Address Register */ - __IO uint32_t ISI_DMA_C_ADDR; /**< \brief (Isi Offset: 0x50) DMA Codec Base Address Register */ - __IO uint32_t ISI_DMA_C_CTRL; /**< \brief (Isi Offset: 0x54) DMA Codec Control Register */ - __IO uint32_t ISI_DMA_C_DSCR; /**< \brief (Isi Offset: 0x58) DMA Codec Descriptor Address Register */ - __I uint32_t Reserved1[34]; - __IO uint32_t ISI_WPMR; /**< \brief (Isi Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t ISI_WPSR; /**< \brief (Isi Offset: 0xE8) Write Protection Status Register */ -} Isi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- ISI_CFG1 : (ISI Offset: 0x00) ISI Configuration 1 Register -------- */ -#define ISI_CFG1_HSYNC_POL (0x1u << 2) /**< \brief (ISI_CFG1) Horizontal Synchronization Polarity */ -#define ISI_CFG1_VSYNC_POL (0x1u << 3) /**< \brief (ISI_CFG1) Vertical Synchronization Polarity */ -#define ISI_CFG1_PIXCLK_POL (0x1u << 4) /**< \brief (ISI_CFG1) Pixel Clock Polarity */ -#define ISI_CFG1_EMB_SYNC (0x1u << 6) /**< \brief (ISI_CFG1) Embedded Synchronization */ -#define ISI_CFG1_CRC_SYNC (0x1u << 7) /**< \brief (ISI_CFG1) Embedded Synchronization Correction */ -#define ISI_CFG1_FRATE_Pos 8 -#define ISI_CFG1_FRATE_Msk (0x7u << ISI_CFG1_FRATE_Pos) /**< \brief (ISI_CFG1) Frame Rate [0..7] */ -#define ISI_CFG1_FRATE(value) ((ISI_CFG1_FRATE_Msk & ((value) << ISI_CFG1_FRATE_Pos))) -#define ISI_CFG1_DISCR (0x1u << 11) /**< \brief (ISI_CFG1) Disable Codec Request */ -#define ISI_CFG1_FULL (0x1u << 12) /**< \brief (ISI_CFG1) Full Mode is Allowed */ -#define ISI_CFG1_THMASK_Pos 13 -#define ISI_CFG1_THMASK_Msk (0x3u << ISI_CFG1_THMASK_Pos) /**< \brief (ISI_CFG1) Threshold Mask */ -#define ISI_CFG1_THMASK(value) ((ISI_CFG1_THMASK_Msk & ((value) << ISI_CFG1_THMASK_Pos))) -#define ISI_CFG1_THMASK_BEATS_4 (0x0u << 13) /**< \brief (ISI_CFG1) Only 4 beats AHB burst allowed */ -#define ISI_CFG1_THMASK_BEATS_8 (0x1u << 13) /**< \brief (ISI_CFG1) Only 4 and 8 beats AHB burst allowed */ -#define ISI_CFG1_THMASK_BEATS_16 (0x2u << 13) /**< \brief (ISI_CFG1) 4, 8 and 16 beats AHB burst allowed */ -#define ISI_CFG1_SLD_Pos 16 -#define ISI_CFG1_SLD_Msk (0xffu << ISI_CFG1_SLD_Pos) /**< \brief (ISI_CFG1) Start of Line Delay */ -#define ISI_CFG1_SLD(value) ((ISI_CFG1_SLD_Msk & ((value) << ISI_CFG1_SLD_Pos))) -#define ISI_CFG1_SFD_Pos 24 -#define ISI_CFG1_SFD_Msk (0xffu << ISI_CFG1_SFD_Pos) /**< \brief (ISI_CFG1) Start of Frame Delay */ -#define ISI_CFG1_SFD(value) ((ISI_CFG1_SFD_Msk & ((value) << ISI_CFG1_SFD_Pos))) -/* -------- ISI_CFG2 : (ISI Offset: 0x04) ISI Configuration 2 Register -------- */ -#define ISI_CFG2_IM_VSIZE_Pos 0 -#define ISI_CFG2_IM_VSIZE_Msk (0x7ffu << ISI_CFG2_IM_VSIZE_Pos) /**< \brief (ISI_CFG2) Vertical Size of the Image Sensor [0..2047] */ -#define ISI_CFG2_IM_VSIZE(value) ((ISI_CFG2_IM_VSIZE_Msk & ((value) << ISI_CFG2_IM_VSIZE_Pos))) -#define ISI_CFG2_GS_MODE (0x1u << 11) /**< \brief (ISI_CFG2) Grayscale Pixel Format Mode */ -#define ISI_CFG2_RGB_MODE (0x1u << 12) /**< \brief (ISI_CFG2) RGB Input Mode */ -#define ISI_CFG2_GRAYSCALE (0x1u << 13) /**< \brief (ISI_CFG2) Grayscale Mode Format Enable */ -#define ISI_CFG2_RGB_SWAP (0x1u << 14) /**< \brief (ISI_CFG2) RGB Format Swap Mode */ -#define ISI_CFG2_COL_SPACE (0x1u << 15) /**< \brief (ISI_CFG2) Color Space for the Image Data */ -#define ISI_CFG2_IM_HSIZE_Pos 16 -#define ISI_CFG2_IM_HSIZE_Msk (0x7ffu << ISI_CFG2_IM_HSIZE_Pos) /**< \brief (ISI_CFG2) Horizontal Size of the Image Sensor [0..2047] */ -#define ISI_CFG2_IM_HSIZE(value) ((ISI_CFG2_IM_HSIZE_Msk & ((value) << ISI_CFG2_IM_HSIZE_Pos))) -#define ISI_CFG2_YCC_SWAP_Pos 28 -#define ISI_CFG2_YCC_SWAP_Msk (0x3u << ISI_CFG2_YCC_SWAP_Pos) /**< \brief (ISI_CFG2) YCrCb Format Swap Mode */ -#define ISI_CFG2_YCC_SWAP(value) ((ISI_CFG2_YCC_SWAP_Msk & ((value) << ISI_CFG2_YCC_SWAP_Pos))) -#define ISI_CFG2_YCC_SWAP_DEFAULT (0x0u << 28) /**< \brief (ISI_CFG2) Byte 0 Cb(i)Byte 1 Y(i)Byte 2 Cr(i)Byte 3 Y(i+1) */ -#define ISI_CFG2_YCC_SWAP_MODE1 (0x1u << 28) /**< \brief (ISI_CFG2) Byte 0 Cr(i)Byte 1 Y(i)Byte 2 Cb(i)Byte 3 Y(i+1) */ -#define ISI_CFG2_YCC_SWAP_MODE2 (0x2u << 28) /**< \brief (ISI_CFG2) Byte 0 Y(i)Byte 1 Cb(i)Byte 2 Y(i+1)Byte 3 Cr(i) */ -#define ISI_CFG2_YCC_SWAP_MODE3 (0x3u << 28) /**< \brief (ISI_CFG2) Byte 0 Y(i)Byte 1 Cr(i)Byte 2 Y(i+1)Byte 3 Cb(i) */ -#define ISI_CFG2_RGB_CFG_Pos 30 -#define ISI_CFG2_RGB_CFG_Msk (0x3u << ISI_CFG2_RGB_CFG_Pos) /**< \brief (ISI_CFG2) RGB Pixel Mapping Configuration */ -#define ISI_CFG2_RGB_CFG(value) ((ISI_CFG2_RGB_CFG_Msk & ((value) << ISI_CFG2_RGB_CFG_Pos))) -#define ISI_CFG2_RGB_CFG_DEFAULT (0x0u << 30) /**< \brief (ISI_CFG2) Byte 0 R/G(MSB)Byte 1 G(LSB)/BByte 2 R/G(MSB)Byte 3 G(LSB)/B */ -#define ISI_CFG2_RGB_CFG_MODE1 (0x1u << 30) /**< \brief (ISI_CFG2) Byte 0 B/G(MSB)Byte 1 G(LSB)/RByte 2 B/G(MSB)Byte 3 G(LSB)/R */ -#define ISI_CFG2_RGB_CFG_MODE2 (0x2u << 30) /**< \brief (ISI_CFG2) Byte 0 G(LSB)/RByte 1 B/G(MSB)Byte 2 G(LSB)/RByte 3 B/G(MSB) */ -#define ISI_CFG2_RGB_CFG_MODE3 (0x3u << 30) /**< \brief (ISI_CFG2) Byte 0 G(LSB)/BByte 1 R/G(MSB)Byte 2 G(LSB)/BByte 3 R/G(MSB) */ -/* -------- ISI_PSIZE : (ISI Offset: 0x08) ISI Preview Size Register -------- */ -#define ISI_PSIZE_PREV_VSIZE_Pos 0 -#define ISI_PSIZE_PREV_VSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_VSIZE_Pos) /**< \brief (ISI_PSIZE) Vertical Size for the Preview Path */ -#define ISI_PSIZE_PREV_VSIZE(value) ((ISI_PSIZE_PREV_VSIZE_Msk & ((value) << ISI_PSIZE_PREV_VSIZE_Pos))) -#define ISI_PSIZE_PREV_HSIZE_Pos 16 -#define ISI_PSIZE_PREV_HSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_HSIZE_Pos) /**< \brief (ISI_PSIZE) Horizontal Size for the Preview Path */ -#define ISI_PSIZE_PREV_HSIZE(value) ((ISI_PSIZE_PREV_HSIZE_Msk & ((value) << ISI_PSIZE_PREV_HSIZE_Pos))) -/* -------- ISI_PDECF : (ISI Offset: 0x0C) ISI Preview Decimation Factor Register -------- */ -#define ISI_PDECF_DEC_FACTOR_Pos 0 -#define ISI_PDECF_DEC_FACTOR_Msk (0xffu << ISI_PDECF_DEC_FACTOR_Pos) /**< \brief (ISI_PDECF) Decimation Factor */ -#define ISI_PDECF_DEC_FACTOR(value) ((ISI_PDECF_DEC_FACTOR_Msk & ((value) << ISI_PDECF_DEC_FACTOR_Pos))) -/* -------- ISI_Y2R_SET0 : (ISI Offset: 0x10) ISI Color Space Conversion YCrCb To RGB Set 0 Register -------- */ -#define ISI_Y2R_SET0_C0_Pos 0 -#define ISI_Y2R_SET0_C0_Msk (0xffu << ISI_Y2R_SET0_C0_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C0 */ -#define ISI_Y2R_SET0_C0(value) ((ISI_Y2R_SET0_C0_Msk & ((value) << ISI_Y2R_SET0_C0_Pos))) -#define ISI_Y2R_SET0_C1_Pos 8 -#define ISI_Y2R_SET0_C1_Msk (0xffu << ISI_Y2R_SET0_C1_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C1 */ -#define ISI_Y2R_SET0_C1(value) ((ISI_Y2R_SET0_C1_Msk & ((value) << ISI_Y2R_SET0_C1_Pos))) -#define ISI_Y2R_SET0_C2_Pos 16 -#define ISI_Y2R_SET0_C2_Msk (0xffu << ISI_Y2R_SET0_C2_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C2 */ -#define ISI_Y2R_SET0_C2(value) ((ISI_Y2R_SET0_C2_Msk & ((value) << ISI_Y2R_SET0_C2_Pos))) -#define ISI_Y2R_SET0_C3_Pos 24 -#define ISI_Y2R_SET0_C3_Msk (0xffu << ISI_Y2R_SET0_C3_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C3 */ -#define ISI_Y2R_SET0_C3(value) ((ISI_Y2R_SET0_C3_Msk & ((value) << ISI_Y2R_SET0_C3_Pos))) -/* -------- ISI_Y2R_SET1 : (ISI Offset: 0x14) ISI Color Space Conversion YCrCb To RGB Set 1 Register -------- */ -#define ISI_Y2R_SET1_C4_Pos 0 -#define ISI_Y2R_SET1_C4_Msk (0x1ffu << ISI_Y2R_SET1_C4_Pos) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Matrix Coefficient C4 */ -#define ISI_Y2R_SET1_C4(value) ((ISI_Y2R_SET1_C4_Msk & ((value) << ISI_Y2R_SET1_C4_Pos))) -#define ISI_Y2R_SET1_Yoff (0x1u << 12) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Luminance Default Offset */ -#define ISI_Y2R_SET1_Croff (0x1u << 13) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Red Chrominance Default Offset */ -#define ISI_Y2R_SET1_Cboff (0x1u << 14) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Blue Chrominance Default Offset */ -/* -------- ISI_R2Y_SET0 : (ISI Offset: 0x18) ISI Color Space Conversion RGB To YCrCb Set 0 Register -------- */ -#define ISI_R2Y_SET0_C0_Pos 0 -#define ISI_R2Y_SET0_C0_Msk (0x7fu << ISI_R2Y_SET0_C0_Pos) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Matrix Coefficient C0 */ -#define ISI_R2Y_SET0_C0(value) ((ISI_R2Y_SET0_C0_Msk & ((value) << ISI_R2Y_SET0_C0_Pos))) -#define ISI_R2Y_SET0_C1_Pos 8 -#define ISI_R2Y_SET0_C1_Msk (0x7fu << ISI_R2Y_SET0_C1_Pos) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Matrix Coefficient C1 */ -#define ISI_R2Y_SET0_C1(value) ((ISI_R2Y_SET0_C1_Msk & ((value) << ISI_R2Y_SET0_C1_Pos))) -#define ISI_R2Y_SET0_C2_Pos 16 -#define ISI_R2Y_SET0_C2_Msk (0x7fu << ISI_R2Y_SET0_C2_Pos) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Matrix Coefficient C2 */ -#define ISI_R2Y_SET0_C2(value) ((ISI_R2Y_SET0_C2_Msk & ((value) << ISI_R2Y_SET0_C2_Pos))) -#define ISI_R2Y_SET0_Roff (0x1u << 24) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Red Component Offset */ -/* -------- ISI_R2Y_SET1 : (ISI Offset: 0x1C) ISI Color Space Conversion RGB To YCrCb Set 1 Register -------- */ -#define ISI_R2Y_SET1_C3_Pos 0 -#define ISI_R2Y_SET1_C3_Msk (0x7fu << ISI_R2Y_SET1_C3_Pos) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Matrix Coefficient C3 */ -#define ISI_R2Y_SET1_C3(value) ((ISI_R2Y_SET1_C3_Msk & ((value) << ISI_R2Y_SET1_C3_Pos))) -#define ISI_R2Y_SET1_C4_Pos 8 -#define ISI_R2Y_SET1_C4_Msk (0x7fu << ISI_R2Y_SET1_C4_Pos) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Matrix Coefficient C4 */ -#define ISI_R2Y_SET1_C4(value) ((ISI_R2Y_SET1_C4_Msk & ((value) << ISI_R2Y_SET1_C4_Pos))) -#define ISI_R2Y_SET1_C5_Pos 16 -#define ISI_R2Y_SET1_C5_Msk (0x7fu << ISI_R2Y_SET1_C5_Pos) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Matrix Coefficient C5 */ -#define ISI_R2Y_SET1_C5(value) ((ISI_R2Y_SET1_C5_Msk & ((value) << ISI_R2Y_SET1_C5_Pos))) -#define ISI_R2Y_SET1_Goff (0x1u << 24) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Green Component Offset */ -/* -------- ISI_R2Y_SET2 : (ISI Offset: 0x20) ISI Color Space Conversion RGB To YCrCb Set 2 Register -------- */ -#define ISI_R2Y_SET2_C6_Pos 0 -#define ISI_R2Y_SET2_C6_Msk (0x7fu << ISI_R2Y_SET2_C6_Pos) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Matrix Coefficient C6 */ -#define ISI_R2Y_SET2_C6(value) ((ISI_R2Y_SET2_C6_Msk & ((value) << ISI_R2Y_SET2_C6_Pos))) -#define ISI_R2Y_SET2_C7_Pos 8 -#define ISI_R2Y_SET2_C7_Msk (0x7fu << ISI_R2Y_SET2_C7_Pos) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Matrix Coefficient C7 */ -#define ISI_R2Y_SET2_C7(value) ((ISI_R2Y_SET2_C7_Msk & ((value) << ISI_R2Y_SET2_C7_Pos))) -#define ISI_R2Y_SET2_C8_Pos 16 -#define ISI_R2Y_SET2_C8_Msk (0x7fu << ISI_R2Y_SET2_C8_Pos) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Matrix Coefficient C8 */ -#define ISI_R2Y_SET2_C8(value) ((ISI_R2Y_SET2_C8_Msk & ((value) << ISI_R2Y_SET2_C8_Pos))) -#define ISI_R2Y_SET2_Boff (0x1u << 24) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Blue Component Offset */ -/* -------- ISI_CR : (ISI Offset: 0x24) ISI Control Register -------- */ -#define ISI_CR_ISI_EN (0x1u << 0) /**< \brief (ISI_CR) ISI Module Enable Request */ -#define ISI_CR_ISI_DIS (0x1u << 1) /**< \brief (ISI_CR) ISI Module Disable Request */ -#define ISI_CR_ISI_SRST (0x1u << 2) /**< \brief (ISI_CR) ISI Software Reset Request */ -#define ISI_CR_ISI_CDC (0x1u << 8) /**< \brief (ISI_CR) ISI Codec Request */ -/* -------- ISI_SR : (ISI Offset: 0x28) ISI Status Register -------- */ -#define ISI_SR_ENABLE (0x1u << 0) /**< \brief (ISI_SR) Module Enable */ -#define ISI_SR_DIS_DONE (0x1u << 1) /**< \brief (ISI_SR) Module Disable Request has Terminated (cleared on read) */ -#define ISI_SR_SRST (0x1u << 2) /**< \brief (ISI_SR) Module Software Reset Request has Terminated (cleared on read) */ -#define ISI_SR_CDC_PND (0x1u << 8) /**< \brief (ISI_SR) Pending Codec Request */ -#define ISI_SR_VSYNC (0x1u << 10) /**< \brief (ISI_SR) Vertical Synchronization (cleared on read) */ -#define ISI_SR_PXFR_DONE (0x1u << 16) /**< \brief (ISI_SR) Preview DMA Transfer has Terminated (cleared on read) */ -#define ISI_SR_CXFR_DONE (0x1u << 17) /**< \brief (ISI_SR) Codec DMA Transfer has Terminated (cleared on read) */ -#define ISI_SR_SIP (0x1u << 19) /**< \brief (ISI_SR) Synchronization in Progress */ -#define ISI_SR_P_OVR (0x1u << 24) /**< \brief (ISI_SR) Preview Datapath Overflow (cleared on read) */ -#define ISI_SR_C_OVR (0x1u << 25) /**< \brief (ISI_SR) Codec Datapath Overflow (cleared on read) */ -#define ISI_SR_CRC_ERR (0x1u << 26) /**< \brief (ISI_SR) CRC Synchronization Error (cleared on read) */ -#define ISI_SR_FR_OVR (0x1u << 27) /**< \brief (ISI_SR) Frame Rate Overrun (cleared on read) */ -/* -------- ISI_IER : (ISI Offset: 0x2C) ISI Interrupt Enable Register -------- */ -#define ISI_IER_DIS_DONE (0x1u << 1) /**< \brief (ISI_IER) Disable Done Interrupt Enable */ -#define ISI_IER_SRST (0x1u << 2) /**< \brief (ISI_IER) Software Reset Interrupt Enable */ -#define ISI_IER_VSYNC (0x1u << 10) /**< \brief (ISI_IER) Vertical Synchronization Interrupt Enable */ -#define ISI_IER_PXFR_DONE (0x1u << 16) /**< \brief (ISI_IER) Preview DMA Transfer Done Interrupt Enable */ -#define ISI_IER_CXFR_DONE (0x1u << 17) /**< \brief (ISI_IER) Codec DMA Transfer Done Interrupt Enable */ -#define ISI_IER_P_OVR (0x1u << 24) /**< \brief (ISI_IER) Preview Datapath Overflow Interrupt Enable */ -#define ISI_IER_C_OVR (0x1u << 25) /**< \brief (ISI_IER) Codec Datapath Overflow Interrupt Enable */ -#define ISI_IER_CRC_ERR (0x1u << 26) /**< \brief (ISI_IER) Embedded Synchronization CRC Error Interrupt Enable */ -#define ISI_IER_FR_OVR (0x1u << 27) /**< \brief (ISI_IER) Frame Rate Overflow Interrupt Enable */ -/* -------- ISI_IDR : (ISI Offset: 0x30) ISI Interrupt Disable Register -------- */ -#define ISI_IDR_DIS_DONE (0x1u << 1) /**< \brief (ISI_IDR) Disable Done Interrupt Disable */ -#define ISI_IDR_SRST (0x1u << 2) /**< \brief (ISI_IDR) Software Reset Interrupt Disable */ -#define ISI_IDR_VSYNC (0x1u << 10) /**< \brief (ISI_IDR) Vertical Synchronization Interrupt Disable */ -#define ISI_IDR_PXFR_DONE (0x1u << 16) /**< \brief (ISI_IDR) Preview DMA Transfer Done Interrupt Disable */ -#define ISI_IDR_CXFR_DONE (0x1u << 17) /**< \brief (ISI_IDR) Codec DMA Transfer Done Interrupt Disable */ -#define ISI_IDR_P_OVR (0x1u << 24) /**< \brief (ISI_IDR) Preview Datapath Overflow Interrupt Disable */ -#define ISI_IDR_C_OVR (0x1u << 25) /**< \brief (ISI_IDR) Codec Datapath Overflow Interrupt Disable */ -#define ISI_IDR_CRC_ERR (0x1u << 26) /**< \brief (ISI_IDR) Embedded Synchronization CRC Error Interrupt Disable */ -#define ISI_IDR_FR_OVR (0x1u << 27) /**< \brief (ISI_IDR) Frame Rate Overflow Interrupt Disable */ -/* -------- ISI_IMR : (ISI Offset: 0x34) ISI Interrupt Mask Register -------- */ -#define ISI_IMR_DIS_DONE (0x1u << 1) /**< \brief (ISI_IMR) Module Disable Operation Completed */ -#define ISI_IMR_SRST (0x1u << 2) /**< \brief (ISI_IMR) Software Reset Completed */ -#define ISI_IMR_VSYNC (0x1u << 10) /**< \brief (ISI_IMR) Vertical Synchronization */ -#define ISI_IMR_PXFR_DONE (0x1u << 16) /**< \brief (ISI_IMR) Preview DMA Transfer Completed */ -#define ISI_IMR_CXFR_DONE (0x1u << 17) /**< \brief (ISI_IMR) Codec DMA Transfer Completed */ -#define ISI_IMR_P_OVR (0x1u << 24) /**< \brief (ISI_IMR) Preview FIFO Overflow */ -#define ISI_IMR_C_OVR (0x1u << 25) /**< \brief (ISI_IMR) Codec FIFO Overflow */ -#define ISI_IMR_CRC_ERR (0x1u << 26) /**< \brief (ISI_IMR) CRC Synchronization Error */ -#define ISI_IMR_FR_OVR (0x1u << 27) /**< \brief (ISI_IMR) Frame Rate Overrun */ -/* -------- ISI_DMA_CHER : (ISI Offset: 0x38) DMA Channel Enable Register -------- */ -#define ISI_DMA_CHER_P_CH_EN (0x1u << 0) /**< \brief (ISI_DMA_CHER) Preview Channel Enable */ -#define ISI_DMA_CHER_C_CH_EN (0x1u << 1) /**< \brief (ISI_DMA_CHER) Codec Channel Enable */ -/* -------- ISI_DMA_CHDR : (ISI Offset: 0x3C) DMA Channel Disable Register -------- */ -#define ISI_DMA_CHDR_P_CH_DIS (0x1u << 0) /**< \brief (ISI_DMA_CHDR) Preview Channel Disable Request */ -#define ISI_DMA_CHDR_C_CH_DIS (0x1u << 1) /**< \brief (ISI_DMA_CHDR) Codec Channel Disable Request */ -/* -------- ISI_DMA_CHSR : (ISI Offset: 0x40) DMA Channel Status Register -------- */ -#define ISI_DMA_CHSR_P_CH_S (0x1u << 0) /**< \brief (ISI_DMA_CHSR) Preview DMA Channel Status */ -#define ISI_DMA_CHSR_C_CH_S (0x1u << 1) /**< \brief (ISI_DMA_CHSR) Code DMA Channel Status */ -/* -------- ISI_DMA_P_ADDR : (ISI Offset: 0x44) DMA Preview Base Address Register -------- */ -#define ISI_DMA_P_ADDR_P_ADDR_Pos 2 -#define ISI_DMA_P_ADDR_P_ADDR_Msk (0x3fffffffu << ISI_DMA_P_ADDR_P_ADDR_Pos) /**< \brief (ISI_DMA_P_ADDR) Preview Image Base Address */ -#define ISI_DMA_P_ADDR_P_ADDR(value) ((ISI_DMA_P_ADDR_P_ADDR_Msk & ((value) << ISI_DMA_P_ADDR_P_ADDR_Pos))) -/* -------- ISI_DMA_P_CTRL : (ISI Offset: 0x48) DMA Preview Control Register -------- */ -#define ISI_DMA_P_CTRL_P_FETCH (0x1u << 0) /**< \brief (ISI_DMA_P_CTRL) Descriptor Fetch Control Bit */ -#define ISI_DMA_P_CTRL_P_WB (0x1u << 1) /**< \brief (ISI_DMA_P_CTRL) Descriptor Writeback Control Bit */ -#define ISI_DMA_P_CTRL_P_IEN (0x1u << 2) /**< \brief (ISI_DMA_P_CTRL) Transfer Done Flag Control */ -#define ISI_DMA_P_CTRL_P_DONE (0x1u << 3) /**< \brief (ISI_DMA_P_CTRL) Preview Transfer Done */ -/* -------- ISI_DMA_P_DSCR : (ISI Offset: 0x4C) DMA Preview Descriptor Address Register -------- */ -#define ISI_DMA_P_DSCR_P_DSCR_Pos 2 -#define ISI_DMA_P_DSCR_P_DSCR_Msk (0x3fffffffu << ISI_DMA_P_DSCR_P_DSCR_Pos) /**< \brief (ISI_DMA_P_DSCR) Preview Descriptor Base Address */ -#define ISI_DMA_P_DSCR_P_DSCR(value) ((ISI_DMA_P_DSCR_P_DSCR_Msk & ((value) << ISI_DMA_P_DSCR_P_DSCR_Pos))) -/* -------- ISI_DMA_C_ADDR : (ISI Offset: 0x50) DMA Codec Base Address Register -------- */ -#define ISI_DMA_C_ADDR_C_ADDR_Pos 2 -#define ISI_DMA_C_ADDR_C_ADDR_Msk (0x3fffffffu << ISI_DMA_C_ADDR_C_ADDR_Pos) /**< \brief (ISI_DMA_C_ADDR) Codec Image Base Address */ -#define ISI_DMA_C_ADDR_C_ADDR(value) ((ISI_DMA_C_ADDR_C_ADDR_Msk & ((value) << ISI_DMA_C_ADDR_C_ADDR_Pos))) -/* -------- ISI_DMA_C_CTRL : (ISI Offset: 0x54) DMA Codec Control Register -------- */ -#define ISI_DMA_C_CTRL_C_FETCH (0x1u << 0) /**< \brief (ISI_DMA_C_CTRL) Descriptor Fetch Control Bit */ -#define ISI_DMA_C_CTRL_C_WB (0x1u << 1) /**< \brief (ISI_DMA_C_CTRL) Descriptor Writeback Control Bit */ -#define ISI_DMA_C_CTRL_C_IEN (0x1u << 2) /**< \brief (ISI_DMA_C_CTRL) Transfer Done Flag Control */ -#define ISI_DMA_C_CTRL_C_DONE (0x1u << 3) /**< \brief (ISI_DMA_C_CTRL) Codec Transfer Done */ -/* -------- ISI_DMA_C_DSCR : (ISI Offset: 0x58) DMA Codec Descriptor Address Register -------- */ -#define ISI_DMA_C_DSCR_C_DSCR_Pos 2 -#define ISI_DMA_C_DSCR_C_DSCR_Msk (0x3fffffffu << ISI_DMA_C_DSCR_C_DSCR_Pos) /**< \brief (ISI_DMA_C_DSCR) Codec Descriptor Base Address */ -#define ISI_DMA_C_DSCR_C_DSCR(value) ((ISI_DMA_C_DSCR_C_DSCR_Msk & ((value) << ISI_DMA_C_DSCR_C_DSCR_Pos))) -/* -------- ISI_WPMR : (ISI Offset: 0xE4) Write Protection Mode Register -------- */ -#define ISI_WPMR_WPEN (0x1u << 0) /**< \brief (ISI_WPMR) Write Protection Enable */ -#define ISI_WPMR_WPKEY_Pos 8 -#define ISI_WPMR_WPKEY_Msk (0xffffffu << ISI_WPMR_WPKEY_Pos) /**< \brief (ISI_WPMR) Write Protection Key Password */ -#define ISI_WPMR_WPKEY(value) ((ISI_WPMR_WPKEY_Msk & ((value) << ISI_WPMR_WPKEY_Pos))) -#define ISI_WPMR_WPKEY_PASSWD (0x495349u << 8) /**< \brief (ISI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- ISI_WPSR : (ISI Offset: 0xE8) Write Protection Status Register -------- */ -#define ISI_WPSR_WPVS (0x1u << 0) /**< \brief (ISI_WPSR) Write Protection Violation Status */ -#define ISI_WPSR_WPVSRC_Pos 8 -#define ISI_WPSR_WPVSRC_Msk (0xffffu << ISI_WPSR_WPVSRC_Pos) /**< \brief (ISI_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_ISI_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h deleted file mode 100644 index 8bb7f21..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h +++ /dev/null @@ -1,476 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_MATRIX_COMPONENT_ -#define _SAMS70_MATRIX_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR AHB Bus Matrix */ -/* ============================================================================= */ -/** \addtogroup SAMS70_MATRIX AHB Bus Matrix */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Matrix hardware registers */ -typedef struct { - __IO uint32_t MATRIX_MCFG0; /**< \brief (Matrix Offset: 0x0000) Master Configuration Register 0 */ - __IO uint32_t MATRIX_MCFG1; /**< \brief (Matrix Offset: 0x0004) Master Configuration Register 1 */ - __IO uint32_t MATRIX_MCFG2; /**< \brief (Matrix Offset: 0x0008) Master Configuration Register 2 */ - __IO uint32_t MATRIX_MCFG3; /**< \brief (Matrix Offset: 0x000C) Master Configuration Register 3 */ - __IO uint32_t MATRIX_MCFG4; /**< \brief (Matrix Offset: 0x0010) Master Configuration Register 4 */ - __IO uint32_t MATRIX_MCFG5; /**< \brief (Matrix Offset: 0x0014) Master Configuration Register 5 */ - __IO uint32_t MATRIX_MCFG6; /**< \brief (Matrix Offset: 0x0018) Master Configuration Register 6 */ - __I uint32_t Reserved1[1]; - __IO uint32_t MATRIX_MCFG8; /**< \brief (Matrix Offset: 0x0020) Master Configuration Register 8 */ - __I uint32_t Reserved2[7]; - __IO uint32_t MATRIX_SCFG[9]; /**< \brief (Matrix Offset: 0x0040) Slave Configuration Register */ - __I uint32_t Reserved3[7]; - __IO uint32_t MATRIX_PRAS0; /**< \brief (Matrix Offset: 0x0080) Priority Register A for Slave 0 */ - __IO uint32_t MATRIX_PRBS0; /**< \brief (Matrix Offset: 0x0084) Priority Register B for Slave 0 */ - __IO uint32_t MATRIX_PRAS1; /**< \brief (Matrix Offset: 0x0088) Priority Register A for Slave 1 */ - __IO uint32_t MATRIX_PRBS1; /**< \brief (Matrix Offset: 0x008C) Priority Register B for Slave 1 */ - __IO uint32_t MATRIX_PRAS2; /**< \brief (Matrix Offset: 0x0090) Priority Register A for Slave 2 */ - __IO uint32_t MATRIX_PRBS2; /**< \brief (Matrix Offset: 0x0094) Priority Register B for Slave 2 */ - __IO uint32_t MATRIX_PRAS3; /**< \brief (Matrix Offset: 0x0098) Priority Register A for Slave 3 */ - __IO uint32_t MATRIX_PRBS3; /**< \brief (Matrix Offset: 0x009C) Priority Register B for Slave 3 */ - __IO uint32_t MATRIX_PRAS4; /**< \brief (Matrix Offset: 0x00A0) Priority Register A for Slave 4 */ - __IO uint32_t MATRIX_PRBS4; /**< \brief (Matrix Offset: 0x00A4) Priority Register B for Slave 4 */ - __IO uint32_t MATRIX_PRAS5; /**< \brief (Matrix Offset: 0x00A8) Priority Register A for Slave 5 */ - __IO uint32_t MATRIX_PRBS5; /**< \brief (Matrix Offset: 0x00AC) Priority Register B for Slave 5 */ - __IO uint32_t MATRIX_PRAS6; /**< \brief (Matrix Offset: 0x00B0) Priority Register A for Slave 6 */ - __IO uint32_t MATRIX_PRBS6; /**< \brief (Matrix Offset: 0x00B4) Priority Register B for Slave 6 */ - __IO uint32_t MATRIX_PRAS7; /**< \brief (Matrix Offset: 0x00B8) Priority Register A for Slave 7 */ - __IO uint32_t MATRIX_PRBS7; /**< \brief (Matrix Offset: 0x00BC) Priority Register B for Slave 7 */ - __IO uint32_t MATRIX_PRAS8; /**< \brief (Matrix Offset: 0x00C0) Priority Register A for Slave 8 */ - __IO uint32_t MATRIX_PRBS8; /**< \brief (Matrix Offset: 0x00C4) Priority Register B for Slave 8 */ - __I uint32_t Reserved4[14]; - __IO uint32_t MATRIX_MRCR; /**< \brief (Matrix Offset: 0x0100) Master Remap Control Register */ - __I uint32_t Reserved5[4]; - __IO uint32_t CCFG_SYSIO; /**< \brief (Matrix Offset: 0x0114) System I/O Configuration Register */ - __I uint32_t Reserved6[3]; - __IO uint32_t CCFG_SMCNFCS; /**< \brief (Matrix Offset: 0x0124) SMC NAND Flash Chip Select Configuration Register */ - __I uint32_t Reserved7[47]; - __IO uint32_t MATRIX_WPMR; /**< \brief (Matrix Offset: 0x01E4) Write Protection Mode Register */ - __I uint32_t MATRIX_WPSR; /**< \brief (Matrix Offset: 0x01E8) Write Protection Status Register */ -} Matrix; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- MATRIX_MCFG0 : (MATRIX Offset: 0x0000) Master Configuration Register 0 -------- */ -#define MATRIX_MCFG0_ULBT_Pos 0 -#define MATRIX_MCFG0_ULBT_Msk (0x7u << MATRIX_MCFG0_ULBT_Pos) /**< \brief (MATRIX_MCFG0) Undefined Length Burst Type */ -#define MATRIX_MCFG0_ULBT(value) ((MATRIX_MCFG0_ULBT_Msk & ((value) << MATRIX_MCFG0_ULBT_Pos))) -#define MATRIX_MCFG0_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG0) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG0_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG0) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG0_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG0) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG0_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG0) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG0_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG0) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG0_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG0) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG0_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG0) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG0_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG0) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG1 : (MATRIX Offset: 0x0004) Master Configuration Register 1 -------- */ -#define MATRIX_MCFG1_ULBT_Pos 0 -#define MATRIX_MCFG1_ULBT_Msk (0x7u << MATRIX_MCFG1_ULBT_Pos) /**< \brief (MATRIX_MCFG1) Undefined Length Burst Type */ -#define MATRIX_MCFG1_ULBT(value) ((MATRIX_MCFG1_ULBT_Msk & ((value) << MATRIX_MCFG1_ULBT_Pos))) -#define MATRIX_MCFG1_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG1) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG1_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG1) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG1_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG1) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG1_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG1) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG1_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG1) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG1_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG1) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG1_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG1) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG1_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG1) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG2 : (MATRIX Offset: 0x0008) Master Configuration Register 2 -------- */ -#define MATRIX_MCFG2_ULBT_Pos 0 -#define MATRIX_MCFG2_ULBT_Msk (0x7u << MATRIX_MCFG2_ULBT_Pos) /**< \brief (MATRIX_MCFG2) Undefined Length Burst Type */ -#define MATRIX_MCFG2_ULBT(value) ((MATRIX_MCFG2_ULBT_Msk & ((value) << MATRIX_MCFG2_ULBT_Pos))) -#define MATRIX_MCFG2_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG2) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG2_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG2) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG2_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG2) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG2_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG2) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG2_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG2) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG2_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG2) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG2_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG2) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG2_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG2) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG3 : (MATRIX Offset: 0x000C) Master Configuration Register 3 -------- */ -#define MATRIX_MCFG3_ULBT_Pos 0 -#define MATRIX_MCFG3_ULBT_Msk (0x7u << MATRIX_MCFG3_ULBT_Pos) /**< \brief (MATRIX_MCFG3) Undefined Length Burst Type */ -#define MATRIX_MCFG3_ULBT(value) ((MATRIX_MCFG3_ULBT_Msk & ((value) << MATRIX_MCFG3_ULBT_Pos))) -#define MATRIX_MCFG3_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG3) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG3_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG3) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG3_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG3) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG3_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG3) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG3_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG3) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG3_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG3) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG3_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG3) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG3_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG3) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG4 : (MATRIX Offset: 0x0010) Master Configuration Register 4 -------- */ -#define MATRIX_MCFG4_ULBT_Pos 0 -#define MATRIX_MCFG4_ULBT_Msk (0x7u << MATRIX_MCFG4_ULBT_Pos) /**< \brief (MATRIX_MCFG4) Undefined Length Burst Type */ -#define MATRIX_MCFG4_ULBT(value) ((MATRIX_MCFG4_ULBT_Msk & ((value) << MATRIX_MCFG4_ULBT_Pos))) -#define MATRIX_MCFG4_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG4) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG4_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG4) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG4_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG4) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG4_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG4) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG4_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG4) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG4_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG4) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG4_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG4) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG4_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG4) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG5 : (MATRIX Offset: 0x0014) Master Configuration Register 5 -------- */ -#define MATRIX_MCFG5_ULBT_Pos 0 -#define MATRIX_MCFG5_ULBT_Msk (0x7u << MATRIX_MCFG5_ULBT_Pos) /**< \brief (MATRIX_MCFG5) Undefined Length Burst Type */ -#define MATRIX_MCFG5_ULBT(value) ((MATRIX_MCFG5_ULBT_Msk & ((value) << MATRIX_MCFG5_ULBT_Pos))) -#define MATRIX_MCFG5_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG5) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG5_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG5) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG5_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG5) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG5_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG5) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG5_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG5) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG5_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG5) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG5_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG5) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG5_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG5) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG6 : (MATRIX Offset: 0x0018) Master Configuration Register 6 -------- */ -#define MATRIX_MCFG6_ULBT_Pos 0 -#define MATRIX_MCFG6_ULBT_Msk (0x7u << MATRIX_MCFG6_ULBT_Pos) /**< \brief (MATRIX_MCFG6) Undefined Length Burst Type */ -#define MATRIX_MCFG6_ULBT(value) ((MATRIX_MCFG6_ULBT_Msk & ((value) << MATRIX_MCFG6_ULBT_Pos))) -#define MATRIX_MCFG6_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG6) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG6_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG6) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG6_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG6) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG6_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG6) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG6_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG6) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG6_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG6) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG6_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG6) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG6_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG6) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG8 : (MATRIX Offset: 0x0020) Master Configuration Register 8 -------- */ -#define MATRIX_MCFG8_ULBT_Pos 0 -#define MATRIX_MCFG8_ULBT_Msk (0x7u << MATRIX_MCFG8_ULBT_Pos) /**< \brief (MATRIX_MCFG8) Undefined Length Burst Type */ -#define MATRIX_MCFG8_ULBT(value) ((MATRIX_MCFG8_ULBT_Msk & ((value) << MATRIX_MCFG8_ULBT_Pos))) -#define MATRIX_MCFG8_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG8) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG8_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG8) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG8_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG8) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG8_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG8) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG8_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG8) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG8_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG8) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG8_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG8) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG8_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG8) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_SCFG[9] : (MATRIX Offset: 0x0040) Slave Configuration Register -------- */ -#define MATRIX_SCFG_SLOT_CYCLE_Pos 0 -#define MATRIX_SCFG_SLOT_CYCLE_Msk (0x1ffu << MATRIX_SCFG_SLOT_CYCLE_Pos) /**< \brief (MATRIX_SCFG[9]) Maximum Bus Grant Duration for Masters */ -#define MATRIX_SCFG_SLOT_CYCLE(value) ((MATRIX_SCFG_SLOT_CYCLE_Msk & ((value) << MATRIX_SCFG_SLOT_CYCLE_Pos))) -#define MATRIX_SCFG_DEFMSTR_TYPE_Pos 16 -#define MATRIX_SCFG_DEFMSTR_TYPE_Msk (0x3u << MATRIX_SCFG_DEFMSTR_TYPE_Pos) /**< \brief (MATRIX_SCFG[9]) Default Master Type */ -#define MATRIX_SCFG_DEFMSTR_TYPE(value) ((MATRIX_SCFG_DEFMSTR_TYPE_Msk & ((value) << MATRIX_SCFG_DEFMSTR_TYPE_Pos))) -#define MATRIX_SCFG_DEFMSTR_TYPE_NONE (0x0u << 16) /**< \brief (MATRIX_SCFG[9]) No Default Master-At the end of the current slave access, if no other master request is pending, the slave is disconnected from all masters.This results in a one clock cycle latency for the first access of a burst transfer or for a single access. */ -#define MATRIX_SCFG_DEFMSTR_TYPE_LAST (0x1u << 16) /**< \brief (MATRIX_SCFG[9]) Last Default Master-At the end of the current slave access, if no other master request is pending, the slave stays connected to the last master having accessed it.This results in not having one clock cycle latency when the last master tries to access the slave again. */ -#define MATRIX_SCFG_DEFMSTR_TYPE_FIXED (0x2u << 16) /**< \brief (MATRIX_SCFG[9]) Fixed Default Master-At the end of the current slave access, if no other master request is pending, the slave connects to the fixed master the number that has been written in the FIXED_DEFMSTR field.This results in not having one clock cycle latency when the fixed master tries to access the slave again. */ -#define MATRIX_SCFG_FIXED_DEFMSTR_Pos 18 -#define MATRIX_SCFG_FIXED_DEFMSTR_Msk (0xfu << MATRIX_SCFG_FIXED_DEFMSTR_Pos) /**< \brief (MATRIX_SCFG[9]) Fixed Default Master */ -#define MATRIX_SCFG_FIXED_DEFMSTR(value) ((MATRIX_SCFG_FIXED_DEFMSTR_Msk & ((value) << MATRIX_SCFG_FIXED_DEFMSTR_Pos))) -/* -------- MATRIX_PRAS0 : (MATRIX Offset: 0x0080) Priority Register A for Slave 0 -------- */ -#define MATRIX_PRAS0_M0PR_Pos 0 -#define MATRIX_PRAS0_M0PR_Msk (0x3u << MATRIX_PRAS0_M0PR_Pos) /**< \brief (MATRIX_PRAS0) Master 0 Priority */ -#define MATRIX_PRAS0_M0PR(value) ((MATRIX_PRAS0_M0PR_Msk & ((value) << MATRIX_PRAS0_M0PR_Pos))) -#define MATRIX_PRAS0_M1PR_Pos 4 -#define MATRIX_PRAS0_M1PR_Msk (0x3u << MATRIX_PRAS0_M1PR_Pos) /**< \brief (MATRIX_PRAS0) Master 1 Priority */ -#define MATRIX_PRAS0_M1PR(value) ((MATRIX_PRAS0_M1PR_Msk & ((value) << MATRIX_PRAS0_M1PR_Pos))) -#define MATRIX_PRAS0_M2PR_Pos 8 -#define MATRIX_PRAS0_M2PR_Msk (0x3u << MATRIX_PRAS0_M2PR_Pos) /**< \brief (MATRIX_PRAS0) Master 2 Priority */ -#define MATRIX_PRAS0_M2PR(value) ((MATRIX_PRAS0_M2PR_Msk & ((value) << MATRIX_PRAS0_M2PR_Pos))) -#define MATRIX_PRAS0_M3PR_Pos 12 -#define MATRIX_PRAS0_M3PR_Msk (0x3u << MATRIX_PRAS0_M3PR_Pos) /**< \brief (MATRIX_PRAS0) Master 3 Priority */ -#define MATRIX_PRAS0_M3PR(value) ((MATRIX_PRAS0_M3PR_Msk & ((value) << MATRIX_PRAS0_M3PR_Pos))) -#define MATRIX_PRAS0_M4PR_Pos 16 -#define MATRIX_PRAS0_M4PR_Msk (0x3u << MATRIX_PRAS0_M4PR_Pos) /**< \brief (MATRIX_PRAS0) Master 4 Priority */ -#define MATRIX_PRAS0_M4PR(value) ((MATRIX_PRAS0_M4PR_Msk & ((value) << MATRIX_PRAS0_M4PR_Pos))) -#define MATRIX_PRAS0_M5PR_Pos 20 -#define MATRIX_PRAS0_M5PR_Msk (0x3u << MATRIX_PRAS0_M5PR_Pos) /**< \brief (MATRIX_PRAS0) Master 5 Priority */ -#define MATRIX_PRAS0_M5PR(value) ((MATRIX_PRAS0_M5PR_Msk & ((value) << MATRIX_PRAS0_M5PR_Pos))) -#define MATRIX_PRAS0_M6PR_Pos 24 -#define MATRIX_PRAS0_M6PR_Msk (0x3u << MATRIX_PRAS0_M6PR_Pos) /**< \brief (MATRIX_PRAS0) Master 6 Priority */ -#define MATRIX_PRAS0_M6PR(value) ((MATRIX_PRAS0_M6PR_Msk & ((value) << MATRIX_PRAS0_M6PR_Pos))) -/* -------- MATRIX_PRBS0 : (MATRIX Offset: 0x0084) Priority Register B for Slave 0 -------- */ -#define MATRIX_PRBS0_M8PR_Pos 0 -#define MATRIX_PRBS0_M8PR_Msk (0x3u << MATRIX_PRBS0_M8PR_Pos) /**< \brief (MATRIX_PRBS0) Master 8 Priority */ -#define MATRIX_PRBS0_M8PR(value) ((MATRIX_PRBS0_M8PR_Msk & ((value) << MATRIX_PRBS0_M8PR_Pos))) -/* -------- MATRIX_PRAS1 : (MATRIX Offset: 0x0088) Priority Register A for Slave 1 -------- */ -#define MATRIX_PRAS1_M0PR_Pos 0 -#define MATRIX_PRAS1_M0PR_Msk (0x3u << MATRIX_PRAS1_M0PR_Pos) /**< \brief (MATRIX_PRAS1) Master 0 Priority */ -#define MATRIX_PRAS1_M0PR(value) ((MATRIX_PRAS1_M0PR_Msk & ((value) << MATRIX_PRAS1_M0PR_Pos))) -#define MATRIX_PRAS1_M1PR_Pos 4 -#define MATRIX_PRAS1_M1PR_Msk (0x3u << MATRIX_PRAS1_M1PR_Pos) /**< \brief (MATRIX_PRAS1) Master 1 Priority */ -#define MATRIX_PRAS1_M1PR(value) ((MATRIX_PRAS1_M1PR_Msk & ((value) << MATRIX_PRAS1_M1PR_Pos))) -#define MATRIX_PRAS1_M2PR_Pos 8 -#define MATRIX_PRAS1_M2PR_Msk (0x3u << MATRIX_PRAS1_M2PR_Pos) /**< \brief (MATRIX_PRAS1) Master 2 Priority */ -#define MATRIX_PRAS1_M2PR(value) ((MATRIX_PRAS1_M2PR_Msk & ((value) << MATRIX_PRAS1_M2PR_Pos))) -#define MATRIX_PRAS1_M3PR_Pos 12 -#define MATRIX_PRAS1_M3PR_Msk (0x3u << MATRIX_PRAS1_M3PR_Pos) /**< \brief (MATRIX_PRAS1) Master 3 Priority */ -#define MATRIX_PRAS1_M3PR(value) ((MATRIX_PRAS1_M3PR_Msk & ((value) << MATRIX_PRAS1_M3PR_Pos))) -#define MATRIX_PRAS1_M4PR_Pos 16 -#define MATRIX_PRAS1_M4PR_Msk (0x3u << MATRIX_PRAS1_M4PR_Pos) /**< \brief (MATRIX_PRAS1) Master 4 Priority */ -#define MATRIX_PRAS1_M4PR(value) ((MATRIX_PRAS1_M4PR_Msk & ((value) << MATRIX_PRAS1_M4PR_Pos))) -#define MATRIX_PRAS1_M5PR_Pos 20 -#define MATRIX_PRAS1_M5PR_Msk (0x3u << MATRIX_PRAS1_M5PR_Pos) /**< \brief (MATRIX_PRAS1) Master 5 Priority */ -#define MATRIX_PRAS1_M5PR(value) ((MATRIX_PRAS1_M5PR_Msk & ((value) << MATRIX_PRAS1_M5PR_Pos))) -#define MATRIX_PRAS1_M6PR_Pos 24 -#define MATRIX_PRAS1_M6PR_Msk (0x3u << MATRIX_PRAS1_M6PR_Pos) /**< \brief (MATRIX_PRAS1) Master 6 Priority */ -#define MATRIX_PRAS1_M6PR(value) ((MATRIX_PRAS1_M6PR_Msk & ((value) << MATRIX_PRAS1_M6PR_Pos))) -/* -------- MATRIX_PRBS1 : (MATRIX Offset: 0x008C) Priority Register B for Slave 1 -------- */ -#define MATRIX_PRBS1_M8PR_Pos 0 -#define MATRIX_PRBS1_M8PR_Msk (0x3u << MATRIX_PRBS1_M8PR_Pos) /**< \brief (MATRIX_PRBS1) Master 8 Priority */ -#define MATRIX_PRBS1_M8PR(value) ((MATRIX_PRBS1_M8PR_Msk & ((value) << MATRIX_PRBS1_M8PR_Pos))) -/* -------- MATRIX_PRAS2 : (MATRIX Offset: 0x0090) Priority Register A for Slave 2 -------- */ -#define MATRIX_PRAS2_M0PR_Pos 0 -#define MATRIX_PRAS2_M0PR_Msk (0x3u << MATRIX_PRAS2_M0PR_Pos) /**< \brief (MATRIX_PRAS2) Master 0 Priority */ -#define MATRIX_PRAS2_M0PR(value) ((MATRIX_PRAS2_M0PR_Msk & ((value) << MATRIX_PRAS2_M0PR_Pos))) -#define MATRIX_PRAS2_M1PR_Pos 4 -#define MATRIX_PRAS2_M1PR_Msk (0x3u << MATRIX_PRAS2_M1PR_Pos) /**< \brief (MATRIX_PRAS2) Master 1 Priority */ -#define MATRIX_PRAS2_M1PR(value) ((MATRIX_PRAS2_M1PR_Msk & ((value) << MATRIX_PRAS2_M1PR_Pos))) -#define MATRIX_PRAS2_M2PR_Pos 8 -#define MATRIX_PRAS2_M2PR_Msk (0x3u << MATRIX_PRAS2_M2PR_Pos) /**< \brief (MATRIX_PRAS2) Master 2 Priority */ -#define MATRIX_PRAS2_M2PR(value) ((MATRIX_PRAS2_M2PR_Msk & ((value) << MATRIX_PRAS2_M2PR_Pos))) -#define MATRIX_PRAS2_M3PR_Pos 12 -#define MATRIX_PRAS2_M3PR_Msk (0x3u << MATRIX_PRAS2_M3PR_Pos) /**< \brief (MATRIX_PRAS2) Master 3 Priority */ -#define MATRIX_PRAS2_M3PR(value) ((MATRIX_PRAS2_M3PR_Msk & ((value) << MATRIX_PRAS2_M3PR_Pos))) -#define MATRIX_PRAS2_M4PR_Pos 16 -#define MATRIX_PRAS2_M4PR_Msk (0x3u << MATRIX_PRAS2_M4PR_Pos) /**< \brief (MATRIX_PRAS2) Master 4 Priority */ -#define MATRIX_PRAS2_M4PR(value) ((MATRIX_PRAS2_M4PR_Msk & ((value) << MATRIX_PRAS2_M4PR_Pos))) -#define MATRIX_PRAS2_M5PR_Pos 20 -#define MATRIX_PRAS2_M5PR_Msk (0x3u << MATRIX_PRAS2_M5PR_Pos) /**< \brief (MATRIX_PRAS2) Master 5 Priority */ -#define MATRIX_PRAS2_M5PR(value) ((MATRIX_PRAS2_M5PR_Msk & ((value) << MATRIX_PRAS2_M5PR_Pos))) -#define MATRIX_PRAS2_M6PR_Pos 24 -#define MATRIX_PRAS2_M6PR_Msk (0x3u << MATRIX_PRAS2_M6PR_Pos) /**< \brief (MATRIX_PRAS2) Master 6 Priority */ -#define MATRIX_PRAS2_M6PR(value) ((MATRIX_PRAS2_M6PR_Msk & ((value) << MATRIX_PRAS2_M6PR_Pos))) -/* -------- MATRIX_PRBS2 : (MATRIX Offset: 0x0094) Priority Register B for Slave 2 -------- */ -#define MATRIX_PRBS2_M8PR_Pos 0 -#define MATRIX_PRBS2_M8PR_Msk (0x3u << MATRIX_PRBS2_M8PR_Pos) /**< \brief (MATRIX_PRBS2) Master 8 Priority */ -#define MATRIX_PRBS2_M8PR(value) ((MATRIX_PRBS2_M8PR_Msk & ((value) << MATRIX_PRBS2_M8PR_Pos))) -/* -------- MATRIX_PRAS3 : (MATRIX Offset: 0x0098) Priority Register A for Slave 3 -------- */ -#define MATRIX_PRAS3_M0PR_Pos 0 -#define MATRIX_PRAS3_M0PR_Msk (0x3u << MATRIX_PRAS3_M0PR_Pos) /**< \brief (MATRIX_PRAS3) Master 0 Priority */ -#define MATRIX_PRAS3_M0PR(value) ((MATRIX_PRAS3_M0PR_Msk & ((value) << MATRIX_PRAS3_M0PR_Pos))) -#define MATRIX_PRAS3_M1PR_Pos 4 -#define MATRIX_PRAS3_M1PR_Msk (0x3u << MATRIX_PRAS3_M1PR_Pos) /**< \brief (MATRIX_PRAS3) Master 1 Priority */ -#define MATRIX_PRAS3_M1PR(value) ((MATRIX_PRAS3_M1PR_Msk & ((value) << MATRIX_PRAS3_M1PR_Pos))) -#define MATRIX_PRAS3_M2PR_Pos 8 -#define MATRIX_PRAS3_M2PR_Msk (0x3u << MATRIX_PRAS3_M2PR_Pos) /**< \brief (MATRIX_PRAS3) Master 2 Priority */ -#define MATRIX_PRAS3_M2PR(value) ((MATRIX_PRAS3_M2PR_Msk & ((value) << MATRIX_PRAS3_M2PR_Pos))) -#define MATRIX_PRAS3_M3PR_Pos 12 -#define MATRIX_PRAS3_M3PR_Msk (0x3u << MATRIX_PRAS3_M3PR_Pos) /**< \brief (MATRIX_PRAS3) Master 3 Priority */ -#define MATRIX_PRAS3_M3PR(value) ((MATRIX_PRAS3_M3PR_Msk & ((value) << MATRIX_PRAS3_M3PR_Pos))) -#define MATRIX_PRAS3_M4PR_Pos 16 -#define MATRIX_PRAS3_M4PR_Msk (0x3u << MATRIX_PRAS3_M4PR_Pos) /**< \brief (MATRIX_PRAS3) Master 4 Priority */ -#define MATRIX_PRAS3_M4PR(value) ((MATRIX_PRAS3_M4PR_Msk & ((value) << MATRIX_PRAS3_M4PR_Pos))) -#define MATRIX_PRAS3_M5PR_Pos 20 -#define MATRIX_PRAS3_M5PR_Msk (0x3u << MATRIX_PRAS3_M5PR_Pos) /**< \brief (MATRIX_PRAS3) Master 5 Priority */ -#define MATRIX_PRAS3_M5PR(value) ((MATRIX_PRAS3_M5PR_Msk & ((value) << MATRIX_PRAS3_M5PR_Pos))) -#define MATRIX_PRAS3_M6PR_Pos 24 -#define MATRIX_PRAS3_M6PR_Msk (0x3u << MATRIX_PRAS3_M6PR_Pos) /**< \brief (MATRIX_PRAS3) Master 6 Priority */ -#define MATRIX_PRAS3_M6PR(value) ((MATRIX_PRAS3_M6PR_Msk & ((value) << MATRIX_PRAS3_M6PR_Pos))) -/* -------- MATRIX_PRBS3 : (MATRIX Offset: 0x009C) Priority Register B for Slave 3 -------- */ -#define MATRIX_PRBS3_M8PR_Pos 0 -#define MATRIX_PRBS3_M8PR_Msk (0x3u << MATRIX_PRBS3_M8PR_Pos) /**< \brief (MATRIX_PRBS3) Master 8 Priority */ -#define MATRIX_PRBS3_M8PR(value) ((MATRIX_PRBS3_M8PR_Msk & ((value) << MATRIX_PRBS3_M8PR_Pos))) -/* -------- MATRIX_PRAS4 : (MATRIX Offset: 0x00A0) Priority Register A for Slave 4 -------- */ -#define MATRIX_PRAS4_M0PR_Pos 0 -#define MATRIX_PRAS4_M0PR_Msk (0x3u << MATRIX_PRAS4_M0PR_Pos) /**< \brief (MATRIX_PRAS4) Master 0 Priority */ -#define MATRIX_PRAS4_M0PR(value) ((MATRIX_PRAS4_M0PR_Msk & ((value) << MATRIX_PRAS4_M0PR_Pos))) -#define MATRIX_PRAS4_M1PR_Pos 4 -#define MATRIX_PRAS4_M1PR_Msk (0x3u << MATRIX_PRAS4_M1PR_Pos) /**< \brief (MATRIX_PRAS4) Master 1 Priority */ -#define MATRIX_PRAS4_M1PR(value) ((MATRIX_PRAS4_M1PR_Msk & ((value) << MATRIX_PRAS4_M1PR_Pos))) -#define MATRIX_PRAS4_M2PR_Pos 8 -#define MATRIX_PRAS4_M2PR_Msk (0x3u << MATRIX_PRAS4_M2PR_Pos) /**< \brief (MATRIX_PRAS4) Master 2 Priority */ -#define MATRIX_PRAS4_M2PR(value) ((MATRIX_PRAS4_M2PR_Msk & ((value) << MATRIX_PRAS4_M2PR_Pos))) -#define MATRIX_PRAS4_M3PR_Pos 12 -#define MATRIX_PRAS4_M3PR_Msk (0x3u << MATRIX_PRAS4_M3PR_Pos) /**< \brief (MATRIX_PRAS4) Master 3 Priority */ -#define MATRIX_PRAS4_M3PR(value) ((MATRIX_PRAS4_M3PR_Msk & ((value) << MATRIX_PRAS4_M3PR_Pos))) -#define MATRIX_PRAS4_M4PR_Pos 16 -#define MATRIX_PRAS4_M4PR_Msk (0x3u << MATRIX_PRAS4_M4PR_Pos) /**< \brief (MATRIX_PRAS4) Master 4 Priority */ -#define MATRIX_PRAS4_M4PR(value) ((MATRIX_PRAS4_M4PR_Msk & ((value) << MATRIX_PRAS4_M4PR_Pos))) -#define MATRIX_PRAS4_M5PR_Pos 20 -#define MATRIX_PRAS4_M5PR_Msk (0x3u << MATRIX_PRAS4_M5PR_Pos) /**< \brief (MATRIX_PRAS4) Master 5 Priority */ -#define MATRIX_PRAS4_M5PR(value) ((MATRIX_PRAS4_M5PR_Msk & ((value) << MATRIX_PRAS4_M5PR_Pos))) -#define MATRIX_PRAS4_M6PR_Pos 24 -#define MATRIX_PRAS4_M6PR_Msk (0x3u << MATRIX_PRAS4_M6PR_Pos) /**< \brief (MATRIX_PRAS4) Master 6 Priority */ -#define MATRIX_PRAS4_M6PR(value) ((MATRIX_PRAS4_M6PR_Msk & ((value) << MATRIX_PRAS4_M6PR_Pos))) -/* -------- MATRIX_PRBS4 : (MATRIX Offset: 0x00A4) Priority Register B for Slave 4 -------- */ -#define MATRIX_PRBS4_M8PR_Pos 0 -#define MATRIX_PRBS4_M8PR_Msk (0x3u << MATRIX_PRBS4_M8PR_Pos) /**< \brief (MATRIX_PRBS4) Master 8 Priority */ -#define MATRIX_PRBS4_M8PR(value) ((MATRIX_PRBS4_M8PR_Msk & ((value) << MATRIX_PRBS4_M8PR_Pos))) -/* -------- MATRIX_PRAS5 : (MATRIX Offset: 0x00A8) Priority Register A for Slave 5 -------- */ -#define MATRIX_PRAS5_M0PR_Pos 0 -#define MATRIX_PRAS5_M0PR_Msk (0x3u << MATRIX_PRAS5_M0PR_Pos) /**< \brief (MATRIX_PRAS5) Master 0 Priority */ -#define MATRIX_PRAS5_M0PR(value) ((MATRIX_PRAS5_M0PR_Msk & ((value) << MATRIX_PRAS5_M0PR_Pos))) -#define MATRIX_PRAS5_M1PR_Pos 4 -#define MATRIX_PRAS5_M1PR_Msk (0x3u << MATRIX_PRAS5_M1PR_Pos) /**< \brief (MATRIX_PRAS5) Master 1 Priority */ -#define MATRIX_PRAS5_M1PR(value) ((MATRIX_PRAS5_M1PR_Msk & ((value) << MATRIX_PRAS5_M1PR_Pos))) -#define MATRIX_PRAS5_M2PR_Pos 8 -#define MATRIX_PRAS5_M2PR_Msk (0x3u << MATRIX_PRAS5_M2PR_Pos) /**< \brief (MATRIX_PRAS5) Master 2 Priority */ -#define MATRIX_PRAS5_M2PR(value) ((MATRIX_PRAS5_M2PR_Msk & ((value) << MATRIX_PRAS5_M2PR_Pos))) -#define MATRIX_PRAS5_M3PR_Pos 12 -#define MATRIX_PRAS5_M3PR_Msk (0x3u << MATRIX_PRAS5_M3PR_Pos) /**< \brief (MATRIX_PRAS5) Master 3 Priority */ -#define MATRIX_PRAS5_M3PR(value) ((MATRIX_PRAS5_M3PR_Msk & ((value) << MATRIX_PRAS5_M3PR_Pos))) -#define MATRIX_PRAS5_M4PR_Pos 16 -#define MATRIX_PRAS5_M4PR_Msk (0x3u << MATRIX_PRAS5_M4PR_Pos) /**< \brief (MATRIX_PRAS5) Master 4 Priority */ -#define MATRIX_PRAS5_M4PR(value) ((MATRIX_PRAS5_M4PR_Msk & ((value) << MATRIX_PRAS5_M4PR_Pos))) -#define MATRIX_PRAS5_M5PR_Pos 20 -#define MATRIX_PRAS5_M5PR_Msk (0x3u << MATRIX_PRAS5_M5PR_Pos) /**< \brief (MATRIX_PRAS5) Master 5 Priority */ -#define MATRIX_PRAS5_M5PR(value) ((MATRIX_PRAS5_M5PR_Msk & ((value) << MATRIX_PRAS5_M5PR_Pos))) -#define MATRIX_PRAS5_M6PR_Pos 24 -#define MATRIX_PRAS5_M6PR_Msk (0x3u << MATRIX_PRAS5_M6PR_Pos) /**< \brief (MATRIX_PRAS5) Master 6 Priority */ -#define MATRIX_PRAS5_M6PR(value) ((MATRIX_PRAS5_M6PR_Msk & ((value) << MATRIX_PRAS5_M6PR_Pos))) -/* -------- MATRIX_PRBS5 : (MATRIX Offset: 0x00AC) Priority Register B for Slave 5 -------- */ -#define MATRIX_PRBS5_M8PR_Pos 0 -#define MATRIX_PRBS5_M8PR_Msk (0x3u << MATRIX_PRBS5_M8PR_Pos) /**< \brief (MATRIX_PRBS5) Master 8 Priority */ -#define MATRIX_PRBS5_M8PR(value) ((MATRIX_PRBS5_M8PR_Msk & ((value) << MATRIX_PRBS5_M8PR_Pos))) -/* -------- MATRIX_PRAS6 : (MATRIX Offset: 0x00B0) Priority Register A for Slave 6 -------- */ -#define MATRIX_PRAS6_M0PR_Pos 0 -#define MATRIX_PRAS6_M0PR_Msk (0x3u << MATRIX_PRAS6_M0PR_Pos) /**< \brief (MATRIX_PRAS6) Master 0 Priority */ -#define MATRIX_PRAS6_M0PR(value) ((MATRIX_PRAS6_M0PR_Msk & ((value) << MATRIX_PRAS6_M0PR_Pos))) -#define MATRIX_PRAS6_M1PR_Pos 4 -#define MATRIX_PRAS6_M1PR_Msk (0x3u << MATRIX_PRAS6_M1PR_Pos) /**< \brief (MATRIX_PRAS6) Master 1 Priority */ -#define MATRIX_PRAS6_M1PR(value) ((MATRIX_PRAS6_M1PR_Msk & ((value) << MATRIX_PRAS6_M1PR_Pos))) -#define MATRIX_PRAS6_M2PR_Pos 8 -#define MATRIX_PRAS6_M2PR_Msk (0x3u << MATRIX_PRAS6_M2PR_Pos) /**< \brief (MATRIX_PRAS6) Master 2 Priority */ -#define MATRIX_PRAS6_M2PR(value) ((MATRIX_PRAS6_M2PR_Msk & ((value) << MATRIX_PRAS6_M2PR_Pos))) -#define MATRIX_PRAS6_M3PR_Pos 12 -#define MATRIX_PRAS6_M3PR_Msk (0x3u << MATRIX_PRAS6_M3PR_Pos) /**< \brief (MATRIX_PRAS6) Master 3 Priority */ -#define MATRIX_PRAS6_M3PR(value) ((MATRIX_PRAS6_M3PR_Msk & ((value) << MATRIX_PRAS6_M3PR_Pos))) -#define MATRIX_PRAS6_M4PR_Pos 16 -#define MATRIX_PRAS6_M4PR_Msk (0x3u << MATRIX_PRAS6_M4PR_Pos) /**< \brief (MATRIX_PRAS6) Master 4 Priority */ -#define MATRIX_PRAS6_M4PR(value) ((MATRIX_PRAS6_M4PR_Msk & ((value) << MATRIX_PRAS6_M4PR_Pos))) -#define MATRIX_PRAS6_M5PR_Pos 20 -#define MATRIX_PRAS6_M5PR_Msk (0x3u << MATRIX_PRAS6_M5PR_Pos) /**< \brief (MATRIX_PRAS6) Master 5 Priority */ -#define MATRIX_PRAS6_M5PR(value) ((MATRIX_PRAS6_M5PR_Msk & ((value) << MATRIX_PRAS6_M5PR_Pos))) -#define MATRIX_PRAS6_M6PR_Pos 24 -#define MATRIX_PRAS6_M6PR_Msk (0x3u << MATRIX_PRAS6_M6PR_Pos) /**< \brief (MATRIX_PRAS6) Master 6 Priority */ -#define MATRIX_PRAS6_M6PR(value) ((MATRIX_PRAS6_M6PR_Msk & ((value) << MATRIX_PRAS6_M6PR_Pos))) -/* -------- MATRIX_PRBS6 : (MATRIX Offset: 0x00B4) Priority Register B for Slave 6 -------- */ -#define MATRIX_PRBS6_M8PR_Pos 0 -#define MATRIX_PRBS6_M8PR_Msk (0x3u << MATRIX_PRBS6_M8PR_Pos) /**< \brief (MATRIX_PRBS6) Master 8 Priority */ -#define MATRIX_PRBS6_M8PR(value) ((MATRIX_PRBS6_M8PR_Msk & ((value) << MATRIX_PRBS6_M8PR_Pos))) -/* -------- MATRIX_PRAS7 : (MATRIX Offset: 0x00B8) Priority Register A for Slave 7 -------- */ -#define MATRIX_PRAS7_M0PR_Pos 0 -#define MATRIX_PRAS7_M0PR_Msk (0x3u << MATRIX_PRAS7_M0PR_Pos) /**< \brief (MATRIX_PRAS7) Master 0 Priority */ -#define MATRIX_PRAS7_M0PR(value) ((MATRIX_PRAS7_M0PR_Msk & ((value) << MATRIX_PRAS7_M0PR_Pos))) -#define MATRIX_PRAS7_M1PR_Pos 4 -#define MATRIX_PRAS7_M1PR_Msk (0x3u << MATRIX_PRAS7_M1PR_Pos) /**< \brief (MATRIX_PRAS7) Master 1 Priority */ -#define MATRIX_PRAS7_M1PR(value) ((MATRIX_PRAS7_M1PR_Msk & ((value) << MATRIX_PRAS7_M1PR_Pos))) -#define MATRIX_PRAS7_M2PR_Pos 8 -#define MATRIX_PRAS7_M2PR_Msk (0x3u << MATRIX_PRAS7_M2PR_Pos) /**< \brief (MATRIX_PRAS7) Master 2 Priority */ -#define MATRIX_PRAS7_M2PR(value) ((MATRIX_PRAS7_M2PR_Msk & ((value) << MATRIX_PRAS7_M2PR_Pos))) -#define MATRIX_PRAS7_M3PR_Pos 12 -#define MATRIX_PRAS7_M3PR_Msk (0x3u << MATRIX_PRAS7_M3PR_Pos) /**< \brief (MATRIX_PRAS7) Master 3 Priority */ -#define MATRIX_PRAS7_M3PR(value) ((MATRIX_PRAS7_M3PR_Msk & ((value) << MATRIX_PRAS7_M3PR_Pos))) -#define MATRIX_PRAS7_M4PR_Pos 16 -#define MATRIX_PRAS7_M4PR_Msk (0x3u << MATRIX_PRAS7_M4PR_Pos) /**< \brief (MATRIX_PRAS7) Master 4 Priority */ -#define MATRIX_PRAS7_M4PR(value) ((MATRIX_PRAS7_M4PR_Msk & ((value) << MATRIX_PRAS7_M4PR_Pos))) -#define MATRIX_PRAS7_M5PR_Pos 20 -#define MATRIX_PRAS7_M5PR_Msk (0x3u << MATRIX_PRAS7_M5PR_Pos) /**< \brief (MATRIX_PRAS7) Master 5 Priority */ -#define MATRIX_PRAS7_M5PR(value) ((MATRIX_PRAS7_M5PR_Msk & ((value) << MATRIX_PRAS7_M5PR_Pos))) -#define MATRIX_PRAS7_M6PR_Pos 24 -#define MATRIX_PRAS7_M6PR_Msk (0x3u << MATRIX_PRAS7_M6PR_Pos) /**< \brief (MATRIX_PRAS7) Master 6 Priority */ -#define MATRIX_PRAS7_M6PR(value) ((MATRIX_PRAS7_M6PR_Msk & ((value) << MATRIX_PRAS7_M6PR_Pos))) -/* -------- MATRIX_PRBS7 : (MATRIX Offset: 0x00BC) Priority Register B for Slave 7 -------- */ -#define MATRIX_PRBS7_M8PR_Pos 0 -#define MATRIX_PRBS7_M8PR_Msk (0x3u << MATRIX_PRBS7_M8PR_Pos) /**< \brief (MATRIX_PRBS7) Master 8 Priority */ -#define MATRIX_PRBS7_M8PR(value) ((MATRIX_PRBS7_M8PR_Msk & ((value) << MATRIX_PRBS7_M8PR_Pos))) -/* -------- MATRIX_PRAS8 : (MATRIX Offset: 0x00C0) Priority Register A for Slave 8 -------- */ -#define MATRIX_PRAS8_M0PR_Pos 0 -#define MATRIX_PRAS8_M0PR_Msk (0x3u << MATRIX_PRAS8_M0PR_Pos) /**< \brief (MATRIX_PRAS8) Master 0 Priority */ -#define MATRIX_PRAS8_M0PR(value) ((MATRIX_PRAS8_M0PR_Msk & ((value) << MATRIX_PRAS8_M0PR_Pos))) -#define MATRIX_PRAS8_M1PR_Pos 4 -#define MATRIX_PRAS8_M1PR_Msk (0x3u << MATRIX_PRAS8_M1PR_Pos) /**< \brief (MATRIX_PRAS8) Master 1 Priority */ -#define MATRIX_PRAS8_M1PR(value) ((MATRIX_PRAS8_M1PR_Msk & ((value) << MATRIX_PRAS8_M1PR_Pos))) -#define MATRIX_PRAS8_M2PR_Pos 8 -#define MATRIX_PRAS8_M2PR_Msk (0x3u << MATRIX_PRAS8_M2PR_Pos) /**< \brief (MATRIX_PRAS8) Master 2 Priority */ -#define MATRIX_PRAS8_M2PR(value) ((MATRIX_PRAS8_M2PR_Msk & ((value) << MATRIX_PRAS8_M2PR_Pos))) -#define MATRIX_PRAS8_M3PR_Pos 12 -#define MATRIX_PRAS8_M3PR_Msk (0x3u << MATRIX_PRAS8_M3PR_Pos) /**< \brief (MATRIX_PRAS8) Master 3 Priority */ -#define MATRIX_PRAS8_M3PR(value) ((MATRIX_PRAS8_M3PR_Msk & ((value) << MATRIX_PRAS8_M3PR_Pos))) -#define MATRIX_PRAS8_M4PR_Pos 16 -#define MATRIX_PRAS8_M4PR_Msk (0x3u << MATRIX_PRAS8_M4PR_Pos) /**< \brief (MATRIX_PRAS8) Master 4 Priority */ -#define MATRIX_PRAS8_M4PR(value) ((MATRIX_PRAS8_M4PR_Msk & ((value) << MATRIX_PRAS8_M4PR_Pos))) -#define MATRIX_PRAS8_M5PR_Pos 20 -#define MATRIX_PRAS8_M5PR_Msk (0x3u << MATRIX_PRAS8_M5PR_Pos) /**< \brief (MATRIX_PRAS8) Master 5 Priority */ -#define MATRIX_PRAS8_M5PR(value) ((MATRIX_PRAS8_M5PR_Msk & ((value) << MATRIX_PRAS8_M5PR_Pos))) -#define MATRIX_PRAS8_M6PR_Pos 24 -#define MATRIX_PRAS8_M6PR_Msk (0x3u << MATRIX_PRAS8_M6PR_Pos) /**< \brief (MATRIX_PRAS8) Master 6 Priority */ -#define MATRIX_PRAS8_M6PR(value) ((MATRIX_PRAS8_M6PR_Msk & ((value) << MATRIX_PRAS8_M6PR_Pos))) -/* -------- MATRIX_PRBS8 : (MATRIX Offset: 0x00C4) Priority Register B for Slave 8 -------- */ -#define MATRIX_PRBS8_M8PR_Pos 0 -#define MATRIX_PRBS8_M8PR_Msk (0x3u << MATRIX_PRBS8_M8PR_Pos) /**< \brief (MATRIX_PRBS8) Master 8 Priority */ -#define MATRIX_PRBS8_M8PR(value) ((MATRIX_PRBS8_M8PR_Msk & ((value) << MATRIX_PRBS8_M8PR_Pos))) -/* -------- MATRIX_MRCR : (MATRIX Offset: 0x0100) Master Remap Control Register -------- */ -#define MATRIX_MRCR_RCB0 (0x1u << 0) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 0 */ -#define MATRIX_MRCR_RCB1 (0x1u << 1) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 1 */ -#define MATRIX_MRCR_RCB2 (0x1u << 2) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 2 */ -#define MATRIX_MRCR_RCB3 (0x1u << 3) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 3 */ -#define MATRIX_MRCR_RCB4 (0x1u << 4) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 4 */ -#define MATRIX_MRCR_RCB5 (0x1u << 5) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 5 */ -#define MATRIX_MRCR_RCB6 (0x1u << 6) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 6 */ -#define MATRIX_MRCR_RCB8 (0x1u << 8) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 8 */ -/* -------- CCFG_SYSIO : (MATRIX Offset: 0x0114) System I/O Configuration Register -------- */ -#define CCFG_SYSIO_SYSIO4 (0x1u << 4) /**< \brief (CCFG_SYSIO) PB4 or TDI Assignment */ -#define CCFG_SYSIO_SYSIO5 (0x1u << 5) /**< \brief (CCFG_SYSIO) PB5 or TDO/TRACESWO Assignment */ -#define CCFG_SYSIO_SYSIO6 (0x1u << 6) /**< \brief (CCFG_SYSIO) PB6 or TMS/SWDIO Assignment */ -#define CCFG_SYSIO_SYSIO7 (0x1u << 7) /**< \brief (CCFG_SYSIO) PB7 or TCK/SWCLK Assignment */ -#define CCFG_SYSIO_SYSIO12 (0x1u << 12) /**< \brief (CCFG_SYSIO) PB12 or ERASE Assignment */ -/* -------- CCFG_SMCNFCS : (MATRIX Offset: 0x0124) SMC NAND Flash Chip Select Configuration Register -------- */ -#define CCFG_SMCNFCS_SMC_NFCS0 (0x1u << 0) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 0 Assignment */ -#define CCFG_SMCNFCS_SMC_NFCS1 (0x1u << 1) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 1 Assignment */ -#define CCFG_SMCNFCS_SMC_NFCS2 (0x1u << 2) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 2 Assignment */ -#define CCFG_SMCNFCS_SMC_NFCS3 (0x1u << 3) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 3 Assignment */ -#define CCFG_SMCNFCS_SDRAMEN (0x1u << 4) /**< \brief (CCFG_SMCNFCS) SDRAM Enable */ -/* -------- MATRIX_WPMR : (MATRIX Offset: 0x01E4) Write Protection Mode Register -------- */ -#define MATRIX_WPMR_WPEN (0x1u << 0) /**< \brief (MATRIX_WPMR) Write Protection Enable */ -#define MATRIX_WPMR_WPKEY_Pos 8 -#define MATRIX_WPMR_WPKEY_Msk (0xffffffu << MATRIX_WPMR_WPKEY_Pos) /**< \brief (MATRIX_WPMR) Write Protection Key */ -#define MATRIX_WPMR_WPKEY(value) ((MATRIX_WPMR_WPKEY_Msk & ((value) << MATRIX_WPMR_WPKEY_Pos))) -#define MATRIX_WPMR_WPKEY_PASSWD (0x4D4154u << 8) /**< \brief (MATRIX_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- MATRIX_WPSR : (MATRIX Offset: 0x01E8) Write Protection Status Register -------- */ -#define MATRIX_WPSR_WPVS (0x1u << 0) /**< \brief (MATRIX_WPSR) Write Protection Violation Status */ -#define MATRIX_WPSR_WPVSRC_Pos 8 -#define MATRIX_WPSR_WPVSRC_Msk (0xffffu << MATRIX_WPSR_WPVSRC_Pos) /**< \brief (MATRIX_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_MATRIX_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h deleted file mode 100644 index 94bc5c2..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h +++ /dev/null @@ -1,1629 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIO_COMPONENT_ -#define _SAMS70_PIO_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Parallel Input/Output Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_PIO Parallel Input/Output Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Pio hardware registers */ -typedef struct { - __O uint32_t PIO_PER; /**< \brief (Pio Offset: 0x0000) PIO Enable Register */ - __O uint32_t PIO_PDR; /**< \brief (Pio Offset: 0x0004) PIO Disable Register */ - __I uint32_t PIO_PSR; /**< \brief (Pio Offset: 0x0008) PIO Status Register */ - __I uint32_t Reserved1[1]; - __O uint32_t PIO_OER; /**< \brief (Pio Offset: 0x0010) Output Enable Register */ - __O uint32_t PIO_ODR; /**< \brief (Pio Offset: 0x0014) Output Disable Register */ - __I uint32_t PIO_OSR; /**< \brief (Pio Offset: 0x0018) Output Status Register */ - __I uint32_t Reserved2[1]; - __O uint32_t PIO_IFER; /**< \brief (Pio Offset: 0x0020) Glitch Input Filter Enable Register */ - __O uint32_t PIO_IFDR; /**< \brief (Pio Offset: 0x0024) Glitch Input Filter Disable Register */ - __I uint32_t PIO_IFSR; /**< \brief (Pio Offset: 0x0028) Glitch Input Filter Status Register */ - __I uint32_t Reserved3[1]; - __O uint32_t PIO_SODR; /**< \brief (Pio Offset: 0x0030) Set Output Data Register */ - __O uint32_t PIO_CODR; /**< \brief (Pio Offset: 0x0034) Clear Output Data Register */ - __IO uint32_t PIO_ODSR; /**< \brief (Pio Offset: 0x0038) Output Data Status Register */ - __I uint32_t PIO_PDSR; /**< \brief (Pio Offset: 0x003C) Pin Data Status Register */ - __O uint32_t PIO_IER; /**< \brief (Pio Offset: 0x0040) Interrupt Enable Register */ - __O uint32_t PIO_IDR; /**< \brief (Pio Offset: 0x0044) Interrupt Disable Register */ - __I uint32_t PIO_IMR; /**< \brief (Pio Offset: 0x0048) Interrupt Mask Register */ - __I uint32_t PIO_ISR; /**< \brief (Pio Offset: 0x004C) Interrupt Status Register */ - __O uint32_t PIO_MDER; /**< \brief (Pio Offset: 0x0050) Multi-driver Enable Register */ - __O uint32_t PIO_MDDR; /**< \brief (Pio Offset: 0x0054) Multi-driver Disable Register */ - __I uint32_t PIO_MDSR; /**< \brief (Pio Offset: 0x0058) Multi-driver Status Register */ - __I uint32_t Reserved4[1]; - __O uint32_t PIO_PUDR; /**< \brief (Pio Offset: 0x0060) Pull-up Disable Register */ - __O uint32_t PIO_PUER; /**< \brief (Pio Offset: 0x0064) Pull-up Enable Register */ - __I uint32_t PIO_PUSR; /**< \brief (Pio Offset: 0x0068) Pad Pull-up Status Register */ - __I uint32_t Reserved5[1]; - __IO uint32_t PIO_ABCDSR[2]; /**< \brief (Pio Offset: 0x0070) Peripheral Select Register */ - __I uint32_t Reserved6[2]; - __O uint32_t PIO_IFSCDR; /**< \brief (Pio Offset: 0x0080) Input Filter Slow Clock Disable Register */ - __O uint32_t PIO_IFSCER; /**< \brief (Pio Offset: 0x0084) Input Filter Slow Clock Enable Register */ - __I uint32_t PIO_IFSCSR; /**< \brief (Pio Offset: 0x0088) Input Filter Slow Clock Status Register */ - __IO uint32_t PIO_SCDR; /**< \brief (Pio Offset: 0x008C) Slow Clock Divider Debouncing Register */ - __O uint32_t PIO_PPDDR; /**< \brief (Pio Offset: 0x0090) Pad Pull-down Disable Register */ - __O uint32_t PIO_PPDER; /**< \brief (Pio Offset: 0x0094) Pad Pull-down Enable Register */ - __I uint32_t PIO_PPDSR; /**< \brief (Pio Offset: 0x0098) Pad Pull-down Status Register */ - __I uint32_t Reserved7[1]; - __O uint32_t PIO_OWER; /**< \brief (Pio Offset: 0x00A0) Output Write Enable */ - __O uint32_t PIO_OWDR; /**< \brief (Pio Offset: 0x00A4) Output Write Disable */ - __I uint32_t PIO_OWSR; /**< \brief (Pio Offset: 0x00A8) Output Write Status Register */ - __I uint32_t Reserved8[1]; - __O uint32_t PIO_AIMER; /**< \brief (Pio Offset: 0x00B0) Additional Interrupt Modes Enable Register */ - __O uint32_t PIO_AIMDR; /**< \brief (Pio Offset: 0x00B4) Additional Interrupt Modes Disable Register */ - __I uint32_t PIO_AIMMR; /**< \brief (Pio Offset: 0x00B8) Additional Interrupt Modes Mask Register */ - __I uint32_t Reserved9[1]; - __O uint32_t PIO_ESR; /**< \brief (Pio Offset: 0x00C0) Edge Select Register */ - __O uint32_t PIO_LSR; /**< \brief (Pio Offset: 0x00C4) Level Select Register */ - __I uint32_t PIO_ELSR; /**< \brief (Pio Offset: 0x00C8) Edge/Level Status Register */ - __I uint32_t Reserved10[1]; - __O uint32_t PIO_FELLSR; /**< \brief (Pio Offset: 0x00D0) Falling Edge/Low-Level Select Register */ - __O uint32_t PIO_REHLSR; /**< \brief (Pio Offset: 0x00D4) Rising Edge/High-Level Select Register */ - __I uint32_t PIO_FRLHSR; /**< \brief (Pio Offset: 0x00D8) Fall/Rise - Low/High Status Register */ - __I uint32_t Reserved11[1]; - __I uint32_t PIO_LOCKSR; /**< \brief (Pio Offset: 0x00E0) Lock Status */ - __IO uint32_t PIO_WPMR; /**< \brief (Pio Offset: 0x00E4) Write Protection Mode Register */ - __I uint32_t PIO_WPSR; /**< \brief (Pio Offset: 0x00E8) Write Protection Status Register */ - __I uint32_t Reserved12[5]; - __IO uint32_t PIO_SCHMITT; /**< \brief (Pio Offset: 0x0100) Schmitt Trigger Register */ - __I uint32_t Reserved13[5]; - __IO uint32_t PIO_DRIVER; /**< \brief (Pio Offset: 0x0118) I/O Drive Register */ - __I uint32_t Reserved14[13]; - __IO uint32_t PIO_PCMR; /**< \brief (Pio Offset: 0x0150) Parallel Capture Mode Register */ - __O uint32_t PIO_PCIER; /**< \brief (Pio Offset: 0x0154) Parallel Capture Interrupt Enable Register */ - __O uint32_t PIO_PCIDR; /**< \brief (Pio Offset: 0x0158) Parallel Capture Interrupt Disable Register */ - __I uint32_t PIO_PCIMR; /**< \brief (Pio Offset: 0x015C) Parallel Capture Interrupt Mask Register */ - __I uint32_t PIO_PCISR; /**< \brief (Pio Offset: 0x0160) Parallel Capture Interrupt Status Register */ - __I uint32_t PIO_PCRHR; /**< \brief (Pio Offset: 0x0164) Parallel Capture Reception Holding Register */ -} Pio; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- PIO_PER : (PIO Offset: 0x0000) PIO Enable Register -------- */ -#define PIO_PER_P0 (0x1u << 0) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P1 (0x1u << 1) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P2 (0x1u << 2) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P3 (0x1u << 3) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P4 (0x1u << 4) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P5 (0x1u << 5) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P6 (0x1u << 6) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P7 (0x1u << 7) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P8 (0x1u << 8) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P9 (0x1u << 9) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P10 (0x1u << 10) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P11 (0x1u << 11) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P12 (0x1u << 12) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P13 (0x1u << 13) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P14 (0x1u << 14) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P15 (0x1u << 15) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P16 (0x1u << 16) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P17 (0x1u << 17) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P18 (0x1u << 18) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P19 (0x1u << 19) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P20 (0x1u << 20) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P21 (0x1u << 21) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P22 (0x1u << 22) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P23 (0x1u << 23) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P24 (0x1u << 24) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P25 (0x1u << 25) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P26 (0x1u << 26) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P27 (0x1u << 27) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P28 (0x1u << 28) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P29 (0x1u << 29) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P30 (0x1u << 30) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P31 (0x1u << 31) /**< \brief (PIO_PER) PIO Enable */ -/* -------- PIO_PDR : (PIO Offset: 0x0004) PIO Disable Register -------- */ -#define PIO_PDR_P0 (0x1u << 0) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P1 (0x1u << 1) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P2 (0x1u << 2) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P3 (0x1u << 3) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P4 (0x1u << 4) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P5 (0x1u << 5) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P6 (0x1u << 6) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P7 (0x1u << 7) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P8 (0x1u << 8) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P9 (0x1u << 9) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P10 (0x1u << 10) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P11 (0x1u << 11) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P12 (0x1u << 12) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P13 (0x1u << 13) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P14 (0x1u << 14) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P15 (0x1u << 15) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P16 (0x1u << 16) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P17 (0x1u << 17) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P18 (0x1u << 18) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P19 (0x1u << 19) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P20 (0x1u << 20) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P21 (0x1u << 21) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P22 (0x1u << 22) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P23 (0x1u << 23) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P24 (0x1u << 24) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P25 (0x1u << 25) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P26 (0x1u << 26) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P27 (0x1u << 27) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P28 (0x1u << 28) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P29 (0x1u << 29) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P30 (0x1u << 30) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P31 (0x1u << 31) /**< \brief (PIO_PDR) PIO Disable */ -/* -------- PIO_PSR : (PIO Offset: 0x0008) PIO Status Register -------- */ -#define PIO_PSR_P0 (0x1u << 0) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P1 (0x1u << 1) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P2 (0x1u << 2) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P3 (0x1u << 3) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P4 (0x1u << 4) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P5 (0x1u << 5) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P6 (0x1u << 6) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P7 (0x1u << 7) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P8 (0x1u << 8) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P9 (0x1u << 9) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P10 (0x1u << 10) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P11 (0x1u << 11) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P12 (0x1u << 12) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P13 (0x1u << 13) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P14 (0x1u << 14) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P15 (0x1u << 15) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P16 (0x1u << 16) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P17 (0x1u << 17) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P18 (0x1u << 18) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P19 (0x1u << 19) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P20 (0x1u << 20) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P21 (0x1u << 21) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P22 (0x1u << 22) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P23 (0x1u << 23) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P24 (0x1u << 24) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P25 (0x1u << 25) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P26 (0x1u << 26) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P27 (0x1u << 27) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P28 (0x1u << 28) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P29 (0x1u << 29) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P30 (0x1u << 30) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P31 (0x1u << 31) /**< \brief (PIO_PSR) PIO Status */ -/* -------- PIO_OER : (PIO Offset: 0x0010) Output Enable Register -------- */ -#define PIO_OER_P0 (0x1u << 0) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P1 (0x1u << 1) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P2 (0x1u << 2) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P3 (0x1u << 3) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P4 (0x1u << 4) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P5 (0x1u << 5) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P6 (0x1u << 6) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P7 (0x1u << 7) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P8 (0x1u << 8) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P9 (0x1u << 9) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P10 (0x1u << 10) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P11 (0x1u << 11) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P12 (0x1u << 12) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P13 (0x1u << 13) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P14 (0x1u << 14) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P15 (0x1u << 15) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P16 (0x1u << 16) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P17 (0x1u << 17) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P18 (0x1u << 18) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P19 (0x1u << 19) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P20 (0x1u << 20) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P21 (0x1u << 21) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P22 (0x1u << 22) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P23 (0x1u << 23) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P24 (0x1u << 24) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P25 (0x1u << 25) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P26 (0x1u << 26) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P27 (0x1u << 27) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P28 (0x1u << 28) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P29 (0x1u << 29) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P30 (0x1u << 30) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P31 (0x1u << 31) /**< \brief (PIO_OER) Output Enable */ -/* -------- PIO_ODR : (PIO Offset: 0x0014) Output Disable Register -------- */ -#define PIO_ODR_P0 (0x1u << 0) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P1 (0x1u << 1) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P2 (0x1u << 2) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P3 (0x1u << 3) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P4 (0x1u << 4) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P5 (0x1u << 5) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P6 (0x1u << 6) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P7 (0x1u << 7) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P8 (0x1u << 8) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P9 (0x1u << 9) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P10 (0x1u << 10) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P11 (0x1u << 11) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P12 (0x1u << 12) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P13 (0x1u << 13) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P14 (0x1u << 14) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P15 (0x1u << 15) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P16 (0x1u << 16) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P17 (0x1u << 17) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P18 (0x1u << 18) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P19 (0x1u << 19) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P20 (0x1u << 20) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P21 (0x1u << 21) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P22 (0x1u << 22) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P23 (0x1u << 23) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P24 (0x1u << 24) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P25 (0x1u << 25) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P26 (0x1u << 26) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P27 (0x1u << 27) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P28 (0x1u << 28) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P29 (0x1u << 29) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P30 (0x1u << 30) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P31 (0x1u << 31) /**< \brief (PIO_ODR) Output Disable */ -/* -------- PIO_OSR : (PIO Offset: 0x0018) Output Status Register -------- */ -#define PIO_OSR_P0 (0x1u << 0) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P1 (0x1u << 1) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P2 (0x1u << 2) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P3 (0x1u << 3) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P4 (0x1u << 4) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P5 (0x1u << 5) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P6 (0x1u << 6) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P7 (0x1u << 7) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P8 (0x1u << 8) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P9 (0x1u << 9) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P10 (0x1u << 10) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P11 (0x1u << 11) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P12 (0x1u << 12) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P13 (0x1u << 13) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P14 (0x1u << 14) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P15 (0x1u << 15) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P16 (0x1u << 16) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P17 (0x1u << 17) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P18 (0x1u << 18) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P19 (0x1u << 19) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P20 (0x1u << 20) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P21 (0x1u << 21) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P22 (0x1u << 22) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P23 (0x1u << 23) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P24 (0x1u << 24) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P25 (0x1u << 25) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P26 (0x1u << 26) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P27 (0x1u << 27) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P28 (0x1u << 28) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P29 (0x1u << 29) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P30 (0x1u << 30) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P31 (0x1u << 31) /**< \brief (PIO_OSR) Output Status */ -/* -------- PIO_IFER : (PIO Offset: 0x0020) Glitch Input Filter Enable Register -------- */ -#define PIO_IFER_P0 (0x1u << 0) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P1 (0x1u << 1) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P2 (0x1u << 2) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P3 (0x1u << 3) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P4 (0x1u << 4) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P5 (0x1u << 5) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P6 (0x1u << 6) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P7 (0x1u << 7) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P8 (0x1u << 8) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P9 (0x1u << 9) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P10 (0x1u << 10) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P11 (0x1u << 11) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P12 (0x1u << 12) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P13 (0x1u << 13) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P14 (0x1u << 14) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P15 (0x1u << 15) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P16 (0x1u << 16) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P17 (0x1u << 17) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P18 (0x1u << 18) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P19 (0x1u << 19) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P20 (0x1u << 20) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P21 (0x1u << 21) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P22 (0x1u << 22) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P23 (0x1u << 23) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P24 (0x1u << 24) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P25 (0x1u << 25) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P26 (0x1u << 26) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P27 (0x1u << 27) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P28 (0x1u << 28) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P29 (0x1u << 29) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P30 (0x1u << 30) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P31 (0x1u << 31) /**< \brief (PIO_IFER) Input Filter Enable */ -/* -------- PIO_IFDR : (PIO Offset: 0x0024) Glitch Input Filter Disable Register -------- */ -#define PIO_IFDR_P0 (0x1u << 0) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P1 (0x1u << 1) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P2 (0x1u << 2) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P3 (0x1u << 3) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P4 (0x1u << 4) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P5 (0x1u << 5) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P6 (0x1u << 6) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P7 (0x1u << 7) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P8 (0x1u << 8) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P9 (0x1u << 9) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P10 (0x1u << 10) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P11 (0x1u << 11) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P12 (0x1u << 12) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P13 (0x1u << 13) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P14 (0x1u << 14) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P15 (0x1u << 15) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P16 (0x1u << 16) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P17 (0x1u << 17) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P18 (0x1u << 18) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P19 (0x1u << 19) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P20 (0x1u << 20) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P21 (0x1u << 21) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P22 (0x1u << 22) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P23 (0x1u << 23) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P24 (0x1u << 24) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P25 (0x1u << 25) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P26 (0x1u << 26) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P27 (0x1u << 27) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P28 (0x1u << 28) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P29 (0x1u << 29) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P30 (0x1u << 30) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P31 (0x1u << 31) /**< \brief (PIO_IFDR) Input Filter Disable */ -/* -------- PIO_IFSR : (PIO Offset: 0x0028) Glitch Input Filter Status Register -------- */ -#define PIO_IFSR_P0 (0x1u << 0) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P1 (0x1u << 1) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P2 (0x1u << 2) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P3 (0x1u << 3) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P4 (0x1u << 4) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P5 (0x1u << 5) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P6 (0x1u << 6) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P7 (0x1u << 7) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P8 (0x1u << 8) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P9 (0x1u << 9) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P10 (0x1u << 10) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P11 (0x1u << 11) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P12 (0x1u << 12) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P13 (0x1u << 13) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P14 (0x1u << 14) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P15 (0x1u << 15) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P16 (0x1u << 16) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P17 (0x1u << 17) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P18 (0x1u << 18) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P19 (0x1u << 19) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P20 (0x1u << 20) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P21 (0x1u << 21) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P22 (0x1u << 22) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P23 (0x1u << 23) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P24 (0x1u << 24) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P25 (0x1u << 25) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P26 (0x1u << 26) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P27 (0x1u << 27) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P28 (0x1u << 28) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P29 (0x1u << 29) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P30 (0x1u << 30) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P31 (0x1u << 31) /**< \brief (PIO_IFSR) Input Filter Status */ -/* -------- PIO_SODR : (PIO Offset: 0x0030) Set Output Data Register -------- */ -#define PIO_SODR_P0 (0x1u << 0) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P1 (0x1u << 1) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P2 (0x1u << 2) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P3 (0x1u << 3) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P4 (0x1u << 4) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P5 (0x1u << 5) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P6 (0x1u << 6) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P7 (0x1u << 7) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P8 (0x1u << 8) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P9 (0x1u << 9) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P10 (0x1u << 10) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P11 (0x1u << 11) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P12 (0x1u << 12) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P13 (0x1u << 13) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P14 (0x1u << 14) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P15 (0x1u << 15) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P16 (0x1u << 16) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P17 (0x1u << 17) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P18 (0x1u << 18) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P19 (0x1u << 19) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P20 (0x1u << 20) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P21 (0x1u << 21) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P22 (0x1u << 22) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P23 (0x1u << 23) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P24 (0x1u << 24) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P25 (0x1u << 25) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P26 (0x1u << 26) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P27 (0x1u << 27) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P28 (0x1u << 28) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P29 (0x1u << 29) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P30 (0x1u << 30) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P31 (0x1u << 31) /**< \brief (PIO_SODR) Set Output Data */ -/* -------- PIO_CODR : (PIO Offset: 0x0034) Clear Output Data Register -------- */ -#define PIO_CODR_P0 (0x1u << 0) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P1 (0x1u << 1) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P2 (0x1u << 2) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P3 (0x1u << 3) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P4 (0x1u << 4) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P5 (0x1u << 5) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P6 (0x1u << 6) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P7 (0x1u << 7) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P8 (0x1u << 8) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P9 (0x1u << 9) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P10 (0x1u << 10) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P11 (0x1u << 11) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P12 (0x1u << 12) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P13 (0x1u << 13) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P14 (0x1u << 14) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P15 (0x1u << 15) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P16 (0x1u << 16) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P17 (0x1u << 17) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P18 (0x1u << 18) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P19 (0x1u << 19) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P20 (0x1u << 20) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P21 (0x1u << 21) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P22 (0x1u << 22) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P23 (0x1u << 23) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P24 (0x1u << 24) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P25 (0x1u << 25) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P26 (0x1u << 26) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P27 (0x1u << 27) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P28 (0x1u << 28) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P29 (0x1u << 29) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P30 (0x1u << 30) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P31 (0x1u << 31) /**< \brief (PIO_CODR) Clear Output Data */ -/* -------- PIO_ODSR : (PIO Offset: 0x0038) Output Data Status Register -------- */ -#define PIO_ODSR_P0 (0x1u << 0) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P1 (0x1u << 1) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P2 (0x1u << 2) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P3 (0x1u << 3) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P4 (0x1u << 4) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P5 (0x1u << 5) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P6 (0x1u << 6) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P7 (0x1u << 7) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P8 (0x1u << 8) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P9 (0x1u << 9) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P10 (0x1u << 10) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P11 (0x1u << 11) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P12 (0x1u << 12) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P13 (0x1u << 13) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P14 (0x1u << 14) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P15 (0x1u << 15) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P16 (0x1u << 16) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P17 (0x1u << 17) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P18 (0x1u << 18) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P19 (0x1u << 19) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P20 (0x1u << 20) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P21 (0x1u << 21) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P22 (0x1u << 22) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P23 (0x1u << 23) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P24 (0x1u << 24) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P25 (0x1u << 25) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P26 (0x1u << 26) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P27 (0x1u << 27) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P28 (0x1u << 28) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P29 (0x1u << 29) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P30 (0x1u << 30) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P31 (0x1u << 31) /**< \brief (PIO_ODSR) Output Data Status */ -/* -------- PIO_PDSR : (PIO Offset: 0x003C) Pin Data Status Register -------- */ -#define PIO_PDSR_P0 (0x1u << 0) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P1 (0x1u << 1) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P2 (0x1u << 2) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P3 (0x1u << 3) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P4 (0x1u << 4) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P5 (0x1u << 5) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P6 (0x1u << 6) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P7 (0x1u << 7) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P8 (0x1u << 8) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P9 (0x1u << 9) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P10 (0x1u << 10) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P11 (0x1u << 11) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P12 (0x1u << 12) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P13 (0x1u << 13) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P14 (0x1u << 14) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P15 (0x1u << 15) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P16 (0x1u << 16) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P17 (0x1u << 17) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P18 (0x1u << 18) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P19 (0x1u << 19) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P20 (0x1u << 20) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P21 (0x1u << 21) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P22 (0x1u << 22) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P23 (0x1u << 23) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P24 (0x1u << 24) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P25 (0x1u << 25) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P26 (0x1u << 26) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P27 (0x1u << 27) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P28 (0x1u << 28) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P29 (0x1u << 29) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P30 (0x1u << 30) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P31 (0x1u << 31) /**< \brief (PIO_PDSR) Output Data Status */ -/* -------- PIO_IER : (PIO Offset: 0x0040) Interrupt Enable Register -------- */ -#define PIO_IER_P0 (0x1u << 0) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P1 (0x1u << 1) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P2 (0x1u << 2) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P3 (0x1u << 3) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P4 (0x1u << 4) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P5 (0x1u << 5) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P6 (0x1u << 6) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P7 (0x1u << 7) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P8 (0x1u << 8) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P9 (0x1u << 9) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P10 (0x1u << 10) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P11 (0x1u << 11) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P12 (0x1u << 12) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P13 (0x1u << 13) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P14 (0x1u << 14) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P15 (0x1u << 15) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P16 (0x1u << 16) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P17 (0x1u << 17) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P18 (0x1u << 18) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P19 (0x1u << 19) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P20 (0x1u << 20) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P21 (0x1u << 21) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P22 (0x1u << 22) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P23 (0x1u << 23) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P24 (0x1u << 24) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P25 (0x1u << 25) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P26 (0x1u << 26) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P27 (0x1u << 27) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P28 (0x1u << 28) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P29 (0x1u << 29) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P30 (0x1u << 30) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P31 (0x1u << 31) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -/* -------- PIO_IDR : (PIO Offset: 0x0044) Interrupt Disable Register -------- */ -#define PIO_IDR_P0 (0x1u << 0) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P1 (0x1u << 1) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P2 (0x1u << 2) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P3 (0x1u << 3) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P4 (0x1u << 4) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P5 (0x1u << 5) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P6 (0x1u << 6) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P7 (0x1u << 7) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P8 (0x1u << 8) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P9 (0x1u << 9) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P10 (0x1u << 10) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P11 (0x1u << 11) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P12 (0x1u << 12) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P13 (0x1u << 13) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P14 (0x1u << 14) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P15 (0x1u << 15) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P16 (0x1u << 16) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P17 (0x1u << 17) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P18 (0x1u << 18) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P19 (0x1u << 19) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P20 (0x1u << 20) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P21 (0x1u << 21) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P22 (0x1u << 22) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P23 (0x1u << 23) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P24 (0x1u << 24) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P25 (0x1u << 25) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P26 (0x1u << 26) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P27 (0x1u << 27) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P28 (0x1u << 28) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P29 (0x1u << 29) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P30 (0x1u << 30) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P31 (0x1u << 31) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -/* -------- PIO_IMR : (PIO Offset: 0x0048) Interrupt Mask Register -------- */ -#define PIO_IMR_P0 (0x1u << 0) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P1 (0x1u << 1) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P2 (0x1u << 2) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P3 (0x1u << 3) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P4 (0x1u << 4) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P5 (0x1u << 5) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P6 (0x1u << 6) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P7 (0x1u << 7) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P8 (0x1u << 8) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P9 (0x1u << 9) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P10 (0x1u << 10) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P11 (0x1u << 11) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P12 (0x1u << 12) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P13 (0x1u << 13) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P14 (0x1u << 14) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P15 (0x1u << 15) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P16 (0x1u << 16) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P17 (0x1u << 17) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P18 (0x1u << 18) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P19 (0x1u << 19) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P20 (0x1u << 20) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P21 (0x1u << 21) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P22 (0x1u << 22) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P23 (0x1u << 23) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P24 (0x1u << 24) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P25 (0x1u << 25) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P26 (0x1u << 26) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P27 (0x1u << 27) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P28 (0x1u << 28) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P29 (0x1u << 29) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P30 (0x1u << 30) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P31 (0x1u << 31) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -/* -------- PIO_ISR : (PIO Offset: 0x004C) Interrupt Status Register -------- */ -#define PIO_ISR_P0 (0x1u << 0) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P1 (0x1u << 1) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P2 (0x1u << 2) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P3 (0x1u << 3) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P4 (0x1u << 4) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P5 (0x1u << 5) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P6 (0x1u << 6) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P7 (0x1u << 7) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P8 (0x1u << 8) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P9 (0x1u << 9) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P10 (0x1u << 10) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P11 (0x1u << 11) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P12 (0x1u << 12) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P13 (0x1u << 13) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P14 (0x1u << 14) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P15 (0x1u << 15) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P16 (0x1u << 16) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P17 (0x1u << 17) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P18 (0x1u << 18) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P19 (0x1u << 19) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P20 (0x1u << 20) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P21 (0x1u << 21) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P22 (0x1u << 22) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P23 (0x1u << 23) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P24 (0x1u << 24) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P25 (0x1u << 25) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P26 (0x1u << 26) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P27 (0x1u << 27) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P28 (0x1u << 28) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P29 (0x1u << 29) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P30 (0x1u << 30) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P31 (0x1u << 31) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -/* -------- PIO_MDER : (PIO Offset: 0x0050) Multi-driver Enable Register -------- */ -#define PIO_MDER_P0 (0x1u << 0) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P1 (0x1u << 1) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P2 (0x1u << 2) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P3 (0x1u << 3) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P4 (0x1u << 4) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P5 (0x1u << 5) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P6 (0x1u << 6) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P7 (0x1u << 7) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P8 (0x1u << 8) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P9 (0x1u << 9) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P10 (0x1u << 10) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P11 (0x1u << 11) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P12 (0x1u << 12) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P13 (0x1u << 13) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P14 (0x1u << 14) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P15 (0x1u << 15) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P16 (0x1u << 16) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P17 (0x1u << 17) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P18 (0x1u << 18) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P19 (0x1u << 19) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P20 (0x1u << 20) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P21 (0x1u << 21) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P22 (0x1u << 22) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P23 (0x1u << 23) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P24 (0x1u << 24) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P25 (0x1u << 25) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P26 (0x1u << 26) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P27 (0x1u << 27) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P28 (0x1u << 28) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P29 (0x1u << 29) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P30 (0x1u << 30) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P31 (0x1u << 31) /**< \brief (PIO_MDER) Multi-drive Enable */ -/* -------- PIO_MDDR : (PIO Offset: 0x0054) Multi-driver Disable Register -------- */ -#define PIO_MDDR_P0 (0x1u << 0) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P1 (0x1u << 1) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P2 (0x1u << 2) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P3 (0x1u << 3) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P4 (0x1u << 4) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P5 (0x1u << 5) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P6 (0x1u << 6) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P7 (0x1u << 7) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P8 (0x1u << 8) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P9 (0x1u << 9) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P10 (0x1u << 10) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P11 (0x1u << 11) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P12 (0x1u << 12) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P13 (0x1u << 13) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P14 (0x1u << 14) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P15 (0x1u << 15) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P16 (0x1u << 16) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P17 (0x1u << 17) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P18 (0x1u << 18) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P19 (0x1u << 19) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P20 (0x1u << 20) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P21 (0x1u << 21) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P22 (0x1u << 22) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P23 (0x1u << 23) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P24 (0x1u << 24) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P25 (0x1u << 25) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P26 (0x1u << 26) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P27 (0x1u << 27) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P28 (0x1u << 28) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P29 (0x1u << 29) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P30 (0x1u << 30) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P31 (0x1u << 31) /**< \brief (PIO_MDDR) Multi-drive Disable */ -/* -------- PIO_MDSR : (PIO Offset: 0x0058) Multi-driver Status Register -------- */ -#define PIO_MDSR_P0 (0x1u << 0) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P1 (0x1u << 1) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P2 (0x1u << 2) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P3 (0x1u << 3) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P4 (0x1u << 4) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P5 (0x1u << 5) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P6 (0x1u << 6) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P7 (0x1u << 7) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P8 (0x1u << 8) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P9 (0x1u << 9) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P10 (0x1u << 10) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P11 (0x1u << 11) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P12 (0x1u << 12) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P13 (0x1u << 13) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P14 (0x1u << 14) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P15 (0x1u << 15) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P16 (0x1u << 16) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P17 (0x1u << 17) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P18 (0x1u << 18) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P19 (0x1u << 19) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P20 (0x1u << 20) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P21 (0x1u << 21) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P22 (0x1u << 22) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P23 (0x1u << 23) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P24 (0x1u << 24) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P25 (0x1u << 25) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P26 (0x1u << 26) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P27 (0x1u << 27) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P28 (0x1u << 28) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P29 (0x1u << 29) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P30 (0x1u << 30) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P31 (0x1u << 31) /**< \brief (PIO_MDSR) Multi-drive Status */ -/* -------- PIO_PUDR : (PIO Offset: 0x0060) Pull-up Disable Register -------- */ -#define PIO_PUDR_P0 (0x1u << 0) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P1 (0x1u << 1) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P2 (0x1u << 2) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P3 (0x1u << 3) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P4 (0x1u << 4) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P5 (0x1u << 5) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P6 (0x1u << 6) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P7 (0x1u << 7) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P8 (0x1u << 8) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P9 (0x1u << 9) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P10 (0x1u << 10) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P11 (0x1u << 11) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P12 (0x1u << 12) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P13 (0x1u << 13) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P14 (0x1u << 14) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P15 (0x1u << 15) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P16 (0x1u << 16) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P17 (0x1u << 17) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P18 (0x1u << 18) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P19 (0x1u << 19) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P20 (0x1u << 20) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P21 (0x1u << 21) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P22 (0x1u << 22) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P23 (0x1u << 23) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P24 (0x1u << 24) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P25 (0x1u << 25) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P26 (0x1u << 26) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P27 (0x1u << 27) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P28 (0x1u << 28) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P29 (0x1u << 29) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P30 (0x1u << 30) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P31 (0x1u << 31) /**< \brief (PIO_PUDR) Pull-Up Disable */ -/* -------- PIO_PUER : (PIO Offset: 0x0064) Pull-up Enable Register -------- */ -#define PIO_PUER_P0 (0x1u << 0) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P1 (0x1u << 1) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P2 (0x1u << 2) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P3 (0x1u << 3) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P4 (0x1u << 4) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P5 (0x1u << 5) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P6 (0x1u << 6) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P7 (0x1u << 7) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P8 (0x1u << 8) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P9 (0x1u << 9) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P10 (0x1u << 10) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P11 (0x1u << 11) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P12 (0x1u << 12) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P13 (0x1u << 13) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P14 (0x1u << 14) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P15 (0x1u << 15) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P16 (0x1u << 16) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P17 (0x1u << 17) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P18 (0x1u << 18) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P19 (0x1u << 19) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P20 (0x1u << 20) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P21 (0x1u << 21) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P22 (0x1u << 22) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P23 (0x1u << 23) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P24 (0x1u << 24) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P25 (0x1u << 25) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P26 (0x1u << 26) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P27 (0x1u << 27) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P28 (0x1u << 28) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P29 (0x1u << 29) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P30 (0x1u << 30) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P31 (0x1u << 31) /**< \brief (PIO_PUER) Pull-Up Enable */ -/* -------- PIO_PUSR : (PIO Offset: 0x0068) Pad Pull-up Status Register -------- */ -#define PIO_PUSR_P0 (0x1u << 0) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P1 (0x1u << 1) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P2 (0x1u << 2) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P3 (0x1u << 3) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P4 (0x1u << 4) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P5 (0x1u << 5) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P6 (0x1u << 6) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P7 (0x1u << 7) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P8 (0x1u << 8) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P9 (0x1u << 9) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P10 (0x1u << 10) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P11 (0x1u << 11) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P12 (0x1u << 12) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P13 (0x1u << 13) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P14 (0x1u << 14) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P15 (0x1u << 15) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P16 (0x1u << 16) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P17 (0x1u << 17) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P18 (0x1u << 18) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P19 (0x1u << 19) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P20 (0x1u << 20) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P21 (0x1u << 21) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P22 (0x1u << 22) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P23 (0x1u << 23) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P24 (0x1u << 24) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P25 (0x1u << 25) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P26 (0x1u << 26) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P27 (0x1u << 27) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P28 (0x1u << 28) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P29 (0x1u << 29) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P30 (0x1u << 30) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P31 (0x1u << 31) /**< \brief (PIO_PUSR) Pull-Up Status */ -/* -------- PIO_ABCDSR[2] : (PIO Offset: 0x0070) Peripheral Select Register -------- */ -#define PIO_ABCDSR_P0 (0x1u << 0) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P1 (0x1u << 1) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P2 (0x1u << 2) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P3 (0x1u << 3) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P4 (0x1u << 4) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P5 (0x1u << 5) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P6 (0x1u << 6) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P7 (0x1u << 7) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P8 (0x1u << 8) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P9 (0x1u << 9) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P10 (0x1u << 10) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P11 (0x1u << 11) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P12 (0x1u << 12) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P13 (0x1u << 13) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P14 (0x1u << 14) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P15 (0x1u << 15) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P16 (0x1u << 16) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P17 (0x1u << 17) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P18 (0x1u << 18) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P19 (0x1u << 19) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P20 (0x1u << 20) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P21 (0x1u << 21) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P22 (0x1u << 22) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P23 (0x1u << 23) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P24 (0x1u << 24) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P25 (0x1u << 25) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P26 (0x1u << 26) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P27 (0x1u << 27) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P28 (0x1u << 28) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P29 (0x1u << 29) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P30 (0x1u << 30) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P31 (0x1u << 31) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -/* -------- PIO_IFSCDR : (PIO Offset: 0x0080) Input Filter Slow Clock Disable Register -------- */ -#define PIO_IFSCDR_P0 (0x1u << 0) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P1 (0x1u << 1) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P2 (0x1u << 2) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P3 (0x1u << 3) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P4 (0x1u << 4) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P5 (0x1u << 5) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P6 (0x1u << 6) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P7 (0x1u << 7) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P8 (0x1u << 8) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P9 (0x1u << 9) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P10 (0x1u << 10) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P11 (0x1u << 11) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P12 (0x1u << 12) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P13 (0x1u << 13) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P14 (0x1u << 14) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P15 (0x1u << 15) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P16 (0x1u << 16) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P17 (0x1u << 17) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P18 (0x1u << 18) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P19 (0x1u << 19) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P20 (0x1u << 20) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P21 (0x1u << 21) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P22 (0x1u << 22) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P23 (0x1u << 23) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P24 (0x1u << 24) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P25 (0x1u << 25) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P26 (0x1u << 26) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P27 (0x1u << 27) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P28 (0x1u << 28) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P29 (0x1u << 29) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P30 (0x1u << 30) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P31 (0x1u << 31) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -/* -------- PIO_IFSCER : (PIO Offset: 0x0084) Input Filter Slow Clock Enable Register -------- */ -#define PIO_IFSCER_P0 (0x1u << 0) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P1 (0x1u << 1) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P2 (0x1u << 2) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P3 (0x1u << 3) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P4 (0x1u << 4) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P5 (0x1u << 5) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P6 (0x1u << 6) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P7 (0x1u << 7) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P8 (0x1u << 8) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P9 (0x1u << 9) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P10 (0x1u << 10) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P11 (0x1u << 11) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P12 (0x1u << 12) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P13 (0x1u << 13) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P14 (0x1u << 14) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P15 (0x1u << 15) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P16 (0x1u << 16) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P17 (0x1u << 17) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P18 (0x1u << 18) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P19 (0x1u << 19) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P20 (0x1u << 20) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P21 (0x1u << 21) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P22 (0x1u << 22) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P23 (0x1u << 23) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P24 (0x1u << 24) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P25 (0x1u << 25) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P26 (0x1u << 26) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P27 (0x1u << 27) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P28 (0x1u << 28) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P29 (0x1u << 29) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P30 (0x1u << 30) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P31 (0x1u << 31) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -/* -------- PIO_IFSCSR : (PIO Offset: 0x0088) Input Filter Slow Clock Status Register -------- */ -#define PIO_IFSCSR_P0 (0x1u << 0) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P1 (0x1u << 1) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P2 (0x1u << 2) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P3 (0x1u << 3) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P4 (0x1u << 4) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P5 (0x1u << 5) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P6 (0x1u << 6) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P7 (0x1u << 7) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P8 (0x1u << 8) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P9 (0x1u << 9) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P10 (0x1u << 10) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P11 (0x1u << 11) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P12 (0x1u << 12) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P13 (0x1u << 13) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P14 (0x1u << 14) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P15 (0x1u << 15) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P16 (0x1u << 16) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P17 (0x1u << 17) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P18 (0x1u << 18) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P19 (0x1u << 19) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P20 (0x1u << 20) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P21 (0x1u << 21) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P22 (0x1u << 22) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P23 (0x1u << 23) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P24 (0x1u << 24) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P25 (0x1u << 25) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P26 (0x1u << 26) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P27 (0x1u << 27) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P28 (0x1u << 28) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P29 (0x1u << 29) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P30 (0x1u << 30) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P31 (0x1u << 31) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -/* -------- PIO_SCDR : (PIO Offset: 0x008C) Slow Clock Divider Debouncing Register -------- */ -#define PIO_SCDR_DIV_Pos 0 -#define PIO_SCDR_DIV_Msk (0x3fffu << PIO_SCDR_DIV_Pos) /**< \brief (PIO_SCDR) Slow Clock Divider Selection for Debouncing */ -#define PIO_SCDR_DIV(value) ((PIO_SCDR_DIV_Msk & ((value) << PIO_SCDR_DIV_Pos))) -/* -------- PIO_PPDDR : (PIO Offset: 0x0090) Pad Pull-down Disable Register -------- */ -#define PIO_PPDDR_P0 (0x1u << 0) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P1 (0x1u << 1) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P2 (0x1u << 2) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P3 (0x1u << 3) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P4 (0x1u << 4) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P5 (0x1u << 5) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P6 (0x1u << 6) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P7 (0x1u << 7) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P8 (0x1u << 8) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P9 (0x1u << 9) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P10 (0x1u << 10) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P11 (0x1u << 11) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P12 (0x1u << 12) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P13 (0x1u << 13) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P14 (0x1u << 14) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P15 (0x1u << 15) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P16 (0x1u << 16) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P17 (0x1u << 17) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P18 (0x1u << 18) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P19 (0x1u << 19) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P20 (0x1u << 20) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P21 (0x1u << 21) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P22 (0x1u << 22) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P23 (0x1u << 23) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P24 (0x1u << 24) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P25 (0x1u << 25) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P26 (0x1u << 26) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P27 (0x1u << 27) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P28 (0x1u << 28) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P29 (0x1u << 29) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P30 (0x1u << 30) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P31 (0x1u << 31) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -/* -------- PIO_PPDER : (PIO Offset: 0x0094) Pad Pull-down Enable Register -------- */ -#define PIO_PPDER_P0 (0x1u << 0) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P1 (0x1u << 1) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P2 (0x1u << 2) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P3 (0x1u << 3) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P4 (0x1u << 4) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P5 (0x1u << 5) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P6 (0x1u << 6) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P7 (0x1u << 7) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P8 (0x1u << 8) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P9 (0x1u << 9) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P10 (0x1u << 10) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P11 (0x1u << 11) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P12 (0x1u << 12) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P13 (0x1u << 13) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P14 (0x1u << 14) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P15 (0x1u << 15) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P16 (0x1u << 16) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P17 (0x1u << 17) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P18 (0x1u << 18) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P19 (0x1u << 19) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P20 (0x1u << 20) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P21 (0x1u << 21) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P22 (0x1u << 22) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P23 (0x1u << 23) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P24 (0x1u << 24) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P25 (0x1u << 25) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P26 (0x1u << 26) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P27 (0x1u << 27) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P28 (0x1u << 28) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P29 (0x1u << 29) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P30 (0x1u << 30) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P31 (0x1u << 31) /**< \brief (PIO_PPDER) Pull-Down Enable */ -/* -------- PIO_PPDSR : (PIO Offset: 0x0098) Pad Pull-down Status Register -------- */ -#define PIO_PPDSR_P0 (0x1u << 0) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P1 (0x1u << 1) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P2 (0x1u << 2) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P3 (0x1u << 3) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P4 (0x1u << 4) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P5 (0x1u << 5) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P6 (0x1u << 6) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P7 (0x1u << 7) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P8 (0x1u << 8) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P9 (0x1u << 9) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P10 (0x1u << 10) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P11 (0x1u << 11) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P12 (0x1u << 12) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P13 (0x1u << 13) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P14 (0x1u << 14) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P15 (0x1u << 15) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P16 (0x1u << 16) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P17 (0x1u << 17) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P18 (0x1u << 18) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P19 (0x1u << 19) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P20 (0x1u << 20) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P21 (0x1u << 21) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P22 (0x1u << 22) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P23 (0x1u << 23) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P24 (0x1u << 24) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P25 (0x1u << 25) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P26 (0x1u << 26) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P27 (0x1u << 27) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P28 (0x1u << 28) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P29 (0x1u << 29) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P30 (0x1u << 30) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P31 (0x1u << 31) /**< \brief (PIO_PPDSR) Pull-Down Status */ -/* -------- PIO_OWER : (PIO Offset: 0x00A0) Output Write Enable -------- */ -#define PIO_OWER_P0 (0x1u << 0) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P1 (0x1u << 1) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P2 (0x1u << 2) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P3 (0x1u << 3) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P4 (0x1u << 4) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P5 (0x1u << 5) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P6 (0x1u << 6) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P7 (0x1u << 7) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P8 (0x1u << 8) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P9 (0x1u << 9) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P10 (0x1u << 10) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P11 (0x1u << 11) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P12 (0x1u << 12) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P13 (0x1u << 13) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P14 (0x1u << 14) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P15 (0x1u << 15) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P16 (0x1u << 16) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P17 (0x1u << 17) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P18 (0x1u << 18) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P19 (0x1u << 19) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P20 (0x1u << 20) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P21 (0x1u << 21) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P22 (0x1u << 22) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P23 (0x1u << 23) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P24 (0x1u << 24) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P25 (0x1u << 25) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P26 (0x1u << 26) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P27 (0x1u << 27) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P28 (0x1u << 28) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P29 (0x1u << 29) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P30 (0x1u << 30) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P31 (0x1u << 31) /**< \brief (PIO_OWER) Output Write Enable */ -/* -------- PIO_OWDR : (PIO Offset: 0x00A4) Output Write Disable -------- */ -#define PIO_OWDR_P0 (0x1u << 0) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P1 (0x1u << 1) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P2 (0x1u << 2) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P3 (0x1u << 3) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P4 (0x1u << 4) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P5 (0x1u << 5) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P6 (0x1u << 6) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P7 (0x1u << 7) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P8 (0x1u << 8) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P9 (0x1u << 9) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P10 (0x1u << 10) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P11 (0x1u << 11) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P12 (0x1u << 12) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P13 (0x1u << 13) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P14 (0x1u << 14) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P15 (0x1u << 15) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P16 (0x1u << 16) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P17 (0x1u << 17) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P18 (0x1u << 18) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P19 (0x1u << 19) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P20 (0x1u << 20) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P21 (0x1u << 21) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P22 (0x1u << 22) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P23 (0x1u << 23) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P24 (0x1u << 24) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P25 (0x1u << 25) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P26 (0x1u << 26) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P27 (0x1u << 27) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P28 (0x1u << 28) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P29 (0x1u << 29) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P30 (0x1u << 30) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P31 (0x1u << 31) /**< \brief (PIO_OWDR) Output Write Disable */ -/* -------- PIO_OWSR : (PIO Offset: 0x00A8) Output Write Status Register -------- */ -#define PIO_OWSR_P0 (0x1u << 0) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P1 (0x1u << 1) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P2 (0x1u << 2) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P3 (0x1u << 3) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P4 (0x1u << 4) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P5 (0x1u << 5) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P6 (0x1u << 6) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P7 (0x1u << 7) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P8 (0x1u << 8) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P9 (0x1u << 9) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P10 (0x1u << 10) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P11 (0x1u << 11) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P12 (0x1u << 12) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P13 (0x1u << 13) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P14 (0x1u << 14) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P15 (0x1u << 15) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P16 (0x1u << 16) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P17 (0x1u << 17) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P18 (0x1u << 18) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P19 (0x1u << 19) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P20 (0x1u << 20) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P21 (0x1u << 21) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P22 (0x1u << 22) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P23 (0x1u << 23) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P24 (0x1u << 24) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P25 (0x1u << 25) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P26 (0x1u << 26) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P27 (0x1u << 27) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P28 (0x1u << 28) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P29 (0x1u << 29) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P30 (0x1u << 30) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P31 (0x1u << 31) /**< \brief (PIO_OWSR) Output Write Status */ -/* -------- PIO_AIMER : (PIO Offset: 0x00B0) Additional Interrupt Modes Enable Register -------- */ -#define PIO_AIMER_P0 (0x1u << 0) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P1 (0x1u << 1) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P2 (0x1u << 2) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P3 (0x1u << 3) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P4 (0x1u << 4) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P5 (0x1u << 5) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P6 (0x1u << 6) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P7 (0x1u << 7) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P8 (0x1u << 8) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P9 (0x1u << 9) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P10 (0x1u << 10) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P11 (0x1u << 11) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P12 (0x1u << 12) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P13 (0x1u << 13) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P14 (0x1u << 14) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P15 (0x1u << 15) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P16 (0x1u << 16) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P17 (0x1u << 17) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P18 (0x1u << 18) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P19 (0x1u << 19) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P20 (0x1u << 20) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P21 (0x1u << 21) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P22 (0x1u << 22) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P23 (0x1u << 23) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P24 (0x1u << 24) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P25 (0x1u << 25) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P26 (0x1u << 26) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P27 (0x1u << 27) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P28 (0x1u << 28) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P29 (0x1u << 29) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P30 (0x1u << 30) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P31 (0x1u << 31) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -/* -------- PIO_AIMDR : (PIO Offset: 0x00B4) Additional Interrupt Modes Disable Register -------- */ -#define PIO_AIMDR_P0 (0x1u << 0) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P1 (0x1u << 1) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P2 (0x1u << 2) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P3 (0x1u << 3) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P4 (0x1u << 4) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P5 (0x1u << 5) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P6 (0x1u << 6) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P7 (0x1u << 7) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P8 (0x1u << 8) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P9 (0x1u << 9) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P10 (0x1u << 10) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P11 (0x1u << 11) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P12 (0x1u << 12) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P13 (0x1u << 13) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P14 (0x1u << 14) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P15 (0x1u << 15) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P16 (0x1u << 16) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P17 (0x1u << 17) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P18 (0x1u << 18) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P19 (0x1u << 19) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P20 (0x1u << 20) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P21 (0x1u << 21) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P22 (0x1u << 22) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P23 (0x1u << 23) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P24 (0x1u << 24) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P25 (0x1u << 25) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P26 (0x1u << 26) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P27 (0x1u << 27) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P28 (0x1u << 28) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P29 (0x1u << 29) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P30 (0x1u << 30) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P31 (0x1u << 31) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -/* -------- PIO_AIMMR : (PIO Offset: 0x00B8) Additional Interrupt Modes Mask Register -------- */ -#define PIO_AIMMR_P0 (0x1u << 0) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P1 (0x1u << 1) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P2 (0x1u << 2) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P3 (0x1u << 3) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P4 (0x1u << 4) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P5 (0x1u << 5) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P6 (0x1u << 6) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P7 (0x1u << 7) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P8 (0x1u << 8) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P9 (0x1u << 9) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P10 (0x1u << 10) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P11 (0x1u << 11) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P12 (0x1u << 12) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P13 (0x1u << 13) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P14 (0x1u << 14) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P15 (0x1u << 15) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P16 (0x1u << 16) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P17 (0x1u << 17) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P18 (0x1u << 18) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P19 (0x1u << 19) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P20 (0x1u << 20) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P21 (0x1u << 21) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P22 (0x1u << 22) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P23 (0x1u << 23) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P24 (0x1u << 24) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P25 (0x1u << 25) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P26 (0x1u << 26) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P27 (0x1u << 27) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P28 (0x1u << 28) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P29 (0x1u << 29) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P30 (0x1u << 30) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P31 (0x1u << 31) /**< \brief (PIO_AIMMR) IO Line Index */ -/* -------- PIO_ESR : (PIO Offset: 0x00C0) Edge Select Register -------- */ -#define PIO_ESR_P0 (0x1u << 0) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P1 (0x1u << 1) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P2 (0x1u << 2) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P3 (0x1u << 3) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P4 (0x1u << 4) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P5 (0x1u << 5) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P6 (0x1u << 6) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P7 (0x1u << 7) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P8 (0x1u << 8) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P9 (0x1u << 9) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P10 (0x1u << 10) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P11 (0x1u << 11) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P12 (0x1u << 12) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P13 (0x1u << 13) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P14 (0x1u << 14) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P15 (0x1u << 15) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P16 (0x1u << 16) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P17 (0x1u << 17) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P18 (0x1u << 18) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P19 (0x1u << 19) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P20 (0x1u << 20) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P21 (0x1u << 21) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P22 (0x1u << 22) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P23 (0x1u << 23) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P24 (0x1u << 24) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P25 (0x1u << 25) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P26 (0x1u << 26) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P27 (0x1u << 27) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P28 (0x1u << 28) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P29 (0x1u << 29) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P30 (0x1u << 30) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P31 (0x1u << 31) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -/* -------- PIO_LSR : (PIO Offset: 0x00C4) Level Select Register -------- */ -#define PIO_LSR_P0 (0x1u << 0) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P1 (0x1u << 1) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P2 (0x1u << 2) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P3 (0x1u << 3) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P4 (0x1u << 4) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P5 (0x1u << 5) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P6 (0x1u << 6) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P7 (0x1u << 7) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P8 (0x1u << 8) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P9 (0x1u << 9) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P10 (0x1u << 10) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P11 (0x1u << 11) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P12 (0x1u << 12) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P13 (0x1u << 13) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P14 (0x1u << 14) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P15 (0x1u << 15) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P16 (0x1u << 16) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P17 (0x1u << 17) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P18 (0x1u << 18) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P19 (0x1u << 19) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P20 (0x1u << 20) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P21 (0x1u << 21) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P22 (0x1u << 22) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P23 (0x1u << 23) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P24 (0x1u << 24) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P25 (0x1u << 25) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P26 (0x1u << 26) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P27 (0x1u << 27) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P28 (0x1u << 28) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P29 (0x1u << 29) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P30 (0x1u << 30) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P31 (0x1u << 31) /**< \brief (PIO_LSR) Level Interrupt Selection */ -/* -------- PIO_ELSR : (PIO Offset: 0x00C8) Edge/Level Status Register -------- */ -#define PIO_ELSR_P0 (0x1u << 0) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P1 (0x1u << 1) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P2 (0x1u << 2) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P3 (0x1u << 3) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P4 (0x1u << 4) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P5 (0x1u << 5) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P6 (0x1u << 6) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P7 (0x1u << 7) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P8 (0x1u << 8) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P9 (0x1u << 9) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P10 (0x1u << 10) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P11 (0x1u << 11) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P12 (0x1u << 12) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P13 (0x1u << 13) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P14 (0x1u << 14) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P15 (0x1u << 15) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P16 (0x1u << 16) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P17 (0x1u << 17) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P18 (0x1u << 18) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P19 (0x1u << 19) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P20 (0x1u << 20) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P21 (0x1u << 21) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P22 (0x1u << 22) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P23 (0x1u << 23) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P24 (0x1u << 24) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P25 (0x1u << 25) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P26 (0x1u << 26) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P27 (0x1u << 27) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P28 (0x1u << 28) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P29 (0x1u << 29) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P30 (0x1u << 30) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P31 (0x1u << 31) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -/* -------- PIO_FELLSR : (PIO Offset: 0x00D0) Falling Edge/Low-Level Select Register -------- */ -#define PIO_FELLSR_P0 (0x1u << 0) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P1 (0x1u << 1) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P2 (0x1u << 2) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P3 (0x1u << 3) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P4 (0x1u << 4) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P5 (0x1u << 5) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P6 (0x1u << 6) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P7 (0x1u << 7) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P8 (0x1u << 8) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P9 (0x1u << 9) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P10 (0x1u << 10) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P11 (0x1u << 11) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P12 (0x1u << 12) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P13 (0x1u << 13) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P14 (0x1u << 14) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P15 (0x1u << 15) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P16 (0x1u << 16) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P17 (0x1u << 17) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P18 (0x1u << 18) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P19 (0x1u << 19) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P20 (0x1u << 20) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P21 (0x1u << 21) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P22 (0x1u << 22) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P23 (0x1u << 23) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P24 (0x1u << 24) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P25 (0x1u << 25) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P26 (0x1u << 26) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P27 (0x1u << 27) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P28 (0x1u << 28) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P29 (0x1u << 29) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P30 (0x1u << 30) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P31 (0x1u << 31) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -/* -------- PIO_REHLSR : (PIO Offset: 0x00D4) Rising Edge/High-Level Select Register -------- */ -#define PIO_REHLSR_P0 (0x1u << 0) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P1 (0x1u << 1) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P2 (0x1u << 2) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P3 (0x1u << 3) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P4 (0x1u << 4) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P5 (0x1u << 5) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P6 (0x1u << 6) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P7 (0x1u << 7) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P8 (0x1u << 8) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P9 (0x1u << 9) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P10 (0x1u << 10) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P11 (0x1u << 11) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P12 (0x1u << 12) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P13 (0x1u << 13) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P14 (0x1u << 14) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P15 (0x1u << 15) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P16 (0x1u << 16) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P17 (0x1u << 17) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P18 (0x1u << 18) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P19 (0x1u << 19) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P20 (0x1u << 20) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P21 (0x1u << 21) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P22 (0x1u << 22) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P23 (0x1u << 23) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P24 (0x1u << 24) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P25 (0x1u << 25) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P26 (0x1u << 26) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P27 (0x1u << 27) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P28 (0x1u << 28) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P29 (0x1u << 29) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P30 (0x1u << 30) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P31 (0x1u << 31) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -/* -------- PIO_FRLHSR : (PIO Offset: 0x00D8) Fall/Rise - Low/High Status Register -------- */ -#define PIO_FRLHSR_P0 (0x1u << 0) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P1 (0x1u << 1) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P2 (0x1u << 2) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P3 (0x1u << 3) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P4 (0x1u << 4) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P5 (0x1u << 5) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P6 (0x1u << 6) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P7 (0x1u << 7) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P8 (0x1u << 8) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P9 (0x1u << 9) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P10 (0x1u << 10) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P11 (0x1u << 11) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P12 (0x1u << 12) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P13 (0x1u << 13) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P14 (0x1u << 14) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P15 (0x1u << 15) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P16 (0x1u << 16) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P17 (0x1u << 17) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P18 (0x1u << 18) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P19 (0x1u << 19) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P20 (0x1u << 20) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P21 (0x1u << 21) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P22 (0x1u << 22) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P23 (0x1u << 23) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P24 (0x1u << 24) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P25 (0x1u << 25) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P26 (0x1u << 26) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P27 (0x1u << 27) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P28 (0x1u << 28) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P29 (0x1u << 29) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P30 (0x1u << 30) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P31 (0x1u << 31) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -/* -------- PIO_LOCKSR : (PIO Offset: 0x00E0) Lock Status -------- */ -#define PIO_LOCKSR_P0 (0x1u << 0) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P1 (0x1u << 1) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P2 (0x1u << 2) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P3 (0x1u << 3) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P4 (0x1u << 4) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P5 (0x1u << 5) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P6 (0x1u << 6) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P7 (0x1u << 7) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P8 (0x1u << 8) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P9 (0x1u << 9) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P10 (0x1u << 10) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P11 (0x1u << 11) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P12 (0x1u << 12) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P13 (0x1u << 13) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P14 (0x1u << 14) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P15 (0x1u << 15) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P16 (0x1u << 16) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P17 (0x1u << 17) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P18 (0x1u << 18) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P19 (0x1u << 19) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P20 (0x1u << 20) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P21 (0x1u << 21) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P22 (0x1u << 22) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P23 (0x1u << 23) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P24 (0x1u << 24) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P25 (0x1u << 25) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P26 (0x1u << 26) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P27 (0x1u << 27) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P28 (0x1u << 28) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P29 (0x1u << 29) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P30 (0x1u << 30) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P31 (0x1u << 31) /**< \brief (PIO_LOCKSR) Lock Status */ -/* -------- PIO_WPMR : (PIO Offset: 0x00E4) Write Protection Mode Register -------- */ -#define PIO_WPMR_WPEN (0x1u << 0) /**< \brief (PIO_WPMR) Write Protection Enable */ -#define PIO_WPMR_WPKEY_Pos 8 -#define PIO_WPMR_WPKEY_Msk (0xffffffu << PIO_WPMR_WPKEY_Pos) /**< \brief (PIO_WPMR) Write Protection Key */ -#define PIO_WPMR_WPKEY(value) ((PIO_WPMR_WPKEY_Msk & ((value) << PIO_WPMR_WPKEY_Pos))) -#define PIO_WPMR_WPKEY_PASSWD (0x50494Fu << 8) /**< \brief (PIO_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- PIO_WPSR : (PIO Offset: 0x00E8) Write Protection Status Register -------- */ -#define PIO_WPSR_WPVS (0x1u << 0) /**< \brief (PIO_WPSR) Write Protection Violation Status */ -#define PIO_WPSR_WPVSRC_Pos 8 -#define PIO_WPSR_WPVSRC_Msk (0xffffu << PIO_WPSR_WPVSRC_Pos) /**< \brief (PIO_WPSR) Write Protection Violation Source */ -/* -------- PIO_SCHMITT : (PIO Offset: 0x0100) Schmitt Trigger Register -------- */ -#define PIO_SCHMITT_SCHMITT0 (0x1u << 0) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT1 (0x1u << 1) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT2 (0x1u << 2) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT3 (0x1u << 3) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT4 (0x1u << 4) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT5 (0x1u << 5) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT6 (0x1u << 6) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT7 (0x1u << 7) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT8 (0x1u << 8) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT9 (0x1u << 9) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT10 (0x1u << 10) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT11 (0x1u << 11) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT12 (0x1u << 12) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT13 (0x1u << 13) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT14 (0x1u << 14) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT15 (0x1u << 15) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT16 (0x1u << 16) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT17 (0x1u << 17) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT18 (0x1u << 18) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT19 (0x1u << 19) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT20 (0x1u << 20) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT21 (0x1u << 21) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT22 (0x1u << 22) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT23 (0x1u << 23) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT24 (0x1u << 24) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT25 (0x1u << 25) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT26 (0x1u << 26) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT27 (0x1u << 27) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT28 (0x1u << 28) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT29 (0x1u << 29) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT30 (0x1u << 30) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT31 (0x1u << 31) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -/* -------- PIO_PCMR : (PIO Offset: 0x0150) Parallel Capture Mode Register -------- */ -#define PIO_PCMR_PCEN (0x1u << 0) /**< \brief (PIO_PCMR) Parallel Capture Mode Enable */ -#define PIO_PCMR_DSIZE_Pos 4 -#define PIO_PCMR_DSIZE_Msk (0x3u << PIO_PCMR_DSIZE_Pos) /**< \brief (PIO_PCMR) Parallel Capture Mode Data Size */ -#define PIO_PCMR_DSIZE(value) ((PIO_PCMR_DSIZE_Msk & ((value) << PIO_PCMR_DSIZE_Pos))) -#define PIO_PCMR_DSIZE_BYTE (0x0u << 4) /**< \brief (PIO_PCMR) The reception data in the PIO_PCRHR is a byte (8-bit) */ -#define PIO_PCMR_DSIZE_HALFWORD (0x1u << 4) /**< \brief (PIO_PCMR) The reception data in the PIO_PCRHR is a half-word (16-bit) */ -#define PIO_PCMR_DSIZE_WORD (0x2u << 4) /**< \brief (PIO_PCMR) The reception data in the PIO_PCRHR is a word (32-bit) */ -#define PIO_PCMR_ALWYS (0x1u << 9) /**< \brief (PIO_PCMR) Parallel Capture Mode Always Sampling */ -#define PIO_PCMR_HALFS (0x1u << 10) /**< \brief (PIO_PCMR) Parallel Capture Mode Half Sampling */ -#define PIO_PCMR_FRSTS (0x1u << 11) /**< \brief (PIO_PCMR) Parallel Capture Mode First Sample */ -/* -------- PIO_PCIER : (PIO Offset: 0x0154) Parallel Capture Interrupt Enable Register -------- */ -#define PIO_PCIER_DRDY (0x1u << 0) /**< \brief (PIO_PCIER) Parallel Capture Mode Data Ready Interrupt Enable */ -#define PIO_PCIER_OVRE (0x1u << 1) /**< \brief (PIO_PCIER) Parallel Capture Mode Overrun Error Interrupt Enable */ -#define PIO_PCIER_ENDRX (0x1u << 2) /**< \brief (PIO_PCIER) End of Reception Transfer Interrupt Enable */ -#define PIO_PCIER_RXBUFF (0x1u << 3) /**< \brief (PIO_PCIER) Reception Buffer Full Interrupt Enable */ -/* -------- PIO_PCIDR : (PIO Offset: 0x0158) Parallel Capture Interrupt Disable Register -------- */ -#define PIO_PCIDR_DRDY (0x1u << 0) /**< \brief (PIO_PCIDR) Parallel Capture Mode Data Ready Interrupt Disable */ -#define PIO_PCIDR_OVRE (0x1u << 1) /**< \brief (PIO_PCIDR) Parallel Capture Mode Overrun Error Interrupt Disable */ -#define PIO_PCIDR_ENDRX (0x1u << 2) /**< \brief (PIO_PCIDR) End of Reception Transfer Interrupt Disable */ -#define PIO_PCIDR_RXBUFF (0x1u << 3) /**< \brief (PIO_PCIDR) Reception Buffer Full Interrupt Disable */ -/* -------- PIO_PCIMR : (PIO Offset: 0x015C) Parallel Capture Interrupt Mask Register -------- */ -#define PIO_PCIMR_DRDY (0x1u << 0) /**< \brief (PIO_PCIMR) Parallel Capture Mode Data Ready Interrupt Mask */ -#define PIO_PCIMR_OVRE (0x1u << 1) /**< \brief (PIO_PCIMR) Parallel Capture Mode Overrun Error Interrupt Mask */ -#define PIO_PCIMR_ENDRX (0x1u << 2) /**< \brief (PIO_PCIMR) End of Reception Transfer Interrupt Mask */ -#define PIO_PCIMR_RXBUFF (0x1u << 3) /**< \brief (PIO_PCIMR) Reception Buffer Full Interrupt Mask */ -/* -------- PIO_PCISR : (PIO Offset: 0x0160) Parallel Capture Interrupt Status Register -------- */ -#define PIO_PCISR_DRDY (0x1u << 0) /**< \brief (PIO_PCISR) Parallel Capture Mode Data Ready */ -#define PIO_PCISR_OVRE (0x1u << 1) /**< \brief (PIO_PCISR) Parallel Capture Mode Overrun Error */ -/* -------- PIO_PCRHR : (PIO Offset: 0x0164) Parallel Capture Reception Holding Register -------- */ -#define PIO_PCRHR_RDATA_Pos 0 -#define PIO_PCRHR_RDATA_Msk (0xffffffffu << PIO_PCRHR_RDATA_Pos) /**< \brief (PIO_PCRHR) Parallel Capture Mode Reception Data */ - -/*@}*/ - - -#endif /* _SAMS70_PIO_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h deleted file mode 100644 index 0c973cf..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h +++ /dev/null @@ -1,736 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PMC_COMPONENT_ -#define _SAMS70_PMC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Power Management Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_PMC Power Management Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Pmc hardware registers */ -typedef struct { - __O uint32_t PMC_SCER; /**< \brief (Pmc Offset: 0x0000) System Clock Enable Register */ - __O uint32_t PMC_SCDR; /**< \brief (Pmc Offset: 0x0004) System Clock Disable Register */ - __I uint32_t PMC_SCSR; /**< \brief (Pmc Offset: 0x0008) System Clock Status Register */ - __I uint32_t Reserved1[1]; - __O uint32_t PMC_PCER0; /**< \brief (Pmc Offset: 0x0010) Peripheral Clock Enable Register 0 */ - __O uint32_t PMC_PCDR0; /**< \brief (Pmc Offset: 0x0014) Peripheral Clock Disable Register 0 */ - __I uint32_t PMC_PCSR0; /**< \brief (Pmc Offset: 0x0018) Peripheral Clock Status Register 0 */ - __IO uint32_t CKGR_UCKR; /**< \brief (Pmc Offset: 0x001C) UTMI Clock Register */ - __IO uint32_t CKGR_MOR; /**< \brief (Pmc Offset: 0x0020) Main Oscillator Register */ - __IO uint32_t CKGR_MCFR; /**< \brief (Pmc Offset: 0x0024) Main Clock Frequency Register */ - __IO uint32_t CKGR_PLLAR; /**< \brief (Pmc Offset: 0x0028) PLLA Register */ - __I uint32_t Reserved2[1]; - __IO uint32_t PMC_MCKR; /**< \brief (Pmc Offset: 0x0030) Master Clock Register */ - __I uint32_t Reserved3[1]; - __IO uint32_t PMC_USB; /**< \brief (Pmc Offset: 0x0038) USB Clock Register */ - __I uint32_t Reserved4[1]; - __IO uint32_t PMC_PCK[7]; /**< \brief (Pmc Offset: 0x0040) Programmable Clock 0 Register */ - __I uint32_t Reserved5[1]; - __O uint32_t PMC_IER; /**< \brief (Pmc Offset: 0x0060) Interrupt Enable Register */ - __O uint32_t PMC_IDR; /**< \brief (Pmc Offset: 0x0064) Interrupt Disable Register */ - __I uint32_t PMC_SR; /**< \brief (Pmc Offset: 0x0068) Status Register */ - __I uint32_t PMC_IMR; /**< \brief (Pmc Offset: 0x006C) Interrupt Mask Register */ - __IO uint32_t PMC_FSMR; /**< \brief (Pmc Offset: 0x0070) Fast Startup Mode Register */ - __IO uint32_t PMC_FSPR; /**< \brief (Pmc Offset: 0x0074) Fast Startup Polarity Register */ - __O uint32_t PMC_FOCR; /**< \brief (Pmc Offset: 0x0078) Fault Output Clear Register */ - __I uint32_t Reserved6[26]; - __IO uint32_t PMC_WPMR; /**< \brief (Pmc Offset: 0x00E4) Write Protection Mode Register */ - __I uint32_t PMC_WPSR; /**< \brief (Pmc Offset: 0x00E8) Write Protection Status Register */ - __I uint32_t Reserved7[5]; - __O uint32_t PMC_PCER1; /**< \brief (Pmc Offset: 0x0100) Peripheral Clock Enable Register 1 */ - __O uint32_t PMC_PCDR1; /**< \brief (Pmc Offset: 0x0104) Peripheral Clock Disable Register 1 */ - __I uint32_t PMC_PCSR1; /**< \brief (Pmc Offset: 0x0108) Peripheral Clock Status Register 1 */ - __IO uint32_t PMC_PCR; /**< \brief (Pmc Offset: 0x010C) Peripheral Control Register */ - __IO uint32_t PMC_OCR; /**< \brief (Pmc Offset: 0x0110) Oscillator Calibration Register */ - __O uint32_t PMC_SLPWK_ER0; /**< \brief (Pmc Offset: 0x0114) SleepWalking Enable Register 0 */ - __O uint32_t PMC_SLPWK_DR0; /**< \brief (Pmc Offset: 0x0118) SleepWalking Disable Register 0 */ - __I uint32_t PMC_SLPWK_SR0; /**< \brief (Pmc Offset: 0x011C) SleepWalking Status Register 0 */ - __I uint32_t PMC_SLPWK_ASR0; /**< \brief (Pmc Offset: 0x0120) SleepWalking Activity Status Register 0 */ - __I uint32_t Reserved8[4]; - __O uint32_t PMC_SLPWK_ER1; /**< \brief (Pmc Offset: 0x0134) SleepWalking Enable Register 1 */ - __O uint32_t PMC_SLPWK_DR1; /**< \brief (Pmc Offset: 0x0138) SleepWalking Disable Register 1 */ - __I uint32_t PMC_SLPWK_SR1; /**< \brief (Pmc Offset: 0x013C) SleepWalking Status Register 1 */ - __I uint32_t PMC_SLPWK_ASR1; /**< \brief (Pmc Offset: 0x0140) SleepWalking Activity Status Register 1 */ - __I uint32_t PMC_SLPWK_AIPR; /**< \brief (Pmc Offset: 0x0144) SleepWalking Activity In Progress Register */ -} Pmc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- PMC_SCER : (PMC Offset: 0x0000) System Clock Enable Register -------- */ -#define PMC_SCER_USBCLK (0x1u << 5) /**< \brief (PMC_SCER) Enable USB FS Clock */ -#define PMC_SCER_PCK0 (0x1u << 8) /**< \brief (PMC_SCER) Programmable Clock 0 Output Enable */ -#define PMC_SCER_PCK1 (0x1u << 9) /**< \brief (PMC_SCER) Programmable Clock 1 Output Enable */ -#define PMC_SCER_PCK2 (0x1u << 10) /**< \brief (PMC_SCER) Programmable Clock 2 Output Enable */ -#define PMC_SCER_PCK3 (0x1u << 11) /**< \brief (PMC_SCER) Programmable Clock 3 Output Enable */ -#define PMC_SCER_PCK4 (0x1u << 12) /**< \brief (PMC_SCER) Programmable Clock 4 Output Enable */ -#define PMC_SCER_PCK5 (0x1u << 13) /**< \brief (PMC_SCER) Programmable Clock 5 Output Enable */ -#define PMC_SCER_PCK6 (0x1u << 14) /**< \brief (PMC_SCER) Programmable Clock 6 Output Enable */ -/* -------- PMC_SCDR : (PMC Offset: 0x0004) System Clock Disable Register -------- */ -#define PMC_SCDR_USBCLK (0x1u << 5) /**< \brief (PMC_SCDR) Disable USB FS Clock */ -#define PMC_SCDR_PCK0 (0x1u << 8) /**< \brief (PMC_SCDR) Programmable Clock 0 Output Disable */ -#define PMC_SCDR_PCK1 (0x1u << 9) /**< \brief (PMC_SCDR) Programmable Clock 1 Output Disable */ -#define PMC_SCDR_PCK2 (0x1u << 10) /**< \brief (PMC_SCDR) Programmable Clock 2 Output Disable */ -#define PMC_SCDR_PCK3 (0x1u << 11) /**< \brief (PMC_SCDR) Programmable Clock 3 Output Disable */ -#define PMC_SCDR_PCK4 (0x1u << 12) /**< \brief (PMC_SCDR) Programmable Clock 4 Output Disable */ -#define PMC_SCDR_PCK5 (0x1u << 13) /**< \brief (PMC_SCDR) Programmable Clock 5 Output Disable */ -#define PMC_SCDR_PCK6 (0x1u << 14) /**< \brief (PMC_SCDR) Programmable Clock 6 Output Disable */ -/* -------- PMC_SCSR : (PMC Offset: 0x0008) System Clock Status Register -------- */ -#define PMC_SCSR_USBCLK (0x1u << 5) /**< \brief (PMC_SCSR) USB FS Clock Status */ -#define PMC_SCSR_PCK0 (0x1u << 8) /**< \brief (PMC_SCSR) Programmable Clock 0 Output Status */ -#define PMC_SCSR_PCK1 (0x1u << 9) /**< \brief (PMC_SCSR) Programmable Clock 1 Output Status */ -#define PMC_SCSR_PCK2 (0x1u << 10) /**< \brief (PMC_SCSR) Programmable Clock 2 Output Status */ -#define PMC_SCSR_PCK3 (0x1u << 11) /**< \brief (PMC_SCSR) Programmable Clock 3 Output Status */ -#define PMC_SCSR_PCK4 (0x1u << 12) /**< \brief (PMC_SCSR) Programmable Clock 4 Output Status */ -#define PMC_SCSR_PCK5 (0x1u << 13) /**< \brief (PMC_SCSR) Programmable Clock 5 Output Status */ -#define PMC_SCSR_PCK6 (0x1u << 14) /**< \brief (PMC_SCSR) Programmable Clock 6 Output Status */ -/* -------- PMC_PCER0 : (PMC Offset: 0x0010) Peripheral Clock Enable Register 0 -------- */ -#define PMC_PCER0_PID7 (0x1u << 7) /**< \brief (PMC_PCER0) Peripheral Clock 7 Enable */ -#define PMC_PCER0_PID8 (0x1u << 8) /**< \brief (PMC_PCER0) Peripheral Clock 8 Enable */ -#define PMC_PCER0_PID9 (0x1u << 9) /**< \brief (PMC_PCER0) Peripheral Clock 9 Enable */ -#define PMC_PCER0_PID10 (0x1u << 10) /**< \brief (PMC_PCER0) Peripheral Clock 10 Enable */ -#define PMC_PCER0_PID11 (0x1u << 11) /**< \brief (PMC_PCER0) Peripheral Clock 11 Enable */ -#define PMC_PCER0_PID12 (0x1u << 12) /**< \brief (PMC_PCER0) Peripheral Clock 12 Enable */ -#define PMC_PCER0_PID13 (0x1u << 13) /**< \brief (PMC_PCER0) Peripheral Clock 13 Enable */ -#define PMC_PCER0_PID14 (0x1u << 14) /**< \brief (PMC_PCER0) Peripheral Clock 14 Enable */ -#define PMC_PCER0_PID15 (0x1u << 15) /**< \brief (PMC_PCER0) Peripheral Clock 15 Enable */ -#define PMC_PCER0_PID16 (0x1u << 16) /**< \brief (PMC_PCER0) Peripheral Clock 16 Enable */ -#define PMC_PCER0_PID17 (0x1u << 17) /**< \brief (PMC_PCER0) Peripheral Clock 17 Enable */ -#define PMC_PCER0_PID18 (0x1u << 18) /**< \brief (PMC_PCER0) Peripheral Clock 18 Enable */ -#define PMC_PCER0_PID19 (0x1u << 19) /**< \brief (PMC_PCER0) Peripheral Clock 19 Enable */ -#define PMC_PCER0_PID20 (0x1u << 20) /**< \brief (PMC_PCER0) Peripheral Clock 20 Enable */ -#define PMC_PCER0_PID21 (0x1u << 21) /**< \brief (PMC_PCER0) Peripheral Clock 21 Enable */ -#define PMC_PCER0_PID22 (0x1u << 22) /**< \brief (PMC_PCER0) Peripheral Clock 22 Enable */ -#define PMC_PCER0_PID23 (0x1u << 23) /**< \brief (PMC_PCER0) Peripheral Clock 23 Enable */ -#define PMC_PCER0_PID24 (0x1u << 24) /**< \brief (PMC_PCER0) Peripheral Clock 24 Enable */ -#define PMC_PCER0_PID25 (0x1u << 25) /**< \brief (PMC_PCER0) Peripheral Clock 25 Enable */ -#define PMC_PCER0_PID26 (0x1u << 26) /**< \brief (PMC_PCER0) Peripheral Clock 26 Enable */ -#define PMC_PCER0_PID27 (0x1u << 27) /**< \brief (PMC_PCER0) Peripheral Clock 27 Enable */ -#define PMC_PCER0_PID28 (0x1u << 28) /**< \brief (PMC_PCER0) Peripheral Clock 28 Enable */ -#define PMC_PCER0_PID29 (0x1u << 29) /**< \brief (PMC_PCER0) Peripheral Clock 29 Enable */ -#define PMC_PCER0_PID30 (0x1u << 30) /**< \brief (PMC_PCER0) Peripheral Clock 30 Enable */ -#define PMC_PCER0_PID31 (0x1u << 31) /**< \brief (PMC_PCER0) Peripheral Clock 31 Enable */ -/* -------- PMC_PCDR0 : (PMC Offset: 0x0014) Peripheral Clock Disable Register 0 -------- */ -#define PMC_PCDR0_PID7 (0x1u << 7) /**< \brief (PMC_PCDR0) Peripheral Clock 7 Disable */ -#define PMC_PCDR0_PID8 (0x1u << 8) /**< \brief (PMC_PCDR0) Peripheral Clock 8 Disable */ -#define PMC_PCDR0_PID9 (0x1u << 9) /**< \brief (PMC_PCDR0) Peripheral Clock 9 Disable */ -#define PMC_PCDR0_PID10 (0x1u << 10) /**< \brief (PMC_PCDR0) Peripheral Clock 10 Disable */ -#define PMC_PCDR0_PID11 (0x1u << 11) /**< \brief (PMC_PCDR0) Peripheral Clock 11 Disable */ -#define PMC_PCDR0_PID12 (0x1u << 12) /**< \brief (PMC_PCDR0) Peripheral Clock 12 Disable */ -#define PMC_PCDR0_PID13 (0x1u << 13) /**< \brief (PMC_PCDR0) Peripheral Clock 13 Disable */ -#define PMC_PCDR0_PID14 (0x1u << 14) /**< \brief (PMC_PCDR0) Peripheral Clock 14 Disable */ -#define PMC_PCDR0_PID15 (0x1u << 15) /**< \brief (PMC_PCDR0) Peripheral Clock 15 Disable */ -#define PMC_PCDR0_PID16 (0x1u << 16) /**< \brief (PMC_PCDR0) Peripheral Clock 16 Disable */ -#define PMC_PCDR0_PID17 (0x1u << 17) /**< \brief (PMC_PCDR0) Peripheral Clock 17 Disable */ -#define PMC_PCDR0_PID18 (0x1u << 18) /**< \brief (PMC_PCDR0) Peripheral Clock 18 Disable */ -#define PMC_PCDR0_PID19 (0x1u << 19) /**< \brief (PMC_PCDR0) Peripheral Clock 19 Disable */ -#define PMC_PCDR0_PID20 (0x1u << 20) /**< \brief (PMC_PCDR0) Peripheral Clock 20 Disable */ -#define PMC_PCDR0_PID21 (0x1u << 21) /**< \brief (PMC_PCDR0) Peripheral Clock 21 Disable */ -#define PMC_PCDR0_PID22 (0x1u << 22) /**< \brief (PMC_PCDR0) Peripheral Clock 22 Disable */ -#define PMC_PCDR0_PID23 (0x1u << 23) /**< \brief (PMC_PCDR0) Peripheral Clock 23 Disable */ -#define PMC_PCDR0_PID24 (0x1u << 24) /**< \brief (PMC_PCDR0) Peripheral Clock 24 Disable */ -#define PMC_PCDR0_PID25 (0x1u << 25) /**< \brief (PMC_PCDR0) Peripheral Clock 25 Disable */ -#define PMC_PCDR0_PID26 (0x1u << 26) /**< \brief (PMC_PCDR0) Peripheral Clock 26 Disable */ -#define PMC_PCDR0_PID27 (0x1u << 27) /**< \brief (PMC_PCDR0) Peripheral Clock 27 Disable */ -#define PMC_PCDR0_PID28 (0x1u << 28) /**< \brief (PMC_PCDR0) Peripheral Clock 28 Disable */ -#define PMC_PCDR0_PID29 (0x1u << 29) /**< \brief (PMC_PCDR0) Peripheral Clock 29 Disable */ -#define PMC_PCDR0_PID30 (0x1u << 30) /**< \brief (PMC_PCDR0) Peripheral Clock 30 Disable */ -#define PMC_PCDR0_PID31 (0x1u << 31) /**< \brief (PMC_PCDR0) Peripheral Clock 31 Disable */ -/* -------- PMC_PCSR0 : (PMC Offset: 0x0018) Peripheral Clock Status Register 0 -------- */ -#define PMC_PCSR0_PID7 (0x1u << 7) /**< \brief (PMC_PCSR0) Peripheral Clock 7 Status */ -#define PMC_PCSR0_PID8 (0x1u << 8) /**< \brief (PMC_PCSR0) Peripheral Clock 8 Status */ -#define PMC_PCSR0_PID9 (0x1u << 9) /**< \brief (PMC_PCSR0) Peripheral Clock 9 Status */ -#define PMC_PCSR0_PID10 (0x1u << 10) /**< \brief (PMC_PCSR0) Peripheral Clock 10 Status */ -#define PMC_PCSR0_PID11 (0x1u << 11) /**< \brief (PMC_PCSR0) Peripheral Clock 11 Status */ -#define PMC_PCSR0_PID12 (0x1u << 12) /**< \brief (PMC_PCSR0) Peripheral Clock 12 Status */ -#define PMC_PCSR0_PID13 (0x1u << 13) /**< \brief (PMC_PCSR0) Peripheral Clock 13 Status */ -#define PMC_PCSR0_PID14 (0x1u << 14) /**< \brief (PMC_PCSR0) Peripheral Clock 14 Status */ -#define PMC_PCSR0_PID15 (0x1u << 15) /**< \brief (PMC_PCSR0) Peripheral Clock 15 Status */ -#define PMC_PCSR0_PID16 (0x1u << 16) /**< \brief (PMC_PCSR0) Peripheral Clock 16 Status */ -#define PMC_PCSR0_PID17 (0x1u << 17) /**< \brief (PMC_PCSR0) Peripheral Clock 17 Status */ -#define PMC_PCSR0_PID18 (0x1u << 18) /**< \brief (PMC_PCSR0) Peripheral Clock 18 Status */ -#define PMC_PCSR0_PID19 (0x1u << 19) /**< \brief (PMC_PCSR0) Peripheral Clock 19 Status */ -#define PMC_PCSR0_PID20 (0x1u << 20) /**< \brief (PMC_PCSR0) Peripheral Clock 20 Status */ -#define PMC_PCSR0_PID21 (0x1u << 21) /**< \brief (PMC_PCSR0) Peripheral Clock 21 Status */ -#define PMC_PCSR0_PID22 (0x1u << 22) /**< \brief (PMC_PCSR0) Peripheral Clock 22 Status */ -#define PMC_PCSR0_PID23 (0x1u << 23) /**< \brief (PMC_PCSR0) Peripheral Clock 23 Status */ -#define PMC_PCSR0_PID24 (0x1u << 24) /**< \brief (PMC_PCSR0) Peripheral Clock 24 Status */ -#define PMC_PCSR0_PID25 (0x1u << 25) /**< \brief (PMC_PCSR0) Peripheral Clock 25 Status */ -#define PMC_PCSR0_PID26 (0x1u << 26) /**< \brief (PMC_PCSR0) Peripheral Clock 26 Status */ -#define PMC_PCSR0_PID27 (0x1u << 27) /**< \brief (PMC_PCSR0) Peripheral Clock 27 Status */ -#define PMC_PCSR0_PID28 (0x1u << 28) /**< \brief (PMC_PCSR0) Peripheral Clock 28 Status */ -#define PMC_PCSR0_PID29 (0x1u << 29) /**< \brief (PMC_PCSR0) Peripheral Clock 29 Status */ -#define PMC_PCSR0_PID30 (0x1u << 30) /**< \brief (PMC_PCSR0) Peripheral Clock 30 Status */ -#define PMC_PCSR0_PID31 (0x1u << 31) /**< \brief (PMC_PCSR0) Peripheral Clock 31 Status */ -/* -------- CKGR_UCKR : (PMC Offset: 0x001C) UTMI Clock Register -------- */ -#define CKGR_UCKR_UPLLEN (0x1u << 16) /**< \brief (CKGR_UCKR) UTMI PLL Enable */ -#define CKGR_UCKR_UPLLCOUNT_Pos 20 -#define CKGR_UCKR_UPLLCOUNT_Msk (0xfu << CKGR_UCKR_UPLLCOUNT_Pos) /**< \brief (CKGR_UCKR) UTMI PLL Start-up Time */ -#define CKGR_UCKR_UPLLCOUNT(value) ((CKGR_UCKR_UPLLCOUNT_Msk & ((value) << CKGR_UCKR_UPLLCOUNT_Pos))) -/* -------- CKGR_MOR : (PMC Offset: 0x0020) Main Oscillator Register -------- */ -#define CKGR_MOR_MOSCXTEN (0x1u << 0) /**< \brief (CKGR_MOR) Main Crystal Oscillator Enable */ -#define CKGR_MOR_MOSCXTBY (0x1u << 1) /**< \brief (CKGR_MOR) Main Crystal Oscillator Bypass */ -#define CKGR_MOR_WAITMODE (0x1u << 2) /**< \brief (CKGR_MOR) Wait Mode Command (Write-only) */ -#define CKGR_MOR_MOSCRCEN (0x1u << 3) /**< \brief (CKGR_MOR) Main On-Chip RC Oscillator Enable */ -#define CKGR_MOR_MOSCRCF_Pos 4 -#define CKGR_MOR_MOSCRCF_Msk (0x7u << CKGR_MOR_MOSCRCF_Pos) /**< \brief (CKGR_MOR) Main On-Chip RC Oscillator Frequency Selection */ -#define CKGR_MOR_MOSCRCF(value) ((CKGR_MOR_MOSCRCF_Msk & ((value) << CKGR_MOR_MOSCRCF_Pos))) -#define CKGR_MOR_MOSCRCF_4_MHz (0x0u << 4) /**< \brief (CKGR_MOR) Fast RC oscillator frequency is at 4 MHz (default) */ -#define CKGR_MOR_MOSCRCF_8_MHz (0x1u << 4) /**< \brief (CKGR_MOR) Fast RC oscillator frequency is at 8 MHz */ -#define CKGR_MOR_MOSCRCF_12_MHz (0x2u << 4) /**< \brief (CKGR_MOR) Fast RC oscillator frequency is at 12 MHz */ -#define CKGR_MOR_MOSCXTST_Pos 8 -#define CKGR_MOR_MOSCXTST_Msk (0xffu << CKGR_MOR_MOSCXTST_Pos) /**< \brief (CKGR_MOR) Main Crystal Oscillator Start-up Time */ -#define CKGR_MOR_MOSCXTST(value) ((CKGR_MOR_MOSCXTST_Msk & ((value) << CKGR_MOR_MOSCXTST_Pos))) -#define CKGR_MOR_KEY_Pos 16 -#define CKGR_MOR_KEY_Msk (0xffu << CKGR_MOR_KEY_Pos) /**< \brief (CKGR_MOR) Write Access Password */ -#define CKGR_MOR_KEY(value) ((CKGR_MOR_KEY_Msk & ((value) << CKGR_MOR_KEY_Pos))) -#define CKGR_MOR_KEY_PASSWD (0x37u << 16) /**< \brief (CKGR_MOR) Writing any other value in this field aborts the write operation.Always reads as 0. */ -#define CKGR_MOR_MOSCSEL (0x1u << 24) /**< \brief (CKGR_MOR) Main Oscillator Selection */ -#define CKGR_MOR_CFDEN (0x1u << 25) /**< \brief (CKGR_MOR) Clock Failure Detector Enable */ -#define CKGR_MOR_XT32KFME (0x1u << 26) /**< \brief (CKGR_MOR) Slow Crystal Oscillator Frequency Monitoring Enable */ -/* -------- CKGR_MCFR : (PMC Offset: 0x0024) Main Clock Frequency Register -------- */ -#define CKGR_MCFR_MAINF_Pos 0 -#define CKGR_MCFR_MAINF_Msk (0xffffu << CKGR_MCFR_MAINF_Pos) /**< \brief (CKGR_MCFR) Main Clock Frequency */ -#define CKGR_MCFR_MAINF(value) ((CKGR_MCFR_MAINF_Msk & ((value) << CKGR_MCFR_MAINF_Pos))) -#define CKGR_MCFR_MAINFRDY (0x1u << 16) /**< \brief (CKGR_MCFR) Main Clock Frequency Measure Ready */ -#define CKGR_MCFR_RCMEAS (0x1u << 20) /**< \brief (CKGR_MCFR) RC Oscillator Frequency Measure (write-only) */ -#define CKGR_MCFR_CCSS (0x1u << 24) /**< \brief (CKGR_MCFR) Counter Clock Source Selection */ -/* -------- CKGR_PLLAR : (PMC Offset: 0x0028) PLLA Register -------- */ -#define CKGR_PLLAR_DIVA_Pos 0 -#define CKGR_PLLAR_DIVA_Msk (0xffu << CKGR_PLLAR_DIVA_Pos) /**< \brief (CKGR_PLLAR) PLLA Front End Divider */ -#define CKGR_PLLAR_DIVA(value) ((CKGR_PLLAR_DIVA_Msk & ((value) << CKGR_PLLAR_DIVA_Pos))) -#define CKGR_PLLAR_DIVA_0 (0x0u << 0) /**< \brief (CKGR_PLLAR) Divider output is 0 and PLLA is disabled. */ -#define CKGR_PLLAR_DIVA_BYPASS (0x1u << 0) /**< \brief (CKGR_PLLAR) Divider is bypassed (divide by 1) and PLLA is enabled. */ -#define CKGR_PLLAR_PLLACOUNT_Pos 8 -#define CKGR_PLLAR_PLLACOUNT_Msk (0x3fu << CKGR_PLLAR_PLLACOUNT_Pos) /**< \brief (CKGR_PLLAR) PLLA Counter */ -#define CKGR_PLLAR_PLLACOUNT(value) ((CKGR_PLLAR_PLLACOUNT_Msk & ((value) << CKGR_PLLAR_PLLACOUNT_Pos))) -#define CKGR_PLLAR_MULA_Pos 16 -#define CKGR_PLLAR_MULA_Msk (0x7ffu << CKGR_PLLAR_MULA_Pos) /**< \brief (CKGR_PLLAR) PLLA Multiplier */ -#define CKGR_PLLAR_MULA(value) ((CKGR_PLLAR_MULA_Msk & ((value) << CKGR_PLLAR_MULA_Pos))) -#define CKGR_PLLAR_ONE (0x1u << 29) /**< \brief (CKGR_PLLAR) Must Be Set to 1 */ -/* -------- PMC_MCKR : (PMC Offset: 0x0030) Master Clock Register -------- */ -#define PMC_MCKR_CSS_Pos 0 -#define PMC_MCKR_CSS_Msk (0x3u << PMC_MCKR_CSS_Pos) /**< \brief (PMC_MCKR) Master Clock Source Selection */ -#define PMC_MCKR_CSS(value) ((PMC_MCKR_CSS_Msk & ((value) << PMC_MCKR_CSS_Pos))) -#define PMC_MCKR_CSS_SLOW_CLK (0x0u << 0) /**< \brief (PMC_MCKR) Slow Clock is selected */ -#define PMC_MCKR_CSS_MAIN_CLK (0x1u << 0) /**< \brief (PMC_MCKR) Main Clock is selected */ -#define PMC_MCKR_CSS_PLLA_CLK (0x2u << 0) /**< \brief (PMC_MCKR) PLLA Clock is selected */ -#define PMC_MCKR_CSS_UPLL_CLK (0x3u << 0) /**< \brief (PMC_MCKR) Divided UPLL Clock is selected */ -#define PMC_MCKR_PRES_Pos 4 -#define PMC_MCKR_PRES_Msk (0x7u << PMC_MCKR_PRES_Pos) /**< \brief (PMC_MCKR) Processor Clock Prescaler */ -#define PMC_MCKR_PRES(value) ((PMC_MCKR_PRES_Msk & ((value) << PMC_MCKR_PRES_Pos))) -#define PMC_MCKR_PRES_CLK_1 (0x0u << 4) /**< \brief (PMC_MCKR) Selected clock */ -#define PMC_MCKR_PRES_CLK_2 (0x1u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 2 */ -#define PMC_MCKR_PRES_CLK_4 (0x2u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 4 */ -#define PMC_MCKR_PRES_CLK_8 (0x3u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 8 */ -#define PMC_MCKR_PRES_CLK_16 (0x4u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 16 */ -#define PMC_MCKR_PRES_CLK_32 (0x5u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 32 */ -#define PMC_MCKR_PRES_CLK_64 (0x6u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 64 */ -#define PMC_MCKR_PRES_CLK_3 (0x7u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 3 */ -#define PMC_MCKR_MDIV_Pos 8 -#define PMC_MCKR_MDIV_Msk (0x3u << PMC_MCKR_MDIV_Pos) /**< \brief (PMC_MCKR) Master Clock Division */ -#define PMC_MCKR_MDIV(value) ((PMC_MCKR_MDIV_Msk & ((value) << PMC_MCKR_MDIV_Pos))) -#define PMC_MCKR_MDIV_EQ_PCK (0x0u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 1. */ -#define PMC_MCKR_MDIV_PCK_DIV2 (0x1u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 2. */ -#define PMC_MCKR_MDIV_PCK_DIV4 (0x2u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 4. */ -#define PMC_MCKR_MDIV_PCK_DIV3 (0x3u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 3. */ -#define PMC_MCKR_UPLLDIV2 (0x1u << 13) /**< \brief (PMC_MCKR) UPLL Divisor by 2 */ -/* -------- PMC_USB : (PMC Offset: 0x0038) USB Clock Register -------- */ -#define PMC_USB_USBS (0x1u << 0) /**< \brief (PMC_USB) USB Input Clock Selection */ -#define PMC_USB_USBDIV_Pos 8 -#define PMC_USB_USBDIV_Msk (0xfu << PMC_USB_USBDIV_Pos) /**< \brief (PMC_USB) Divider for USB Clock */ -#define PMC_USB_USBDIV(value) ((PMC_USB_USBDIV_Msk & ((value) << PMC_USB_USBDIV_Pos))) -/* -------- PMC_PCK[7] : (PMC Offset: 0x0040) Programmable Clock 0 Register -------- */ -#define PMC_PCK_CSS_Pos 0 -#define PMC_PCK_CSS_Msk (0x7u << PMC_PCK_CSS_Pos) /**< \brief (PMC_PCK[7]) Master Clock Source Selection */ -#define PMC_PCK_CSS(value) ((PMC_PCK_CSS_Msk & ((value) << PMC_PCK_CSS_Pos))) -#define PMC_PCK_CSS_SLOW_CLK (0x0u << 0) /**< \brief (PMC_PCK[7]) Slow Clock is selected */ -#define PMC_PCK_CSS_MAIN_CLK (0x1u << 0) /**< \brief (PMC_PCK[7]) Main Clock is selected */ -#define PMC_PCK_CSS_PLLA_CLK (0x2u << 0) /**< \brief (PMC_PCK[7]) PLLA Clock is selected */ -#define PMC_PCK_CSS_UPLL_CLK (0x3u << 0) /**< \brief (PMC_PCK[7]) Divided UPLL Clock is selected */ -#define PMC_PCK_CSS_MCK (0x4u << 0) /**< \brief (PMC_PCK[7]) Master Clock is selected */ -#define PMC_PCK_PRES_Pos 4 -#define PMC_PCK_PRES_Msk (0xffu << PMC_PCK_PRES_Pos) /**< \brief (PMC_PCK[7]) Programmable Clock Prescaler */ -#define PMC_PCK_PRES(value) ((PMC_PCK_PRES_Msk & ((value) << PMC_PCK_PRES_Pos))) -/* -------- PMC_IER : (PMC Offset: 0x0060) Interrupt Enable Register -------- */ -#define PMC_IER_MOSCXTS (0x1u << 0) /**< \brief (PMC_IER) Main Crystal Oscillator Status Interrupt Enable */ -#define PMC_IER_LOCKA (0x1u << 1) /**< \brief (PMC_IER) PLLA Lock Interrupt Enable */ -#define PMC_IER_MCKRDY (0x1u << 3) /**< \brief (PMC_IER) Master Clock Ready Interrupt Enable */ -#define PMC_IER_LOCKU (0x1u << 6) /**< \brief (PMC_IER) UTMI PLL Lock Interrupt Enable */ -#define PMC_IER_PCKRDY0 (0x1u << 8) /**< \brief (PMC_IER) Programmable Clock Ready 0 Interrupt Enable */ -#define PMC_IER_PCKRDY1 (0x1u << 9) /**< \brief (PMC_IER) Programmable Clock Ready 1 Interrupt Enable */ -#define PMC_IER_PCKRDY2 (0x1u << 10) /**< \brief (PMC_IER) Programmable Clock Ready 2 Interrupt Enable */ -#define PMC_IER_PCKRDY3 (0x1u << 11) /**< \brief (PMC_IER) Programmable Clock Ready 3 Interrupt Enable */ -#define PMC_IER_PCKRDY4 (0x1u << 12) /**< \brief (PMC_IER) Programmable Clock Ready 4 Interrupt Enable */ -#define PMC_IER_PCKRDY5 (0x1u << 13) /**< \brief (PMC_IER) Programmable Clock Ready 5 Interrupt Enable */ -#define PMC_IER_PCKRDY6 (0x1u << 14) /**< \brief (PMC_IER) Programmable Clock Ready 6 Interrupt Enable */ -#define PMC_IER_MOSCSELS (0x1u << 16) /**< \brief (PMC_IER) Main Oscillator Selection Status Interrupt Enable */ -#define PMC_IER_MOSCRCS (0x1u << 17) /**< \brief (PMC_IER) Main On-Chip RC Status Interrupt Enable */ -#define PMC_IER_CFDEV (0x1u << 18) /**< \brief (PMC_IER) Clock Failure Detector Event Interrupt Enable */ -#define PMC_IER_XT32KERR (0x1u << 21) /**< \brief (PMC_IER) Slow Crystal Oscillator Error Interrupt Enable */ -/* -------- PMC_IDR : (PMC Offset: 0x0064) Interrupt Disable Register -------- */ -#define PMC_IDR_MOSCXTS (0x1u << 0) /**< \brief (PMC_IDR) Main Crystal Oscillator Status Interrupt Disable */ -#define PMC_IDR_LOCKA (0x1u << 1) /**< \brief (PMC_IDR) PLLA Lock Interrupt Disable */ -#define PMC_IDR_MCKRDY (0x1u << 3) /**< \brief (PMC_IDR) Master Clock Ready Interrupt Disable */ -#define PMC_IDR_LOCKU (0x1u << 6) /**< \brief (PMC_IDR) UTMI PLL Lock Interrupt Disable */ -#define PMC_IDR_PCKRDY0 (0x1u << 8) /**< \brief (PMC_IDR) Programmable Clock Ready 0 Interrupt Disable */ -#define PMC_IDR_PCKRDY1 (0x1u << 9) /**< \brief (PMC_IDR) Programmable Clock Ready 1 Interrupt Disable */ -#define PMC_IDR_PCKRDY2 (0x1u << 10) /**< \brief (PMC_IDR) Programmable Clock Ready 2 Interrupt Disable */ -#define PMC_IDR_PCKRDY3 (0x1u << 11) /**< \brief (PMC_IDR) Programmable Clock Ready 3 Interrupt Disable */ -#define PMC_IDR_PCKRDY4 (0x1u << 12) /**< \brief (PMC_IDR) Programmable Clock Ready 4 Interrupt Disable */ -#define PMC_IDR_PCKRDY5 (0x1u << 13) /**< \brief (PMC_IDR) Programmable Clock Ready 5 Interrupt Disable */ -#define PMC_IDR_PCKRDY6 (0x1u << 14) /**< \brief (PMC_IDR) Programmable Clock Ready 6 Interrupt Disable */ -#define PMC_IDR_MOSCSELS (0x1u << 16) /**< \brief (PMC_IDR) Main Oscillator Selection Status Interrupt Disable */ -#define PMC_IDR_MOSCRCS (0x1u << 17) /**< \brief (PMC_IDR) Main On-Chip RC Status Interrupt Disable */ -#define PMC_IDR_CFDEV (0x1u << 18) /**< \brief (PMC_IDR) Clock Failure Detector Event Interrupt Disable */ -#define PMC_IDR_XT32KERR (0x1u << 21) /**< \brief (PMC_IDR) Slow Crystal Oscillator Error Interrupt Disable */ -/* -------- PMC_SR : (PMC Offset: 0x0068) Status Register -------- */ -#define PMC_SR_MOSCXTS (0x1u << 0) /**< \brief (PMC_SR) Main Crystal Oscillator Status */ -#define PMC_SR_LOCKA (0x1u << 1) /**< \brief (PMC_SR) PLLA Lock Status */ -#define PMC_SR_MCKRDY (0x1u << 3) /**< \brief (PMC_SR) Master Clock Status */ -#define PMC_SR_LOCKU (0x1u << 6) /**< \brief (PMC_SR) UTMI PLL Lock Status */ -#define PMC_SR_OSCSELS (0x1u << 7) /**< \brief (PMC_SR) Slow Clock Oscillator Selection */ -#define PMC_SR_PCKRDY0 (0x1u << 8) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY1 (0x1u << 9) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY2 (0x1u << 10) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY3 (0x1u << 11) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY4 (0x1u << 12) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY5 (0x1u << 13) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY6 (0x1u << 14) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_MOSCSELS (0x1u << 16) /**< \brief (PMC_SR) Main Oscillator Selection Status */ -#define PMC_SR_MOSCRCS (0x1u << 17) /**< \brief (PMC_SR) Main On-Chip RC Oscillator Status */ -#define PMC_SR_CFDEV (0x1u << 18) /**< \brief (PMC_SR) Clock Failure Detector Event */ -#define PMC_SR_CFDS (0x1u << 19) /**< \brief (PMC_SR) Clock Failure Detector Status */ -#define PMC_SR_FOS (0x1u << 20) /**< \brief (PMC_SR) Clock Failure Detector Fault Output Status */ -#define PMC_SR_XT32KERR (0x1u << 21) /**< \brief (PMC_SR) Slow Crystal Oscillator Error */ -/* -------- PMC_IMR : (PMC Offset: 0x006C) Interrupt Mask Register -------- */ -#define PMC_IMR_MOSCXTS (0x1u << 0) /**< \brief (PMC_IMR) Main Crystal Oscillator Status Interrupt Mask */ -#define PMC_IMR_LOCKA (0x1u << 1) /**< \brief (PMC_IMR) PLLA Lock Interrupt Mask */ -#define PMC_IMR_MCKRDY (0x1u << 3) /**< \brief (PMC_IMR) Master Clock Ready Interrupt Mask */ -#define PMC_IMR_LOCKU (0x1u << 6) /**< \brief (PMC_IMR) UTMI PLL Lock Interrupt Mask */ -#define PMC_IMR_PCKRDY0 (0x1u << 8) /**< \brief (PMC_IMR) Programmable Clock Ready 0 Interrupt Mask */ -#define PMC_IMR_PCKRDY1 (0x1u << 9) /**< \brief (PMC_IMR) Programmable Clock Ready 1 Interrupt Mask */ -#define PMC_IMR_PCKRDY2 (0x1u << 10) /**< \brief (PMC_IMR) Programmable Clock Ready 2 Interrupt Mask */ -#define PMC_IMR_MOSCSELS (0x1u << 16) /**< \brief (PMC_IMR) Main Oscillator Selection Status Interrupt Mask */ -#define PMC_IMR_MOSCRCS (0x1u << 17) /**< \brief (PMC_IMR) Main On-Chip RC Status Interrupt Mask */ -#define PMC_IMR_CFDEV (0x1u << 18) /**< \brief (PMC_IMR) Clock Failure Detector Event Interrupt Mask */ -#define PMC_IMR_XT32KERR (0x1u << 21) /**< \brief (PMC_IMR) Slow Crystal Oscillator Error Interrupt Mask */ -/* -------- PMC_FSMR : (PMC Offset: 0x0070) Fast Startup Mode Register -------- */ -#define PMC_FSMR_FSTT0 (0x1u << 0) /**< \brief (PMC_FSMR) Fast Startup Input Enable 0 */ -#define PMC_FSMR_FSTT1 (0x1u << 1) /**< \brief (PMC_FSMR) Fast Startup Input Enable 1 */ -#define PMC_FSMR_FSTT2 (0x1u << 2) /**< \brief (PMC_FSMR) Fast Startup Input Enable 2 */ -#define PMC_FSMR_FSTT3 (0x1u << 3) /**< \brief (PMC_FSMR) Fast Startup Input Enable 3 */ -#define PMC_FSMR_FSTT4 (0x1u << 4) /**< \brief (PMC_FSMR) Fast Startup Input Enable 4 */ -#define PMC_FSMR_FSTT5 (0x1u << 5) /**< \brief (PMC_FSMR) Fast Startup Input Enable 5 */ -#define PMC_FSMR_FSTT6 (0x1u << 6) /**< \brief (PMC_FSMR) Fast Startup Input Enable 6 */ -#define PMC_FSMR_FSTT7 (0x1u << 7) /**< \brief (PMC_FSMR) Fast Startup Input Enable 7 */ -#define PMC_FSMR_FSTT8 (0x1u << 8) /**< \brief (PMC_FSMR) Fast Startup Input Enable 8 */ -#define PMC_FSMR_FSTT9 (0x1u << 9) /**< \brief (PMC_FSMR) Fast Startup Input Enable 9 */ -#define PMC_FSMR_FSTT10 (0x1u << 10) /**< \brief (PMC_FSMR) Fast Startup Input Enable 10 */ -#define PMC_FSMR_FSTT11 (0x1u << 11) /**< \brief (PMC_FSMR) Fast Startup Input Enable 11 */ -#define PMC_FSMR_FSTT12 (0x1u << 12) /**< \brief (PMC_FSMR) Fast Startup Input Enable 12 */ -#define PMC_FSMR_FSTT13 (0x1u << 13) /**< \brief (PMC_FSMR) Fast Startup Input Enable 13 */ -#define PMC_FSMR_FSTT14 (0x1u << 14) /**< \brief (PMC_FSMR) Fast Startup Input Enable 14 */ -#define PMC_FSMR_FSTT15 (0x1u << 15) /**< \brief (PMC_FSMR) Fast Startup Input Enable 15 */ -#define PMC_FSMR_RTTAL (0x1u << 16) /**< \brief (PMC_FSMR) RTT Alarm Enable */ -#define PMC_FSMR_RTCAL (0x1u << 17) /**< \brief (PMC_FSMR) RTC Alarm Enable */ -#define PMC_FSMR_USBAL (0x1u << 18) /**< \brief (PMC_FSMR) USB Alarm Enable */ -#define PMC_FSMR_LPM (0x1u << 20) /**< \brief (PMC_FSMR) Low-power Mode */ -#define PMC_FSMR_FLPM_Pos 21 -#define PMC_FSMR_FLPM_Msk (0x3u << PMC_FSMR_FLPM_Pos) /**< \brief (PMC_FSMR) Flash Low-power Mode */ -#define PMC_FSMR_FLPM(value) ((PMC_FSMR_FLPM_Msk & ((value) << PMC_FSMR_FLPM_Pos))) -#define PMC_FSMR_FLPM_FLASH_STANDBY (0x0u << 21) /**< \brief (PMC_FSMR) Flash is in Standby Mode when system enters Wait Mode */ -#define PMC_FSMR_FLPM_FLASH_DEEP_POWERDOWN (0x1u << 21) /**< \brief (PMC_FSMR) Flash is in Deep-power-down mode when system enters Wait Mode */ -#define PMC_FSMR_FLPM_FLASH_IDLE (0x2u << 21) /**< \brief (PMC_FSMR) Idle mode */ -#define PMC_FSMR_FFLPM (0x1u << 23) /**< \brief (PMC_FSMR) Force Flash Low-power Mode */ -/* -------- PMC_FSPR : (PMC Offset: 0x0074) Fast Startup Polarity Register -------- */ -#define PMC_FSPR_FSTP0 (0x1u << 0) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 0 */ -#define PMC_FSPR_FSTP1 (0x1u << 1) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 1 */ -#define PMC_FSPR_FSTP2 (0x1u << 2) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 2 */ -#define PMC_FSPR_FSTP3 (0x1u << 3) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 3 */ -#define PMC_FSPR_FSTP4 (0x1u << 4) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 4 */ -#define PMC_FSPR_FSTP5 (0x1u << 5) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 5 */ -#define PMC_FSPR_FSTP6 (0x1u << 6) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 6 */ -#define PMC_FSPR_FSTP7 (0x1u << 7) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 7 */ -#define PMC_FSPR_FSTP8 (0x1u << 8) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 8 */ -#define PMC_FSPR_FSTP9 (0x1u << 9) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 9 */ -#define PMC_FSPR_FSTP10 (0x1u << 10) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 10 */ -#define PMC_FSPR_FSTP11 (0x1u << 11) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 11 */ -#define PMC_FSPR_FSTP12 (0x1u << 12) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 12 */ -#define PMC_FSPR_FSTP13 (0x1u << 13) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 13 */ -#define PMC_FSPR_FSTP14 (0x1u << 14) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 14 */ -#define PMC_FSPR_FSTP15 (0x1u << 15) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 15 */ -/* -------- PMC_FOCR : (PMC Offset: 0x0078) Fault Output Clear Register -------- */ -#define PMC_FOCR_FOCLR (0x1u << 0) /**< \brief (PMC_FOCR) Fault Output Clear */ -/* -------- PMC_WPMR : (PMC Offset: 0x00E4) Write Protection Mode Register -------- */ -#define PMC_WPMR_WPEN (0x1u << 0) /**< \brief (PMC_WPMR) Write Protection Enable */ -#define PMC_WPMR_WPKEY_Pos 8 -#define PMC_WPMR_WPKEY_Msk (0xffffffu << PMC_WPMR_WPKEY_Pos) /**< \brief (PMC_WPMR) Write Protection Key */ -#define PMC_WPMR_WPKEY(value) ((PMC_WPMR_WPKEY_Msk & ((value) << PMC_WPMR_WPKEY_Pos))) -#define PMC_WPMR_WPKEY_PASSWD (0x504D43u << 8) /**< \brief (PMC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- PMC_WPSR : (PMC Offset: 0x00E8) Write Protection Status Register -------- */ -#define PMC_WPSR_WPVS (0x1u << 0) /**< \brief (PMC_WPSR) Write Protection Violation Status */ -#define PMC_WPSR_WPVSRC_Pos 8 -#define PMC_WPSR_WPVSRC_Msk (0xffffu << PMC_WPSR_WPVSRC_Pos) /**< \brief (PMC_WPSR) Write Protection Violation Source */ -/* -------- PMC_PCER1 : (PMC Offset: 0x0100) Peripheral Clock Enable Register 1 -------- */ -#define PMC_PCER1_PID32 (0x1u << 0) /**< \brief (PMC_PCER1) Peripheral Clock 32 Enable */ -#define PMC_PCER1_PID33 (0x1u << 1) /**< \brief (PMC_PCER1) Peripheral Clock 33 Enable */ -#define PMC_PCER1_PID34 (0x1u << 2) /**< \brief (PMC_PCER1) Peripheral Clock 34 Enable */ -#define PMC_PCER1_PID35 (0x1u << 3) /**< \brief (PMC_PCER1) Peripheral Clock 35 Enable */ -#define PMC_PCER1_PID37 (0x1u << 5) /**< \brief (PMC_PCER1) Peripheral Clock 37 Enable */ -#define PMC_PCER1_PID39 (0x1u << 7) /**< \brief (PMC_PCER1) Peripheral Clock 39 Enable */ -#define PMC_PCER1_PID40 (0x1u << 8) /**< \brief (PMC_PCER1) Peripheral Clock 40 Enable */ -#define PMC_PCER1_PID41 (0x1u << 9) /**< \brief (PMC_PCER1) Peripheral Clock 41 Enable */ -#define PMC_PCER1_PID42 (0x1u << 10) /**< \brief (PMC_PCER1) Peripheral Clock 42 Enable */ -#define PMC_PCER1_PID43 (0x1u << 11) /**< \brief (PMC_PCER1) Peripheral Clock 43 Enable */ -#define PMC_PCER1_PID44 (0x1u << 12) /**< \brief (PMC_PCER1) Peripheral Clock 44 Enable */ -#define PMC_PCER1_PID45 (0x1u << 13) /**< \brief (PMC_PCER1) Peripheral Clock 45 Enable */ -#define PMC_PCER1_PID46 (0x1u << 14) /**< \brief (PMC_PCER1) Peripheral Clock 46 Enable */ -#define PMC_PCER1_PID47 (0x1u << 15) /**< \brief (PMC_PCER1) Peripheral Clock 47 Enable */ -#define PMC_PCER1_PID48 (0x1u << 16) /**< \brief (PMC_PCER1) Peripheral Clock 48 Enable */ -#define PMC_PCER1_PID49 (0x1u << 17) /**< \brief (PMC_PCER1) Peripheral Clock 49 Enable */ -#define PMC_PCER1_PID50 (0x1u << 18) /**< \brief (PMC_PCER1) Peripheral Clock 50 Enable */ -#define PMC_PCER1_PID51 (0x1u << 19) /**< \brief (PMC_PCER1) Peripheral Clock 51 Enable */ -#define PMC_PCER1_PID52 (0x1u << 20) /**< \brief (PMC_PCER1) Peripheral Clock 52 Enable */ -#define PMC_PCER1_PID53 (0x1u << 21) /**< \brief (PMC_PCER1) Peripheral Clock 53 Enable */ -#define PMC_PCER1_PID56 (0x1u << 24) /**< \brief (PMC_PCER1) Peripheral Clock 56 Enable */ -#define PMC_PCER1_PID57 (0x1u << 25) /**< \brief (PMC_PCER1) Peripheral Clock 57 Enable */ -#define PMC_PCER1_PID58 (0x1u << 26) /**< \brief (PMC_PCER1) Peripheral Clock 58 Enable */ -#define PMC_PCER1_PID59 (0x1u << 27) /**< \brief (PMC_PCER1) Peripheral Clock 59 Enable */ -#define PMC_PCER1_PID60 (0x1u << 28) /**< \brief (PMC_PCER1) Peripheral Clock 60 Enable */ -/* -------- PMC_PCDR1 : (PMC Offset: 0x0104) Peripheral Clock Disable Register 1 -------- */ -#define PMC_PCDR1_PID32 (0x1u << 0) /**< \brief (PMC_PCDR1) Peripheral Clock 32 Disable */ -#define PMC_PCDR1_PID33 (0x1u << 1) /**< \brief (PMC_PCDR1) Peripheral Clock 33 Disable */ -#define PMC_PCDR1_PID34 (0x1u << 2) /**< \brief (PMC_PCDR1) Peripheral Clock 34 Disable */ -#define PMC_PCDR1_PID35 (0x1u << 3) /**< \brief (PMC_PCDR1) Peripheral Clock 35 Disable */ -#define PMC_PCDR1_PID37 (0x1u << 5) /**< \brief (PMC_PCDR1) Peripheral Clock 37 Disable */ -#define PMC_PCDR1_PID39 (0x1u << 7) /**< \brief (PMC_PCDR1) Peripheral Clock 39 Disable */ -#define PMC_PCDR1_PID40 (0x1u << 8) /**< \brief (PMC_PCDR1) Peripheral Clock 40 Disable */ -#define PMC_PCDR1_PID41 (0x1u << 9) /**< \brief (PMC_PCDR1) Peripheral Clock 41 Disable */ -#define PMC_PCDR1_PID42 (0x1u << 10) /**< \brief (PMC_PCDR1) Peripheral Clock 42 Disable */ -#define PMC_PCDR1_PID43 (0x1u << 11) /**< \brief (PMC_PCDR1) Peripheral Clock 43 Disable */ -#define PMC_PCDR1_PID44 (0x1u << 12) /**< \brief (PMC_PCDR1) Peripheral Clock 44 Disable */ -#define PMC_PCDR1_PID45 (0x1u << 13) /**< \brief (PMC_PCDR1) Peripheral Clock 45 Disable */ -#define PMC_PCDR1_PID46 (0x1u << 14) /**< \brief (PMC_PCDR1) Peripheral Clock 46 Disable */ -#define PMC_PCDR1_PID47 (0x1u << 15) /**< \brief (PMC_PCDR1) Peripheral Clock 47 Disable */ -#define PMC_PCDR1_PID48 (0x1u << 16) /**< \brief (PMC_PCDR1) Peripheral Clock 48 Disable */ -#define PMC_PCDR1_PID49 (0x1u << 17) /**< \brief (PMC_PCDR1) Peripheral Clock 49 Disable */ -#define PMC_PCDR1_PID50 (0x1u << 18) /**< \brief (PMC_PCDR1) Peripheral Clock 50 Disable */ -#define PMC_PCDR1_PID51 (0x1u << 19) /**< \brief (PMC_PCDR1) Peripheral Clock 51 Disable */ -#define PMC_PCDR1_PID52 (0x1u << 20) /**< \brief (PMC_PCDR1) Peripheral Clock 52 Disable */ -#define PMC_PCDR1_PID53 (0x1u << 21) /**< \brief (PMC_PCDR1) Peripheral Clock 53 Disable */ -#define PMC_PCDR1_PID56 (0x1u << 24) /**< \brief (PMC_PCDR1) Peripheral Clock 56 Disable */ -#define PMC_PCDR1_PID57 (0x1u << 25) /**< \brief (PMC_PCDR1) Peripheral Clock 57 Disable */ -#define PMC_PCDR1_PID58 (0x1u << 26) /**< \brief (PMC_PCDR1) Peripheral Clock 58 Disable */ -#define PMC_PCDR1_PID59 (0x1u << 27) /**< \brief (PMC_PCDR1) Peripheral Clock 59 Disable */ -#define PMC_PCDR1_PID60 (0x1u << 28) /**< \brief (PMC_PCDR1) Peripheral Clock 60 Disable */ -/* -------- PMC_PCSR1 : (PMC Offset: 0x0108) Peripheral Clock Status Register 1 -------- */ -#define PMC_PCSR1_PID32 (0x1u << 0) /**< \brief (PMC_PCSR1) Peripheral Clock 32 Status */ -#define PMC_PCSR1_PID33 (0x1u << 1) /**< \brief (PMC_PCSR1) Peripheral Clock 33 Status */ -#define PMC_PCSR1_PID34 (0x1u << 2) /**< \brief (PMC_PCSR1) Peripheral Clock 34 Status */ -#define PMC_PCSR1_PID35 (0x1u << 3) /**< \brief (PMC_PCSR1) Peripheral Clock 35 Status */ -#define PMC_PCSR1_PID37 (0x1u << 5) /**< \brief (PMC_PCSR1) Peripheral Clock 37 Status */ -#define PMC_PCSR1_PID39 (0x1u << 7) /**< \brief (PMC_PCSR1) Peripheral Clock 39 Status */ -#define PMC_PCSR1_PID40 (0x1u << 8) /**< \brief (PMC_PCSR1) Peripheral Clock 40 Status */ -#define PMC_PCSR1_PID41 (0x1u << 9) /**< \brief (PMC_PCSR1) Peripheral Clock 41 Status */ -#define PMC_PCSR1_PID42 (0x1u << 10) /**< \brief (PMC_PCSR1) Peripheral Clock 42 Status */ -#define PMC_PCSR1_PID43 (0x1u << 11) /**< \brief (PMC_PCSR1) Peripheral Clock 43 Status */ -#define PMC_PCSR1_PID44 (0x1u << 12) /**< \brief (PMC_PCSR1) Peripheral Clock 44 Status */ -#define PMC_PCSR1_PID45 (0x1u << 13) /**< \brief (PMC_PCSR1) Peripheral Clock 45 Status */ -#define PMC_PCSR1_PID46 (0x1u << 14) /**< \brief (PMC_PCSR1) Peripheral Clock 46 Status */ -#define PMC_PCSR1_PID47 (0x1u << 15) /**< \brief (PMC_PCSR1) Peripheral Clock 47 Status */ -#define PMC_PCSR1_PID48 (0x1u << 16) /**< \brief (PMC_PCSR1) Peripheral Clock 48 Status */ -#define PMC_PCSR1_PID49 (0x1u << 17) /**< \brief (PMC_PCSR1) Peripheral Clock 49 Status */ -#define PMC_PCSR1_PID50 (0x1u << 18) /**< \brief (PMC_PCSR1) Peripheral Clock 50 Status */ -#define PMC_PCSR1_PID51 (0x1u << 19) /**< \brief (PMC_PCSR1) Peripheral Clock 51 Status */ -#define PMC_PCSR1_PID52 (0x1u << 20) /**< \brief (PMC_PCSR1) Peripheral Clock 52 Status */ -#define PMC_PCSR1_PID53 (0x1u << 21) /**< \brief (PMC_PCSR1) Peripheral Clock 53 Status */ -#define PMC_PCSR1_PID56 (0x1u << 24) /**< \brief (PMC_PCSR1) Peripheral Clock 56 Status */ -#define PMC_PCSR1_PID57 (0x1u << 25) /**< \brief (PMC_PCSR1) Peripheral Clock 57 Status */ -#define PMC_PCSR1_PID58 (0x1u << 26) /**< \brief (PMC_PCSR1) Peripheral Clock 58 Status */ -#define PMC_PCSR1_PID59 (0x1u << 27) /**< \brief (PMC_PCSR1) Peripheral Clock 59 Status */ -#define PMC_PCSR1_PID60 (0x1u << 28) /**< \brief (PMC_PCSR1) Peripheral Clock 60 Status */ -/* -------- PMC_PCR : (PMC Offset: 0x010C) Peripheral Control Register -------- */ -#define PMC_PCR_PID_Pos 0 -#define PMC_PCR_PID_Msk (0x3fu << PMC_PCR_PID_Pos) /**< \brief (PMC_PCR) Peripheral ID */ -#define PMC_PCR_PID(value) ((PMC_PCR_PID_Msk & ((value) << PMC_PCR_PID_Pos))) -#define PMC_PCR_CMD (0x1u << 12) /**< \brief (PMC_PCR) Command */ -#define PMC_PCR_DIV_Pos 16 -#define PMC_PCR_DIV_Msk (0x3u << PMC_PCR_DIV_Pos) /**< \brief (PMC_PCR) Divisor Value */ -#define PMC_PCR_DIV(value) ((PMC_PCR_DIV_Msk & ((value) << PMC_PCR_DIV_Pos))) -#define PMC_PCR_DIV_PERIPH_DIV_MCK (0x0u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK */ -#define PMC_PCR_DIV_PERIPH_DIV2_MCK (0x1u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK/2 */ -#define PMC_PCR_DIV_PERIPH_DIV4_MCK (0x2u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK/4 */ -#define PMC_PCR_DIV_PERIPH_DIV8_MCK (0x3u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK/8 */ -#define PMC_PCR_EN (0x1u << 28) /**< \brief (PMC_PCR) Enable */ -/* -------- PMC_OCR : (PMC Offset: 0x0110) Oscillator Calibration Register -------- */ -#define PMC_OCR_CAL4_Pos 0 -#define PMC_OCR_CAL4_Msk (0x7fu << PMC_OCR_CAL4_Pos) /**< \brief (PMC_OCR) RC Oscillator Calibration bits for 4 MHz */ -#define PMC_OCR_CAL4(value) ((PMC_OCR_CAL4_Msk & ((value) << PMC_OCR_CAL4_Pos))) -#define PMC_OCR_SEL4 (0x1u << 7) /**< \brief (PMC_OCR) Selection of RC Oscillator Calibration bits for 4 MHz */ -#define PMC_OCR_CAL8_Pos 8 -#define PMC_OCR_CAL8_Msk (0x7fu << PMC_OCR_CAL8_Pos) /**< \brief (PMC_OCR) RC Oscillator Calibration bits for 8 MHz */ -#define PMC_OCR_CAL8(value) ((PMC_OCR_CAL8_Msk & ((value) << PMC_OCR_CAL8_Pos))) -#define PMC_OCR_SEL8 (0x1u << 15) /**< \brief (PMC_OCR) Selection of RC Oscillator Calibration bits for 8 MHz */ -#define PMC_OCR_CAL12_Pos 16 -#define PMC_OCR_CAL12_Msk (0x7fu << PMC_OCR_CAL12_Pos) /**< \brief (PMC_OCR) RC Oscillator Calibration bits for 12 MHz */ -#define PMC_OCR_CAL12(value) ((PMC_OCR_CAL12_Msk & ((value) << PMC_OCR_CAL12_Pos))) -#define PMC_OCR_SEL12 (0x1u << 23) /**< \brief (PMC_OCR) Selection of RC Oscillator Calibration bits for 12 MHz */ -/* -------- PMC_SLPWK_ER0 : (PMC Offset: 0x0114) SleepWalking Enable Register 0 -------- */ -#define PMC_SLPWK_ER0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_ER0) Peripheral 7 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_ER0) Peripheral 8 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_ER0) Peripheral 9 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_ER0) Peripheral 10 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_ER0) Peripheral 11 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_ER0) Peripheral 12 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_ER0) Peripheral 13 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_ER0) Peripheral 14 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_ER0) Peripheral 15 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_ER0) Peripheral 16 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_ER0) Peripheral 17 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_ER0) Peripheral 18 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_ER0) Peripheral 19 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_ER0) Peripheral 20 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_ER0) Peripheral 21 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_ER0) Peripheral 22 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_ER0) Peripheral 23 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_ER0) Peripheral 24 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_ER0) Peripheral 25 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_ER0) Peripheral 26 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_ER0) Peripheral 27 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_ER0) Peripheral 28 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_ER0) Peripheral 29 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_ER0) Peripheral 30 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_ER0) Peripheral 31 SleepWalking Enable */ -/* -------- PMC_SLPWK_DR0 : (PMC Offset: 0x0118) SleepWalking Disable Register 0 -------- */ -#define PMC_SLPWK_DR0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_DR0) Peripheral 7 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_DR0) Peripheral 8 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_DR0) Peripheral 9 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_DR0) Peripheral 10 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_DR0) Peripheral 11 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_DR0) Peripheral 12 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_DR0) Peripheral 13 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_DR0) Peripheral 14 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_DR0) Peripheral 15 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_DR0) Peripheral 16 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_DR0) Peripheral 17 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_DR0) Peripheral 18 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_DR0) Peripheral 19 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_DR0) Peripheral 20 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_DR0) Peripheral 21 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_DR0) Peripheral 22 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_DR0) Peripheral 23 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_DR0) Peripheral 24 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_DR0) Peripheral 25 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_DR0) Peripheral 26 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_DR0) Peripheral 27 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_DR0) Peripheral 28 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_DR0) Peripheral 29 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_DR0) Peripheral 30 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_DR0) Peripheral 31 SleepWalking Disable */ -/* -------- PMC_SLPWK_SR0 : (PMC Offset: 0x011C) SleepWalking Status Register 0 -------- */ -#define PMC_SLPWK_SR0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_SR0) Peripheral 7 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_SR0) Peripheral 8 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_SR0) Peripheral 9 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_SR0) Peripheral 10 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_SR0) Peripheral 11 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_SR0) Peripheral 12 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_SR0) Peripheral 13 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_SR0) Peripheral 14 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_SR0) Peripheral 15 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_SR0) Peripheral 16 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_SR0) Peripheral 17 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_SR0) Peripheral 18 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_SR0) Peripheral 19 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_SR0) Peripheral 20 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_SR0) Peripheral 21 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_SR0) Peripheral 22 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_SR0) Peripheral 23 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_SR0) Peripheral 24 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_SR0) Peripheral 25 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_SR0) Peripheral 26 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_SR0) Peripheral 27 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_SR0) Peripheral 28 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_SR0) Peripheral 29 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_SR0) Peripheral 30 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_SR0) Peripheral 31 SleepWalking Status */ -/* -------- PMC_SLPWK_ASR0 : (PMC Offset: 0x0120) SleepWalking Activity Status Register 0 -------- */ -#define PMC_SLPWK_ASR0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_ASR0) Peripheral 7 Activity Status */ -#define PMC_SLPWK_ASR0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_ASR0) Peripheral 8 Activity Status */ -#define PMC_SLPWK_ASR0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_ASR0) Peripheral 9 Activity Status */ -#define PMC_SLPWK_ASR0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_ASR0) Peripheral 10 Activity Status */ -#define PMC_SLPWK_ASR0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_ASR0) Peripheral 11 Activity Status */ -#define PMC_SLPWK_ASR0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_ASR0) Peripheral 12 Activity Status */ -#define PMC_SLPWK_ASR0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_ASR0) Peripheral 13 Activity Status */ -#define PMC_SLPWK_ASR0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_ASR0) Peripheral 14 Activity Status */ -#define PMC_SLPWK_ASR0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_ASR0) Peripheral 15 Activity Status */ -#define PMC_SLPWK_ASR0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_ASR0) Peripheral 16 Activity Status */ -#define PMC_SLPWK_ASR0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_ASR0) Peripheral 17 Activity Status */ -#define PMC_SLPWK_ASR0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_ASR0) Peripheral 18 Activity Status */ -#define PMC_SLPWK_ASR0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_ASR0) Peripheral 19 Activity Status */ -#define PMC_SLPWK_ASR0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_ASR0) Peripheral 20 Activity Status */ -#define PMC_SLPWK_ASR0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_ASR0) Peripheral 21 Activity Status */ -#define PMC_SLPWK_ASR0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_ASR0) Peripheral 22 Activity Status */ -#define PMC_SLPWK_ASR0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_ASR0) Peripheral 23 Activity Status */ -#define PMC_SLPWK_ASR0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_ASR0) Peripheral 24 Activity Status */ -#define PMC_SLPWK_ASR0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_ASR0) Peripheral 25 Activity Status */ -#define PMC_SLPWK_ASR0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_ASR0) Peripheral 26 Activity Status */ -#define PMC_SLPWK_ASR0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_ASR0) Peripheral 27 Activity Status */ -#define PMC_SLPWK_ASR0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_ASR0) Peripheral 28 Activity Status */ -#define PMC_SLPWK_ASR0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_ASR0) Peripheral 29 Activity Status */ -#define PMC_SLPWK_ASR0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_ASR0) Peripheral 30 Activity Status */ -#define PMC_SLPWK_ASR0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_ASR0) Peripheral 31 Activity Status */ -/* -------- PMC_SLPWK_ER1 : (PMC Offset: 0x0134) SleepWalking Enable Register 1 -------- */ -#define PMC_SLPWK_ER1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_ER1) Peripheral 32 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_ER1) Peripheral 33 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_ER1) Peripheral 34 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_ER1) Peripheral 35 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_ER1) Peripheral 37 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_ER1) Peripheral 39 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_ER1) Peripheral 40 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_ER1) Peripheral 41 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_ER1) Peripheral 42 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_ER1) Peripheral 43 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_ER1) Peripheral 44 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_ER1) Peripheral 45 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_ER1) Peripheral 46 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_ER1) Peripheral 47 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_ER1) Peripheral 48 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_ER1) Peripheral 49 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_ER1) Peripheral 50 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_ER1) Peripheral 51 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_ER1) Peripheral 52 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_ER1) Peripheral 53 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_ER1) Peripheral 56 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_ER1) Peripheral 57 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_ER1) Peripheral 58 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_ER1) Peripheral 59 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_ER1) Peripheral 60 SleepWalking Enable */ -/* -------- PMC_SLPWK_DR1 : (PMC Offset: 0x0138) SleepWalking Disable Register 1 -------- */ -#define PMC_SLPWK_DR1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_DR1) Peripheral 32 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_DR1) Peripheral 33 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_DR1) Peripheral 34 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_DR1) Peripheral 35 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_DR1) Peripheral 37 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_DR1) Peripheral 39 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_DR1) Peripheral 40 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_DR1) Peripheral 41 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_DR1) Peripheral 42 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_DR1) Peripheral 43 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_DR1) Peripheral 44 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_DR1) Peripheral 45 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_DR1) Peripheral 46 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_DR1) Peripheral 47 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_DR1) Peripheral 48 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_DR1) Peripheral 49 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_DR1) Peripheral 50 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_DR1) Peripheral 51 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_DR1) Peripheral 52 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_DR1) Peripheral 53 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_DR1) Peripheral 56 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_DR1) Peripheral 57 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_DR1) Peripheral 58 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_DR1) Peripheral 59 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_DR1) Peripheral 60 SleepWalking Disable */ -/* -------- PMC_SLPWK_SR1 : (PMC Offset: 0x013C) SleepWalking Status Register 1 -------- */ -#define PMC_SLPWK_SR1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_SR1) Peripheral 32 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_SR1) Peripheral 33 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_SR1) Peripheral 34 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_SR1) Peripheral 35 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_SR1) Peripheral 37 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_SR1) Peripheral 39 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_SR1) Peripheral 40 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_SR1) Peripheral 41 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_SR1) Peripheral 42 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_SR1) Peripheral 43 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_SR1) Peripheral 44 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_SR1) Peripheral 45 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_SR1) Peripheral 46 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_SR1) Peripheral 47 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_SR1) Peripheral 48 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_SR1) Peripheral 49 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_SR1) Peripheral 50 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_SR1) Peripheral 51 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_SR1) Peripheral 52 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_SR1) Peripheral 53 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_SR1) Peripheral 56 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_SR1) Peripheral 57 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_SR1) Peripheral 58 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_SR1) Peripheral 59 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_SR1) Peripheral 60 SleepWalking Status */ -/* -------- PMC_SLPWK_ASR1 : (PMC Offset: 0x0140) SleepWalking Activity Status Register 1 -------- */ -#define PMC_SLPWK_ASR1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_ASR1) Peripheral 32 Activity Status */ -#define PMC_SLPWK_ASR1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_ASR1) Peripheral 33 Activity Status */ -#define PMC_SLPWK_ASR1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_ASR1) Peripheral 34 Activity Status */ -#define PMC_SLPWK_ASR1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_ASR1) Peripheral 35 Activity Status */ -#define PMC_SLPWK_ASR1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_ASR1) Peripheral 37 Activity Status */ -#define PMC_SLPWK_ASR1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_ASR1) Peripheral 39 Activity Status */ -#define PMC_SLPWK_ASR1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_ASR1) Peripheral 40 Activity Status */ -#define PMC_SLPWK_ASR1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_ASR1) Peripheral 41 Activity Status */ -#define PMC_SLPWK_ASR1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_ASR1) Peripheral 42 Activity Status */ -#define PMC_SLPWK_ASR1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_ASR1) Peripheral 43 Activity Status */ -#define PMC_SLPWK_ASR1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_ASR1) Peripheral 44 Activity Status */ -#define PMC_SLPWK_ASR1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_ASR1) Peripheral 45 Activity Status */ -#define PMC_SLPWK_ASR1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_ASR1) Peripheral 46 Activity Status */ -#define PMC_SLPWK_ASR1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_ASR1) Peripheral 47 Activity Status */ -#define PMC_SLPWK_ASR1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_ASR1) Peripheral 48 Activity Status */ -#define PMC_SLPWK_ASR1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_ASR1) Peripheral 49 Activity Status */ -#define PMC_SLPWK_ASR1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_ASR1) Peripheral 50 Activity Status */ -#define PMC_SLPWK_ASR1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_ASR1) Peripheral 51 Activity Status */ -#define PMC_SLPWK_ASR1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_ASR1) Peripheral 52 Activity Status */ -#define PMC_SLPWK_ASR1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_ASR1) Peripheral 53 Activity Status */ -#define PMC_SLPWK_ASR1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_ASR1) Peripheral 56 Activity Status */ -#define PMC_SLPWK_ASR1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_ASR1) Peripheral 57 Activity Status */ -#define PMC_SLPWK_ASR1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_ASR1) Peripheral 58 Activity Status */ -#define PMC_SLPWK_ASR1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_ASR1) Peripheral 59 Activity Status */ -#define PMC_SLPWK_ASR1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_ASR1) Peripheral 60 Activity Status */ -/* -------- PMC_SLPWK_AIPR : (PMC Offset: 0x0144) SleepWalking Activity In Progress Register -------- */ -#define PMC_SLPWK_AIPR_AIP (0x1u << 0) /**< \brief (PMC_SLPWK_AIPR) Activity In Progress */ - -/*@}*/ - - -#endif /* _SAMS70_PMC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h deleted file mode 100644 index fb3c8fb..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h +++ /dev/null @@ -1,715 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PWM_COMPONENT_ -#define _SAMS70_PWM_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Pulse Width Modulation Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_PWM Pulse Width Modulation Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief PwmCh_num hardware registers */ -typedef struct { - __IO uint32_t PWM_CMR; /**< \brief (PwmCh_num Offset: 0x0) PWM Channel Mode Register */ - __IO uint32_t PWM_CDTY; /**< \brief (PwmCh_num Offset: 0x4) PWM Channel Duty Cycle Register */ - __O uint32_t PWM_CDTYUPD; /**< \brief (PwmCh_num Offset: 0x8) PWM Channel Duty Cycle Update Register */ - __IO uint32_t PWM_CPRD; /**< \brief (PwmCh_num Offset: 0xC) PWM Channel Period Register */ - __O uint32_t PWM_CPRDUPD; /**< \brief (PwmCh_num Offset: 0x10) PWM Channel Period Update Register */ - __I uint32_t PWM_CCNT; /**< \brief (PwmCh_num Offset: 0x14) PWM Channel Counter Register */ - __IO uint32_t PWM_DT; /**< \brief (PwmCh_num Offset: 0x18) PWM Channel Dead Time Register */ - __O uint32_t PWM_DTUPD; /**< \brief (PwmCh_num Offset: 0x1C) PWM Channel Dead Time Update Register */ -} PwmCh_num; -/** \brief PwmCmp hardware registers */ -typedef struct { - __IO uint32_t PWM_CMPV; /**< \brief (PwmCmp Offset: 0x0) PWM Comparison 0 Value Register */ - __O uint32_t PWM_CMPVUPD; /**< \brief (PwmCmp Offset: 0x4) PWM Comparison 0 Value Update Register */ - __IO uint32_t PWM_CMPM; /**< \brief (PwmCmp Offset: 0x8) PWM Comparison 0 Mode Register */ - __O uint32_t PWM_CMPMUPD; /**< \brief (PwmCmp Offset: 0xC) PWM Comparison 0 Mode Update Register */ -} PwmCmp; -/** \brief Pwm hardware registers */ -#define PWMCMP_NUMBER 8 -#define PWMCH_NUM_NUMBER 4 -typedef struct { - __IO uint32_t PWM_CLK; /**< \brief (Pwm Offset: 0x00) PWM Clock Register */ - __O uint32_t PWM_ENA; /**< \brief (Pwm Offset: 0x04) PWM Enable Register */ - __O uint32_t PWM_DIS; /**< \brief (Pwm Offset: 0x08) PWM Disable Register */ - __I uint32_t PWM_SR; /**< \brief (Pwm Offset: 0x0C) PWM Status Register */ - __O uint32_t PWM_IER1; /**< \brief (Pwm Offset: 0x10) PWM Interrupt Enable Register 1 */ - __O uint32_t PWM_IDR1; /**< \brief (Pwm Offset: 0x14) PWM Interrupt Disable Register 1 */ - __I uint32_t PWM_IMR1; /**< \brief (Pwm Offset: 0x18) PWM Interrupt Mask Register 1 */ - __I uint32_t PWM_ISR1; /**< \brief (Pwm Offset: 0x1C) PWM Interrupt Status Register 1 */ - __IO uint32_t PWM_SCM; /**< \brief (Pwm Offset: 0x20) PWM Sync Channels Mode Register */ - __O uint32_t PWM_DMAR; /**< \brief (Pwm Offset: 0x24) PWM DMA Register */ - __IO uint32_t PWM_SCUC; /**< \brief (Pwm Offset: 0x28) PWM Sync Channels Update Control Register */ - __IO uint32_t PWM_SCUP; /**< \brief (Pwm Offset: 0x2C) PWM Sync Channels Update Period Register */ - __O uint32_t PWM_SCUPUPD; /**< \brief (Pwm Offset: 0x30) PWM Sync Channels Update Period Update Register */ - __O uint32_t PWM_IER2; /**< \brief (Pwm Offset: 0x34) PWM Interrupt Enable Register 2 */ - __O uint32_t PWM_IDR2; /**< \brief (Pwm Offset: 0x38) PWM Interrupt Disable Register 2 */ - __I uint32_t PWM_IMR2; /**< \brief (Pwm Offset: 0x3C) PWM Interrupt Mask Register 2 */ - __I uint32_t PWM_ISR2; /**< \brief (Pwm Offset: 0x40) PWM Interrupt Status Register 2 */ - __IO uint32_t PWM_OOV; /**< \brief (Pwm Offset: 0x44) PWM Output Override Value Register */ - __IO uint32_t PWM_OS; /**< \brief (Pwm Offset: 0x48) PWM Output Selection Register */ - __O uint32_t PWM_OSS; /**< \brief (Pwm Offset: 0x4C) PWM Output Selection Set Register */ - __O uint32_t PWM_OSC; /**< \brief (Pwm Offset: 0x50) PWM Output Selection Clear Register */ - __O uint32_t PWM_OSSUPD; /**< \brief (Pwm Offset: 0x54) PWM Output Selection Set Update Register */ - __O uint32_t PWM_OSCUPD; /**< \brief (Pwm Offset: 0x58) PWM Output Selection Clear Update Register */ - __IO uint32_t PWM_FMR; /**< \brief (Pwm Offset: 0x5C) PWM Fault Mode Register */ - __I uint32_t PWM_FSR; /**< \brief (Pwm Offset: 0x60) PWM Fault Status Register */ - __O uint32_t PWM_FCR; /**< \brief (Pwm Offset: 0x64) PWM Fault Clear Register */ - __IO uint32_t PWM_FPV1; /**< \brief (Pwm Offset: 0x68) PWM Fault Protection Value Register 1 */ - __IO uint32_t PWM_FPE; /**< \brief (Pwm Offset: 0x6C) PWM Fault Protection Enable Register */ - __I uint32_t Reserved1[3]; - __IO uint32_t PWM_ELMR[8]; /**< \brief (Pwm Offset: 0x7C) PWM Event Line 0 Mode Register */ - __I uint32_t Reserved2[1]; - __IO uint32_t PWM_SSPR; /**< \brief (Pwm Offset: 0xA0) PWM Spread Spectrum Register */ - __O uint32_t PWM_SSPUP; /**< \brief (Pwm Offset: 0xA4) PWM Spread Spectrum Update Register */ - __I uint32_t Reserved3[2]; - __IO uint32_t PWM_SMMR; /**< \brief (Pwm Offset: 0xB0) PWM Stepper Motor Mode Register */ - __I uint32_t Reserved4[3]; - __IO uint32_t PWM_FPV2; /**< \brief (Pwm Offset: 0xC0) PWM Fault Protection Value 2 Register */ - __I uint32_t Reserved5[8]; - __O uint32_t PWM_WPCR; /**< \brief (Pwm Offset: 0xE4) PWM Write Protection Control Register */ - __I uint32_t PWM_WPSR; /**< \brief (Pwm Offset: 0xE8) PWM Write Protection Status Register */ - __I uint32_t Reserved6[17]; - PwmCmp PWM_CMP[PWMCMP_NUMBER]; /**< \brief (Pwm Offset: 0x130) 0 .. 7 */ - __I uint32_t Reserved7[20]; - PwmCh_num PWM_CH_NUM[PWMCH_NUM_NUMBER]; /**< \brief (Pwm Offset: 0x200) ch_num = 0 .. 3 */ - __I uint32_t Reserved8[96]; - __O uint32_t PWM_CMUPD0; /**< \brief (Pwm Offset: 0x400) PWM Channel Mode Update Register (ch_num = 0) */ - __I uint32_t Reserved9[7]; - __O uint32_t PWM_CMUPD1; /**< \brief (Pwm Offset: 0x420) PWM Channel Mode Update Register (ch_num = 1) */ - __I uint32_t Reserved10[2]; - __IO uint32_t PWM_ETRG1; /**< \brief (Pwm Offset: 0x42C) PWM External Trigger Register (trg_num = 1) */ - __IO uint32_t PWM_LEBR1; /**< \brief (Pwm Offset: 0x430) PWM Leading-Edge Blanking Register (trg_num = 1) */ - __I uint32_t Reserved11[3]; - __O uint32_t PWM_CMUPD2; /**< \brief (Pwm Offset: 0x440) PWM Channel Mode Update Register (ch_num = 2) */ - __I uint32_t Reserved12[2]; - __IO uint32_t PWM_ETRG2; /**< \brief (Pwm Offset: 0x44C) PWM External Trigger Register (trg_num = 2) */ - __IO uint32_t PWM_LEBR2; /**< \brief (Pwm Offset: 0x450) PWM Leading-Edge Blanking Register (trg_num = 2) */ - __I uint32_t Reserved13[3]; - __O uint32_t PWM_CMUPD3; /**< \brief (Pwm Offset: 0x460) PWM Channel Mode Update Register (ch_num = 3) */ - __I uint32_t Reserved14[2]; - __IO uint32_t PWM_ETRG3; /**< \brief (Pwm Offset: 0x46C) PWM External Trigger Register (trg_num = 3) */ - __IO uint32_t PWM_LEBR3; /**< \brief (Pwm Offset: 0x470) PWM Leading-Edge Blanking Register (trg_num = 3) */ - __I uint32_t Reserved15[6]; - __IO uint32_t PWM_ETRG4; /**< \brief (Pwm Offset: 0x48C) PWM External Trigger Register (trg_num = 4) */ - __IO uint32_t PWM_LEBR4; /**< \brief (Pwm Offset: 0x490) PWM Leading-Edge Blanking Register (trg_num = 4) */ -} Pwm; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- PWM_CLK : (PWM Offset: 0x00) PWM Clock Register -------- */ -#define PWM_CLK_DIVA_Pos 0 -#define PWM_CLK_DIVA_Msk (0xffu << PWM_CLK_DIVA_Pos) /**< \brief (PWM_CLK) CLKA Divide Factor */ -#define PWM_CLK_DIVA(value) ((PWM_CLK_DIVA_Msk & ((value) << PWM_CLK_DIVA_Pos))) -#define PWM_CLK_DIVA_CLKA_POFF (0x0u << 0) /**< \brief (PWM_CLK) CLKA clock is turned off */ -#define PWM_CLK_DIVA_PREA (0x1u << 0) /**< \brief (PWM_CLK) CLKA clock is clock selected by PREA */ -#define PWM_CLK_PREA_Pos 8 -#define PWM_CLK_PREA_Msk (0xfu << PWM_CLK_PREA_Pos) /**< \brief (PWM_CLK) CLKA Source Clock Selection */ -#define PWM_CLK_PREA(value) ((PWM_CLK_PREA_Msk & ((value) << PWM_CLK_PREA_Pos))) -#define PWM_CLK_PREA_CLK (0x0u << 8) /**< \brief (PWM_CLK) Peripheral clock */ -#define PWM_CLK_PREA_CLK_DIV2 (0x1u << 8) /**< \brief (PWM_CLK) Peripheral clock/2 */ -#define PWM_CLK_PREA_CLK_DIV4 (0x2u << 8) /**< \brief (PWM_CLK) Peripheral clock/4 */ -#define PWM_CLK_PREA_CLK_DIV8 (0x3u << 8) /**< \brief (PWM_CLK) Peripheral clock/8 */ -#define PWM_CLK_PREA_CLK_DIV16 (0x4u << 8) /**< \brief (PWM_CLK) Peripheral clock/16 */ -#define PWM_CLK_PREA_CLK_DIV32 (0x5u << 8) /**< \brief (PWM_CLK) Peripheral clock/32 */ -#define PWM_CLK_PREA_CLK_DIV64 (0x6u << 8) /**< \brief (PWM_CLK) Peripheral clock/64 */ -#define PWM_CLK_PREA_CLK_DIV128 (0x7u << 8) /**< \brief (PWM_CLK) Peripheral clock/128 */ -#define PWM_CLK_PREA_CLK_DIV256 (0x8u << 8) /**< \brief (PWM_CLK) Peripheral clock/256 */ -#define PWM_CLK_PREA_CLK_DIV512 (0x9u << 8) /**< \brief (PWM_CLK) Peripheral clock/512 */ -#define PWM_CLK_PREA_CLK_DIV1024 (0xAu << 8) /**< \brief (PWM_CLK) Peripheral clock/1024 */ -#define PWM_CLK_DIVB_Pos 16 -#define PWM_CLK_DIVB_Msk (0xffu << PWM_CLK_DIVB_Pos) /**< \brief (PWM_CLK) CLKB Divide Factor */ -#define PWM_CLK_DIVB(value) ((PWM_CLK_DIVB_Msk & ((value) << PWM_CLK_DIVB_Pos))) -#define PWM_CLK_DIVB_CLKB_POFF (0x0u << 16) /**< \brief (PWM_CLK) CLKB clock is turned off */ -#define PWM_CLK_DIVB_PREB (0x1u << 16) /**< \brief (PWM_CLK) CLKB clock is clock selected by PREB */ -#define PWM_CLK_PREB_Pos 24 -#define PWM_CLK_PREB_Msk (0xfu << PWM_CLK_PREB_Pos) /**< \brief (PWM_CLK) CLKB Source Clock Selection */ -#define PWM_CLK_PREB(value) ((PWM_CLK_PREB_Msk & ((value) << PWM_CLK_PREB_Pos))) -#define PWM_CLK_PREB_CLK (0x0u << 24) /**< \brief (PWM_CLK) Peripheral clock */ -#define PWM_CLK_PREB_CLK_DIV2 (0x1u << 24) /**< \brief (PWM_CLK) Peripheral clock/2 */ -#define PWM_CLK_PREB_CLK_DIV4 (0x2u << 24) /**< \brief (PWM_CLK) Peripheral clock/4 */ -#define PWM_CLK_PREB_CLK_DIV8 (0x3u << 24) /**< \brief (PWM_CLK) Peripheral clock/8 */ -#define PWM_CLK_PREB_CLK_DIV16 (0x4u << 24) /**< \brief (PWM_CLK) Peripheral clock/16 */ -#define PWM_CLK_PREB_CLK_DIV32 (0x5u << 24) /**< \brief (PWM_CLK) Peripheral clock/32 */ -#define PWM_CLK_PREB_CLK_DIV64 (0x6u << 24) /**< \brief (PWM_CLK) Peripheral clock/64 */ -#define PWM_CLK_PREB_CLK_DIV128 (0x7u << 24) /**< \brief (PWM_CLK) Peripheral clock/128 */ -#define PWM_CLK_PREB_CLK_DIV256 (0x8u << 24) /**< \brief (PWM_CLK) Peripheral clock/256 */ -#define PWM_CLK_PREB_CLK_DIV512 (0x9u << 24) /**< \brief (PWM_CLK) Peripheral clock/512 */ -#define PWM_CLK_PREB_CLK_DIV1024 (0xAu << 24) /**< \brief (PWM_CLK) Peripheral clock/1024 */ -/* -------- PWM_ENA : (PWM Offset: 0x04) PWM Enable Register -------- */ -#define PWM_ENA_CHID0 (0x1u << 0) /**< \brief (PWM_ENA) Channel ID */ -#define PWM_ENA_CHID1 (0x1u << 1) /**< \brief (PWM_ENA) Channel ID */ -#define PWM_ENA_CHID2 (0x1u << 2) /**< \brief (PWM_ENA) Channel ID */ -#define PWM_ENA_CHID3 (0x1u << 3) /**< \brief (PWM_ENA) Channel ID */ -/* -------- PWM_DIS : (PWM Offset: 0x08) PWM Disable Register -------- */ -#define PWM_DIS_CHID0 (0x1u << 0) /**< \brief (PWM_DIS) Channel ID */ -#define PWM_DIS_CHID1 (0x1u << 1) /**< \brief (PWM_DIS) Channel ID */ -#define PWM_DIS_CHID2 (0x1u << 2) /**< \brief (PWM_DIS) Channel ID */ -#define PWM_DIS_CHID3 (0x1u << 3) /**< \brief (PWM_DIS) Channel ID */ -/* -------- PWM_SR : (PWM Offset: 0x0C) PWM Status Register -------- */ -#define PWM_SR_CHID0 (0x1u << 0) /**< \brief (PWM_SR) Channel ID */ -#define PWM_SR_CHID1 (0x1u << 1) /**< \brief (PWM_SR) Channel ID */ -#define PWM_SR_CHID2 (0x1u << 2) /**< \brief (PWM_SR) Channel ID */ -#define PWM_SR_CHID3 (0x1u << 3) /**< \brief (PWM_SR) Channel ID */ -/* -------- PWM_IER1 : (PWM Offset: 0x10) PWM Interrupt Enable Register 1 -------- */ -#define PWM_IER1_CHID0 (0x1u << 0) /**< \brief (PWM_IER1) Counter Event on Channel 0 Interrupt Enable */ -#define PWM_IER1_CHID1 (0x1u << 1) /**< \brief (PWM_IER1) Counter Event on Channel 1 Interrupt Enable */ -#define PWM_IER1_CHID2 (0x1u << 2) /**< \brief (PWM_IER1) Counter Event on Channel 2 Interrupt Enable */ -#define PWM_IER1_CHID3 (0x1u << 3) /**< \brief (PWM_IER1) Counter Event on Channel 3 Interrupt Enable */ -#define PWM_IER1_FCHID0 (0x1u << 16) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 0 Interrupt Enable */ -#define PWM_IER1_FCHID1 (0x1u << 17) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 1 Interrupt Enable */ -#define PWM_IER1_FCHID2 (0x1u << 18) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 2 Interrupt Enable */ -#define PWM_IER1_FCHID3 (0x1u << 19) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 3 Interrupt Enable */ -/* -------- PWM_IDR1 : (PWM Offset: 0x14) PWM Interrupt Disable Register 1 -------- */ -#define PWM_IDR1_CHID0 (0x1u << 0) /**< \brief (PWM_IDR1) Counter Event on Channel 0 Interrupt Disable */ -#define PWM_IDR1_CHID1 (0x1u << 1) /**< \brief (PWM_IDR1) Counter Event on Channel 1 Interrupt Disable */ -#define PWM_IDR1_CHID2 (0x1u << 2) /**< \brief (PWM_IDR1) Counter Event on Channel 2 Interrupt Disable */ -#define PWM_IDR1_CHID3 (0x1u << 3) /**< \brief (PWM_IDR1) Counter Event on Channel 3 Interrupt Disable */ -#define PWM_IDR1_FCHID0 (0x1u << 16) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 0 Interrupt Disable */ -#define PWM_IDR1_FCHID1 (0x1u << 17) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 1 Interrupt Disable */ -#define PWM_IDR1_FCHID2 (0x1u << 18) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 2 Interrupt Disable */ -#define PWM_IDR1_FCHID3 (0x1u << 19) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 3 Interrupt Disable */ -/* -------- PWM_IMR1 : (PWM Offset: 0x18) PWM Interrupt Mask Register 1 -------- */ -#define PWM_IMR1_CHID0 (0x1u << 0) /**< \brief (PWM_IMR1) Counter Event on Channel 0 Interrupt Mask */ -#define PWM_IMR1_CHID1 (0x1u << 1) /**< \brief (PWM_IMR1) Counter Event on Channel 1 Interrupt Mask */ -#define PWM_IMR1_CHID2 (0x1u << 2) /**< \brief (PWM_IMR1) Counter Event on Channel 2 Interrupt Mask */ -#define PWM_IMR1_CHID3 (0x1u << 3) /**< \brief (PWM_IMR1) Counter Event on Channel 3 Interrupt Mask */ -#define PWM_IMR1_FCHID0 (0x1u << 16) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 0 Interrupt Mask */ -#define PWM_IMR1_FCHID1 (0x1u << 17) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 1 Interrupt Mask */ -#define PWM_IMR1_FCHID2 (0x1u << 18) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 2 Interrupt Mask */ -#define PWM_IMR1_FCHID3 (0x1u << 19) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 3 Interrupt Mask */ -/* -------- PWM_ISR1 : (PWM Offset: 0x1C) PWM Interrupt Status Register 1 -------- */ -#define PWM_ISR1_CHID0 (0x1u << 0) /**< \brief (PWM_ISR1) Counter Event on Channel 0 */ -#define PWM_ISR1_CHID1 (0x1u << 1) /**< \brief (PWM_ISR1) Counter Event on Channel 1 */ -#define PWM_ISR1_CHID2 (0x1u << 2) /**< \brief (PWM_ISR1) Counter Event on Channel 2 */ -#define PWM_ISR1_CHID3 (0x1u << 3) /**< \brief (PWM_ISR1) Counter Event on Channel 3 */ -#define PWM_ISR1_FCHID0 (0x1u << 16) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 0 */ -#define PWM_ISR1_FCHID1 (0x1u << 17) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 1 */ -#define PWM_ISR1_FCHID2 (0x1u << 18) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 2 */ -#define PWM_ISR1_FCHID3 (0x1u << 19) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 3 */ -/* -------- PWM_SCM : (PWM Offset: 0x20) PWM Sync Channels Mode Register -------- */ -#define PWM_SCM_SYNC0 (0x1u << 0) /**< \brief (PWM_SCM) Synchronous Channel 0 */ -#define PWM_SCM_SYNC1 (0x1u << 1) /**< \brief (PWM_SCM) Synchronous Channel 1 */ -#define PWM_SCM_SYNC2 (0x1u << 2) /**< \brief (PWM_SCM) Synchronous Channel 2 */ -#define PWM_SCM_SYNC3 (0x1u << 3) /**< \brief (PWM_SCM) Synchronous Channel 3 */ -#define PWM_SCM_UPDM_Pos 16 -#define PWM_SCM_UPDM_Msk (0x3u << PWM_SCM_UPDM_Pos) /**< \brief (PWM_SCM) Synchronous Channels Update Mode */ -#define PWM_SCM_UPDM(value) ((PWM_SCM_UPDM_Msk & ((value) << PWM_SCM_UPDM_Pos))) -#define PWM_SCM_UPDM_MODE0 (0x0u << 16) /**< \brief (PWM_SCM) Manual write of double buffer registers and manual update of synchronous channels */ -#define PWM_SCM_UPDM_MODE1 (0x1u << 16) /**< \brief (PWM_SCM) Manual write of double buffer registers and automatic update of synchronous channels */ -#define PWM_SCM_UPDM_MODE2 (0x2u << 16) /**< \brief (PWM_SCM) Automatic write of duty-cycle update registers by the DMA and automatic update of synchronous channels */ -#define PWM_SCM_PTRM (0x1u << 20) /**< \brief (PWM_SCM) DMA Transfer Request Mode */ -#define PWM_SCM_PTRCS_Pos 21 -#define PWM_SCM_PTRCS_Msk (0x7u << PWM_SCM_PTRCS_Pos) /**< \brief (PWM_SCM) DMA Transfer Request Comparison Selection */ -#define PWM_SCM_PTRCS(value) ((PWM_SCM_PTRCS_Msk & ((value) << PWM_SCM_PTRCS_Pos))) -/* -------- PWM_DMAR : (PWM Offset: 0x24) PWM DMA Register -------- */ -#define PWM_DMAR_DMADUTY_Pos 0 -#define PWM_DMAR_DMADUTY_Msk (0xffffffu << PWM_DMAR_DMADUTY_Pos) /**< \brief (PWM_DMAR) Duty-Cycle Holding Register for DMA Access */ -#define PWM_DMAR_DMADUTY(value) ((PWM_DMAR_DMADUTY_Msk & ((value) << PWM_DMAR_DMADUTY_Pos))) -/* -------- PWM_SCUC : (PWM Offset: 0x28) PWM Sync Channels Update Control Register -------- */ -#define PWM_SCUC_UPDULOCK (0x1u << 0) /**< \brief (PWM_SCUC) Synchronous Channels Update Unlock */ -/* -------- PWM_SCUP : (PWM Offset: 0x2C) PWM Sync Channels Update Period Register -------- */ -#define PWM_SCUP_UPR_Pos 0 -#define PWM_SCUP_UPR_Msk (0xfu << PWM_SCUP_UPR_Pos) /**< \brief (PWM_SCUP) Update Period */ -#define PWM_SCUP_UPR(value) ((PWM_SCUP_UPR_Msk & ((value) << PWM_SCUP_UPR_Pos))) -#define PWM_SCUP_UPRCNT_Pos 4 -#define PWM_SCUP_UPRCNT_Msk (0xfu << PWM_SCUP_UPRCNT_Pos) /**< \brief (PWM_SCUP) Update Period Counter */ -#define PWM_SCUP_UPRCNT(value) ((PWM_SCUP_UPRCNT_Msk & ((value) << PWM_SCUP_UPRCNT_Pos))) -/* -------- PWM_SCUPUPD : (PWM Offset: 0x30) PWM Sync Channels Update Period Update Register -------- */ -#define PWM_SCUPUPD_UPRUPD_Pos 0 -#define PWM_SCUPUPD_UPRUPD_Msk (0xfu << PWM_SCUPUPD_UPRUPD_Pos) /**< \brief (PWM_SCUPUPD) Update Period Update */ -#define PWM_SCUPUPD_UPRUPD(value) ((PWM_SCUPUPD_UPRUPD_Msk & ((value) << PWM_SCUPUPD_UPRUPD_Pos))) -/* -------- PWM_IER2 : (PWM Offset: 0x34) PWM Interrupt Enable Register 2 -------- */ -#define PWM_IER2_WRDY (0x1u << 0) /**< \brief (PWM_IER2) Write Ready for Synchronous Channels Update Interrupt Enable */ -#define PWM_IER2_UNRE (0x1u << 3) /**< \brief (PWM_IER2) Synchronous Channels Update Underrun Error Interrupt Enable */ -#define PWM_IER2_CMPM0 (0x1u << 8) /**< \brief (PWM_IER2) Comparison 0 Match Interrupt Enable */ -#define PWM_IER2_CMPM1 (0x1u << 9) /**< \brief (PWM_IER2) Comparison 1 Match Interrupt Enable */ -#define PWM_IER2_CMPM2 (0x1u << 10) /**< \brief (PWM_IER2) Comparison 2 Match Interrupt Enable */ -#define PWM_IER2_CMPM3 (0x1u << 11) /**< \brief (PWM_IER2) Comparison 3 Match Interrupt Enable */ -#define PWM_IER2_CMPM4 (0x1u << 12) /**< \brief (PWM_IER2) Comparison 4 Match Interrupt Enable */ -#define PWM_IER2_CMPM5 (0x1u << 13) /**< \brief (PWM_IER2) Comparison 5 Match Interrupt Enable */ -#define PWM_IER2_CMPM6 (0x1u << 14) /**< \brief (PWM_IER2) Comparison 6 Match Interrupt Enable */ -#define PWM_IER2_CMPM7 (0x1u << 15) /**< \brief (PWM_IER2) Comparison 7 Match Interrupt Enable */ -#define PWM_IER2_CMPU0 (0x1u << 16) /**< \brief (PWM_IER2) Comparison 0 Update Interrupt Enable */ -#define PWM_IER2_CMPU1 (0x1u << 17) /**< \brief (PWM_IER2) Comparison 1 Update Interrupt Enable */ -#define PWM_IER2_CMPU2 (0x1u << 18) /**< \brief (PWM_IER2) Comparison 2 Update Interrupt Enable */ -#define PWM_IER2_CMPU3 (0x1u << 19) /**< \brief (PWM_IER2) Comparison 3 Update Interrupt Enable */ -#define PWM_IER2_CMPU4 (0x1u << 20) /**< \brief (PWM_IER2) Comparison 4 Update Interrupt Enable */ -#define PWM_IER2_CMPU5 (0x1u << 21) /**< \brief (PWM_IER2) Comparison 5 Update Interrupt Enable */ -#define PWM_IER2_CMPU6 (0x1u << 22) /**< \brief (PWM_IER2) Comparison 6 Update Interrupt Enable */ -#define PWM_IER2_CMPU7 (0x1u << 23) /**< \brief (PWM_IER2) Comparison 7 Update Interrupt Enable */ -/* -------- PWM_IDR2 : (PWM Offset: 0x38) PWM Interrupt Disable Register 2 -------- */ -#define PWM_IDR2_WRDY (0x1u << 0) /**< \brief (PWM_IDR2) Write Ready for Synchronous Channels Update Interrupt Disable */ -#define PWM_IDR2_UNRE (0x1u << 3) /**< \brief (PWM_IDR2) Synchronous Channels Update Underrun Error Interrupt Disable */ -#define PWM_IDR2_CMPM0 (0x1u << 8) /**< \brief (PWM_IDR2) Comparison 0 Match Interrupt Disable */ -#define PWM_IDR2_CMPM1 (0x1u << 9) /**< \brief (PWM_IDR2) Comparison 1 Match Interrupt Disable */ -#define PWM_IDR2_CMPM2 (0x1u << 10) /**< \brief (PWM_IDR2) Comparison 2 Match Interrupt Disable */ -#define PWM_IDR2_CMPM3 (0x1u << 11) /**< \brief (PWM_IDR2) Comparison 3 Match Interrupt Disable */ -#define PWM_IDR2_CMPM4 (0x1u << 12) /**< \brief (PWM_IDR2) Comparison 4 Match Interrupt Disable */ -#define PWM_IDR2_CMPM5 (0x1u << 13) /**< \brief (PWM_IDR2) Comparison 5 Match Interrupt Disable */ -#define PWM_IDR2_CMPM6 (0x1u << 14) /**< \brief (PWM_IDR2) Comparison 6 Match Interrupt Disable */ -#define PWM_IDR2_CMPM7 (0x1u << 15) /**< \brief (PWM_IDR2) Comparison 7 Match Interrupt Disable */ -#define PWM_IDR2_CMPU0 (0x1u << 16) /**< \brief (PWM_IDR2) Comparison 0 Update Interrupt Disable */ -#define PWM_IDR2_CMPU1 (0x1u << 17) /**< \brief (PWM_IDR2) Comparison 1 Update Interrupt Disable */ -#define PWM_IDR2_CMPU2 (0x1u << 18) /**< \brief (PWM_IDR2) Comparison 2 Update Interrupt Disable */ -#define PWM_IDR2_CMPU3 (0x1u << 19) /**< \brief (PWM_IDR2) Comparison 3 Update Interrupt Disable */ -#define PWM_IDR2_CMPU4 (0x1u << 20) /**< \brief (PWM_IDR2) Comparison 4 Update Interrupt Disable */ -#define PWM_IDR2_CMPU5 (0x1u << 21) /**< \brief (PWM_IDR2) Comparison 5 Update Interrupt Disable */ -#define PWM_IDR2_CMPU6 (0x1u << 22) /**< \brief (PWM_IDR2) Comparison 6 Update Interrupt Disable */ -#define PWM_IDR2_CMPU7 (0x1u << 23) /**< \brief (PWM_IDR2) Comparison 7 Update Interrupt Disable */ -/* -------- PWM_IMR2 : (PWM Offset: 0x3C) PWM Interrupt Mask Register 2 -------- */ -#define PWM_IMR2_WRDY (0x1u << 0) /**< \brief (PWM_IMR2) Write Ready for Synchronous Channels Update Interrupt Mask */ -#define PWM_IMR2_UNRE (0x1u << 3) /**< \brief (PWM_IMR2) Synchronous Channels Update Underrun Error Interrupt Mask */ -#define PWM_IMR2_CMPM0 (0x1u << 8) /**< \brief (PWM_IMR2) Comparison 0 Match Interrupt Mask */ -#define PWM_IMR2_CMPM1 (0x1u << 9) /**< \brief (PWM_IMR2) Comparison 1 Match Interrupt Mask */ -#define PWM_IMR2_CMPM2 (0x1u << 10) /**< \brief (PWM_IMR2) Comparison 2 Match Interrupt Mask */ -#define PWM_IMR2_CMPM3 (0x1u << 11) /**< \brief (PWM_IMR2) Comparison 3 Match Interrupt Mask */ -#define PWM_IMR2_CMPM4 (0x1u << 12) /**< \brief (PWM_IMR2) Comparison 4 Match Interrupt Mask */ -#define PWM_IMR2_CMPM5 (0x1u << 13) /**< \brief (PWM_IMR2) Comparison 5 Match Interrupt Mask */ -#define PWM_IMR2_CMPM6 (0x1u << 14) /**< \brief (PWM_IMR2) Comparison 6 Match Interrupt Mask */ -#define PWM_IMR2_CMPM7 (0x1u << 15) /**< \brief (PWM_IMR2) Comparison 7 Match Interrupt Mask */ -#define PWM_IMR2_CMPU0 (0x1u << 16) /**< \brief (PWM_IMR2) Comparison 0 Update Interrupt Mask */ -#define PWM_IMR2_CMPU1 (0x1u << 17) /**< \brief (PWM_IMR2) Comparison 1 Update Interrupt Mask */ -#define PWM_IMR2_CMPU2 (0x1u << 18) /**< \brief (PWM_IMR2) Comparison 2 Update Interrupt Mask */ -#define PWM_IMR2_CMPU3 (0x1u << 19) /**< \brief (PWM_IMR2) Comparison 3 Update Interrupt Mask */ -#define PWM_IMR2_CMPU4 (0x1u << 20) /**< \brief (PWM_IMR2) Comparison 4 Update Interrupt Mask */ -#define PWM_IMR2_CMPU5 (0x1u << 21) /**< \brief (PWM_IMR2) Comparison 5 Update Interrupt Mask */ -#define PWM_IMR2_CMPU6 (0x1u << 22) /**< \brief (PWM_IMR2) Comparison 6 Update Interrupt Mask */ -#define PWM_IMR2_CMPU7 (0x1u << 23) /**< \brief (PWM_IMR2) Comparison 7 Update Interrupt Mask */ -/* -------- PWM_ISR2 : (PWM Offset: 0x40) PWM Interrupt Status Register 2 -------- */ -#define PWM_ISR2_WRDY (0x1u << 0) /**< \brief (PWM_ISR2) Write Ready for Synchronous Channels Update */ -#define PWM_ISR2_UNRE (0x1u << 3) /**< \brief (PWM_ISR2) Synchronous Channels Update Underrun Error */ -#define PWM_ISR2_CMPM0 (0x1u << 8) /**< \brief (PWM_ISR2) Comparison 0 Match */ -#define PWM_ISR2_CMPM1 (0x1u << 9) /**< \brief (PWM_ISR2) Comparison 1 Match */ -#define PWM_ISR2_CMPM2 (0x1u << 10) /**< \brief (PWM_ISR2) Comparison 2 Match */ -#define PWM_ISR2_CMPM3 (0x1u << 11) /**< \brief (PWM_ISR2) Comparison 3 Match */ -#define PWM_ISR2_CMPM4 (0x1u << 12) /**< \brief (PWM_ISR2) Comparison 4 Match */ -#define PWM_ISR2_CMPM5 (0x1u << 13) /**< \brief (PWM_ISR2) Comparison 5 Match */ -#define PWM_ISR2_CMPM6 (0x1u << 14) /**< \brief (PWM_ISR2) Comparison 6 Match */ -#define PWM_ISR2_CMPM7 (0x1u << 15) /**< \brief (PWM_ISR2) Comparison 7 Match */ -#define PWM_ISR2_CMPU0 (0x1u << 16) /**< \brief (PWM_ISR2) Comparison 0 Update */ -#define PWM_ISR2_CMPU1 (0x1u << 17) /**< \brief (PWM_ISR2) Comparison 1 Update */ -#define PWM_ISR2_CMPU2 (0x1u << 18) /**< \brief (PWM_ISR2) Comparison 2 Update */ -#define PWM_ISR2_CMPU3 (0x1u << 19) /**< \brief (PWM_ISR2) Comparison 3 Update */ -#define PWM_ISR2_CMPU4 (0x1u << 20) /**< \brief (PWM_ISR2) Comparison 4 Update */ -#define PWM_ISR2_CMPU5 (0x1u << 21) /**< \brief (PWM_ISR2) Comparison 5 Update */ -#define PWM_ISR2_CMPU6 (0x1u << 22) /**< \brief (PWM_ISR2) Comparison 6 Update */ -#define PWM_ISR2_CMPU7 (0x1u << 23) /**< \brief (PWM_ISR2) Comparison 7 Update */ -/* -------- PWM_OOV : (PWM Offset: 0x44) PWM Output Override Value Register -------- */ -#define PWM_OOV_OOVH0 (0x1u << 0) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 0 */ -#define PWM_OOV_OOVH1 (0x1u << 1) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 1 */ -#define PWM_OOV_OOVH2 (0x1u << 2) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 2 */ -#define PWM_OOV_OOVH3 (0x1u << 3) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 3 */ -#define PWM_OOV_OOVL0 (0x1u << 16) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 0 */ -#define PWM_OOV_OOVL1 (0x1u << 17) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 1 */ -#define PWM_OOV_OOVL2 (0x1u << 18) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 2 */ -#define PWM_OOV_OOVL3 (0x1u << 19) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 3 */ -/* -------- PWM_OS : (PWM Offset: 0x48) PWM Output Selection Register -------- */ -#define PWM_OS_OSH0 (0x1u << 0) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 0 */ -#define PWM_OS_OSH1 (0x1u << 1) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 1 */ -#define PWM_OS_OSH2 (0x1u << 2) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 2 */ -#define PWM_OS_OSH3 (0x1u << 3) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 3 */ -#define PWM_OS_OSL0 (0x1u << 16) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 0 */ -#define PWM_OS_OSL1 (0x1u << 17) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 1 */ -#define PWM_OS_OSL2 (0x1u << 18) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 2 */ -#define PWM_OS_OSL3 (0x1u << 19) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 3 */ -/* -------- PWM_OSS : (PWM Offset: 0x4C) PWM Output Selection Set Register -------- */ -#define PWM_OSS_OSSH0 (0x1u << 0) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 0 */ -#define PWM_OSS_OSSH1 (0x1u << 1) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 1 */ -#define PWM_OSS_OSSH2 (0x1u << 2) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 2 */ -#define PWM_OSS_OSSH3 (0x1u << 3) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 3 */ -#define PWM_OSS_OSSL0 (0x1u << 16) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 0 */ -#define PWM_OSS_OSSL1 (0x1u << 17) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 1 */ -#define PWM_OSS_OSSL2 (0x1u << 18) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 2 */ -#define PWM_OSS_OSSL3 (0x1u << 19) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 3 */ -/* -------- PWM_OSC : (PWM Offset: 0x50) PWM Output Selection Clear Register -------- */ -#define PWM_OSC_OSCH0 (0x1u << 0) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 0 */ -#define PWM_OSC_OSCH1 (0x1u << 1) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 1 */ -#define PWM_OSC_OSCH2 (0x1u << 2) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 2 */ -#define PWM_OSC_OSCH3 (0x1u << 3) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 3 */ -#define PWM_OSC_OSCL0 (0x1u << 16) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 0 */ -#define PWM_OSC_OSCL1 (0x1u << 17) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 1 */ -#define PWM_OSC_OSCL2 (0x1u << 18) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 2 */ -#define PWM_OSC_OSCL3 (0x1u << 19) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 3 */ -/* -------- PWM_OSSUPD : (PWM Offset: 0x54) PWM Output Selection Set Update Register -------- */ -#define PWM_OSSUPD_OSSUPH0 (0x1u << 0) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 0 */ -#define PWM_OSSUPD_OSSUPH1 (0x1u << 1) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 1 */ -#define PWM_OSSUPD_OSSUPH2 (0x1u << 2) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 2 */ -#define PWM_OSSUPD_OSSUPH3 (0x1u << 3) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 3 */ -#define PWM_OSSUPD_OSSUPL0 (0x1u << 16) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 0 */ -#define PWM_OSSUPD_OSSUPL1 (0x1u << 17) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 1 */ -#define PWM_OSSUPD_OSSUPL2 (0x1u << 18) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 2 */ -#define PWM_OSSUPD_OSSUPL3 (0x1u << 19) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 3 */ -/* -------- PWM_OSCUPD : (PWM Offset: 0x58) PWM Output Selection Clear Update Register -------- */ -#define PWM_OSCUPD_OSCUPH0 (0x1u << 0) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 0 */ -#define PWM_OSCUPD_OSCUPH1 (0x1u << 1) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 1 */ -#define PWM_OSCUPD_OSCUPH2 (0x1u << 2) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 2 */ -#define PWM_OSCUPD_OSCUPH3 (0x1u << 3) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 3 */ -#define PWM_OSCUPD_OSCUPL0 (0x1u << 16) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 0 */ -#define PWM_OSCUPD_OSCUPL1 (0x1u << 17) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 1 */ -#define PWM_OSCUPD_OSCUPL2 (0x1u << 18) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 2 */ -#define PWM_OSCUPD_OSCUPL3 (0x1u << 19) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 3 */ -/* -------- PWM_FMR : (PWM Offset: 0x5C) PWM Fault Mode Register -------- */ -#define PWM_FMR_FPOL_Pos 0 -#define PWM_FMR_FPOL_Msk (0xffu << PWM_FMR_FPOL_Pos) /**< \brief (PWM_FMR) Fault Polarity */ -#define PWM_FMR_FPOL(value) ((PWM_FMR_FPOL_Msk & ((value) << PWM_FMR_FPOL_Pos))) -#define PWM_FMR_FMOD_Pos 8 -#define PWM_FMR_FMOD_Msk (0xffu << PWM_FMR_FMOD_Pos) /**< \brief (PWM_FMR) Fault Activation Mode */ -#define PWM_FMR_FMOD(value) ((PWM_FMR_FMOD_Msk & ((value) << PWM_FMR_FMOD_Pos))) -#define PWM_FMR_FFIL_Pos 16 -#define PWM_FMR_FFIL_Msk (0xffu << PWM_FMR_FFIL_Pos) /**< \brief (PWM_FMR) Fault Filtering */ -#define PWM_FMR_FFIL(value) ((PWM_FMR_FFIL_Msk & ((value) << PWM_FMR_FFIL_Pos))) -/* -------- PWM_FSR : (PWM Offset: 0x60) PWM Fault Status Register -------- */ -#define PWM_FSR_FIV_Pos 0 -#define PWM_FSR_FIV_Msk (0xffu << PWM_FSR_FIV_Pos) /**< \brief (PWM_FSR) Fault Input Value */ -#define PWM_FSR_FS_Pos 8 -#define PWM_FSR_FS_Msk (0xffu << PWM_FSR_FS_Pos) /**< \brief (PWM_FSR) Fault Status */ -/* -------- PWM_FCR : (PWM Offset: 0x64) PWM Fault Clear Register -------- */ -#define PWM_FCR_FCLR_Pos 0 -#define PWM_FCR_FCLR_Msk (0xffu << PWM_FCR_FCLR_Pos) /**< \brief (PWM_FCR) Fault Clear */ -#define PWM_FCR_FCLR(value) ((PWM_FCR_FCLR_Msk & ((value) << PWM_FCR_FCLR_Pos))) -/* -------- PWM_FPV1 : (PWM Offset: 0x68) PWM Fault Protection Value Register 1 -------- */ -#define PWM_FPV1_FPVH0 (0x1u << 0) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 0 */ -#define PWM_FPV1_FPVH1 (0x1u << 1) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 1 */ -#define PWM_FPV1_FPVH2 (0x1u << 2) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 2 */ -#define PWM_FPV1_FPVH3 (0x1u << 3) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 3 */ -#define PWM_FPV1_FPVL0 (0x1u << 16) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 0 */ -#define PWM_FPV1_FPVL1 (0x1u << 17) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 1 */ -#define PWM_FPV1_FPVL2 (0x1u << 18) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 2 */ -#define PWM_FPV1_FPVL3 (0x1u << 19) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 3 */ -/* -------- PWM_FPE : (PWM Offset: 0x6C) PWM Fault Protection Enable Register -------- */ -#define PWM_FPE_FPE0_Pos 0 -#define PWM_FPE_FPE0_Msk (0xffu << PWM_FPE_FPE0_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 0 */ -#define PWM_FPE_FPE0(value) ((PWM_FPE_FPE0_Msk & ((value) << PWM_FPE_FPE0_Pos))) -#define PWM_FPE_FPE1_Pos 8 -#define PWM_FPE_FPE1_Msk (0xffu << PWM_FPE_FPE1_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 1 */ -#define PWM_FPE_FPE1(value) ((PWM_FPE_FPE1_Msk & ((value) << PWM_FPE_FPE1_Pos))) -#define PWM_FPE_FPE2_Pos 16 -#define PWM_FPE_FPE2_Msk (0xffu << PWM_FPE_FPE2_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 2 */ -#define PWM_FPE_FPE2(value) ((PWM_FPE_FPE2_Msk & ((value) << PWM_FPE_FPE2_Pos))) -#define PWM_FPE_FPE3_Pos 24 -#define PWM_FPE_FPE3_Msk (0xffu << PWM_FPE_FPE3_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 3 */ -#define PWM_FPE_FPE3(value) ((PWM_FPE_FPE3_Msk & ((value) << PWM_FPE_FPE3_Pos))) -/* -------- PWM_ELMR[8] : (PWM Offset: 0x7C) PWM Event Line 0 Mode Register -------- */ -#define PWM_ELMR_CSEL0 (0x1u << 0) /**< \brief (PWM_ELMR[8]) Comparison 0 Selection */ -#define PWM_ELMR_CSEL1 (0x1u << 1) /**< \brief (PWM_ELMR[8]) Comparison 1 Selection */ -#define PWM_ELMR_CSEL2 (0x1u << 2) /**< \brief (PWM_ELMR[8]) Comparison 2 Selection */ -#define PWM_ELMR_CSEL3 (0x1u << 3) /**< \brief (PWM_ELMR[8]) Comparison 3 Selection */ -#define PWM_ELMR_CSEL4 (0x1u << 4) /**< \brief (PWM_ELMR[8]) Comparison 4 Selection */ -#define PWM_ELMR_CSEL5 (0x1u << 5) /**< \brief (PWM_ELMR[8]) Comparison 5 Selection */ -#define PWM_ELMR_CSEL6 (0x1u << 6) /**< \brief (PWM_ELMR[8]) Comparison 6 Selection */ -#define PWM_ELMR_CSEL7 (0x1u << 7) /**< \brief (PWM_ELMR[8]) Comparison 7 Selection */ -/* -------- PWM_SSPR : (PWM Offset: 0xA0) PWM Spread Spectrum Register -------- */ -#define PWM_SSPR_SPRD_Pos 0 -#define PWM_SSPR_SPRD_Msk (0xffffffu << PWM_SSPR_SPRD_Pos) /**< \brief (PWM_SSPR) Spread Spectrum Limit Value */ -#define PWM_SSPR_SPRD(value) ((PWM_SSPR_SPRD_Msk & ((value) << PWM_SSPR_SPRD_Pos))) -#define PWM_SSPR_SPRDM (0x1u << 24) /**< \brief (PWM_SSPR) Spread Spectrum Counter Mode */ -/* -------- PWM_SSPUP : (PWM Offset: 0xA4) PWM Spread Spectrum Update Register -------- */ -#define PWM_SSPUP_SPRDUP_Pos 0 -#define PWM_SSPUP_SPRDUP_Msk (0xffffffu << PWM_SSPUP_SPRDUP_Pos) /**< \brief (PWM_SSPUP) Spread Spectrum Limit Value Update */ -#define PWM_SSPUP_SPRDUP(value) ((PWM_SSPUP_SPRDUP_Msk & ((value) << PWM_SSPUP_SPRDUP_Pos))) -/* -------- PWM_SMMR : (PWM Offset: 0xB0) PWM Stepper Motor Mode Register -------- */ -#define PWM_SMMR_GCEN0 (0x1u << 0) /**< \brief (PWM_SMMR) Gray Count ENable */ -#define PWM_SMMR_GCEN1 (0x1u << 1) /**< \brief (PWM_SMMR) Gray Count ENable */ -#define PWM_SMMR_DOWN0 (0x1u << 16) /**< \brief (PWM_SMMR) DOWN Count */ -#define PWM_SMMR_DOWN1 (0x1u << 17) /**< \brief (PWM_SMMR) DOWN Count */ -/* -------- PWM_FPV2 : (PWM Offset: 0xC0) PWM Fault Protection Value 2 Register -------- */ -#define PWM_FPV2_FPZH0 (0x1u << 0) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 0 */ -#define PWM_FPV2_FPZH1 (0x1u << 1) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 1 */ -#define PWM_FPV2_FPZH2 (0x1u << 2) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 2 */ -#define PWM_FPV2_FPZH3 (0x1u << 3) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 3 */ -#define PWM_FPV2_FPZL0 (0x1u << 16) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 0 */ -#define PWM_FPV2_FPZL1 (0x1u << 17) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 1 */ -#define PWM_FPV2_FPZL2 (0x1u << 18) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 2 */ -#define PWM_FPV2_FPZL3 (0x1u << 19) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 3 */ -/* -------- PWM_WPCR : (PWM Offset: 0xE4) PWM Write Protection Control Register -------- */ -#define PWM_WPCR_WPCMD_Pos 0 -#define PWM_WPCR_WPCMD_Msk (0x3u << PWM_WPCR_WPCMD_Pos) /**< \brief (PWM_WPCR) Write Protection Command */ -#define PWM_WPCR_WPCMD(value) ((PWM_WPCR_WPCMD_Msk & ((value) << PWM_WPCR_WPCMD_Pos))) -#define PWM_WPCR_WPCMD_DISABLE_SW_PROT (0x0u << 0) /**< \brief (PWM_WPCR) Disables the software write protection of the register groups of which the bit WPRGx is at '1'. */ -#define PWM_WPCR_WPCMD_ENABLE_SW_PROT (0x1u << 0) /**< \brief (PWM_WPCR) Enables the software write protection of the register groups of which the bit WPRGx is at '1'. */ -#define PWM_WPCR_WPCMD_ENABLE_HW_PROT (0x2u << 0) /**< \brief (PWM_WPCR) Enables the hardware write protection of the register groups of which the bit WPRGx is at '1'. Only a hardware reset of the PWM controller can disable the hardware write protection. Moreover, to meet security requirements, the PIO lines associated with the PWM can not be configured through the PIO interface. */ -#define PWM_WPCR_WPRG0 (0x1u << 2) /**< \brief (PWM_WPCR) Write Protection Register Group 0 */ -#define PWM_WPCR_WPRG1 (0x1u << 3) /**< \brief (PWM_WPCR) Write Protection Register Group 1 */ -#define PWM_WPCR_WPRG2 (0x1u << 4) /**< \brief (PWM_WPCR) Write Protection Register Group 2 */ -#define PWM_WPCR_WPRG3 (0x1u << 5) /**< \brief (PWM_WPCR) Write Protection Register Group 3 */ -#define PWM_WPCR_WPRG4 (0x1u << 6) /**< \brief (PWM_WPCR) Write Protection Register Group 4 */ -#define PWM_WPCR_WPRG5 (0x1u << 7) /**< \brief (PWM_WPCR) Write Protection Register Group 5 */ -#define PWM_WPCR_WPKEY_Pos 8 -#define PWM_WPCR_WPKEY_Msk (0xffffffu << PWM_WPCR_WPKEY_Pos) /**< \brief (PWM_WPCR) Write Protection Key */ -#define PWM_WPCR_WPKEY(value) ((PWM_WPCR_WPKEY_Msk & ((value) << PWM_WPCR_WPKEY_Pos))) -#define PWM_WPCR_WPKEY_PASSWD (0x50574Du << 8) /**< \brief (PWM_WPCR) Writing any other value in this field aborts the write operation of the WPCMD field.Always reads as 0 */ -/* -------- PWM_WPSR : (PWM Offset: 0xE8) PWM Write Protection Status Register -------- */ -#define PWM_WPSR_WPSWS0 (0x1u << 0) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS1 (0x1u << 1) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS2 (0x1u << 2) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS3 (0x1u << 3) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS4 (0x1u << 4) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS5 (0x1u << 5) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPVS (0x1u << 7) /**< \brief (PWM_WPSR) Write Protect Violation Status */ -#define PWM_WPSR_WPHWS0 (0x1u << 8) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS1 (0x1u << 9) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS2 (0x1u << 10) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS3 (0x1u << 11) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS4 (0x1u << 12) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS5 (0x1u << 13) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPVSRC_Pos 16 -#define PWM_WPSR_WPVSRC_Msk (0xffffu << PWM_WPSR_WPVSRC_Pos) /**< \brief (PWM_WPSR) Write Protect Violation Source */ -/* -------- PWM_CMPV : (PWM Offset: N/A) PWM Comparison 0 Value Register -------- */ -#define PWM_CMPV_CV_Pos 0 -#define PWM_CMPV_CV_Msk (0xffffffu << PWM_CMPV_CV_Pos) /**< \brief (PWM_CMPV) Comparison x Value */ -#define PWM_CMPV_CV(value) ((PWM_CMPV_CV_Msk & ((value) << PWM_CMPV_CV_Pos))) -#define PWM_CMPV_CVM (0x1u << 24) /**< \brief (PWM_CMPV) Comparison x Value Mode */ -/* -------- PWM_CMPVUPD : (PWM Offset: N/A) PWM Comparison 0 Value Update Register -------- */ -#define PWM_CMPVUPD_CVUPD_Pos 0 -#define PWM_CMPVUPD_CVUPD_Msk (0xffffffu << PWM_CMPVUPD_CVUPD_Pos) /**< \brief (PWM_CMPVUPD) Comparison x Value Update */ -#define PWM_CMPVUPD_CVUPD(value) ((PWM_CMPVUPD_CVUPD_Msk & ((value) << PWM_CMPVUPD_CVUPD_Pos))) -#define PWM_CMPVUPD_CVMUPD (0x1u << 24) /**< \brief (PWM_CMPVUPD) Comparison x Value Mode Update */ -/* -------- PWM_CMPM : (PWM Offset: N/A) PWM Comparison 0 Mode Register -------- */ -#define PWM_CMPM_CEN (0x1u << 0) /**< \brief (PWM_CMPM) Comparison x Enable */ -#define PWM_CMPM_CTR_Pos 4 -#define PWM_CMPM_CTR_Msk (0xfu << PWM_CMPM_CTR_Pos) /**< \brief (PWM_CMPM) Comparison x Trigger */ -#define PWM_CMPM_CTR(value) ((PWM_CMPM_CTR_Msk & ((value) << PWM_CMPM_CTR_Pos))) -#define PWM_CMPM_CPR_Pos 8 -#define PWM_CMPM_CPR_Msk (0xfu << PWM_CMPM_CPR_Pos) /**< \brief (PWM_CMPM) Comparison x Period */ -#define PWM_CMPM_CPR(value) ((PWM_CMPM_CPR_Msk & ((value) << PWM_CMPM_CPR_Pos))) -#define PWM_CMPM_CPRCNT_Pos 12 -#define PWM_CMPM_CPRCNT_Msk (0xfu << PWM_CMPM_CPRCNT_Pos) /**< \brief (PWM_CMPM) Comparison x Period Counter */ -#define PWM_CMPM_CPRCNT(value) ((PWM_CMPM_CPRCNT_Msk & ((value) << PWM_CMPM_CPRCNT_Pos))) -#define PWM_CMPM_CUPR_Pos 16 -#define PWM_CMPM_CUPR_Msk (0xfu << PWM_CMPM_CUPR_Pos) /**< \brief (PWM_CMPM) Comparison x Update Period */ -#define PWM_CMPM_CUPR(value) ((PWM_CMPM_CUPR_Msk & ((value) << PWM_CMPM_CUPR_Pos))) -#define PWM_CMPM_CUPRCNT_Pos 20 -#define PWM_CMPM_CUPRCNT_Msk (0xfu << PWM_CMPM_CUPRCNT_Pos) /**< \brief (PWM_CMPM) Comparison x Update Period Counter */ -#define PWM_CMPM_CUPRCNT(value) ((PWM_CMPM_CUPRCNT_Msk & ((value) << PWM_CMPM_CUPRCNT_Pos))) -/* -------- PWM_CMPMUPD : (PWM Offset: N/A) PWM Comparison 0 Mode Update Register -------- */ -#define PWM_CMPMUPD_CENUPD (0x1u << 0) /**< \brief (PWM_CMPMUPD) Comparison x Enable Update */ -#define PWM_CMPMUPD_CTRUPD_Pos 4 -#define PWM_CMPMUPD_CTRUPD_Msk (0xfu << PWM_CMPMUPD_CTRUPD_Pos) /**< \brief (PWM_CMPMUPD) Comparison x Trigger Update */ -#define PWM_CMPMUPD_CTRUPD(value) ((PWM_CMPMUPD_CTRUPD_Msk & ((value) << PWM_CMPMUPD_CTRUPD_Pos))) -#define PWM_CMPMUPD_CPRUPD_Pos 8 -#define PWM_CMPMUPD_CPRUPD_Msk (0xfu << PWM_CMPMUPD_CPRUPD_Pos) /**< \brief (PWM_CMPMUPD) Comparison x Period Update */ -#define PWM_CMPMUPD_CPRUPD(value) ((PWM_CMPMUPD_CPRUPD_Msk & ((value) << PWM_CMPMUPD_CPRUPD_Pos))) -#define PWM_CMPMUPD_CUPRUPD_Pos 16 -#define PWM_CMPMUPD_CUPRUPD_Msk (0xfu << PWM_CMPMUPD_CUPRUPD_Pos) /**< \brief (PWM_CMPMUPD) Comparison x Update Period Update */ -#define PWM_CMPMUPD_CUPRUPD(value) ((PWM_CMPMUPD_CUPRUPD_Msk & ((value) << PWM_CMPMUPD_CUPRUPD_Pos))) -/* -------- PWM_CMR : (PWM Offset: N/A) PWM Channel Mode Register -------- */ -#define PWM_CMR_CPRE_Pos 0 -#define PWM_CMR_CPRE_Msk (0xfu << PWM_CMR_CPRE_Pos) /**< \brief (PWM_CMR) Channel Pre-scaler */ -#define PWM_CMR_CPRE(value) ((PWM_CMR_CPRE_Msk & ((value) << PWM_CMR_CPRE_Pos))) -#define PWM_CMR_CPRE_MCK (0x0u << 0) /**< \brief (PWM_CMR) Peripheral clock */ -#define PWM_CMR_CPRE_MCK_DIV_2 (0x1u << 0) /**< \brief (PWM_CMR) Peripheral clock/2 */ -#define PWM_CMR_CPRE_MCK_DIV_4 (0x2u << 0) /**< \brief (PWM_CMR) Peripheral clock/4 */ -#define PWM_CMR_CPRE_MCK_DIV_8 (0x3u << 0) /**< \brief (PWM_CMR) Peripheral clock/8 */ -#define PWM_CMR_CPRE_MCK_DIV_16 (0x4u << 0) /**< \brief (PWM_CMR) Peripheral clock/16 */ -#define PWM_CMR_CPRE_MCK_DIV_32 (0x5u << 0) /**< \brief (PWM_CMR) Peripheral clock/32 */ -#define PWM_CMR_CPRE_MCK_DIV_64 (0x6u << 0) /**< \brief (PWM_CMR) Peripheral clock/64 */ -#define PWM_CMR_CPRE_MCK_DIV_128 (0x7u << 0) /**< \brief (PWM_CMR) Peripheral clock/128 */ -#define PWM_CMR_CPRE_MCK_DIV_256 (0x8u << 0) /**< \brief (PWM_CMR) Peripheral clock/256 */ -#define PWM_CMR_CPRE_MCK_DIV_512 (0x9u << 0) /**< \brief (PWM_CMR) Peripheral clock/512 */ -#define PWM_CMR_CPRE_MCK_DIV_1024 (0xAu << 0) /**< \brief (PWM_CMR) Peripheral clock/1024 */ -#define PWM_CMR_CPRE_CLKA (0xBu << 0) /**< \brief (PWM_CMR) Clock A */ -#define PWM_CMR_CPRE_CLKB (0xCu << 0) /**< \brief (PWM_CMR) Clock B */ -#define PWM_CMR_CALG (0x1u << 8) /**< \brief (PWM_CMR) Channel Alignment */ -#define PWM_CMR_CPOL (0x1u << 9) /**< \brief (PWM_CMR) Channel Polarity */ -#define PWM_CMR_CES (0x1u << 10) /**< \brief (PWM_CMR) Counter Event Selection */ -#define PWM_CMR_UPDS (0x1u << 11) /**< \brief (PWM_CMR) Update Selection */ -#define PWM_CMR_DPOLI (0x1u << 12) /**< \brief (PWM_CMR) Disabled Polarity Inverted */ -#define PWM_CMR_TCTS (0x1u << 13) /**< \brief (PWM_CMR) Timer Counter Trigger Selection */ -#define PWM_CMR_DTE (0x1u << 16) /**< \brief (PWM_CMR) Dead-Time Generator Enable */ -#define PWM_CMR_DTHI (0x1u << 17) /**< \brief (PWM_CMR) Dead-Time PWMHx Output Inverted */ -#define PWM_CMR_DTLI (0x1u << 18) /**< \brief (PWM_CMR) Dead-Time PWMLx Output Inverted */ -#define PWM_CMR_PPM (0x1u << 19) /**< \brief (PWM_CMR) Push-Pull Mode */ -/* -------- PWM_CDTY : (PWM Offset: N/A) PWM Channel Duty Cycle Register -------- */ -#define PWM_CDTY_CDTY_Pos 0 -#define PWM_CDTY_CDTY_Msk (0xffffffu << PWM_CDTY_CDTY_Pos) /**< \brief (PWM_CDTY) Channel Duty-Cycle */ -#define PWM_CDTY_CDTY(value) ((PWM_CDTY_CDTY_Msk & ((value) << PWM_CDTY_CDTY_Pos))) -/* -------- PWM_CDTYUPD : (PWM Offset: N/A) PWM Channel Duty Cycle Update Register -------- */ -#define PWM_CDTYUPD_CDTYUPD_Pos 0 -#define PWM_CDTYUPD_CDTYUPD_Msk (0xffffffu << PWM_CDTYUPD_CDTYUPD_Pos) /**< \brief (PWM_CDTYUPD) Channel Duty-Cycle Update */ -#define PWM_CDTYUPD_CDTYUPD(value) ((PWM_CDTYUPD_CDTYUPD_Msk & ((value) << PWM_CDTYUPD_CDTYUPD_Pos))) -/* -------- PWM_CPRD : (PWM Offset: N/A) PWM Channel Period Register -------- */ -#define PWM_CPRD_CPRD_Pos 0 -#define PWM_CPRD_CPRD_Msk (0xffffffu << PWM_CPRD_CPRD_Pos) /**< \brief (PWM_CPRD) Channel Period */ -#define PWM_CPRD_CPRD(value) ((PWM_CPRD_CPRD_Msk & ((value) << PWM_CPRD_CPRD_Pos))) -/* -------- PWM_CPRDUPD : (PWM Offset: N/A) PWM Channel Period Update Register -------- */ -#define PWM_CPRDUPD_CPRDUPD_Pos 0 -#define PWM_CPRDUPD_CPRDUPD_Msk (0xffffffu << PWM_CPRDUPD_CPRDUPD_Pos) /**< \brief (PWM_CPRDUPD) Channel Period Update */ -#define PWM_CPRDUPD_CPRDUPD(value) ((PWM_CPRDUPD_CPRDUPD_Msk & ((value) << PWM_CPRDUPD_CPRDUPD_Pos))) -/* -------- PWM_CCNT : (PWM Offset: N/A) PWM Channel Counter Register -------- */ -#define PWM_CCNT_CNT_Pos 0 -#define PWM_CCNT_CNT_Msk (0xffffffu << PWM_CCNT_CNT_Pos) /**< \brief (PWM_CCNT) Channel Counter Register */ -/* -------- PWM_DT : (PWM Offset: N/A) PWM Channel Dead Time Register -------- */ -#define PWM_DT_DTH_Pos 0 -#define PWM_DT_DTH_Msk (0xffffu << PWM_DT_DTH_Pos) /**< \brief (PWM_DT) Dead-Time Value for PWMHx Output */ -#define PWM_DT_DTH(value) ((PWM_DT_DTH_Msk & ((value) << PWM_DT_DTH_Pos))) -#define PWM_DT_DTL_Pos 16 -#define PWM_DT_DTL_Msk (0xffffu << PWM_DT_DTL_Pos) /**< \brief (PWM_DT) Dead-Time Value for PWMLx Output */ -#define PWM_DT_DTL(value) ((PWM_DT_DTL_Msk & ((value) << PWM_DT_DTL_Pos))) -/* -------- PWM_DTUPD : (PWM Offset: N/A) PWM Channel Dead Time Update Register -------- */ -#define PWM_DTUPD_DTHUPD_Pos 0 -#define PWM_DTUPD_DTHUPD_Msk (0xffffu << PWM_DTUPD_DTHUPD_Pos) /**< \brief (PWM_DTUPD) Dead-Time Value Update for PWMHx Output */ -#define PWM_DTUPD_DTHUPD(value) ((PWM_DTUPD_DTHUPD_Msk & ((value) << PWM_DTUPD_DTHUPD_Pos))) -#define PWM_DTUPD_DTLUPD_Pos 16 -#define PWM_DTUPD_DTLUPD_Msk (0xffffu << PWM_DTUPD_DTLUPD_Pos) /**< \brief (PWM_DTUPD) Dead-Time Value Update for PWMLx Output */ -#define PWM_DTUPD_DTLUPD(value) ((PWM_DTUPD_DTLUPD_Msk & ((value) << PWM_DTUPD_DTLUPD_Pos))) -/* -------- PWM_CMUPD0 : (PWM Offset: 0x400) PWM Channel Mode Update Register (ch_num = 0) -------- */ -#define PWM_CMUPD0_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD0) Channel Polarity Update */ -#define PWM_CMUPD0_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD0) Channel Polarity Inversion Update */ -/* -------- PWM_CMUPD1 : (PWM Offset: 0x420) PWM Channel Mode Update Register (ch_num = 1) -------- */ -#define PWM_CMUPD1_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD1) Channel Polarity Update */ -#define PWM_CMUPD1_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD1) Channel Polarity Inversion Update */ -/* -------- PWM_ETRG1 : (PWM Offset: 0x42C) PWM External Trigger Register (trg_num = 1) -------- */ -#define PWM_ETRG1_MAXCNT_Pos 0 -#define PWM_ETRG1_MAXCNT_Msk (0xffffffu << PWM_ETRG1_MAXCNT_Pos) /**< \brief (PWM_ETRG1) Maximum Counter value */ -#define PWM_ETRG1_MAXCNT(value) ((PWM_ETRG1_MAXCNT_Msk & ((value) << PWM_ETRG1_MAXCNT_Pos))) -#define PWM_ETRG1_TRGMODE_Pos 24 -#define PWM_ETRG1_TRGMODE_Msk (0x3u << PWM_ETRG1_TRGMODE_Pos) /**< \brief (PWM_ETRG1) External Trigger Mode */ -#define PWM_ETRG1_TRGMODE(value) ((PWM_ETRG1_TRGMODE_Msk & ((value) << PWM_ETRG1_TRGMODE_Pos))) -#define PWM_ETRG1_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG1) External trigger is not enabled. */ -#define PWM_ETRG1_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG1) External PWM Reset Mode */ -#define PWM_ETRG1_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG1) External PWM Start Mode */ -#define PWM_ETRG1_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG1) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG1_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG1) Edge Selection */ -#define PWM_ETRG1_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG1) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG1_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG1) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG1_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG1) Filtered input */ -#define PWM_ETRG1_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG1) Trigger Source */ -#define PWM_ETRG1_RFEN (0x1u << 31) /**< \brief (PWM_ETRG1) Recoverable Fault Enable */ -/* -------- PWM_LEBR1 : (PWM Offset: 0x430) PWM Leading-Edge Blanking Register (trg_num = 1) -------- */ -#define PWM_LEBR1_LEBDELAY_Pos 0 -#define PWM_LEBR1_LEBDELAY_Msk (0x7fu << PWM_LEBR1_LEBDELAY_Pos) /**< \brief (PWM_LEBR1) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR1_LEBDELAY(value) ((PWM_LEBR1_LEBDELAY_Msk & ((value) << PWM_LEBR1_LEBDELAY_Pos))) -#define PWM_LEBR1_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR1) PWML Falling Edge Enable */ -#define PWM_LEBR1_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR1) PWML Rising Edge Enable */ -#define PWM_LEBR1_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR1) PWMH Falling Edge Enable */ -#define PWM_LEBR1_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR1) PWMH Rising Edge Enable */ -/* -------- PWM_CMUPD2 : (PWM Offset: 0x440) PWM Channel Mode Update Register (ch_num = 2) -------- */ -#define PWM_CMUPD2_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD2) Channel Polarity Update */ -#define PWM_CMUPD2_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD2) Channel Polarity Inversion Update */ -/* -------- PWM_ETRG2 : (PWM Offset: 0x44C) PWM External Trigger Register (trg_num = 2) -------- */ -#define PWM_ETRG2_MAXCNT_Pos 0 -#define PWM_ETRG2_MAXCNT_Msk (0xffffffu << PWM_ETRG2_MAXCNT_Pos) /**< \brief (PWM_ETRG2) Maximum Counter value */ -#define PWM_ETRG2_MAXCNT(value) ((PWM_ETRG2_MAXCNT_Msk & ((value) << PWM_ETRG2_MAXCNT_Pos))) -#define PWM_ETRG2_TRGMODE_Pos 24 -#define PWM_ETRG2_TRGMODE_Msk (0x3u << PWM_ETRG2_TRGMODE_Pos) /**< \brief (PWM_ETRG2) External Trigger Mode */ -#define PWM_ETRG2_TRGMODE(value) ((PWM_ETRG2_TRGMODE_Msk & ((value) << PWM_ETRG2_TRGMODE_Pos))) -#define PWM_ETRG2_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG2) External trigger is not enabled. */ -#define PWM_ETRG2_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG2) External PWM Reset Mode */ -#define PWM_ETRG2_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG2) External PWM Start Mode */ -#define PWM_ETRG2_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG2) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG2_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG2) Edge Selection */ -#define PWM_ETRG2_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG2) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG2_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG2) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG2_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG2) Filtered input */ -#define PWM_ETRG2_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG2) Trigger Source */ -#define PWM_ETRG2_RFEN (0x1u << 31) /**< \brief (PWM_ETRG2) Recoverable Fault Enable */ -/* -------- PWM_LEBR2 : (PWM Offset: 0x450) PWM Leading-Edge Blanking Register (trg_num = 2) -------- */ -#define PWM_LEBR2_LEBDELAY_Pos 0 -#define PWM_LEBR2_LEBDELAY_Msk (0x7fu << PWM_LEBR2_LEBDELAY_Pos) /**< \brief (PWM_LEBR2) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR2_LEBDELAY(value) ((PWM_LEBR2_LEBDELAY_Msk & ((value) << PWM_LEBR2_LEBDELAY_Pos))) -#define PWM_LEBR2_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR2) PWML Falling Edge Enable */ -#define PWM_LEBR2_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR2) PWML Rising Edge Enable */ -#define PWM_LEBR2_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR2) PWMH Falling Edge Enable */ -#define PWM_LEBR2_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR2) PWMH Rising Edge Enable */ -/* -------- PWM_CMUPD3 : (PWM Offset: 0x460) PWM Channel Mode Update Register (ch_num = 3) -------- */ -#define PWM_CMUPD3_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD3) Channel Polarity Update */ -#define PWM_CMUPD3_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD3) Channel Polarity Inversion Update */ -/* -------- PWM_ETRG3 : (PWM Offset: 0x46C) PWM External Trigger Register (trg_num = 3) -------- */ -#define PWM_ETRG3_MAXCNT_Pos 0 -#define PWM_ETRG3_MAXCNT_Msk (0xffffffu << PWM_ETRG3_MAXCNT_Pos) /**< \brief (PWM_ETRG3) Maximum Counter value */ -#define PWM_ETRG3_MAXCNT(value) ((PWM_ETRG3_MAXCNT_Msk & ((value) << PWM_ETRG3_MAXCNT_Pos))) -#define PWM_ETRG3_TRGMODE_Pos 24 -#define PWM_ETRG3_TRGMODE_Msk (0x3u << PWM_ETRG3_TRGMODE_Pos) /**< \brief (PWM_ETRG3) External Trigger Mode */ -#define PWM_ETRG3_TRGMODE(value) ((PWM_ETRG3_TRGMODE_Msk & ((value) << PWM_ETRG3_TRGMODE_Pos))) -#define PWM_ETRG3_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG3) External trigger is not enabled. */ -#define PWM_ETRG3_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG3) External PWM Reset Mode */ -#define PWM_ETRG3_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG3) External PWM Start Mode */ -#define PWM_ETRG3_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG3) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG3_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG3) Edge Selection */ -#define PWM_ETRG3_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG3) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG3_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG3) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG3_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG3) Filtered input */ -#define PWM_ETRG3_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG3) Trigger Source */ -#define PWM_ETRG3_RFEN (0x1u << 31) /**< \brief (PWM_ETRG3) Recoverable Fault Enable */ -/* -------- PWM_LEBR3 : (PWM Offset: 0x470) PWM Leading-Edge Blanking Register (trg_num = 3) -------- */ -#define PWM_LEBR3_LEBDELAY_Pos 0 -#define PWM_LEBR3_LEBDELAY_Msk (0x7fu << PWM_LEBR3_LEBDELAY_Pos) /**< \brief (PWM_LEBR3) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR3_LEBDELAY(value) ((PWM_LEBR3_LEBDELAY_Msk & ((value) << PWM_LEBR3_LEBDELAY_Pos))) -#define PWM_LEBR3_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR3) PWML Falling Edge Enable */ -#define PWM_LEBR3_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR3) PWML Rising Edge Enable */ -#define PWM_LEBR3_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR3) PWMH Falling Edge Enable */ -#define PWM_LEBR3_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR3) PWMH Rising Edge Enable */ -/* -------- PWM_ETRG4 : (PWM Offset: 0x48C) PWM External Trigger Register (trg_num = 4) -------- */ -#define PWM_ETRG4_MAXCNT_Pos 0 -#define PWM_ETRG4_MAXCNT_Msk (0xffffffu << PWM_ETRG4_MAXCNT_Pos) /**< \brief (PWM_ETRG4) Maximum Counter value */ -#define PWM_ETRG4_MAXCNT(value) ((PWM_ETRG4_MAXCNT_Msk & ((value) << PWM_ETRG4_MAXCNT_Pos))) -#define PWM_ETRG4_TRGMODE_Pos 24 -#define PWM_ETRG4_TRGMODE_Msk (0x3u << PWM_ETRG4_TRGMODE_Pos) /**< \brief (PWM_ETRG4) External Trigger Mode */ -#define PWM_ETRG4_TRGMODE(value) ((PWM_ETRG4_TRGMODE_Msk & ((value) << PWM_ETRG4_TRGMODE_Pos))) -#define PWM_ETRG4_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG4) External trigger is not enabled. */ -#define PWM_ETRG4_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG4) External PWM Reset Mode */ -#define PWM_ETRG4_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG4) External PWM Start Mode */ -#define PWM_ETRG4_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG4) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG4_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG4) Edge Selection */ -#define PWM_ETRG4_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG4) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG4_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG4) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG4_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG4) Filtered input */ -#define PWM_ETRG4_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG4) Trigger Source */ -#define PWM_ETRG4_RFEN (0x1u << 31) /**< \brief (PWM_ETRG4) Recoverable Fault Enable */ -/* -------- PWM_LEBR4 : (PWM Offset: 0x490) PWM Leading-Edge Blanking Register (trg_num = 4) -------- */ -#define PWM_LEBR4_LEBDELAY_Pos 0 -#define PWM_LEBR4_LEBDELAY_Msk (0x7fu << PWM_LEBR4_LEBDELAY_Pos) /**< \brief (PWM_LEBR4) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR4_LEBDELAY(value) ((PWM_LEBR4_LEBDELAY_Msk & ((value) << PWM_LEBR4_LEBDELAY_Pos))) -#define PWM_LEBR4_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR4) PWML Falling Edge Enable */ -#define PWM_LEBR4_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR4) PWML Rising Edge Enable */ -#define PWM_LEBR4_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR4) PWMH Falling Edge Enable */ -#define PWM_LEBR4_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR4) PWMH Rising Edge Enable */ - -/*@}*/ - - -#endif /* _SAMS70_PWM_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h deleted file mode 100644 index 6600ba3..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h +++ /dev/null @@ -1,238 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_QSPI_COMPONENT_ -#define _SAMS70_QSPI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Quad Serial Peripheral Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_QSPI Quad Serial Peripheral Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Qspi hardware registers */ -typedef struct { - __O uint32_t QSPI_CR; /**< \brief (Qspi Offset: 0x00) Control Register */ - __IO uint32_t QSPI_MR; /**< \brief (Qspi Offset: 0x04) Mode Register */ - __I uint32_t QSPI_RDR; /**< \brief (Qspi Offset: 0x08) Receive Data Register */ - __O uint32_t QSPI_TDR; /**< \brief (Qspi Offset: 0x0C) Transmit Data Register */ - __I uint32_t QSPI_SR; /**< \brief (Qspi Offset: 0x10) Status Register */ - __O uint32_t QSPI_IER; /**< \brief (Qspi Offset: 0x14) Interrupt Enable Register */ - __O uint32_t QSPI_IDR; /**< \brief (Qspi Offset: 0x18) Interrupt Disable Register */ - __I uint32_t QSPI_IMR; /**< \brief (Qspi Offset: 0x1C) Interrupt Mask Register */ - __IO uint32_t QSPI_SCR; /**< \brief (Qspi Offset: 0x20) Serial Clock Register */ - __I uint32_t Reserved1[3]; - __IO uint32_t QSPI_IAR; /**< \brief (Qspi Offset: 0x30) Instruction Address Register */ - __IO uint32_t QSPI_ICR; /**< \brief (Qspi Offset: 0x34) Instruction Code Register */ - __IO uint32_t QSPI_IFR; /**< \brief (Qspi Offset: 0x38) Instruction Frame Register */ - __I uint32_t Reserved2[1]; - __IO uint32_t QSPI_SMR; /**< \brief (Qspi Offset: 0x40) Scrambling Mode Register */ - __O uint32_t QSPI_SKR; /**< \brief (Qspi Offset: 0x44) Scrambling Key Register */ - __I uint32_t Reserved3[39]; - __IO uint32_t QSPI_WPMR; /**< \brief (Qspi Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t QSPI_WPSR; /**< \brief (Qspi Offset: 0xE8) Write Protection Status Register */ -} Qspi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- QSPI_CR : (QSPI Offset: 0x00) Control Register -------- */ -#define QSPI_CR_QSPIEN (0x1u << 0) /**< \brief (QSPI_CR) QSPI Enable */ -#define QSPI_CR_QSPIDIS (0x1u << 1) /**< \brief (QSPI_CR) QSPI Disable */ -#define QSPI_CR_SWRST (0x1u << 7) /**< \brief (QSPI_CR) QSPI Software Reset */ -#define QSPI_CR_LASTXFER (0x1u << 24) /**< \brief (QSPI_CR) Last Transfer */ -/* -------- QSPI_MR : (QSPI Offset: 0x04) Mode Register -------- */ -#define QSPI_MR_SMM (0x1u << 0) /**< \brief (QSPI_MR) Serial Memory Mode */ -#define QSPI_MR_SMM_SPI (0x0u << 0) /**< \brief (QSPI_MR) The QSPI is in SPI mode. */ -#define QSPI_MR_SMM_MEMORY (0x1u << 0) /**< \brief (QSPI_MR) The QSPI is in Serial Memory mode. */ -#define QSPI_MR_LLB (0x1u << 1) /**< \brief (QSPI_MR) Local Loopback Enable */ -#define QSPI_MR_LLB_DISABLED (0x0u << 1) /**< \brief (QSPI_MR) Local loopback path disabled. */ -#define QSPI_MR_LLB_ENABLED (0x1u << 1) /**< \brief (QSPI_MR) Local loopback path enabled. */ -#define QSPI_MR_WDRBT (0x1u << 2) /**< \brief (QSPI_MR) Wait Data Read Before Transfer */ -#define QSPI_MR_WDRBT_DISABLED (0x0u << 2) /**< \brief (QSPI_MR) No effect. In SPI mode, a transfer can be initiated whatever the state of the QSPI_RDR is. */ -#define QSPI_MR_WDRBT_ENABLED (0x1u << 2) /**< \brief (QSPI_MR) In SPI mode, a transfer can start only if the QSPI_RDR is empty, i.e., does not contain any unread data. This mode prevents overrun error in reception. */ -#define QSPI_MR_CSMODE_Pos 4 -#define QSPI_MR_CSMODE_Msk (0x3u << QSPI_MR_CSMODE_Pos) /**< \brief (QSPI_MR) Chip Select Mode */ -#define QSPI_MR_CSMODE(value) ((QSPI_MR_CSMODE_Msk & ((value) << QSPI_MR_CSMODE_Pos))) -#define QSPI_MR_CSMODE_NOT_RELOADED (0x0u << 4) /**< \brief (QSPI_MR) The chip select is deasserted if TD has not been reloaded before the end of the current transfer. */ -#define QSPI_MR_CSMODE_LASTXFER (0x1u << 4) /**< \brief (QSPI_MR) The chip select is deasserted when the bit LASTXFER is written at 1 and the character written in TD has been transferred. */ -#define QSPI_MR_CSMODE_SYSTEMATICALLY (0x2u << 4) /**< \brief (QSPI_MR) The chip select is deasserted systematically after each transfer. */ -#define QSPI_MR_NBBITS_Pos 8 -#define QSPI_MR_NBBITS_Msk (0xfu << QSPI_MR_NBBITS_Pos) /**< \brief (QSPI_MR) Number Of Bits Per Transfer */ -#define QSPI_MR_NBBITS(value) ((QSPI_MR_NBBITS_Msk & ((value) << QSPI_MR_NBBITS_Pos))) -#define QSPI_MR_NBBITS_8_BIT (0x0u << 8) /**< \brief (QSPI_MR) 8 bits for transfer */ -#define QSPI_MR_NBBITS_9_BIT (0x1u << 8) /**< \brief (QSPI_MR) 9 bits for transfer */ -#define QSPI_MR_NBBITS_10_BIT (0x2u << 8) /**< \brief (QSPI_MR) 10 bits for transfer */ -#define QSPI_MR_NBBITS_11_BIT (0x3u << 8) /**< \brief (QSPI_MR) 11 bits for transfer */ -#define QSPI_MR_NBBITS_12_BIT (0x4u << 8) /**< \brief (QSPI_MR) 12 bits for transfer */ -#define QSPI_MR_NBBITS_13_BIT (0x5u << 8) /**< \brief (QSPI_MR) 13 bits for transfer */ -#define QSPI_MR_NBBITS_14_BIT (0x6u << 8) /**< \brief (QSPI_MR) 14 bits for transfer */ -#define QSPI_MR_NBBITS_15_BIT (0x7u << 8) /**< \brief (QSPI_MR) 15 bits for transfer */ -#define QSPI_MR_NBBITS_16_BIT (0x8u << 8) /**< \brief (QSPI_MR) 16 bits for transfer */ -#define QSPI_MR_DLYBCT_Pos 16 -#define QSPI_MR_DLYBCT_Msk (0xffu << QSPI_MR_DLYBCT_Pos) /**< \brief (QSPI_MR) Delay Between Consecutive Transfers */ -#define QSPI_MR_DLYBCT(value) ((QSPI_MR_DLYBCT_Msk & ((value) << QSPI_MR_DLYBCT_Pos))) -#define QSPI_MR_DLYCS_Pos 24 -#define QSPI_MR_DLYCS_Msk (0xffu << QSPI_MR_DLYCS_Pos) /**< \brief (QSPI_MR) Minimum Inactive QCS Delay */ -#define QSPI_MR_DLYCS(value) ((QSPI_MR_DLYCS_Msk & ((value) << QSPI_MR_DLYCS_Pos))) -/* -------- QSPI_RDR : (QSPI Offset: 0x08) Receive Data Register -------- */ -#define QSPI_RDR_RD_Pos 0 -#define QSPI_RDR_RD_Msk (0xffffu << QSPI_RDR_RD_Pos) /**< \brief (QSPI_RDR) Receive Data */ -/* -------- QSPI_TDR : (QSPI Offset: 0x0C) Transmit Data Register -------- */ -#define QSPI_TDR_TD_Pos 0 -#define QSPI_TDR_TD_Msk (0xffffu << QSPI_TDR_TD_Pos) /**< \brief (QSPI_TDR) Transmit Data */ -#define QSPI_TDR_TD(value) ((QSPI_TDR_TD_Msk & ((value) << QSPI_TDR_TD_Pos))) -/* -------- QSPI_SR : (QSPI Offset: 0x10) Status Register -------- */ -#define QSPI_SR_RDRF (0x1u << 0) /**< \brief (QSPI_SR) Receive Data Register Full */ -#define QSPI_SR_TDRE (0x1u << 1) /**< \brief (QSPI_SR) Transmit Data Register Empty */ -#define QSPI_SR_TXEMPTY (0x1u << 2) /**< \brief (QSPI_SR) Transmission Registers Empty */ -#define QSPI_SR_OVRES (0x1u << 3) /**< \brief (QSPI_SR) Overrun Error Status */ -#define QSPI_SR_CSR (0x1u << 8) /**< \brief (QSPI_SR) Chip Select Rise */ -#define QSPI_SR_CSS (0x1u << 9) /**< \brief (QSPI_SR) Chip Select Status */ -#define QSPI_SR_INSTRE (0x1u << 10) /**< \brief (QSPI_SR) Instruction End Status */ -#define QSPI_SR_QSPIENS (0x1u << 24) /**< \brief (QSPI_SR) QSPI Enable Status */ -/* -------- QSPI_IER : (QSPI Offset: 0x14) Interrupt Enable Register -------- */ -#define QSPI_IER_RDRF (0x1u << 0) /**< \brief (QSPI_IER) Receive Data Register Full Interrupt Enable */ -#define QSPI_IER_TDRE (0x1u << 1) /**< \brief (QSPI_IER) Transmit Data Register Empty Interrupt Enable */ -#define QSPI_IER_TXEMPTY (0x1u << 2) /**< \brief (QSPI_IER) Transmission Registers Empty Enable */ -#define QSPI_IER_OVRES (0x1u << 3) /**< \brief (QSPI_IER) Overrun Error Interrupt Enable */ -#define QSPI_IER_CSR (0x1u << 8) /**< \brief (QSPI_IER) Chip Select Rise Interrupt Enable */ -#define QSPI_IER_CSS (0x1u << 9) /**< \brief (QSPI_IER) Chip Select Status Interrupt Enable */ -#define QSPI_IER_INSTRE (0x1u << 10) /**< \brief (QSPI_IER) Instruction End Interrupt Enable */ -/* -------- QSPI_IDR : (QSPI Offset: 0x18) Interrupt Disable Register -------- */ -#define QSPI_IDR_RDRF (0x1u << 0) /**< \brief (QSPI_IDR) Receive Data Register Full Interrupt Disable */ -#define QSPI_IDR_TDRE (0x1u << 1) /**< \brief (QSPI_IDR) Transmit Data Register Empty Interrupt Disable */ -#define QSPI_IDR_TXEMPTY (0x1u << 2) /**< \brief (QSPI_IDR) Transmission Registers Empty Disable */ -#define QSPI_IDR_OVRES (0x1u << 3) /**< \brief (QSPI_IDR) Overrun Error Interrupt Disable */ -#define QSPI_IDR_CSR (0x1u << 8) /**< \brief (QSPI_IDR) Chip Select Rise Interrupt Disable */ -#define QSPI_IDR_CSS (0x1u << 9) /**< \brief (QSPI_IDR) Chip Select Status Interrupt Disable */ -#define QSPI_IDR_INSTRE (0x1u << 10) /**< \brief (QSPI_IDR) Instruction End Interrupt Disable */ -/* -------- QSPI_IMR : (QSPI Offset: 0x1C) Interrupt Mask Register -------- */ -#define QSPI_IMR_RDRF (0x1u << 0) /**< \brief (QSPI_IMR) Receive Data Register Full Interrupt Mask */ -#define QSPI_IMR_TDRE (0x1u << 1) /**< \brief (QSPI_IMR) Transmit Data Register Empty Interrupt Mask */ -#define QSPI_IMR_TXEMPTY (0x1u << 2) /**< \brief (QSPI_IMR) Transmission Registers Empty Mask */ -#define QSPI_IMR_OVRES (0x1u << 3) /**< \brief (QSPI_IMR) Overrun Error Interrupt Mask */ -#define QSPI_IMR_CSR (0x1u << 8) /**< \brief (QSPI_IMR) Chip Select Rise Interrupt Mask */ -#define QSPI_IMR_CSS (0x1u << 9) /**< \brief (QSPI_IMR) Chip Select Status Interrupt Mask */ -#define QSPI_IMR_INSTRE (0x1u << 10) /**< \brief (QSPI_IMR) Instruction End Interrupt Mask */ -/* -------- QSPI_SCR : (QSPI Offset: 0x20) Serial Clock Register -------- */ -#define QSPI_SCR_CPOL (0x1u << 0) /**< \brief (QSPI_SCR) Clock Polarity */ -#define QSPI_SCR_CPHA (0x1u << 1) /**< \brief (QSPI_SCR) Clock Phase */ -#define QSPI_SCR_SCBR_Pos 8 -#define QSPI_SCR_SCBR_Msk (0xffu << QSPI_SCR_SCBR_Pos) /**< \brief (QSPI_SCR) Serial Clock Baud Rate */ -#define QSPI_SCR_SCBR(value) ((QSPI_SCR_SCBR_Msk & ((value) << QSPI_SCR_SCBR_Pos))) -#define QSPI_SCR_DLYBS_Pos 16 -#define QSPI_SCR_DLYBS_Msk (0xffu << QSPI_SCR_DLYBS_Pos) /**< \brief (QSPI_SCR) Delay Before QSCK */ -#define QSPI_SCR_DLYBS(value) ((QSPI_SCR_DLYBS_Msk & ((value) << QSPI_SCR_DLYBS_Pos))) -/* -------- QSPI_IAR : (QSPI Offset: 0x30) Instruction Address Register -------- */ -#define QSPI_IAR_ADDR_Pos 0 -#define QSPI_IAR_ADDR_Msk (0xffffffffu << QSPI_IAR_ADDR_Pos) /**< \brief (QSPI_IAR) Address */ -#define QSPI_IAR_ADDR(value) ((QSPI_IAR_ADDR_Msk & ((value) << QSPI_IAR_ADDR_Pos))) -/* -------- QSPI_ICR : (QSPI Offset: 0x34) Instruction Code Register -------- */ -#define QSPI_ICR_INST_Pos 0 -#define QSPI_ICR_INST_Msk (0xffu << QSPI_ICR_INST_Pos) /**< \brief (QSPI_ICR) Instruction Code */ -#define QSPI_ICR_INST(value) ((QSPI_ICR_INST_Msk & ((value) << QSPI_ICR_INST_Pos))) -#define QSPI_ICR_OPT_Pos 16 -#define QSPI_ICR_OPT_Msk (0xffu << QSPI_ICR_OPT_Pos) /**< \brief (QSPI_ICR) Option Code */ -#define QSPI_ICR_OPT(value) ((QSPI_ICR_OPT_Msk & ((value) << QSPI_ICR_OPT_Pos))) -/* -------- QSPI_IFR : (QSPI Offset: 0x38) Instruction Frame Register -------- */ -#define QSPI_IFR_WIDTH_Pos 0 -#define QSPI_IFR_WIDTH_Msk (0x7u << QSPI_IFR_WIDTH_Pos) /**< \brief (QSPI_IFR) Width of Instruction Code, Address, Option Code and Data */ -#define QSPI_IFR_WIDTH(value) ((QSPI_IFR_WIDTH_Msk & ((value) << QSPI_IFR_WIDTH_Pos))) -#define QSPI_IFR_WIDTH_SINGLE_BIT_SPI (0x0u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Single-bit SPI */ -#define QSPI_IFR_WIDTH_DUAL_OUTPUT (0x1u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Dual SPI */ -#define QSPI_IFR_WIDTH_QUAD_OUTPUT (0x2u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Quad SPI */ -#define QSPI_IFR_WIDTH_DUAL_IO (0x3u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Dual SPI / Data: Dual SPI */ -#define QSPI_IFR_WIDTH_QUAD_IO (0x4u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Quad SPI / Data: Quad SPI */ -#define QSPI_IFR_WIDTH_DUAL_CMD (0x5u << 0) /**< \brief (QSPI_IFR) Instruction: Dual SPI / Address-Option: Dual SPI / Data: Dual SPI */ -#define QSPI_IFR_WIDTH_QUAD_CMD (0x6u << 0) /**< \brief (QSPI_IFR) Instruction: Quad SPI / Address-Option: Quad SPI / Data: Quad SPI */ -#define QSPI_IFR_INSTEN (0x1u << 4) /**< \brief (QSPI_IFR) Instruction Enable */ -#define QSPI_IFR_ADDREN (0x1u << 5) /**< \brief (QSPI_IFR) Address Enable */ -#define QSPI_IFR_OPTEN (0x1u << 6) /**< \brief (QSPI_IFR) Option Enable */ -#define QSPI_IFR_DATAEN (0x1u << 7) /**< \brief (QSPI_IFR) Data Enable */ -#define QSPI_IFR_OPTL_Pos 8 -#define QSPI_IFR_OPTL_Msk (0x3u << QSPI_IFR_OPTL_Pos) /**< \brief (QSPI_IFR) Option Code Length */ -#define QSPI_IFR_OPTL(value) ((QSPI_IFR_OPTL_Msk & ((value) << QSPI_IFR_OPTL_Pos))) -#define QSPI_IFR_OPTL_OPTION_1BIT (0x0u << 8) /**< \brief (QSPI_IFR) The option code is 1 bit long. */ -#define QSPI_IFR_OPTL_OPTION_2BIT (0x1u << 8) /**< \brief (QSPI_IFR) The option code is 2 bits long. */ -#define QSPI_IFR_OPTL_OPTION_4BIT (0x2u << 8) /**< \brief (QSPI_IFR) The option code is 4 bits long. */ -#define QSPI_IFR_OPTL_OPTION_8BIT (0x3u << 8) /**< \brief (QSPI_IFR) The option code is 8 bits long. */ -#define QSPI_IFR_ADDRL (0x1u << 10) /**< \brief (QSPI_IFR) Address Length */ -#define QSPI_IFR_ADDRL_24_BIT (0x0u << 10) /**< \brief (QSPI_IFR) The address is 24 bits long. */ -#define QSPI_IFR_ADDRL_32_BIT (0x1u << 10) /**< \brief (QSPI_IFR) The address is 32 bits long. */ -#define QSPI_IFR_TFRTYP_Pos 12 -#define QSPI_IFR_TFRTYP_Msk (0x3u << QSPI_IFR_TFRTYP_Pos) /**< \brief (QSPI_IFR) Data Transfer Type */ -#define QSPI_IFR_TFRTYP(value) ((QSPI_IFR_TFRTYP_Msk & ((value) << QSPI_IFR_TFRTYP_Pos))) -#define QSPI_IFR_TFRTYP_TRSFR_READ (0x0u << 12) /**< \brief (QSPI_IFR) Read transfer from the serial memory.Scrambling is not performed.Read at random location (fetch) in the serial Flash memory is not possible. */ -#define QSPI_IFR_TFRTYP_TRSFR_READ_MEMORY (0x1u << 12) /**< \brief (QSPI_IFR) Read data transfer from the serial memory.If enabled, scrambling is performed.Read at random location (fetch) in the serial Flash memory is possible. */ -#define QSPI_IFR_TFRTYP_TRSFR_WRITE (0x2u << 12) /**< \brief (QSPI_IFR) Write transfer into the serial memory.Scrambling is not performed. */ -#define QSPI_IFR_TFRTYP_TRSFR_WRITE_MEMORY (0x3u << 12) /**< \brief (QSPI_IFR) Write data transfer into the serial memory.If enabled, scrambling is performed. */ -#define QSPI_IFR_CRM (0x1u << 14) /**< \brief (QSPI_IFR) Continuous Read Mode */ -#define QSPI_IFR_CRM_DISABLED (0x0u << 14) /**< \brief (QSPI_IFR) The Continuous Read mode is disabled. */ -#define QSPI_IFR_CRM_ENABLED (0x1u << 14) /**< \brief (QSPI_IFR) The Continuous Read mode is enabled. */ -#define QSPI_IFR_NBDUM_Pos 16 -#define QSPI_IFR_NBDUM_Msk (0x1fu << QSPI_IFR_NBDUM_Pos) /**< \brief (QSPI_IFR) Number Of Dummy Cycles */ -#define QSPI_IFR_NBDUM(value) ((QSPI_IFR_NBDUM_Msk & ((value) << QSPI_IFR_NBDUM_Pos))) -/* -------- QSPI_SMR : (QSPI Offset: 0x40) Scrambling Mode Register -------- */ -#define QSPI_SMR_SCREN (0x1u << 0) /**< \brief (QSPI_SMR) Scrambling/Unscrambling Enable */ -#define QSPI_SMR_SCREN_DISABLED (0x0u << 0) /**< \brief (QSPI_SMR) The scrambling/unscrambling is disabled. */ -#define QSPI_SMR_SCREN_ENABLED (0x1u << 0) /**< \brief (QSPI_SMR) The scrambling/unscrambling is enabled. */ -#define QSPI_SMR_RVDIS (0x1u << 1) /**< \brief (QSPI_SMR) Scrambling/Unscrambling Random Value Disable */ -/* -------- QSPI_SKR : (QSPI Offset: 0x44) Scrambling Key Register -------- */ -#define QSPI_SKR_USRK_Pos 0 -#define QSPI_SKR_USRK_Msk (0xffffffffu << QSPI_SKR_USRK_Pos) /**< \brief (QSPI_SKR) Scrambling User Key */ -#define QSPI_SKR_USRK(value) ((QSPI_SKR_USRK_Msk & ((value) << QSPI_SKR_USRK_Pos))) -/* -------- QSPI_WPMR : (QSPI Offset: 0xE4) Write Protection Mode Register -------- */ -#define QSPI_WPMR_WPEN (0x1u << 0) /**< \brief (QSPI_WPMR) Write Protection Enable */ -#define QSPI_WPMR_WPKEY_Pos 8 -#define QSPI_WPMR_WPKEY_Msk (0xffffffu << QSPI_WPMR_WPKEY_Pos) /**< \brief (QSPI_WPMR) Write Protection Key */ -#define QSPI_WPMR_WPKEY(value) ((QSPI_WPMR_WPKEY_Msk & ((value) << QSPI_WPMR_WPKEY_Pos))) -#define QSPI_WPMR_WPKEY_PASSWD (0x515350u << 8) /**< \brief (QSPI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- QSPI_WPSR : (QSPI Offset: 0xE8) Write Protection Status Register -------- */ -#define QSPI_WPSR_WPVS (0x1u << 0) /**< \brief (QSPI_WPSR) Write Protection Violation Status */ -#define QSPI_WPSR_WPVSRC_Pos 8 -#define QSPI_WPSR_WPVSRC_Msk (0xffu << QSPI_WPSR_WPVSRC_Pos) /**< \brief (QSPI_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_QSPI_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h deleted file mode 100644 index 592f50d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSTC_COMPONENT_ -#define _SAMS70_RSTC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Reset Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RSTC Reset Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rstc hardware registers */ -typedef struct { - __O uint32_t RSTC_CR; /**< \brief (Rstc Offset: 0x00) Control Register */ - __I uint32_t RSTC_SR; /**< \brief (Rstc Offset: 0x04) Status Register */ - __IO uint32_t RSTC_MR; /**< \brief (Rstc Offset: 0x08) Mode Register */ -} Rstc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RSTC_CR : (RSTC Offset: 0x00) Control Register -------- */ -#define RSTC_CR_PROCRST (0x1u << 0) /**< \brief (RSTC_CR) Processor Reset */ -#define RSTC_CR_EXTRST (0x1u << 3) /**< \brief (RSTC_CR) External Reset */ -#define RSTC_CR_KEY_Pos 24 -#define RSTC_CR_KEY_Msk (0xffu << RSTC_CR_KEY_Pos) /**< \brief (RSTC_CR) System Reset Key */ -#define RSTC_CR_KEY(value) ((RSTC_CR_KEY_Msk & ((value) << RSTC_CR_KEY_Pos))) -#define RSTC_CR_KEY_PASSWD (0xA5u << 24) /**< \brief (RSTC_CR) Writing any other value in this field aborts the write operation. */ -/* -------- RSTC_SR : (RSTC Offset: 0x04) Status Register -------- */ -#define RSTC_SR_URSTS (0x1u << 0) /**< \brief (RSTC_SR) User Reset Status */ -#define RSTC_SR_RSTTYP_Pos 8 -#define RSTC_SR_RSTTYP_Msk (0x7u << RSTC_SR_RSTTYP_Pos) /**< \brief (RSTC_SR) Reset Type */ -#define RSTC_SR_RSTTYP_GENERAL_RST (0x0u << 8) /**< \brief (RSTC_SR) First power-up reset */ -#define RSTC_SR_RSTTYP_BACKUP_RST (0x1u << 8) /**< \brief (RSTC_SR) Return from Backup Mode */ -#define RSTC_SR_RSTTYP_WDT_RST (0x2u << 8) /**< \brief (RSTC_SR) Watchdog fault occurred */ -#define RSTC_SR_RSTTYP_SOFT_RST (0x3u << 8) /**< \brief (RSTC_SR) Processor reset required by the software */ -#define RSTC_SR_RSTTYP_USER_RST (0x4u << 8) /**< \brief (RSTC_SR) NRST pin detected low */ -#define RSTC_SR_NRSTL (0x1u << 16) /**< \brief (RSTC_SR) NRST Pin Level */ -#define RSTC_SR_SRCMP (0x1u << 17) /**< \brief (RSTC_SR) Software Reset Command in Progress */ -/* -------- RSTC_MR : (RSTC Offset: 0x08) Mode Register -------- */ -#define RSTC_MR_URSTEN (0x1u << 0) /**< \brief (RSTC_MR) User Reset Enable */ -#define RSTC_MR_URSTIEN (0x1u << 4) /**< \brief (RSTC_MR) User Reset Interrupt Enable */ -#define RSTC_MR_ERSTL_Pos 8 -#define RSTC_MR_ERSTL_Msk (0xfu << RSTC_MR_ERSTL_Pos) /**< \brief (RSTC_MR) External Reset Length */ -#define RSTC_MR_ERSTL(value) ((RSTC_MR_ERSTL_Msk & ((value) << RSTC_MR_ERSTL_Pos))) -#define RSTC_MR_KEY_Pos 24 -#define RSTC_MR_KEY_Msk (0xffu << RSTC_MR_KEY_Pos) /**< \brief (RSTC_MR) Write Access Password */ -#define RSTC_MR_KEY(value) ((RSTC_MR_KEY_Msk & ((value) << RSTC_MR_KEY_Pos))) -#define RSTC_MR_KEY_PASSWD (0xA5u << 24) /**< \brief (RSTC_MR) Writing any other value in this field aborts the write operation.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_RSTC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h deleted file mode 100644 index 09694f4..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSWDT_COMPONENT_ -#define _SAMS70_RSWDT_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Reinforced Safety Watchdog Timer */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RSWDT Reinforced Safety Watchdog Timer */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rswdt hardware registers */ -typedef struct { - __O uint32_t RSWDT_CR; /**< \brief (Rswdt Offset: 0x00) Control Register */ - __IO uint32_t RSWDT_MR; /**< \brief (Rswdt Offset: 0x04) Mode Register */ - __I uint32_t RSWDT_SR; /**< \brief (Rswdt Offset: 0x08) Status Register */ -} Rswdt; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RSWDT_CR : (RSWDT Offset: 0x00) Control Register -------- */ -#define RSWDT_CR_WDRSTT (0x1u << 0) /**< \brief (RSWDT_CR) Watchdog Restart */ -#define RSWDT_CR_KEY_Pos 24 -#define RSWDT_CR_KEY_Msk (0xffu << RSWDT_CR_KEY_Pos) /**< \brief (RSWDT_CR) Password */ -#define RSWDT_CR_KEY(value) ((RSWDT_CR_KEY_Msk & ((value) << RSWDT_CR_KEY_Pos))) -#define RSWDT_CR_KEY_PASSWD (0xC4u << 24) /**< \brief (RSWDT_CR) Writing any other value in this field aborts the write operation. */ -/* -------- RSWDT_MR : (RSWDT Offset: 0x04) Mode Register -------- */ -#define RSWDT_MR_WDV_Pos 0 -#define RSWDT_MR_WDV_Msk (0xfffu << RSWDT_MR_WDV_Pos) /**< \brief (RSWDT_MR) Watchdog Counter Value */ -#define RSWDT_MR_WDV(value) ((RSWDT_MR_WDV_Msk & ((value) << RSWDT_MR_WDV_Pos))) -#define RSWDT_MR_WDFIEN (0x1u << 12) /**< \brief (RSWDT_MR) Watchdog Fault Interrupt Enable */ -#define RSWDT_MR_WDRSTEN (0x1u << 13) /**< \brief (RSWDT_MR) Watchdog Reset Enable */ -#define RSWDT_MR_WDRPROC (0x1u << 14) /**< \brief (RSWDT_MR) Watchdog Reset Processor */ -#define RSWDT_MR_WDDIS (0x1u << 15) /**< \brief (RSWDT_MR) Watchdog Disable */ -#define RSWDT_MR_ALLONES_Pos 16 -#define RSWDT_MR_ALLONES_Msk (0xfffu << RSWDT_MR_ALLONES_Pos) /**< \brief (RSWDT_MR) Must Always Be Written with 0xFFF */ -#define RSWDT_MR_ALLONES(value) ((RSWDT_MR_ALLONES_Msk & ((value) << RSWDT_MR_ALLONES_Pos))) -#define RSWDT_MR_WDDBGHLT (0x1u << 28) /**< \brief (RSWDT_MR) Watchdog Debug Halt */ -#define RSWDT_MR_WDIDLEHLT (0x1u << 29) /**< \brief (RSWDT_MR) Watchdog Idle Halt */ -/* -------- RSWDT_SR : (RSWDT Offset: 0x08) Status Register -------- */ -#define RSWDT_SR_WDUNF (0x1u << 0) /**< \brief (RSWDT_SR) Watchdog Underflow */ - -/*@}*/ - - -#endif /* _SAMS70_RSWDT_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h deleted file mode 100644 index 2456bde..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h +++ /dev/null @@ -1,241 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTC_COMPONENT_ -#define _SAMS70_RTC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Real-time Clock */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RTC Real-time Clock */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rtc hardware registers */ -typedef struct { - __IO uint32_t RTC_CR; /**< \brief (Rtc Offset: 0x00) Control Register */ - __IO uint32_t RTC_MR; /**< \brief (Rtc Offset: 0x04) Mode Register */ - __IO uint32_t RTC_TIMR; /**< \brief (Rtc Offset: 0x08) Time Register */ - __IO uint32_t RTC_CALR; /**< \brief (Rtc Offset: 0x0C) Calendar Register */ - __IO uint32_t RTC_TIMALR; /**< \brief (Rtc Offset: 0x10) Time Alarm Register */ - __IO uint32_t RTC_CALALR; /**< \brief (Rtc Offset: 0x14) Calendar Alarm Register */ - __I uint32_t RTC_SR; /**< \brief (Rtc Offset: 0x18) Status Register */ - __O uint32_t RTC_SCCR; /**< \brief (Rtc Offset: 0x1C) Status Clear Command Register */ - __O uint32_t RTC_IER; /**< \brief (Rtc Offset: 0x20) Interrupt Enable Register */ - __O uint32_t RTC_IDR; /**< \brief (Rtc Offset: 0x24) Interrupt Disable Register */ - __I uint32_t RTC_IMR; /**< \brief (Rtc Offset: 0x28) Interrupt Mask Register */ - __I uint32_t RTC_VER; /**< \brief (Rtc Offset: 0x2C) Valid Entry Register */ -} Rtc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RTC_CR : (RTC Offset: 0x00) Control Register -------- */ -#define RTC_CR_UPDTIM (0x1u << 0) /**< \brief (RTC_CR) Update Request Time Register */ -#define RTC_CR_UPDCAL (0x1u << 1) /**< \brief (RTC_CR) Update Request Calendar Register */ -#define RTC_CR_TIMEVSEL_Pos 8 -#define RTC_CR_TIMEVSEL_Msk (0x3u << RTC_CR_TIMEVSEL_Pos) /**< \brief (RTC_CR) Time Event Selection */ -#define RTC_CR_TIMEVSEL(value) ((RTC_CR_TIMEVSEL_Msk & ((value) << RTC_CR_TIMEVSEL_Pos))) -#define RTC_CR_TIMEVSEL_MINUTE (0x0u << 8) /**< \brief (RTC_CR) Minute change */ -#define RTC_CR_TIMEVSEL_HOUR (0x1u << 8) /**< \brief (RTC_CR) Hour change */ -#define RTC_CR_TIMEVSEL_MIDNIGHT (0x2u << 8) /**< \brief (RTC_CR) Every day at midnight */ -#define RTC_CR_TIMEVSEL_NOON (0x3u << 8) /**< \brief (RTC_CR) Every day at noon */ -#define RTC_CR_CALEVSEL_Pos 16 -#define RTC_CR_CALEVSEL_Msk (0x3u << RTC_CR_CALEVSEL_Pos) /**< \brief (RTC_CR) Calendar Event Selection */ -#define RTC_CR_CALEVSEL(value) ((RTC_CR_CALEVSEL_Msk & ((value) << RTC_CR_CALEVSEL_Pos))) -#define RTC_CR_CALEVSEL_WEEK (0x0u << 16) /**< \brief (RTC_CR) Week change (every Monday at time 00:00:00) */ -#define RTC_CR_CALEVSEL_MONTH (0x1u << 16) /**< \brief (RTC_CR) Month change (every 01 of each month at time 00:00:00) */ -#define RTC_CR_CALEVSEL_YEAR (0x2u << 16) /**< \brief (RTC_CR) Year change (every January 1 at time 00:00:00) */ -/* -------- RTC_MR : (RTC Offset: 0x04) Mode Register -------- */ -#define RTC_MR_HRMOD (0x1u << 0) /**< \brief (RTC_MR) 12-/24-hour Mode */ -#define RTC_MR_PERSIAN (0x1u << 1) /**< \brief (RTC_MR) PERSIAN Calendar */ -#define RTC_MR_NEGPPM (0x1u << 4) /**< \brief (RTC_MR) NEGative PPM Correction */ -#define RTC_MR_CORRECTION_Pos 8 -#define RTC_MR_CORRECTION_Msk (0x7fu << RTC_MR_CORRECTION_Pos) /**< \brief (RTC_MR) Slow Clock Correction */ -#define RTC_MR_CORRECTION(value) ((RTC_MR_CORRECTION_Msk & ((value) << RTC_MR_CORRECTION_Pos))) -#define RTC_MR_HIGHPPM (0x1u << 15) /**< \brief (RTC_MR) HIGH PPM Correction */ -#define RTC_MR_OUT0_Pos 16 -#define RTC_MR_OUT0_Msk (0x7u << RTC_MR_OUT0_Pos) /**< \brief (RTC_MR) RTCOUT0 OutputSource Selection */ -#define RTC_MR_OUT0(value) ((RTC_MR_OUT0_Msk & ((value) << RTC_MR_OUT0_Pos))) -#define RTC_MR_OUT0_NO_WAVE (0x0u << 16) /**< \brief (RTC_MR) No waveform, stuck at '0' */ -#define RTC_MR_OUT0_FREQ1HZ (0x1u << 16) /**< \brief (RTC_MR) 1 Hz square wave */ -#define RTC_MR_OUT0_FREQ32HZ (0x2u << 16) /**< \brief (RTC_MR) 32 Hz square wave */ -#define RTC_MR_OUT0_FREQ64HZ (0x3u << 16) /**< \brief (RTC_MR) 64 Hz square wave */ -#define RTC_MR_OUT0_FREQ512HZ (0x4u << 16) /**< \brief (RTC_MR) 512 Hz square wave */ -#define RTC_MR_OUT0_ALARM_TOGGLE (0x5u << 16) /**< \brief (RTC_MR) Output toggles when alarm flag rises */ -#define RTC_MR_OUT0_ALARM_FLAG (0x6u << 16) /**< \brief (RTC_MR) Output is a copy of the alarm flag */ -#define RTC_MR_OUT0_PROG_PULSE (0x7u << 16) /**< \brief (RTC_MR) Duty cycle programmable pulse */ -#define RTC_MR_OUT1_Pos 20 -#define RTC_MR_OUT1_Msk (0x7u << RTC_MR_OUT1_Pos) /**< \brief (RTC_MR) RTCOUT1 Output Source Selection */ -#define RTC_MR_OUT1(value) ((RTC_MR_OUT1_Msk & ((value) << RTC_MR_OUT1_Pos))) -#define RTC_MR_OUT1_NO_WAVE (0x0u << 20) /**< \brief (RTC_MR) No waveform, stuck at '0' */ -#define RTC_MR_OUT1_FREQ1HZ (0x1u << 20) /**< \brief (RTC_MR) 1 Hz square wave */ -#define RTC_MR_OUT1_FREQ32HZ (0x2u << 20) /**< \brief (RTC_MR) 32 Hz square wave */ -#define RTC_MR_OUT1_FREQ64HZ (0x3u << 20) /**< \brief (RTC_MR) 64 Hz square wave */ -#define RTC_MR_OUT1_FREQ512HZ (0x4u << 20) /**< \brief (RTC_MR) 512 Hz square wave */ -#define RTC_MR_OUT1_ALARM_TOGGLE (0x5u << 20) /**< \brief (RTC_MR) Output toggles when alarm flag rises */ -#define RTC_MR_OUT1_ALARM_FLAG (0x6u << 20) /**< \brief (RTC_MR) Output is a copy of the alarm flag */ -#define RTC_MR_OUT1_PROG_PULSE (0x7u << 20) /**< \brief (RTC_MR) Duty cycle programmable pulse */ -#define RTC_MR_THIGH_Pos 24 -#define RTC_MR_THIGH_Msk (0x7u << RTC_MR_THIGH_Pos) /**< \brief (RTC_MR) High Duration of the Output Pulse */ -#define RTC_MR_THIGH(value) ((RTC_MR_THIGH_Msk & ((value) << RTC_MR_THIGH_Pos))) -#define RTC_MR_THIGH_H_31MS (0x0u << 24) /**< \brief (RTC_MR) 31.2 ms */ -#define RTC_MR_THIGH_H_16MS (0x1u << 24) /**< \brief (RTC_MR) 15.6 ms */ -#define RTC_MR_THIGH_H_4MS (0x2u << 24) /**< \brief (RTC_MR) 3.91 ms */ -#define RTC_MR_THIGH_H_976US (0x3u << 24) /**< \brief (RTC_MR) 976 us */ -#define RTC_MR_THIGH_H_488US (0x4u << 24) /**< \brief (RTC_MR) 488 us */ -#define RTC_MR_THIGH_H_122US (0x5u << 24) /**< \brief (RTC_MR) 122 us */ -#define RTC_MR_THIGH_H_30US (0x6u << 24) /**< \brief (RTC_MR) 30.5 us */ -#define RTC_MR_THIGH_H_15US (0x7u << 24) /**< \brief (RTC_MR) 15.2 us */ -#define RTC_MR_TPERIOD_Pos 28 -#define RTC_MR_TPERIOD_Msk (0x3u << RTC_MR_TPERIOD_Pos) /**< \brief (RTC_MR) Period of the Output Pulse */ -#define RTC_MR_TPERIOD(value) ((RTC_MR_TPERIOD_Msk & ((value) << RTC_MR_TPERIOD_Pos))) -#define RTC_MR_TPERIOD_P_1S (0x0u << 28) /**< \brief (RTC_MR) 1 second */ -#define RTC_MR_TPERIOD_P_500MS (0x1u << 28) /**< \brief (RTC_MR) 500 ms */ -#define RTC_MR_TPERIOD_P_250MS (0x2u << 28) /**< \brief (RTC_MR) 250 ms */ -#define RTC_MR_TPERIOD_P_125MS (0x3u << 28) /**< \brief (RTC_MR) 125 ms */ -/* -------- RTC_TIMR : (RTC Offset: 0x08) Time Register -------- */ -#define RTC_TIMR_SEC_Pos 0 -#define RTC_TIMR_SEC_Msk (0x7fu << RTC_TIMR_SEC_Pos) /**< \brief (RTC_TIMR) Current Second */ -#define RTC_TIMR_SEC(value) ((RTC_TIMR_SEC_Msk & ((value) << RTC_TIMR_SEC_Pos))) -#define RTC_TIMR_MIN_Pos 8 -#define RTC_TIMR_MIN_Msk (0x7fu << RTC_TIMR_MIN_Pos) /**< \brief (RTC_TIMR) Current Minute */ -#define RTC_TIMR_MIN(value) ((RTC_TIMR_MIN_Msk & ((value) << RTC_TIMR_MIN_Pos))) -#define RTC_TIMR_HOUR_Pos 16 -#define RTC_TIMR_HOUR_Msk (0x3fu << RTC_TIMR_HOUR_Pos) /**< \brief (RTC_TIMR) Current Hour */ -#define RTC_TIMR_HOUR(value) ((RTC_TIMR_HOUR_Msk & ((value) << RTC_TIMR_HOUR_Pos))) -#define RTC_TIMR_AMPM (0x1u << 22) /**< \brief (RTC_TIMR) Ante Meridiem Post Meridiem Indicator */ -/* -------- RTC_CALR : (RTC Offset: 0x0C) Calendar Register -------- */ -#define RTC_CALR_CENT_Pos 0 -#define RTC_CALR_CENT_Msk (0x7fu << RTC_CALR_CENT_Pos) /**< \brief (RTC_CALR) Current Century */ -#define RTC_CALR_CENT(value) ((RTC_CALR_CENT_Msk & ((value) << RTC_CALR_CENT_Pos))) -#define RTC_CALR_YEAR_Pos 8 -#define RTC_CALR_YEAR_Msk (0xffu << RTC_CALR_YEAR_Pos) /**< \brief (RTC_CALR) Current Year */ -#define RTC_CALR_YEAR(value) ((RTC_CALR_YEAR_Msk & ((value) << RTC_CALR_YEAR_Pos))) -#define RTC_CALR_MONTH_Pos 16 -#define RTC_CALR_MONTH_Msk (0x1fu << RTC_CALR_MONTH_Pos) /**< \brief (RTC_CALR) Current Month */ -#define RTC_CALR_MONTH(value) ((RTC_CALR_MONTH_Msk & ((value) << RTC_CALR_MONTH_Pos))) -#define RTC_CALR_DAY_Pos 21 -#define RTC_CALR_DAY_Msk (0x7u << RTC_CALR_DAY_Pos) /**< \brief (RTC_CALR) Current Day in Current Week */ -#define RTC_CALR_DAY(value) ((RTC_CALR_DAY_Msk & ((value) << RTC_CALR_DAY_Pos))) -#define RTC_CALR_DATE_Pos 24 -#define RTC_CALR_DATE_Msk (0x3fu << RTC_CALR_DATE_Pos) /**< \brief (RTC_CALR) Current Day in Current Month */ -#define RTC_CALR_DATE(value) ((RTC_CALR_DATE_Msk & ((value) << RTC_CALR_DATE_Pos))) -/* -------- RTC_TIMALR : (RTC Offset: 0x10) Time Alarm Register -------- */ -#define RTC_TIMALR_SEC_Pos 0 -#define RTC_TIMALR_SEC_Msk (0x7fu << RTC_TIMALR_SEC_Pos) /**< \brief (RTC_TIMALR) Second Alarm */ -#define RTC_TIMALR_SEC(value) ((RTC_TIMALR_SEC_Msk & ((value) << RTC_TIMALR_SEC_Pos))) -#define RTC_TIMALR_SECEN (0x1u << 7) /**< \brief (RTC_TIMALR) Second Alarm Enable */ -#define RTC_TIMALR_MIN_Pos 8 -#define RTC_TIMALR_MIN_Msk (0x7fu << RTC_TIMALR_MIN_Pos) /**< \brief (RTC_TIMALR) Minute Alarm */ -#define RTC_TIMALR_MIN(value) ((RTC_TIMALR_MIN_Msk & ((value) << RTC_TIMALR_MIN_Pos))) -#define RTC_TIMALR_MINEN (0x1u << 15) /**< \brief (RTC_TIMALR) Minute Alarm Enable */ -#define RTC_TIMALR_HOUR_Pos 16 -#define RTC_TIMALR_HOUR_Msk (0x3fu << RTC_TIMALR_HOUR_Pos) /**< \brief (RTC_TIMALR) Hour Alarm */ -#define RTC_TIMALR_HOUR(value) ((RTC_TIMALR_HOUR_Msk & ((value) << RTC_TIMALR_HOUR_Pos))) -#define RTC_TIMALR_AMPM (0x1u << 22) /**< \brief (RTC_TIMALR) AM/PM Indicator */ -#define RTC_TIMALR_HOUREN (0x1u << 23) /**< \brief (RTC_TIMALR) Hour Alarm Enable */ -/* -------- RTC_CALALR : (RTC Offset: 0x14) Calendar Alarm Register -------- */ -#define RTC_CALALR_MONTH_Pos 16 -#define RTC_CALALR_MONTH_Msk (0x1fu << RTC_CALALR_MONTH_Pos) /**< \brief (RTC_CALALR) Month Alarm */ -#define RTC_CALALR_MONTH(value) ((RTC_CALALR_MONTH_Msk & ((value) << RTC_CALALR_MONTH_Pos))) -#define RTC_CALALR_MTHEN (0x1u << 23) /**< \brief (RTC_CALALR) Month Alarm Enable */ -#define RTC_CALALR_DATE_Pos 24 -#define RTC_CALALR_DATE_Msk (0x3fu << RTC_CALALR_DATE_Pos) /**< \brief (RTC_CALALR) Date Alarm */ -#define RTC_CALALR_DATE(value) ((RTC_CALALR_DATE_Msk & ((value) << RTC_CALALR_DATE_Pos))) -#define RTC_CALALR_DATEEN (0x1u << 31) /**< \brief (RTC_CALALR) Date Alarm Enable */ -/* -------- RTC_SR : (RTC Offset: 0x18) Status Register -------- */ -#define RTC_SR_ACKUPD (0x1u << 0) /**< \brief (RTC_SR) Acknowledge for Update */ -#define RTC_SR_ACKUPD_FREERUN (0x0u << 0) /**< \brief (RTC_SR) Time and calendar registers cannot be updated. */ -#define RTC_SR_ACKUPD_UPDATE (0x1u << 0) /**< \brief (RTC_SR) Time and calendar registers can be updated. */ -#define RTC_SR_ALARM (0x1u << 1) /**< \brief (RTC_SR) Alarm Flag */ -#define RTC_SR_ALARM_NO_ALARMEVENT (0x0u << 1) /**< \brief (RTC_SR) No alarm matching condition occurred. */ -#define RTC_SR_ALARM_ALARMEVENT (0x1u << 1) /**< \brief (RTC_SR) An alarm matching condition has occurred. */ -#define RTC_SR_SEC (0x1u << 2) /**< \brief (RTC_SR) Second Event */ -#define RTC_SR_SEC_NO_SECEVENT (0x0u << 2) /**< \brief (RTC_SR) No second event has occurred since the last clear. */ -#define RTC_SR_SEC_SECEVENT (0x1u << 2) /**< \brief (RTC_SR) At least one second event has occurred since the last clear. */ -#define RTC_SR_TIMEV (0x1u << 3) /**< \brief (RTC_SR) Time Event */ -#define RTC_SR_TIMEV_NO_TIMEVENT (0x0u << 3) /**< \brief (RTC_SR) No time event has occurred since the last clear. */ -#define RTC_SR_TIMEV_TIMEVENT (0x1u << 3) /**< \brief (RTC_SR) At least one time event has occurred since the last clear. */ -#define RTC_SR_CALEV (0x1u << 4) /**< \brief (RTC_SR) Calendar Event */ -#define RTC_SR_CALEV_NO_CALEVENT (0x0u << 4) /**< \brief (RTC_SR) No calendar event has occurred since the last clear. */ -#define RTC_SR_CALEV_CALEVENT (0x1u << 4) /**< \brief (RTC_SR) At least one calendar event has occurred since the last clear. */ -#define RTC_SR_TDERR (0x1u << 5) /**< \brief (RTC_SR) Time and/or Date Free Running Error */ -#define RTC_SR_TDERR_CORRECT (0x0u << 5) /**< \brief (RTC_SR) The internal free running counters are carrying valid values since the last read of the Status Register (RTC_SR). */ -#define RTC_SR_TDERR_ERR_TIMEDATE (0x1u << 5) /**< \brief (RTC_SR) The internal free running counters have been corrupted (invalid date or time, non-BCD values) since the last read and/or they are still invalid. */ -/* -------- RTC_SCCR : (RTC Offset: 0x1C) Status Clear Command Register -------- */ -#define RTC_SCCR_ACKCLR (0x1u << 0) /**< \brief (RTC_SCCR) Acknowledge Clear */ -#define RTC_SCCR_ALRCLR (0x1u << 1) /**< \brief (RTC_SCCR) Alarm Clear */ -#define RTC_SCCR_SECCLR (0x1u << 2) /**< \brief (RTC_SCCR) Second Clear */ -#define RTC_SCCR_TIMCLR (0x1u << 3) /**< \brief (RTC_SCCR) Time Clear */ -#define RTC_SCCR_CALCLR (0x1u << 4) /**< \brief (RTC_SCCR) Calendar Clear */ -#define RTC_SCCR_TDERRCLR (0x1u << 5) /**< \brief (RTC_SCCR) Time and/or Date Free Running Error Clear */ -/* -------- RTC_IER : (RTC Offset: 0x20) Interrupt Enable Register -------- */ -#define RTC_IER_ACKEN (0x1u << 0) /**< \brief (RTC_IER) Acknowledge Update Interrupt Enable */ -#define RTC_IER_ALREN (0x1u << 1) /**< \brief (RTC_IER) Alarm Interrupt Enable */ -#define RTC_IER_SECEN (0x1u << 2) /**< \brief (RTC_IER) Second Event Interrupt Enable */ -#define RTC_IER_TIMEN (0x1u << 3) /**< \brief (RTC_IER) Time Event Interrupt Enable */ -#define RTC_IER_CALEN (0x1u << 4) /**< \brief (RTC_IER) Calendar Event Interrupt Enable */ -#define RTC_IER_TDERREN (0x1u << 5) /**< \brief (RTC_IER) Time and/or Date Error Interrupt Enable */ -/* -------- RTC_IDR : (RTC Offset: 0x24) Interrupt Disable Register -------- */ -#define RTC_IDR_ACKDIS (0x1u << 0) /**< \brief (RTC_IDR) Acknowledge Update Interrupt Disable */ -#define RTC_IDR_ALRDIS (0x1u << 1) /**< \brief (RTC_IDR) Alarm Interrupt Disable */ -#define RTC_IDR_SECDIS (0x1u << 2) /**< \brief (RTC_IDR) Second Event Interrupt Disable */ -#define RTC_IDR_TIMDIS (0x1u << 3) /**< \brief (RTC_IDR) Time Event Interrupt Disable */ -#define RTC_IDR_CALDIS (0x1u << 4) /**< \brief (RTC_IDR) Calendar Event Interrupt Disable */ -#define RTC_IDR_TDERRDIS (0x1u << 5) /**< \brief (RTC_IDR) Time and/or Date Error Interrupt Disable */ -/* -------- RTC_IMR : (RTC Offset: 0x28) Interrupt Mask Register -------- */ -#define RTC_IMR_ACK (0x1u << 0) /**< \brief (RTC_IMR) Acknowledge Update Interrupt Mask */ -#define RTC_IMR_ALR (0x1u << 1) /**< \brief (RTC_IMR) Alarm Interrupt Mask */ -#define RTC_IMR_SEC (0x1u << 2) /**< \brief (RTC_IMR) Second Event Interrupt Mask */ -#define RTC_IMR_TIM (0x1u << 3) /**< \brief (RTC_IMR) Time Event Interrupt Mask */ -#define RTC_IMR_CAL (0x1u << 4) /**< \brief (RTC_IMR) Calendar Event Interrupt Mask */ -#define RTC_IMR_TDERR (0x1u << 5) /**< \brief (RTC_IMR) Time and/or Date Error Mask */ -/* -------- RTC_VER : (RTC Offset: 0x2C) Valid Entry Register -------- */ -#define RTC_VER_NVTIM (0x1u << 0) /**< \brief (RTC_VER) Non-valid Time */ -#define RTC_VER_NVCAL (0x1u << 1) /**< \brief (RTC_VER) Non-valid Calendar */ -#define RTC_VER_NVTIMALR (0x1u << 2) /**< \brief (RTC_VER) Non-valid Time Alarm */ -#define RTC_VER_NVCALALR (0x1u << 3) /**< \brief (RTC_VER) Non-valid Calendar Alarm */ - -/*@}*/ - - -#endif /* _SAMS70_RTC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h deleted file mode 100644 index d9c76c5..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h +++ /dev/null @@ -1,86 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTT_COMPONENT_ -#define _SAMS70_RTT_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Real-time Timer */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RTT Real-time Timer */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rtt hardware registers */ -typedef struct { - __IO uint32_t RTT_MR; /**< \brief (Rtt Offset: 0x00) Mode Register */ - __IO uint32_t RTT_AR; /**< \brief (Rtt Offset: 0x04) Alarm Register */ - __I uint32_t RTT_VR; /**< \brief (Rtt Offset: 0x08) Value Register */ - __I uint32_t RTT_SR; /**< \brief (Rtt Offset: 0x0C) Status Register */ -} Rtt; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RTT_MR : (RTT Offset: 0x00) Mode Register -------- */ -#define RTT_MR_RTPRES_Pos 0 -#define RTT_MR_RTPRES_Msk (0xffffu << RTT_MR_RTPRES_Pos) /**< \brief (RTT_MR) Real-time Timer Prescaler Value */ -#define RTT_MR_RTPRES(value) ((RTT_MR_RTPRES_Msk & ((value) << RTT_MR_RTPRES_Pos))) -#define RTT_MR_ALMIEN (0x1u << 16) /**< \brief (RTT_MR) Alarm Interrupt Enable */ -#define RTT_MR_RTTINCIEN (0x1u << 17) /**< \brief (RTT_MR) Real-time Timer Increment Interrupt Enable */ -#define RTT_MR_RTTRST (0x1u << 18) /**< \brief (RTT_MR) Real-time Timer Restart */ -#define RTT_MR_RTTDIS (0x1u << 20) /**< \brief (RTT_MR) Real-time Timer Disable */ -#define RTT_MR_RTC1HZ (0x1u << 24) /**< \brief (RTT_MR) Real-Time Clock 1Hz Clock Selection */ -/* -------- RTT_AR : (RTT Offset: 0x04) Alarm Register -------- */ -#define RTT_AR_ALMV_Pos 0 -#define RTT_AR_ALMV_Msk (0xffffffffu << RTT_AR_ALMV_Pos) /**< \brief (RTT_AR) Alarm Value */ -#define RTT_AR_ALMV(value) ((RTT_AR_ALMV_Msk & ((value) << RTT_AR_ALMV_Pos))) -/* -------- RTT_VR : (RTT Offset: 0x08) Value Register -------- */ -#define RTT_VR_CRTV_Pos 0 -#define RTT_VR_CRTV_Msk (0xffffffffu << RTT_VR_CRTV_Pos) /**< \brief (RTT_VR) Current Real-time Value */ -/* -------- RTT_SR : (RTT Offset: 0x0C) Status Register -------- */ -#define RTT_SR_ALMS (0x1u << 0) /**< \brief (RTT_SR) Real-time Alarm Status (cleared on read) */ -#define RTT_SR_RTTINC (0x1u << 1) /**< \brief (RTT_SR) Prescaler Roll-over Status (cleared on read) */ - -/*@}*/ - - -#endif /* _SAMS70_RTT_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h deleted file mode 100644 index 126e9ca..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h +++ /dev/null @@ -1,188 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SDRAMC_COMPONENT_ -#define _SAMS70_SDRAMC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR SDRAM Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SDRAMC SDRAM Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Sdramc hardware registers */ -typedef struct { - __IO uint32_t SDRAMC_MR; /**< \brief (Sdramc Offset: 0x00) SDRAMC Mode Register */ - __IO uint32_t SDRAMC_TR; /**< \brief (Sdramc Offset: 0x04) SDRAMC Refresh Timer Register */ - __IO uint32_t SDRAMC_CR; /**< \brief (Sdramc Offset: 0x08) SDRAMC Configuration Register */ - __I uint32_t Reserved1[1]; - __IO uint32_t SDRAMC_LPR; /**< \brief (Sdramc Offset: 0x10) SDRAMC Low Power Register */ - __O uint32_t SDRAMC_IER; /**< \brief (Sdramc Offset: 0x14) SDRAMC Interrupt Enable Register */ - __O uint32_t SDRAMC_IDR; /**< \brief (Sdramc Offset: 0x18) SDRAMC Interrupt Disable Register */ - __I uint32_t SDRAMC_IMR; /**< \brief (Sdramc Offset: 0x1C) SDRAMC Interrupt Mask Register */ - __I uint32_t SDRAMC_ISR; /**< \brief (Sdramc Offset: 0x20) SDRAMC Interrupt Status Register */ - __IO uint32_t SDRAMC_MDR; /**< \brief (Sdramc Offset: 0x24) SDRAMC Memory Device Register */ - __IO uint32_t SDRAMC_CFR1; /**< \brief (Sdramc Offset: 0x28) SDRAMC Configuration Register 1 */ - __IO uint32_t SDRAMC_OCMS; /**< \brief (Sdramc Offset: 0x2C) SDRAMC OCMS Register */ - __O uint32_t SDRAMC_OCMS_KEY1; /**< \brief (Sdramc Offset: 0x30) SDRAMC OCMS KEY1 Register */ - __O uint32_t SDRAMC_OCMS_KEY2; /**< \brief (Sdramc Offset: 0x34) SDRAMC OCMS KEY2 Register */ -} Sdramc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SDRAMC_MR : (SDRAMC Offset: 0x00) SDRAMC Mode Register -------- */ -#define SDRAMC_MR_MODE_Pos 0 -#define SDRAMC_MR_MODE_Msk (0x7u << SDRAMC_MR_MODE_Pos) /**< \brief (SDRAMC_MR) SDRAMC Command Mode */ -#define SDRAMC_MR_MODE(value) ((SDRAMC_MR_MODE_Msk & ((value) << SDRAMC_MR_MODE_Pos))) -#define SDRAMC_MR_MODE_NORMAL (0x0u << 0) /**< \brief (SDRAMC_MR) Normal mode. Any access to the SDRAM is decoded normally. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_NOP (0x1u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues a NOP command when the SDRAM device is accessed regardless of the cycle. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_ALLBANKS_PRECHARGE (0x2u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues an "All Banks Precharge" command when the SDRAM device is accessed regardless of the cycle. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_LOAD_MODEREG (0x3u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues a "Load Mode Register" command when the SDRAM device is accessed regardless of the cycle. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_AUTO_REFRESH (0x4u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues an "Auto-Refresh" Command when the SDRAM device is accessed regardless of the cycle. Previously, an "All Banks Precharge" command must be issued. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_EXT_LOAD_MODEREG (0x5u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues an "Extended Load Mode Register" command when the SDRAM device is accessed regardless of the cycle. To activate this mode, the "Extended Load Mode Register" command must be followed by a write to the SDRAM. The write in the SDRAM must be done in the appropriate bank; most low-power SDRAM devices use the bank 1. */ -#define SDRAMC_MR_MODE_DEEP_POWERDOWN (0x6u << 0) /**< \brief (SDRAMC_MR) Deep power-down mode. Enters deep power-down mode. */ -/* -------- SDRAMC_TR : (SDRAMC Offset: 0x04) SDRAMC Refresh Timer Register -------- */ -#define SDRAMC_TR_COUNT_Pos 0 -#define SDRAMC_TR_COUNT_Msk (0xfffu << SDRAMC_TR_COUNT_Pos) /**< \brief (SDRAMC_TR) SDRAMC Refresh Timer Count */ -#define SDRAMC_TR_COUNT(value) ((SDRAMC_TR_COUNT_Msk & ((value) << SDRAMC_TR_COUNT_Pos))) -/* -------- SDRAMC_CR : (SDRAMC Offset: 0x08) SDRAMC Configuration Register -------- */ -#define SDRAMC_CR_NC_Pos 0 -#define SDRAMC_CR_NC_Msk (0x3u << SDRAMC_CR_NC_Pos) /**< \brief (SDRAMC_CR) Number of Column Bits */ -#define SDRAMC_CR_NC(value) ((SDRAMC_CR_NC_Msk & ((value) << SDRAMC_CR_NC_Pos))) -#define SDRAMC_CR_NC_COL8 (0x0u << 0) /**< \brief (SDRAMC_CR) 8 column bits */ -#define SDRAMC_CR_NC_COL9 (0x1u << 0) /**< \brief (SDRAMC_CR) 9 column bits */ -#define SDRAMC_CR_NC_COL10 (0x2u << 0) /**< \brief (SDRAMC_CR) 10 column bits */ -#define SDRAMC_CR_NC_COL11 (0x3u << 0) /**< \brief (SDRAMC_CR) 11 column bits */ -#define SDRAMC_CR_NR_Pos 2 -#define SDRAMC_CR_NR_Msk (0x3u << SDRAMC_CR_NR_Pos) /**< \brief (SDRAMC_CR) Number of Row Bits */ -#define SDRAMC_CR_NR(value) ((SDRAMC_CR_NR_Msk & ((value) << SDRAMC_CR_NR_Pos))) -#define SDRAMC_CR_NR_ROW11 (0x0u << 2) /**< \brief (SDRAMC_CR) 11 row bits */ -#define SDRAMC_CR_NR_ROW12 (0x1u << 2) /**< \brief (SDRAMC_CR) 12 row bits */ -#define SDRAMC_CR_NR_ROW13 (0x2u << 2) /**< \brief (SDRAMC_CR) 13 row bits */ -#define SDRAMC_CR_NB (0x1u << 4) /**< \brief (SDRAMC_CR) Number of Banks */ -#define SDRAMC_CR_NB_BANK2 (0x0u << 4) /**< \brief (SDRAMC_CR) 2 banks */ -#define SDRAMC_CR_NB_BANK4 (0x1u << 4) /**< \brief (SDRAMC_CR) 4 banks */ -#define SDRAMC_CR_CAS_Pos 5 -#define SDRAMC_CR_CAS_Msk (0x3u << SDRAMC_CR_CAS_Pos) /**< \brief (SDRAMC_CR) CAS Latency */ -#define SDRAMC_CR_CAS(value) ((SDRAMC_CR_CAS_Msk & ((value) << SDRAMC_CR_CAS_Pos))) -#define SDRAMC_CR_CAS_LATENCY1 (0x0u << 5) /**< \brief (SDRAMC_CR) 1 cycle CAS latency */ -#define SDRAMC_CR_CAS_LATENCY2 (0x1u << 5) /**< \brief (SDRAMC_CR) 2 cycle CAS latency */ -#define SDRAMC_CR_CAS_LATENCY3 (0x2u << 5) /**< \brief (SDRAMC_CR) 3 cycle CAS latency */ -#define SDRAMC_CR_DBW (0x1u << 7) /**< \brief (SDRAMC_CR) Data Bus Width */ -#define SDRAMC_CR_TWR_Pos 8 -#define SDRAMC_CR_TWR_Msk (0xfu << SDRAMC_CR_TWR_Pos) /**< \brief (SDRAMC_CR) Write Recovery Delay */ -#define SDRAMC_CR_TWR(value) ((SDRAMC_CR_TWR_Msk & ((value) << SDRAMC_CR_TWR_Pos))) -#define SDRAMC_CR_TRC_TRFC_Pos 12 -#define SDRAMC_CR_TRC_TRFC_Msk (0xfu << SDRAMC_CR_TRC_TRFC_Pos) /**< \brief (SDRAMC_CR) Row Cycle Delay and Row Refresh Cycle */ -#define SDRAMC_CR_TRC_TRFC(value) ((SDRAMC_CR_TRC_TRFC_Msk & ((value) << SDRAMC_CR_TRC_TRFC_Pos))) -#define SDRAMC_CR_TRP_Pos 16 -#define SDRAMC_CR_TRP_Msk (0xfu << SDRAMC_CR_TRP_Pos) /**< \brief (SDRAMC_CR) Row Precharge Delay */ -#define SDRAMC_CR_TRP(value) ((SDRAMC_CR_TRP_Msk & ((value) << SDRAMC_CR_TRP_Pos))) -#define SDRAMC_CR_TRCD_Pos 20 -#define SDRAMC_CR_TRCD_Msk (0xfu << SDRAMC_CR_TRCD_Pos) /**< \brief (SDRAMC_CR) Row to Column Delay */ -#define SDRAMC_CR_TRCD(value) ((SDRAMC_CR_TRCD_Msk & ((value) << SDRAMC_CR_TRCD_Pos))) -#define SDRAMC_CR_TRAS_Pos 24 -#define SDRAMC_CR_TRAS_Msk (0xfu << SDRAMC_CR_TRAS_Pos) /**< \brief (SDRAMC_CR) Active to Precharge Delay */ -#define SDRAMC_CR_TRAS(value) ((SDRAMC_CR_TRAS_Msk & ((value) << SDRAMC_CR_TRAS_Pos))) -#define SDRAMC_CR_TXSR_Pos 28 -#define SDRAMC_CR_TXSR_Msk (0xfu << SDRAMC_CR_TXSR_Pos) /**< \brief (SDRAMC_CR) Exit Self Refresh to Active Delay */ -#define SDRAMC_CR_TXSR(value) ((SDRAMC_CR_TXSR_Msk & ((value) << SDRAMC_CR_TXSR_Pos))) -/* -------- SDRAMC_LPR : (SDRAMC Offset: 0x10) SDRAMC Low Power Register -------- */ -#define SDRAMC_LPR_LPCB_Pos 0 -#define SDRAMC_LPR_LPCB_Msk (0x3u << SDRAMC_LPR_LPCB_Pos) /**< \brief (SDRAMC_LPR) Low-power Configuration Bits */ -#define SDRAMC_LPR_LPCB(value) ((SDRAMC_LPR_LPCB_Msk & ((value) << SDRAMC_LPR_LPCB_Pos))) -#define SDRAMC_LPR_LPCB_DISABLED (0x0u << 0) /**< \brief (SDRAMC_LPR) Low Power Feature is inhibited: no Power-down, Self-refresh or Deep Power-down command is issued to the SDRAM device. */ -#define SDRAMC_LPR_LPCB_SELF_REFRESH (0x1u << 0) /**< \brief (SDRAMC_LPR) The SDRAMC issues a Self-refresh command to the SDRAM device, the SDCK clock is deactivated and the SDCKE signal is set low. The SDRAM device leaves the Self Refresh Mode when accessed and enters it after the access. */ -#define SDRAMC_LPR_LPCB_POWER_DOWN (0x2u << 0) /**< \brief (SDRAMC_LPR) The SDRAMC issues a Power-down Command to the SDRAM device after each access, the SDCKE signal is set to low. The SDRAM device leaves the Power-down Mode when accessed and enters it after the access. */ -#define SDRAMC_LPR_LPCB_DEEP_POWER_DOWN (0x3u << 0) /**< \brief (SDRAMC_LPR) The SDRAMC issues a Deep Power-down command to the SDRAM device. This mode is unique to low-power SDRAM. */ -#define SDRAMC_LPR_PASR_Pos 4 -#define SDRAMC_LPR_PASR_Msk (0x7u << SDRAMC_LPR_PASR_Pos) /**< \brief (SDRAMC_LPR) Partial Array Self-refresh (only for low-power SDRAM) */ -#define SDRAMC_LPR_PASR(value) ((SDRAMC_LPR_PASR_Msk & ((value) << SDRAMC_LPR_PASR_Pos))) -#define SDRAMC_LPR_TCSR_Pos 8 -#define SDRAMC_LPR_TCSR_Msk (0x3u << SDRAMC_LPR_TCSR_Pos) /**< \brief (SDRAMC_LPR) Temperature Compensated Self-Refresh (only for low-power SDRAM) */ -#define SDRAMC_LPR_TCSR(value) ((SDRAMC_LPR_TCSR_Msk & ((value) << SDRAMC_LPR_TCSR_Pos))) -#define SDRAMC_LPR_DS_Pos 10 -#define SDRAMC_LPR_DS_Msk (0x3u << SDRAMC_LPR_DS_Pos) /**< \brief (SDRAMC_LPR) Drive Strength (only for low-power SDRAM) */ -#define SDRAMC_LPR_DS(value) ((SDRAMC_LPR_DS_Msk & ((value) << SDRAMC_LPR_DS_Pos))) -#define SDRAMC_LPR_TIMEOUT_Pos 12 -#define SDRAMC_LPR_TIMEOUT_Msk (0x3u << SDRAMC_LPR_TIMEOUT_Pos) /**< \brief (SDRAMC_LPR) Time to Define When Low-power Mode Is Enabled */ -#define SDRAMC_LPR_TIMEOUT(value) ((SDRAMC_LPR_TIMEOUT_Msk & ((value) << SDRAMC_LPR_TIMEOUT_Pos))) -#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER (0x0u << 12) /**< \brief (SDRAMC_LPR) The SDRAMC activates the SDRAM low-power mode immediately after the end of the last transfer. */ -#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER_64 (0x1u << 12) /**< \brief (SDRAMC_LPR) The SDRAMC activates the SDRAM low-power mode 64 clock cycles after the end of the last transfer. */ -#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER_128 (0x2u << 12) /**< \brief (SDRAMC_LPR) The SDRAMC activates the SDRAM low-power mode 128 clock cycles after the end of the last transfer. */ -/* -------- SDRAMC_IER : (SDRAMC Offset: 0x14) SDRAMC Interrupt Enable Register -------- */ -#define SDRAMC_IER_RES (0x1u << 0) /**< \brief (SDRAMC_IER) Refresh Error Status */ -/* -------- SDRAMC_IDR : (SDRAMC Offset: 0x18) SDRAMC Interrupt Disable Register -------- */ -#define SDRAMC_IDR_RES (0x1u << 0) /**< \brief (SDRAMC_IDR) Refresh Error Status */ -/* -------- SDRAMC_IMR : (SDRAMC Offset: 0x1C) SDRAMC Interrupt Mask Register -------- */ -#define SDRAMC_IMR_RES (0x1u << 0) /**< \brief (SDRAMC_IMR) Refresh Error Status */ -/* -------- SDRAMC_ISR : (SDRAMC Offset: 0x20) SDRAMC Interrupt Status Register -------- */ -#define SDRAMC_ISR_RES (0x1u << 0) /**< \brief (SDRAMC_ISR) Refresh Error Status (cleared on read) */ -/* -------- SDRAMC_MDR : (SDRAMC Offset: 0x24) SDRAMC Memory Device Register -------- */ -#define SDRAMC_MDR_MD_Pos 0 -#define SDRAMC_MDR_MD_Msk (0x3u << SDRAMC_MDR_MD_Pos) /**< \brief (SDRAMC_MDR) Memory Device Type */ -#define SDRAMC_MDR_MD(value) ((SDRAMC_MDR_MD_Msk & ((value) << SDRAMC_MDR_MD_Pos))) -#define SDRAMC_MDR_MD_SDRAM (0x0u << 0) /**< \brief (SDRAMC_MDR) SDRAM */ -#define SDRAMC_MDR_MD_LPSDRAM (0x1u << 0) /**< \brief (SDRAMC_MDR) Low-power SDRAM */ -/* -------- SDRAMC_CFR1 : (SDRAMC Offset: 0x28) SDRAMC Configuration Register 1 -------- */ -#define SDRAMC_CFR1_TMRD_Pos 0 -#define SDRAMC_CFR1_TMRD_Msk (0xfu << SDRAMC_CFR1_TMRD_Pos) /**< \brief (SDRAMC_CFR1) Load Mode Register Command to Active or Refresh Command */ -#define SDRAMC_CFR1_TMRD(value) ((SDRAMC_CFR1_TMRD_Msk & ((value) << SDRAMC_CFR1_TMRD_Pos))) -#define SDRAMC_CFR1_UNAL (0x1u << 8) /**< \brief (SDRAMC_CFR1) Support Unaligned Access */ -#define SDRAMC_CFR1_UNAL_UNSUPPORTED (0x0u << 8) /**< \brief (SDRAMC_CFR1) Unaligned access is not supported. */ -#define SDRAMC_CFR1_UNAL_SUPPORTED (0x1u << 8) /**< \brief (SDRAMC_CFR1) Unaligned access is supported. */ -/* -------- SDRAMC_OCMS : (SDRAMC Offset: 0x2C) SDRAMC OCMS Register -------- */ -#define SDRAMC_OCMS_SDR_SE (0x1u << 0) /**< \brief (SDRAMC_OCMS) SDRAM Memory Controller Scrambling Enable */ -/* -------- SDRAMC_OCMS_KEY1 : (SDRAMC Offset: 0x30) SDRAMC OCMS KEY1 Register -------- */ -#define SDRAMC_OCMS_KEY1_KEY1_Pos 0 -#define SDRAMC_OCMS_KEY1_KEY1_Msk (0xffffffffu << SDRAMC_OCMS_KEY1_KEY1_Pos) /**< \brief (SDRAMC_OCMS_KEY1) Off-chip Memory Scrambling (OCMS) Key Part 1 */ -#define SDRAMC_OCMS_KEY1_KEY1(value) ((SDRAMC_OCMS_KEY1_KEY1_Msk & ((value) << SDRAMC_OCMS_KEY1_KEY1_Pos))) -/* -------- SDRAMC_OCMS_KEY2 : (SDRAMC Offset: 0x34) SDRAMC OCMS KEY2 Register -------- */ -#define SDRAMC_OCMS_KEY2_KEY2_Pos 0 -#define SDRAMC_OCMS_KEY2_KEY2_Msk (0xffffffffu << SDRAMC_OCMS_KEY2_KEY2_Pos) /**< \brief (SDRAMC_OCMS_KEY2) Off-chip Memory Scrambling (OCMS) Key Part 2 */ -#define SDRAMC_OCMS_KEY2_KEY2(value) ((SDRAMC_OCMS_KEY2_KEY2_Msk & ((value) << SDRAMC_OCMS_KEY2_KEY2_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_SDRAMC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h deleted file mode 100644 index 04954ec..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h +++ /dev/null @@ -1,159 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SMC_COMPONENT_ -#define _SAMS70_SMC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Static Memory Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SMC Static Memory Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief SmcCs_number hardware registers */ -typedef struct { - __IO uint32_t SMC_SETUP; /**< \brief (SmcCs_number Offset: 0x0) SMC Setup Register */ - __IO uint32_t SMC_PULSE; /**< \brief (SmcCs_number Offset: 0x4) SMC Pulse Register */ - __IO uint32_t SMC_CYCLE; /**< \brief (SmcCs_number Offset: 0x8) SMC Cycle Register */ - __IO uint32_t SMC_MODE; /**< \brief (SmcCs_number Offset: 0xC) SMC MODE Register */ -} SmcCs_number; -/** \brief Smc hardware registers */ -#define SMCCS_NUMBER_NUMBER 4 -typedef struct { - SmcCs_number SMC_CS_NUMBER[SMCCS_NUMBER_NUMBER]; /**< \brief (Smc Offset: 0x0) CS_number = 0 .. 3 */ - __I uint32_t Reserved1[16]; - __IO uint32_t SMC_OCMS; /**< \brief (Smc Offset: 0x80) SMC OCMS MODE Register */ - __O uint32_t SMC_KEY1; /**< \brief (Smc Offset: 0x84) SMC OCMS KEY1 Register */ - __O uint32_t SMC_KEY2; /**< \brief (Smc Offset: 0x88) SMC OCMS KEY2 Register */ - __I uint32_t Reserved2[22]; - __IO uint32_t SMC_WPMR; /**< \brief (Smc Offset: 0xE4) SMC Write Protection Mode Register */ - __I uint32_t SMC_WPSR; /**< \brief (Smc Offset: 0xE8) SMC Write Protection Status Register */ -} Smc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SMC_SETUP : (SMC Offset: N/A) SMC Setup Register -------- */ -#define SMC_SETUP_NWE_SETUP_Pos 0 -#define SMC_SETUP_NWE_SETUP_Msk (0x3fu << SMC_SETUP_NWE_SETUP_Pos) /**< \brief (SMC_SETUP) NWE Setup Length */ -#define SMC_SETUP_NWE_SETUP(value) ((SMC_SETUP_NWE_SETUP_Msk & ((value) << SMC_SETUP_NWE_SETUP_Pos))) -#define SMC_SETUP_NCS_WR_SETUP_Pos 8 -#define SMC_SETUP_NCS_WR_SETUP_Msk (0x3fu << SMC_SETUP_NCS_WR_SETUP_Pos) /**< \brief (SMC_SETUP) NCS Setup Length in WRITE Access */ -#define SMC_SETUP_NCS_WR_SETUP(value) ((SMC_SETUP_NCS_WR_SETUP_Msk & ((value) << SMC_SETUP_NCS_WR_SETUP_Pos))) -#define SMC_SETUP_NRD_SETUP_Pos 16 -#define SMC_SETUP_NRD_SETUP_Msk (0x3fu << SMC_SETUP_NRD_SETUP_Pos) /**< \brief (SMC_SETUP) NRD Setup Length */ -#define SMC_SETUP_NRD_SETUP(value) ((SMC_SETUP_NRD_SETUP_Msk & ((value) << SMC_SETUP_NRD_SETUP_Pos))) -#define SMC_SETUP_NCS_RD_SETUP_Pos 24 -#define SMC_SETUP_NCS_RD_SETUP_Msk (0x3fu << SMC_SETUP_NCS_RD_SETUP_Pos) /**< \brief (SMC_SETUP) NCS Setup Length in READ Access */ -#define SMC_SETUP_NCS_RD_SETUP(value) ((SMC_SETUP_NCS_RD_SETUP_Msk & ((value) << SMC_SETUP_NCS_RD_SETUP_Pos))) -/* -------- SMC_PULSE : (SMC Offset: N/A) SMC Pulse Register -------- */ -#define SMC_PULSE_NWE_PULSE_Pos 0 -#define SMC_PULSE_NWE_PULSE_Msk (0x7fu << SMC_PULSE_NWE_PULSE_Pos) /**< \brief (SMC_PULSE) NWE Pulse Length */ -#define SMC_PULSE_NWE_PULSE(value) ((SMC_PULSE_NWE_PULSE_Msk & ((value) << SMC_PULSE_NWE_PULSE_Pos))) -#define SMC_PULSE_NCS_WR_PULSE_Pos 8 -#define SMC_PULSE_NCS_WR_PULSE_Msk (0x7fu << SMC_PULSE_NCS_WR_PULSE_Pos) /**< \brief (SMC_PULSE) NCS Pulse Length in WRITE Access */ -#define SMC_PULSE_NCS_WR_PULSE(value) ((SMC_PULSE_NCS_WR_PULSE_Msk & ((value) << SMC_PULSE_NCS_WR_PULSE_Pos))) -#define SMC_PULSE_NRD_PULSE_Pos 16 -#define SMC_PULSE_NRD_PULSE_Msk (0x7fu << SMC_PULSE_NRD_PULSE_Pos) /**< \brief (SMC_PULSE) NRD Pulse Length */ -#define SMC_PULSE_NRD_PULSE(value) ((SMC_PULSE_NRD_PULSE_Msk & ((value) << SMC_PULSE_NRD_PULSE_Pos))) -#define SMC_PULSE_NCS_RD_PULSE_Pos 24 -#define SMC_PULSE_NCS_RD_PULSE_Msk (0x7fu << SMC_PULSE_NCS_RD_PULSE_Pos) /**< \brief (SMC_PULSE) NCS Pulse Length in READ Access */ -#define SMC_PULSE_NCS_RD_PULSE(value) ((SMC_PULSE_NCS_RD_PULSE_Msk & ((value) << SMC_PULSE_NCS_RD_PULSE_Pos))) -/* -------- SMC_CYCLE : (SMC Offset: N/A) SMC Cycle Register -------- */ -#define SMC_CYCLE_NWE_CYCLE_Pos 0 -#define SMC_CYCLE_NWE_CYCLE_Msk (0x1ffu << SMC_CYCLE_NWE_CYCLE_Pos) /**< \brief (SMC_CYCLE) Total Write Cycle Length */ -#define SMC_CYCLE_NWE_CYCLE(value) ((SMC_CYCLE_NWE_CYCLE_Msk & ((value) << SMC_CYCLE_NWE_CYCLE_Pos))) -#define SMC_CYCLE_NRD_CYCLE_Pos 16 -#define SMC_CYCLE_NRD_CYCLE_Msk (0x1ffu << SMC_CYCLE_NRD_CYCLE_Pos) /**< \brief (SMC_CYCLE) Total Read Cycle Length */ -#define SMC_CYCLE_NRD_CYCLE(value) ((SMC_CYCLE_NRD_CYCLE_Msk & ((value) << SMC_CYCLE_NRD_CYCLE_Pos))) -/* -------- SMC_MODE : (SMC Offset: N/A) SMC MODE Register -------- */ -#define SMC_MODE_READ_MODE (0x1u << 0) /**< \brief (SMC_MODE) Read Mode */ -#define SMC_MODE_WRITE_MODE (0x1u << 1) /**< \brief (SMC_MODE) Write Mode */ -#define SMC_MODE_EXNW_MODE_Pos 4 -#define SMC_MODE_EXNW_MODE_Msk (0x3u << SMC_MODE_EXNW_MODE_Pos) /**< \brief (SMC_MODE) NWAIT Mode */ -#define SMC_MODE_EXNW_MODE(value) ((SMC_MODE_EXNW_MODE_Msk & ((value) << SMC_MODE_EXNW_MODE_Pos))) -#define SMC_MODE_EXNW_MODE_DISABLED (0x0u << 4) /**< \brief (SMC_MODE) Disabled */ -#define SMC_MODE_EXNW_MODE_FROZEN (0x2u << 4) /**< \brief (SMC_MODE) Frozen Mode */ -#define SMC_MODE_EXNW_MODE_READY (0x3u << 4) /**< \brief (SMC_MODE) Ready Mode */ -#define SMC_MODE_BAT (0x1u << 8) /**< \brief (SMC_MODE) Byte Access Type */ -#define SMC_MODE_BAT_BYTE_SELECT (0x0u << 8) /**< \brief (SMC_MODE) Byte select access type:- Write operation is controlled using NCS, NWE, NBS0, NBS1.- Read operation is controlled using NCS, NRD, NBS0, NBS1. */ -#define SMC_MODE_BAT_BYTE_WRITE (0x1u << 8) /**< \brief (SMC_MODE) Byte write access type:- Write operation is controlled using NCS, NWR0, NWR1.- Read operation is controlled using NCS and NRD. */ -#define SMC_MODE_DBW (0x1u << 12) /**< \brief (SMC_MODE) Data Bus Width */ -#define SMC_MODE_DBW_8_BIT (0x0u << 12) /**< \brief (SMC_MODE) 8-bit Data Bus */ -#define SMC_MODE_DBW_16_BIT (0x1u << 12) /**< \brief (SMC_MODE) 16-bit Data Bus */ -#define SMC_MODE_TDF_CYCLES_Pos 16 -#define SMC_MODE_TDF_CYCLES_Msk (0xfu << SMC_MODE_TDF_CYCLES_Pos) /**< \brief (SMC_MODE) Data Float Time */ -#define SMC_MODE_TDF_CYCLES(value) ((SMC_MODE_TDF_CYCLES_Msk & ((value) << SMC_MODE_TDF_CYCLES_Pos))) -#define SMC_MODE_TDF_MODE (0x1u << 20) /**< \brief (SMC_MODE) TDF Optimization */ -#define SMC_MODE_PMEN (0x1u << 24) /**< \brief (SMC_MODE) Page Mode Enabled */ -#define SMC_MODE_PS_Pos 28 -#define SMC_MODE_PS_Msk (0x3u << SMC_MODE_PS_Pos) /**< \brief (SMC_MODE) Page Size */ -#define SMC_MODE_PS(value) ((SMC_MODE_PS_Msk & ((value) << SMC_MODE_PS_Pos))) -#define SMC_MODE_PS_4_BYTE (0x0u << 28) /**< \brief (SMC_MODE) 4-byte page */ -#define SMC_MODE_PS_8_BYTE (0x1u << 28) /**< \brief (SMC_MODE) 8-byte page */ -#define SMC_MODE_PS_16_BYTE (0x2u << 28) /**< \brief (SMC_MODE) 16-byte page */ -#define SMC_MODE_PS_32_BYTE (0x3u << 28) /**< \brief (SMC_MODE) 32-byte page */ -/* -------- SMC_OCMS : (SMC Offset: 0x80) SMC OCMS MODE Register -------- */ -#define SMC_OCMS_SMSE (0x1u << 0) /**< \brief (SMC_OCMS) Static Memory Controller Scrambling Enable */ -/* -------- SMC_KEY1 : (SMC Offset: 0x84) SMC OCMS KEY1 Register -------- */ -#define SMC_KEY1_KEY1_Pos 0 -#define SMC_KEY1_KEY1_Msk (0xffffffffu << SMC_KEY1_KEY1_Pos) /**< \brief (SMC_KEY1) Off Chip Memory Scrambling (OCMS) Key Part 1 */ -#define SMC_KEY1_KEY1(value) ((SMC_KEY1_KEY1_Msk & ((value) << SMC_KEY1_KEY1_Pos))) -/* -------- SMC_KEY2 : (SMC Offset: 0x88) SMC OCMS KEY2 Register -------- */ -#define SMC_KEY2_KEY2_Pos 0 -#define SMC_KEY2_KEY2_Msk (0xffffffffu << SMC_KEY2_KEY2_Pos) /**< \brief (SMC_KEY2) Off Chip Memory Scrambling (OCMS) Key Part 2 */ -#define SMC_KEY2_KEY2(value) ((SMC_KEY2_KEY2_Msk & ((value) << SMC_KEY2_KEY2_Pos))) -/* -------- SMC_WPMR : (SMC Offset: 0xE4) SMC Write Protection Mode Register -------- */ -#define SMC_WPMR_WPEN (0x1u << 0) /**< \brief (SMC_WPMR) Write Protect Enable */ -#define SMC_WPMR_WPKEY_Pos 8 -#define SMC_WPMR_WPKEY_Msk (0xffffffu << SMC_WPMR_WPKEY_Pos) /**< \brief (SMC_WPMR) Write Protection Key */ -#define SMC_WPMR_WPKEY(value) ((SMC_WPMR_WPKEY_Msk & ((value) << SMC_WPMR_WPKEY_Pos))) -#define SMC_WPMR_WPKEY_PASSWD (0x534D43u << 8) /**< \brief (SMC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- SMC_WPSR : (SMC Offset: 0xE8) SMC Write Protection Status Register -------- */ -#define SMC_WPSR_WPVS (0x1u << 0) /**< \brief (SMC_WPSR) Write Protection Violation Status */ -#define SMC_WPSR_WPVSRC_Pos 8 -#define SMC_WPSR_WPVSRC_Msk (0xffffu << SMC_WPSR_WPVSRC_Pos) /**< \brief (SMC_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_SMC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h deleted file mode 100644 index 0faef2c..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h +++ /dev/null @@ -1,176 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SPI_COMPONENT_ -#define _SAMS70_SPI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Serial Peripheral Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SPI Serial Peripheral Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Spi hardware registers */ -typedef struct { - __O uint32_t SPI_CR; /**< \brief (Spi Offset: 0x00) Control Register */ - __IO uint32_t SPI_MR; /**< \brief (Spi Offset: 0x04) Mode Register */ - __I uint32_t SPI_RDR; /**< \brief (Spi Offset: 0x08) Receive Data Register */ - __O uint32_t SPI_TDR; /**< \brief (Spi Offset: 0x0C) Transmit Data Register */ - __I uint32_t SPI_SR; /**< \brief (Spi Offset: 0x10) Status Register */ - __O uint32_t SPI_IER; /**< \brief (Spi Offset: 0x14) Interrupt Enable Register */ - __O uint32_t SPI_IDR; /**< \brief (Spi Offset: 0x18) Interrupt Disable Register */ - __I uint32_t SPI_IMR; /**< \brief (Spi Offset: 0x1C) Interrupt Mask Register */ - __I uint32_t Reserved1[4]; - __IO uint32_t SPI_CSR[4]; /**< \brief (Spi Offset: 0x30) Chip Select Register */ - __I uint32_t Reserved2[41]; - __IO uint32_t SPI_WPMR; /**< \brief (Spi Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t SPI_WPSR; /**< \brief (Spi Offset: 0xE8) Write Protection Status Register */ -} Spi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SPI_CR : (SPI Offset: 0x00) Control Register -------- */ -#define SPI_CR_SPIEN (0x1u << 0) /**< \brief (SPI_CR) SPI Enable */ -#define SPI_CR_SPIDIS (0x1u << 1) /**< \brief (SPI_CR) SPI Disable */ -#define SPI_CR_SWRST (0x1u << 7) /**< \brief (SPI_CR) SPI Software Reset */ -#define SPI_CR_LASTXFER (0x1u << 24) /**< \brief (SPI_CR) Last Transfer */ -/* -------- SPI_MR : (SPI Offset: 0x04) Mode Register -------- */ -#define SPI_MR_MSTR (0x1u << 0) /**< \brief (SPI_MR) Master/Slave Mode */ -#define SPI_MR_PS (0x1u << 1) /**< \brief (SPI_MR) Peripheral Select */ -#define SPI_MR_PCSDEC (0x1u << 2) /**< \brief (SPI_MR) Chip Select Decode */ -#define SPI_MR_MODFDIS (0x1u << 4) /**< \brief (SPI_MR) Mode Fault Detection */ -#define SPI_MR_WDRBT (0x1u << 5) /**< \brief (SPI_MR) Wait Data Read Before Transfer */ -#define SPI_MR_LLB (0x1u << 7) /**< \brief (SPI_MR) Local Loopback Enable */ -#define SPI_MR_PCS_Pos 16 -#define SPI_MR_PCS_Msk (0xfu << SPI_MR_PCS_Pos) /**< \brief (SPI_MR) Peripheral Chip Select */ -#define SPI_MR_PCS(value) ((SPI_MR_PCS_Msk & ((value) << SPI_MR_PCS_Pos))) -#define SPI_MR_DLYBCS_Pos 24 -#define SPI_MR_DLYBCS_Msk (0xffu << SPI_MR_DLYBCS_Pos) /**< \brief (SPI_MR) Delay Between Chip Selects */ -#define SPI_MR_DLYBCS(value) ((SPI_MR_DLYBCS_Msk & ((value) << SPI_MR_DLYBCS_Pos))) -/* -------- SPI_RDR : (SPI Offset: 0x08) Receive Data Register -------- */ -#define SPI_RDR_RD_Pos 0 -#define SPI_RDR_RD_Msk (0xffffu << SPI_RDR_RD_Pos) /**< \brief (SPI_RDR) Receive Data */ -#define SPI_RDR_PCS_Pos 16 -#define SPI_RDR_PCS_Msk (0xfu << SPI_RDR_PCS_Pos) /**< \brief (SPI_RDR) Peripheral Chip Select */ -/* -------- SPI_TDR : (SPI Offset: 0x0C) Transmit Data Register -------- */ -#define SPI_TDR_TD_Pos 0 -#define SPI_TDR_TD_Msk (0xffffu << SPI_TDR_TD_Pos) /**< \brief (SPI_TDR) Transmit Data */ -#define SPI_TDR_TD(value) ((SPI_TDR_TD_Msk & ((value) << SPI_TDR_TD_Pos))) -#define SPI_TDR_PCS_Pos 16 -#define SPI_TDR_PCS_Msk (0xfu << SPI_TDR_PCS_Pos) /**< \brief (SPI_TDR) Peripheral Chip Select */ -#define SPI_TDR_PCS(value) ((SPI_TDR_PCS_Msk & ((value) << SPI_TDR_PCS_Pos))) -#define SPI_TDR_LASTXFER (0x1u << 24) /**< \brief (SPI_TDR) Last Transfer */ -/* -------- SPI_SR : (SPI Offset: 0x10) Status Register -------- */ -#define SPI_SR_RDRF (0x1u << 0) /**< \brief (SPI_SR) Receive Data Register Full (cleared by reading SPI_RDR) */ -#define SPI_SR_TDRE (0x1u << 1) /**< \brief (SPI_SR) Transmit Data Register Empty (cleared by writing SPI_TDR) */ -#define SPI_SR_MODF (0x1u << 2) /**< \brief (SPI_SR) Mode Fault Error (cleared on read) */ -#define SPI_SR_OVRES (0x1u << 3) /**< \brief (SPI_SR) Overrun Error Status (cleared on read) */ -#define SPI_SR_NSSR (0x1u << 8) /**< \brief (SPI_SR) NSS Rising (cleared on read) */ -#define SPI_SR_TXEMPTY (0x1u << 9) /**< \brief (SPI_SR) Transmission Registers Empty (cleared by writing SPI_TDR) */ -#define SPI_SR_UNDES (0x1u << 10) /**< \brief (SPI_SR) Underrun Error Status (Slave mode only) (cleared on read) */ -#define SPI_SR_SPIENS (0x1u << 16) /**< \brief (SPI_SR) SPI Enable Status */ -/* -------- SPI_IER : (SPI Offset: 0x14) Interrupt Enable Register -------- */ -#define SPI_IER_RDRF (0x1u << 0) /**< \brief (SPI_IER) Receive Data Register Full Interrupt Enable */ -#define SPI_IER_TDRE (0x1u << 1) /**< \brief (SPI_IER) SPI Transmit Data Register Empty Interrupt Enable */ -#define SPI_IER_MODF (0x1u << 2) /**< \brief (SPI_IER) Mode Fault Error Interrupt Enable */ -#define SPI_IER_OVRES (0x1u << 3) /**< \brief (SPI_IER) Overrun Error Interrupt Enable */ -#define SPI_IER_NSSR (0x1u << 8) /**< \brief (SPI_IER) NSS Rising Interrupt Enable */ -#define SPI_IER_TXEMPTY (0x1u << 9) /**< \brief (SPI_IER) Transmission Registers Empty Enable */ -#define SPI_IER_UNDES (0x1u << 10) /**< \brief (SPI_IER) Underrun Error Interrupt Enable */ -/* -------- SPI_IDR : (SPI Offset: 0x18) Interrupt Disable Register -------- */ -#define SPI_IDR_RDRF (0x1u << 0) /**< \brief (SPI_IDR) Receive Data Register Full Interrupt Disable */ -#define SPI_IDR_TDRE (0x1u << 1) /**< \brief (SPI_IDR) SPI Transmit Data Register Empty Interrupt Disable */ -#define SPI_IDR_MODF (0x1u << 2) /**< \brief (SPI_IDR) Mode Fault Error Interrupt Disable */ -#define SPI_IDR_OVRES (0x1u << 3) /**< \brief (SPI_IDR) Overrun Error Interrupt Disable */ -#define SPI_IDR_NSSR (0x1u << 8) /**< \brief (SPI_IDR) NSS Rising Interrupt Disable */ -#define SPI_IDR_TXEMPTY (0x1u << 9) /**< \brief (SPI_IDR) Transmission Registers Empty Disable */ -#define SPI_IDR_UNDES (0x1u << 10) /**< \brief (SPI_IDR) Underrun Error Interrupt Disable */ -/* -------- SPI_IMR : (SPI Offset: 0x1C) Interrupt Mask Register -------- */ -#define SPI_IMR_RDRF (0x1u << 0) /**< \brief (SPI_IMR) Receive Data Register Full Interrupt Mask */ -#define SPI_IMR_TDRE (0x1u << 1) /**< \brief (SPI_IMR) SPI Transmit Data Register Empty Interrupt Mask */ -#define SPI_IMR_MODF (0x1u << 2) /**< \brief (SPI_IMR) Mode Fault Error Interrupt Mask */ -#define SPI_IMR_OVRES (0x1u << 3) /**< \brief (SPI_IMR) Overrun Error Interrupt Mask */ -#define SPI_IMR_NSSR (0x1u << 8) /**< \brief (SPI_IMR) NSS Rising Interrupt Mask */ -#define SPI_IMR_TXEMPTY (0x1u << 9) /**< \brief (SPI_IMR) Transmission Registers Empty Mask */ -#define SPI_IMR_UNDES (0x1u << 10) /**< \brief (SPI_IMR) Underrun Error Interrupt Mask */ -/* -------- SPI_CSR[4] : (SPI Offset: 0x30) Chip Select Register -------- */ -#define SPI_CSR_CPOL (0x1u << 0) /**< \brief (SPI_CSR[4]) Clock Polarity */ -#define SPI_CSR_NCPHA (0x1u << 1) /**< \brief (SPI_CSR[4]) Clock Phase */ -#define SPI_CSR_CSNAAT (0x1u << 2) /**< \brief (SPI_CSR[4]) Chip Select Not Active After Transfer (Ignored if CSAAT = 1) */ -#define SPI_CSR_CSAAT (0x1u << 3) /**< \brief (SPI_CSR[4]) Chip Select Active After Transfer */ -#define SPI_CSR_BITS_Pos 4 -#define SPI_CSR_BITS_Msk (0xfu << SPI_CSR_BITS_Pos) /**< \brief (SPI_CSR[4]) Bits Per Transfer */ -#define SPI_CSR_BITS(value) ((SPI_CSR_BITS_Msk & ((value) << SPI_CSR_BITS_Pos))) -#define SPI_CSR_BITS_8_BIT (0x0u << 4) /**< \brief (SPI_CSR[4]) 8 bits for transfer */ -#define SPI_CSR_BITS_9_BIT (0x1u << 4) /**< \brief (SPI_CSR[4]) 9 bits for transfer */ -#define SPI_CSR_BITS_10_BIT (0x2u << 4) /**< \brief (SPI_CSR[4]) 10 bits for transfer */ -#define SPI_CSR_BITS_11_BIT (0x3u << 4) /**< \brief (SPI_CSR[4]) 11 bits for transfer */ -#define SPI_CSR_BITS_12_BIT (0x4u << 4) /**< \brief (SPI_CSR[4]) 12 bits for transfer */ -#define SPI_CSR_BITS_13_BIT (0x5u << 4) /**< \brief (SPI_CSR[4]) 13 bits for transfer */ -#define SPI_CSR_BITS_14_BIT (0x6u << 4) /**< \brief (SPI_CSR[4]) 14 bits for transfer */ -#define SPI_CSR_BITS_15_BIT (0x7u << 4) /**< \brief (SPI_CSR[4]) 15 bits for transfer */ -#define SPI_CSR_BITS_16_BIT (0x8u << 4) /**< \brief (SPI_CSR[4]) 16 bits for transfer */ -#define SPI_CSR_SCBR_Pos 8 -#define SPI_CSR_SCBR_Msk (0xffu << SPI_CSR_SCBR_Pos) /**< \brief (SPI_CSR[4]) Serial Clock Bit Rate */ -#define SPI_CSR_SCBR(value) ((SPI_CSR_SCBR_Msk & ((value) << SPI_CSR_SCBR_Pos))) -#define SPI_CSR_DLYBS_Pos 16 -#define SPI_CSR_DLYBS_Msk (0xffu << SPI_CSR_DLYBS_Pos) /**< \brief (SPI_CSR[4]) Delay Before SPCK */ -#define SPI_CSR_DLYBS(value) ((SPI_CSR_DLYBS_Msk & ((value) << SPI_CSR_DLYBS_Pos))) -#define SPI_CSR_DLYBCT_Pos 24 -#define SPI_CSR_DLYBCT_Msk (0xffu << SPI_CSR_DLYBCT_Pos) /**< \brief (SPI_CSR[4]) Delay Between Consecutive Transfers */ -#define SPI_CSR_DLYBCT(value) ((SPI_CSR_DLYBCT_Msk & ((value) << SPI_CSR_DLYBCT_Pos))) -/* -------- SPI_WPMR : (SPI Offset: 0xE4) Write Protection Mode Register -------- */ -#define SPI_WPMR_WPEN (0x1u << 0) /**< \brief (SPI_WPMR) Write Protection Enable */ -#define SPI_WPMR_WPKEY_Pos 8 -#define SPI_WPMR_WPKEY_Msk (0xffffffu << SPI_WPMR_WPKEY_Pos) /**< \brief (SPI_WPMR) Write Protection Key */ -#define SPI_WPMR_WPKEY(value) ((SPI_WPMR_WPKEY_Msk & ((value) << SPI_WPMR_WPKEY_Pos))) -#define SPI_WPMR_WPKEY_PASSWD (0x535049u << 8) /**< \brief (SPI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- SPI_WPSR : (SPI Offset: 0xE8) Write Protection Status Register -------- */ -#define SPI_WPSR_WPVS (0x1u << 0) /**< \brief (SPI_WPSR) Write Protection Violation Status */ -#define SPI_WPSR_WPVSRC_Pos 8 -#define SPI_WPSR_WPVSRC_Msk (0xffu << SPI_WPSR_WPVSRC_Pos) /**< \brief (SPI_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_SPI_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h deleted file mode 100644 index 904716c..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h +++ /dev/null @@ -1,295 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SSC_COMPONENT_ -#define _SAMS70_SSC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Synchronous Serial Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SSC Synchronous Serial Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Ssc hardware registers */ -typedef struct { - __O uint32_t SSC_CR; /**< \brief (Ssc Offset: 0x0) Control Register */ - __IO uint32_t SSC_CMR; /**< \brief (Ssc Offset: 0x4) Clock Mode Register */ - __I uint32_t Reserved1[2]; - __IO uint32_t SSC_RCMR; /**< \brief (Ssc Offset: 0x10) Receive Clock Mode Register */ - __IO uint32_t SSC_RFMR; /**< \brief (Ssc Offset: 0x14) Receive Frame Mode Register */ - __IO uint32_t SSC_TCMR; /**< \brief (Ssc Offset: 0x18) Transmit Clock Mode Register */ - __IO uint32_t SSC_TFMR; /**< \brief (Ssc Offset: 0x1C) Transmit Frame Mode Register */ - __I uint32_t SSC_RHR; /**< \brief (Ssc Offset: 0x20) Receive Holding Register */ - __O uint32_t SSC_THR; /**< \brief (Ssc Offset: 0x24) Transmit Holding Register */ - __I uint32_t Reserved2[2]; - __I uint32_t SSC_RSHR; /**< \brief (Ssc Offset: 0x30) Receive Sync. Holding Register */ - __IO uint32_t SSC_TSHR; /**< \brief (Ssc Offset: 0x34) Transmit Sync. Holding Register */ - __IO uint32_t SSC_RC0R; /**< \brief (Ssc Offset: 0x38) Receive Compare 0 Register */ - __IO uint32_t SSC_RC1R; /**< \brief (Ssc Offset: 0x3C) Receive Compare 1 Register */ - __I uint32_t SSC_SR; /**< \brief (Ssc Offset: 0x40) Status Register */ - __O uint32_t SSC_IER; /**< \brief (Ssc Offset: 0x44) Interrupt Enable Register */ - __O uint32_t SSC_IDR; /**< \brief (Ssc Offset: 0x48) Interrupt Disable Register */ - __I uint32_t SSC_IMR; /**< \brief (Ssc Offset: 0x4C) Interrupt Mask Register */ - __I uint32_t Reserved3[37]; - __IO uint32_t SSC_WPMR; /**< \brief (Ssc Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t SSC_WPSR; /**< \brief (Ssc Offset: 0xE8) Write Protection Status Register */ -} Ssc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SSC_CR : (SSC Offset: 0x0) Control Register -------- */ -#define SSC_CR_RXEN (0x1u << 0) /**< \brief (SSC_CR) Receive Enable */ -#define SSC_CR_RXDIS (0x1u << 1) /**< \brief (SSC_CR) Receive Disable */ -#define SSC_CR_TXEN (0x1u << 8) /**< \brief (SSC_CR) Transmit Enable */ -#define SSC_CR_TXDIS (0x1u << 9) /**< \brief (SSC_CR) Transmit Disable */ -#define SSC_CR_SWRST (0x1u << 15) /**< \brief (SSC_CR) Software Reset */ -/* -------- SSC_CMR : (SSC Offset: 0x4) Clock Mode Register -------- */ -#define SSC_CMR_DIV_Pos 0 -#define SSC_CMR_DIV_Msk (0xfffu << SSC_CMR_DIV_Pos) /**< \brief (SSC_CMR) Clock Divider */ -#define SSC_CMR_DIV(value) ((SSC_CMR_DIV_Msk & ((value) << SSC_CMR_DIV_Pos))) -/* -------- SSC_RCMR : (SSC Offset: 0x10) Receive Clock Mode Register -------- */ -#define SSC_RCMR_CKS_Pos 0 -#define SSC_RCMR_CKS_Msk (0x3u << SSC_RCMR_CKS_Pos) /**< \brief (SSC_RCMR) Receive Clock Selection */ -#define SSC_RCMR_CKS(value) ((SSC_RCMR_CKS_Msk & ((value) << SSC_RCMR_CKS_Pos))) -#define SSC_RCMR_CKS_MCK (0x0u << 0) /**< \brief (SSC_RCMR) Divided Clock */ -#define SSC_RCMR_CKS_TK (0x1u << 0) /**< \brief (SSC_RCMR) TK Clock signal */ -#define SSC_RCMR_CKS_RK (0x2u << 0) /**< \brief (SSC_RCMR) RK pin */ -#define SSC_RCMR_CKO_Pos 2 -#define SSC_RCMR_CKO_Msk (0x7u << SSC_RCMR_CKO_Pos) /**< \brief (SSC_RCMR) Receive Clock Output Mode Selection */ -#define SSC_RCMR_CKO(value) ((SSC_RCMR_CKO_Msk & ((value) << SSC_RCMR_CKO_Pos))) -#define SSC_RCMR_CKO_NONE (0x0u << 2) /**< \brief (SSC_RCMR) None, RK pin is an input */ -#define SSC_RCMR_CKO_CONTINUOUS (0x1u << 2) /**< \brief (SSC_RCMR) Continuous Receive Clock, RK pin is an output */ -#define SSC_RCMR_CKO_TRANSFER (0x2u << 2) /**< \brief (SSC_RCMR) Receive Clock only during data transfers, RK pin is an output */ -#define SSC_RCMR_CKI (0x1u << 5) /**< \brief (SSC_RCMR) Receive Clock Inversion */ -#define SSC_RCMR_CKG_Pos 6 -#define SSC_RCMR_CKG_Msk (0x3u << SSC_RCMR_CKG_Pos) /**< \brief (SSC_RCMR) Receive Clock Gating Selection */ -#define SSC_RCMR_CKG(value) ((SSC_RCMR_CKG_Msk & ((value) << SSC_RCMR_CKG_Pos))) -#define SSC_RCMR_CKG_CONTINUOUS (0x0u << 6) /**< \brief (SSC_RCMR) None */ -#define SSC_RCMR_CKG_EN_RF_LOW (0x1u << 6) /**< \brief (SSC_RCMR) Receive Clock enabled only if RF Low */ -#define SSC_RCMR_CKG_EN_RF_HIGH (0x2u << 6) /**< \brief (SSC_RCMR) Receive Clock enabled only if RF High */ -#define SSC_RCMR_START_Pos 8 -#define SSC_RCMR_START_Msk (0xfu << SSC_RCMR_START_Pos) /**< \brief (SSC_RCMR) Receive Start Selection */ -#define SSC_RCMR_START(value) ((SSC_RCMR_START_Msk & ((value) << SSC_RCMR_START_Pos))) -#define SSC_RCMR_START_CONTINUOUS (0x0u << 8) /**< \brief (SSC_RCMR) Continuous, as soon as the receiver is enabled, and immediately after the end of transfer of the previous data. */ -#define SSC_RCMR_START_TRANSMIT (0x1u << 8) /**< \brief (SSC_RCMR) Transmit start */ -#define SSC_RCMR_START_RF_LOW (0x2u << 8) /**< \brief (SSC_RCMR) Detection of a low level on RF signal */ -#define SSC_RCMR_START_RF_HIGH (0x3u << 8) /**< \brief (SSC_RCMR) Detection of a high level on RF signal */ -#define SSC_RCMR_START_RF_FALLING (0x4u << 8) /**< \brief (SSC_RCMR) Detection of a falling edge on RF signal */ -#define SSC_RCMR_START_RF_RISING (0x5u << 8) /**< \brief (SSC_RCMR) Detection of a rising edge on RF signal */ -#define SSC_RCMR_START_RF_LEVEL (0x6u << 8) /**< \brief (SSC_RCMR) Detection of any level change on RF signal */ -#define SSC_RCMR_START_RF_EDGE (0x7u << 8) /**< \brief (SSC_RCMR) Detection of any edge on RF signal */ -#define SSC_RCMR_START_CMP_0 (0x8u << 8) /**< \brief (SSC_RCMR) Compare 0 */ -#define SSC_RCMR_STOP (0x1u << 12) /**< \brief (SSC_RCMR) Receive Stop Selection */ -#define SSC_RCMR_STTDLY_Pos 16 -#define SSC_RCMR_STTDLY_Msk (0xffu << SSC_RCMR_STTDLY_Pos) /**< \brief (SSC_RCMR) Receive Start Delay */ -#define SSC_RCMR_STTDLY(value) ((SSC_RCMR_STTDLY_Msk & ((value) << SSC_RCMR_STTDLY_Pos))) -#define SSC_RCMR_PERIOD_Pos 24 -#define SSC_RCMR_PERIOD_Msk (0xffu << SSC_RCMR_PERIOD_Pos) /**< \brief (SSC_RCMR) Receive Period Divider Selection */ -#define SSC_RCMR_PERIOD(value) ((SSC_RCMR_PERIOD_Msk & ((value) << SSC_RCMR_PERIOD_Pos))) -/* -------- SSC_RFMR : (SSC Offset: 0x14) Receive Frame Mode Register -------- */ -#define SSC_RFMR_DATLEN_Pos 0 -#define SSC_RFMR_DATLEN_Msk (0x1fu << SSC_RFMR_DATLEN_Pos) /**< \brief (SSC_RFMR) Data Length */ -#define SSC_RFMR_DATLEN(value) ((SSC_RFMR_DATLEN_Msk & ((value) << SSC_RFMR_DATLEN_Pos))) -#define SSC_RFMR_LOOP (0x1u << 5) /**< \brief (SSC_RFMR) Loop Mode */ -#define SSC_RFMR_MSBF (0x1u << 7) /**< \brief (SSC_RFMR) Most Significant Bit First */ -#define SSC_RFMR_DATNB_Pos 8 -#define SSC_RFMR_DATNB_Msk (0xfu << SSC_RFMR_DATNB_Pos) /**< \brief (SSC_RFMR) Data Number per Frame */ -#define SSC_RFMR_DATNB(value) ((SSC_RFMR_DATNB_Msk & ((value) << SSC_RFMR_DATNB_Pos))) -#define SSC_RFMR_FSLEN_Pos 16 -#define SSC_RFMR_FSLEN_Msk (0xfu << SSC_RFMR_FSLEN_Pos) /**< \brief (SSC_RFMR) Receive Frame Sync Length */ -#define SSC_RFMR_FSLEN(value) ((SSC_RFMR_FSLEN_Msk & ((value) << SSC_RFMR_FSLEN_Pos))) -#define SSC_RFMR_FSOS_Pos 20 -#define SSC_RFMR_FSOS_Msk (0x7u << SSC_RFMR_FSOS_Pos) /**< \brief (SSC_RFMR) Receive Frame Sync Output Selection */ -#define SSC_RFMR_FSOS(value) ((SSC_RFMR_FSOS_Msk & ((value) << SSC_RFMR_FSOS_Pos))) -#define SSC_RFMR_FSOS_NONE (0x0u << 20) /**< \brief (SSC_RFMR) None, RF pin is an input */ -#define SSC_RFMR_FSOS_NEGATIVE (0x1u << 20) /**< \brief (SSC_RFMR) Negative Pulse, RF pin is an output */ -#define SSC_RFMR_FSOS_POSITIVE (0x2u << 20) /**< \brief (SSC_RFMR) Positive Pulse, RF pin is an output */ -#define SSC_RFMR_FSOS_LOW (0x3u << 20) /**< \brief (SSC_RFMR) Driven Low during data transfer, RF pin is an output */ -#define SSC_RFMR_FSOS_HIGH (0x4u << 20) /**< \brief (SSC_RFMR) Driven High during data transfer, RF pin is an output */ -#define SSC_RFMR_FSOS_TOGGLING (0x5u << 20) /**< \brief (SSC_RFMR) Toggling at each start of data transfer, RF pin is an output */ -#define SSC_RFMR_FSEDGE (0x1u << 24) /**< \brief (SSC_RFMR) Frame Sync Edge Detection */ -#define SSC_RFMR_FSEDGE_POSITIVE (0x0u << 24) /**< \brief (SSC_RFMR) Positive Edge Detection */ -#define SSC_RFMR_FSEDGE_NEGATIVE (0x1u << 24) /**< \brief (SSC_RFMR) Negative Edge Detection */ -#define SSC_RFMR_FSLEN_EXT_Pos 28 -#define SSC_RFMR_FSLEN_EXT_Msk (0xfu << SSC_RFMR_FSLEN_EXT_Pos) /**< \brief (SSC_RFMR) FSLEN Field Extension */ -#define SSC_RFMR_FSLEN_EXT(value) ((SSC_RFMR_FSLEN_EXT_Msk & ((value) << SSC_RFMR_FSLEN_EXT_Pos))) -/* -------- SSC_TCMR : (SSC Offset: 0x18) Transmit Clock Mode Register -------- */ -#define SSC_TCMR_CKS_Pos 0 -#define SSC_TCMR_CKS_Msk (0x3u << SSC_TCMR_CKS_Pos) /**< \brief (SSC_TCMR) Transmit Clock Selection */ -#define SSC_TCMR_CKS(value) ((SSC_TCMR_CKS_Msk & ((value) << SSC_TCMR_CKS_Pos))) -#define SSC_TCMR_CKS_MCK (0x0u << 0) /**< \brief (SSC_TCMR) Divided Clock */ -#define SSC_TCMR_CKS_RK (0x1u << 0) /**< \brief (SSC_TCMR) RK Clock signal */ -#define SSC_TCMR_CKS_TK (0x2u << 0) /**< \brief (SSC_TCMR) TK pin */ -#define SSC_TCMR_CKO_Pos 2 -#define SSC_TCMR_CKO_Msk (0x7u << SSC_TCMR_CKO_Pos) /**< \brief (SSC_TCMR) Transmit Clock Output Mode Selection */ -#define SSC_TCMR_CKO(value) ((SSC_TCMR_CKO_Msk & ((value) << SSC_TCMR_CKO_Pos))) -#define SSC_TCMR_CKO_NONE (0x0u << 2) /**< \brief (SSC_TCMR) None, TK pin is an input */ -#define SSC_TCMR_CKO_CONTINUOUS (0x1u << 2) /**< \brief (SSC_TCMR) Continuous Transmit Clock, TK pin is an output */ -#define SSC_TCMR_CKO_TRANSFER (0x2u << 2) /**< \brief (SSC_TCMR) Transmit Clock only during data transfers, TK pin is an output */ -#define SSC_TCMR_CKI (0x1u << 5) /**< \brief (SSC_TCMR) Transmit Clock Inversion */ -#define SSC_TCMR_CKG_Pos 6 -#define SSC_TCMR_CKG_Msk (0x3u << SSC_TCMR_CKG_Pos) /**< \brief (SSC_TCMR) Transmit Clock Gating Selection */ -#define SSC_TCMR_CKG(value) ((SSC_TCMR_CKG_Msk & ((value) << SSC_TCMR_CKG_Pos))) -#define SSC_TCMR_CKG_CONTINUOUS (0x0u << 6) /**< \brief (SSC_TCMR) None */ -#define SSC_TCMR_CKG_EN_TF_LOW (0x1u << 6) /**< \brief (SSC_TCMR) Transmit Clock enabled only if TF Low */ -#define SSC_TCMR_CKG_EN_TF_HIGH (0x2u << 6) /**< \brief (SSC_TCMR) Transmit Clock enabled only if TF High */ -#define SSC_TCMR_START_Pos 8 -#define SSC_TCMR_START_Msk (0xfu << SSC_TCMR_START_Pos) /**< \brief (SSC_TCMR) Transmit Start Selection */ -#define SSC_TCMR_START(value) ((SSC_TCMR_START_Msk & ((value) << SSC_TCMR_START_Pos))) -#define SSC_TCMR_START_CONTINUOUS (0x0u << 8) /**< \brief (SSC_TCMR) Continuous, as soon as a word is written in the SSC_THR (if Transmit is enabled), and immediately after the end of transfer of the previous data */ -#define SSC_TCMR_START_RECEIVE (0x1u << 8) /**< \brief (SSC_TCMR) Receive start */ -#define SSC_TCMR_START_TF_LOW (0x2u << 8) /**< \brief (SSC_TCMR) Detection of a low level on TF signal */ -#define SSC_TCMR_START_TF_HIGH (0x3u << 8) /**< \brief (SSC_TCMR) Detection of a high level on TF signal */ -#define SSC_TCMR_START_TF_FALLING (0x4u << 8) /**< \brief (SSC_TCMR) Detection of a falling edge on TF signal */ -#define SSC_TCMR_START_TF_RISING (0x5u << 8) /**< \brief (SSC_TCMR) Detection of a rising edge on TF signal */ -#define SSC_TCMR_START_TF_LEVEL (0x6u << 8) /**< \brief (SSC_TCMR) Detection of any level change on TF signal */ -#define SSC_TCMR_START_TF_EDGE (0x7u << 8) /**< \brief (SSC_TCMR) Detection of any edge on TF signal */ -#define SSC_TCMR_STTDLY_Pos 16 -#define SSC_TCMR_STTDLY_Msk (0xffu << SSC_TCMR_STTDLY_Pos) /**< \brief (SSC_TCMR) Transmit Start Delay */ -#define SSC_TCMR_STTDLY(value) ((SSC_TCMR_STTDLY_Msk & ((value) << SSC_TCMR_STTDLY_Pos))) -#define SSC_TCMR_PERIOD_Pos 24 -#define SSC_TCMR_PERIOD_Msk (0xffu << SSC_TCMR_PERIOD_Pos) /**< \brief (SSC_TCMR) Transmit Period Divider Selection */ -#define SSC_TCMR_PERIOD(value) ((SSC_TCMR_PERIOD_Msk & ((value) << SSC_TCMR_PERIOD_Pos))) -/* -------- SSC_TFMR : (SSC Offset: 0x1C) Transmit Frame Mode Register -------- */ -#define SSC_TFMR_DATLEN_Pos 0 -#define SSC_TFMR_DATLEN_Msk (0x1fu << SSC_TFMR_DATLEN_Pos) /**< \brief (SSC_TFMR) Data Length */ -#define SSC_TFMR_DATLEN(value) ((SSC_TFMR_DATLEN_Msk & ((value) << SSC_TFMR_DATLEN_Pos))) -#define SSC_TFMR_DATDEF (0x1u << 5) /**< \brief (SSC_TFMR) Data Default Value */ -#define SSC_TFMR_MSBF (0x1u << 7) /**< \brief (SSC_TFMR) Most Significant Bit First */ -#define SSC_TFMR_DATNB_Pos 8 -#define SSC_TFMR_DATNB_Msk (0xfu << SSC_TFMR_DATNB_Pos) /**< \brief (SSC_TFMR) Data Number per Frame */ -#define SSC_TFMR_DATNB(value) ((SSC_TFMR_DATNB_Msk & ((value) << SSC_TFMR_DATNB_Pos))) -#define SSC_TFMR_FSLEN_Pos 16 -#define SSC_TFMR_FSLEN_Msk (0xfu << SSC_TFMR_FSLEN_Pos) /**< \brief (SSC_TFMR) Transmit Frame Sync Length */ -#define SSC_TFMR_FSLEN(value) ((SSC_TFMR_FSLEN_Msk & ((value) << SSC_TFMR_FSLEN_Pos))) -#define SSC_TFMR_FSOS_Pos 20 -#define SSC_TFMR_FSOS_Msk (0x7u << SSC_TFMR_FSOS_Pos) /**< \brief (SSC_TFMR) Transmit Frame Sync Output Selection */ -#define SSC_TFMR_FSOS(value) ((SSC_TFMR_FSOS_Msk & ((value) << SSC_TFMR_FSOS_Pos))) -#define SSC_TFMR_FSOS_NONE (0x0u << 20) /**< \brief (SSC_TFMR) None, TF pin is an input */ -#define SSC_TFMR_FSOS_NEGATIVE (0x1u << 20) /**< \brief (SSC_TFMR) Negative Pulse, TF pin is an output */ -#define SSC_TFMR_FSOS_POSITIVE (0x2u << 20) /**< \brief (SSC_TFMR) Positive Pulse, TF pin is an output */ -#define SSC_TFMR_FSOS_LOW (0x3u << 20) /**< \brief (SSC_TFMR) Driven Low during data transfer */ -#define SSC_TFMR_FSOS_HIGH (0x4u << 20) /**< \brief (SSC_TFMR) Driven High during data transfer */ -#define SSC_TFMR_FSOS_TOGGLING (0x5u << 20) /**< \brief (SSC_TFMR) Toggling at each start of data transfer */ -#define SSC_TFMR_FSDEN (0x1u << 23) /**< \brief (SSC_TFMR) Frame Sync Data Enable */ -#define SSC_TFMR_FSEDGE (0x1u << 24) /**< \brief (SSC_TFMR) Frame Sync Edge Detection */ -#define SSC_TFMR_FSEDGE_POSITIVE (0x0u << 24) /**< \brief (SSC_TFMR) Positive Edge Detection */ -#define SSC_TFMR_FSEDGE_NEGATIVE (0x1u << 24) /**< \brief (SSC_TFMR) Negative Edge Detection */ -#define SSC_TFMR_FSLEN_EXT_Pos 28 -#define SSC_TFMR_FSLEN_EXT_Msk (0xfu << SSC_TFMR_FSLEN_EXT_Pos) /**< \brief (SSC_TFMR) FSLEN Field Extension */ -#define SSC_TFMR_FSLEN_EXT(value) ((SSC_TFMR_FSLEN_EXT_Msk & ((value) << SSC_TFMR_FSLEN_EXT_Pos))) -/* -------- SSC_RHR : (SSC Offset: 0x20) Receive Holding Register -------- */ -#define SSC_RHR_RDAT_Pos 0 -#define SSC_RHR_RDAT_Msk (0xffffffffu << SSC_RHR_RDAT_Pos) /**< \brief (SSC_RHR) Receive Data */ -/* -------- SSC_THR : (SSC Offset: 0x24) Transmit Holding Register -------- */ -#define SSC_THR_TDAT_Pos 0 -#define SSC_THR_TDAT_Msk (0xffffffffu << SSC_THR_TDAT_Pos) /**< \brief (SSC_THR) Transmit Data */ -#define SSC_THR_TDAT(value) ((SSC_THR_TDAT_Msk & ((value) << SSC_THR_TDAT_Pos))) -/* -------- SSC_RSHR : (SSC Offset: 0x30) Receive Sync. Holding Register -------- */ -#define SSC_RSHR_RSDAT_Pos 0 -#define SSC_RSHR_RSDAT_Msk (0xffffu << SSC_RSHR_RSDAT_Pos) /**< \brief (SSC_RSHR) Receive Synchronization Data */ -/* -------- SSC_TSHR : (SSC Offset: 0x34) Transmit Sync. Holding Register -------- */ -#define SSC_TSHR_TSDAT_Pos 0 -#define SSC_TSHR_TSDAT_Msk (0xffffu << SSC_TSHR_TSDAT_Pos) /**< \brief (SSC_TSHR) Transmit Synchronization Data */ -#define SSC_TSHR_TSDAT(value) ((SSC_TSHR_TSDAT_Msk & ((value) << SSC_TSHR_TSDAT_Pos))) -/* -------- SSC_RC0R : (SSC Offset: 0x38) Receive Compare 0 Register -------- */ -#define SSC_RC0R_CP0_Pos 0 -#define SSC_RC0R_CP0_Msk (0xffffu << SSC_RC0R_CP0_Pos) /**< \brief (SSC_RC0R) Receive Compare Data 0 */ -#define SSC_RC0R_CP0(value) ((SSC_RC0R_CP0_Msk & ((value) << SSC_RC0R_CP0_Pos))) -/* -------- SSC_RC1R : (SSC Offset: 0x3C) Receive Compare 1 Register -------- */ -#define SSC_RC1R_CP1_Pos 0 -#define SSC_RC1R_CP1_Msk (0xffffu << SSC_RC1R_CP1_Pos) /**< \brief (SSC_RC1R) Receive Compare Data 1 */ -#define SSC_RC1R_CP1(value) ((SSC_RC1R_CP1_Msk & ((value) << SSC_RC1R_CP1_Pos))) -/* -------- SSC_SR : (SSC Offset: 0x40) Status Register -------- */ -#define SSC_SR_TXRDY (0x1u << 0) /**< \brief (SSC_SR) Transmit Ready */ -#define SSC_SR_TXEMPTY (0x1u << 1) /**< \brief (SSC_SR) Transmit Empty */ -#define SSC_SR_RXRDY (0x1u << 4) /**< \brief (SSC_SR) Receive Ready */ -#define SSC_SR_OVRUN (0x1u << 5) /**< \brief (SSC_SR) Receive Overrun */ -#define SSC_SR_CP0 (0x1u << 8) /**< \brief (SSC_SR) Compare 0 */ -#define SSC_SR_CP1 (0x1u << 9) /**< \brief (SSC_SR) Compare 1 */ -#define SSC_SR_TXSYN (0x1u << 10) /**< \brief (SSC_SR) Transmit Sync */ -#define SSC_SR_RXSYN (0x1u << 11) /**< \brief (SSC_SR) Receive Sync */ -#define SSC_SR_TXEN (0x1u << 16) /**< \brief (SSC_SR) Transmit Enable */ -#define SSC_SR_RXEN (0x1u << 17) /**< \brief (SSC_SR) Receive Enable */ -/* -------- SSC_IER : (SSC Offset: 0x44) Interrupt Enable Register -------- */ -#define SSC_IER_TXRDY (0x1u << 0) /**< \brief (SSC_IER) Transmit Ready Interrupt Enable */ -#define SSC_IER_TXEMPTY (0x1u << 1) /**< \brief (SSC_IER) Transmit Empty Interrupt Enable */ -#define SSC_IER_RXRDY (0x1u << 4) /**< \brief (SSC_IER) Receive Ready Interrupt Enable */ -#define SSC_IER_OVRUN (0x1u << 5) /**< \brief (SSC_IER) Receive Overrun Interrupt Enable */ -#define SSC_IER_CP0 (0x1u << 8) /**< \brief (SSC_IER) Compare 0 Interrupt Enable */ -#define SSC_IER_CP1 (0x1u << 9) /**< \brief (SSC_IER) Compare 1 Interrupt Enable */ -#define SSC_IER_TXSYN (0x1u << 10) /**< \brief (SSC_IER) Tx Sync Interrupt Enable */ -#define SSC_IER_RXSYN (0x1u << 11) /**< \brief (SSC_IER) Rx Sync Interrupt Enable */ -/* -------- SSC_IDR : (SSC Offset: 0x48) Interrupt Disable Register -------- */ -#define SSC_IDR_TXRDY (0x1u << 0) /**< \brief (SSC_IDR) Transmit Ready Interrupt Disable */ -#define SSC_IDR_TXEMPTY (0x1u << 1) /**< \brief (SSC_IDR) Transmit Empty Interrupt Disable */ -#define SSC_IDR_RXRDY (0x1u << 4) /**< \brief (SSC_IDR) Receive Ready Interrupt Disable */ -#define SSC_IDR_OVRUN (0x1u << 5) /**< \brief (SSC_IDR) Receive Overrun Interrupt Disable */ -#define SSC_IDR_CP0 (0x1u << 8) /**< \brief (SSC_IDR) Compare 0 Interrupt Disable */ -#define SSC_IDR_CP1 (0x1u << 9) /**< \brief (SSC_IDR) Compare 1 Interrupt Disable */ -#define SSC_IDR_TXSYN (0x1u << 10) /**< \brief (SSC_IDR) Tx Sync Interrupt Enable */ -#define SSC_IDR_RXSYN (0x1u << 11) /**< \brief (SSC_IDR) Rx Sync Interrupt Enable */ -/* -------- SSC_IMR : (SSC Offset: 0x4C) Interrupt Mask Register -------- */ -#define SSC_IMR_TXRDY (0x1u << 0) /**< \brief (SSC_IMR) Transmit Ready Interrupt Mask */ -#define SSC_IMR_TXEMPTY (0x1u << 1) /**< \brief (SSC_IMR) Transmit Empty Interrupt Mask */ -#define SSC_IMR_RXRDY (0x1u << 4) /**< \brief (SSC_IMR) Receive Ready Interrupt Mask */ -#define SSC_IMR_OVRUN (0x1u << 5) /**< \brief (SSC_IMR) Receive Overrun Interrupt Mask */ -#define SSC_IMR_CP0 (0x1u << 8) /**< \brief (SSC_IMR) Compare 0 Interrupt Mask */ -#define SSC_IMR_CP1 (0x1u << 9) /**< \brief (SSC_IMR) Compare 1 Interrupt Mask */ -#define SSC_IMR_TXSYN (0x1u << 10) /**< \brief (SSC_IMR) Tx Sync Interrupt Mask */ -#define SSC_IMR_RXSYN (0x1u << 11) /**< \brief (SSC_IMR) Rx Sync Interrupt Mask */ -/* -------- SSC_WPMR : (SSC Offset: 0xE4) Write Protection Mode Register -------- */ -#define SSC_WPMR_WPEN (0x1u << 0) /**< \brief (SSC_WPMR) Write Protection Enable */ -#define SSC_WPMR_WPKEY_Pos 8 -#define SSC_WPMR_WPKEY_Msk (0xffffffu << SSC_WPMR_WPKEY_Pos) /**< \brief (SSC_WPMR) Write Protection Key */ -#define SSC_WPMR_WPKEY(value) ((SSC_WPMR_WPKEY_Msk & ((value) << SSC_WPMR_WPKEY_Pos))) -#define SSC_WPMR_WPKEY_PASSWD (0x535343u << 8) /**< \brief (SSC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- SSC_WPSR : (SSC Offset: 0xE8) Write Protection Status Register -------- */ -#define SSC_WPSR_WPVS (0x1u << 0) /**< \brief (SSC_WPSR) Write Protection Violation Status */ -#define SSC_WPSR_WPVSRC_Pos 8 -#define SSC_WPSR_WPVSRC_Msk (0xffffu << SSC_WPSR_WPVSRC_Pos) /**< \brief (SSC_WPSR) Write Protect Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_SSC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h deleted file mode 100644 index 6e10ef4..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h +++ /dev/null @@ -1,310 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SUPC_COMPONENT_ -#define _SAMS70_SUPC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Supply Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SUPC Supply Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Supc hardware registers */ -typedef struct { - __O uint32_t SUPC_CR; /**< \brief (Supc Offset: 0x00) Supply Controller Control Register */ - __IO uint32_t SUPC_SMMR; /**< \brief (Supc Offset: 0x04) Supply Controller Supply Monitor Mode Register */ - __IO uint32_t SUPC_MR; /**< \brief (Supc Offset: 0x08) Supply Controller Mode Register */ - __IO uint32_t SUPC_WUMR; /**< \brief (Supc Offset: 0x0C) Supply Controller Wake-up Mode Register */ - __IO uint32_t SUPC_WUIR; /**< \brief (Supc Offset: 0x10) Supply Controller Wake-up Inputs Register */ - __I uint32_t SUPC_SR; /**< \brief (Supc Offset: 0x14) Supply Controller Status Register */ -} Supc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SUPC_CR : (SUPC Offset: 0x00) Supply Controller Control Register -------- */ -#define SUPC_CR_VROFF (0x1u << 2) /**< \brief (SUPC_CR) Voltage Regulator Off */ -#define SUPC_CR_VROFF_NO_EFFECT (0x0u << 2) /**< \brief (SUPC_CR) No effect. */ -#define SUPC_CR_VROFF_STOP_VREG (0x1u << 2) /**< \brief (SUPC_CR) If KEY is correct, VROFF asserts the vddcore_nreset and stops the voltage regulator. */ -#define SUPC_CR_XTALSEL (0x1u << 3) /**< \brief (SUPC_CR) Crystal Oscillator Select */ -#define SUPC_CR_XTALSEL_NO_EFFECT (0x0u << 3) /**< \brief (SUPC_CR) No effect. */ -#define SUPC_CR_XTALSEL_CRYSTAL_SEL (0x1u << 3) /**< \brief (SUPC_CR) If KEY is correct, XTALSEL switches the slow clock on the crystal oscillator output. */ -#define SUPC_CR_KEY_Pos 24 -#define SUPC_CR_KEY_Msk (0xffu << SUPC_CR_KEY_Pos) /**< \brief (SUPC_CR) Password */ -#define SUPC_CR_KEY(value) ((SUPC_CR_KEY_Msk & ((value) << SUPC_CR_KEY_Pos))) -#define SUPC_CR_KEY_PASSWD (0xA5u << 24) /**< \brief (SUPC_CR) Writing any other value in this field aborts the write operation. */ -/* -------- SUPC_SMMR : (SUPC Offset: 0x04) Supply Controller Supply Monitor Mode Register -------- */ -#define SUPC_SMMR_SMTH_Pos 0 -#define SUPC_SMMR_SMTH_Msk (0xfu << SUPC_SMMR_SMTH_Pos) /**< \brief (SUPC_SMMR) Supply Monitor Threshold */ -#define SUPC_SMMR_SMTH(value) ((SUPC_SMMR_SMTH_Msk & ((value) << SUPC_SMMR_SMTH_Pos))) -#define SUPC_SMMR_SMSMPL_Pos 8 -#define SUPC_SMMR_SMSMPL_Msk (0x7u << SUPC_SMMR_SMSMPL_Pos) /**< \brief (SUPC_SMMR) Supply Monitor Sampling Period */ -#define SUPC_SMMR_SMSMPL(value) ((SUPC_SMMR_SMSMPL_Msk & ((value) << SUPC_SMMR_SMSMPL_Pos))) -#define SUPC_SMMR_SMSMPL_SMD (0x0u << 8) /**< \brief (SUPC_SMMR) Supply Monitor disabled */ -#define SUPC_SMMR_SMSMPL_CSM (0x1u << 8) /**< \brief (SUPC_SMMR) Continuous Supply Monitor */ -#define SUPC_SMMR_SMSMPL_32SLCK (0x2u << 8) /**< \brief (SUPC_SMMR) Supply Monitor enabled one SLCK period every 32 SLCK periods */ -#define SUPC_SMMR_SMSMPL_256SLCK (0x3u << 8) /**< \brief (SUPC_SMMR) Supply Monitor enabled one SLCK period every 256 SLCK periods */ -#define SUPC_SMMR_SMSMPL_2048SLCK (0x4u << 8) /**< \brief (SUPC_SMMR) Supply Monitor enabled one SLCK period every 2,048 SLCK periods */ -#define SUPC_SMMR_SMRSTEN (0x1u << 12) /**< \brief (SUPC_SMMR) Supply Monitor Reset Enable */ -#define SUPC_SMMR_SMRSTEN_NOT_ENABLE (0x0u << 12) /**< \brief (SUPC_SMMR) The core reset signal vddcore_nreset is not affected when a supply monitor detection occurs. */ -#define SUPC_SMMR_SMRSTEN_ENABLE (0x1u << 12) /**< \brief (SUPC_SMMR) The core reset signal, vddcore_nreset is asserted when a supply monitor detection occurs. */ -#define SUPC_SMMR_SMIEN (0x1u << 13) /**< \brief (SUPC_SMMR) Supply Monitor Interrupt Enable */ -#define SUPC_SMMR_SMIEN_NOT_ENABLE (0x0u << 13) /**< \brief (SUPC_SMMR) The SUPC interrupt signal is not affected when a supply monitor detection occurs. */ -#define SUPC_SMMR_SMIEN_ENABLE (0x1u << 13) /**< \brief (SUPC_SMMR) The SUPC interrupt signal is asserted when a supply monitor detection occurs. */ -/* -------- SUPC_MR : (SUPC Offset: 0x08) Supply Controller Mode Register -------- */ -#define SUPC_MR_BODRSTEN (0x1u << 12) /**< \brief (SUPC_MR) Brownout Detector Reset Enable */ -#define SUPC_MR_BODRSTEN_NOT_ENABLE (0x0u << 12) /**< \brief (SUPC_MR) The core reset signal vddcore_nreset is not affected when a brownout detection occurs. */ -#define SUPC_MR_BODRSTEN_ENABLE (0x1u << 12) /**< \brief (SUPC_MR) The core reset signal, vddcore_nreset is asserted when a brownout detection occurs. */ -#define SUPC_MR_BODDIS (0x1u << 13) /**< \brief (SUPC_MR) Brownout Detector Disable */ -#define SUPC_MR_BODDIS_ENABLE (0x0u << 13) /**< \brief (SUPC_MR) The core brownout detector is enabled. */ -#define SUPC_MR_BODDIS_DISABLE (0x1u << 13) /**< \brief (SUPC_MR) The core brownout detector is disabled. */ -#define SUPC_MR_ONREG (0x1u << 14) /**< \brief (SUPC_MR) Voltage Regulator Enable */ -#define SUPC_MR_ONREG_ONREG_UNUSED (0x0u << 14) /**< \brief (SUPC_MR) Internal voltage regulator is not used (external power supply is used). */ -#define SUPC_MR_ONREG_ONREG_USED (0x1u << 14) /**< \brief (SUPC_MR) Internal voltage regulator is used. */ -#define SUPC_MR_BKUPRETON (0x1u << 17) /**< \brief (SUPC_MR) SRAM On In Backup Mode */ -#define SUPC_MR_OSCBYPASS (0x1u << 20) /**< \brief (SUPC_MR) Oscillator Bypass */ -#define SUPC_MR_OSCBYPASS_NO_EFFECT (0x0u << 20) /**< \brief (SUPC_MR) No effect. Clock selection depends on the value of XTALSEL (SUPC_CR). */ -#define SUPC_MR_OSCBYPASS_BYPASS (0x1u << 20) /**< \brief (SUPC_MR) The 32 kHz crystal oscillator is bypassed if XTALSEL (SUPC_CR) is set. OSCBYPASS must be set prior to setting XTALSEL. */ -#define SUPC_MR_KEY_Pos 24 -#define SUPC_MR_KEY_Msk (0xffu << SUPC_MR_KEY_Pos) /**< \brief (SUPC_MR) Password Key */ -#define SUPC_MR_KEY(value) ((SUPC_MR_KEY_Msk & ((value) << SUPC_MR_KEY_Pos))) -#define SUPC_MR_KEY_PASSWD (0xA5u << 24) /**< \brief (SUPC_MR) Writing any other value in this field aborts the write operation. */ -/* -------- SUPC_WUMR : (SUPC Offset: 0x0C) Supply Controller Wake-up Mode Register -------- */ -#define SUPC_WUMR_SMEN (0x1u << 1) /**< \brief (SUPC_WUMR) Supply Monitor Wake-up Enable */ -#define SUPC_WUMR_SMEN_NOT_ENABLE (0x0u << 1) /**< \brief (SUPC_WUMR) The supply monitor detection has no wake-up effect. */ -#define SUPC_WUMR_SMEN_ENABLE (0x1u << 1) /**< \brief (SUPC_WUMR) The supply monitor detection forces the wake-up of the core power supply. */ -#define SUPC_WUMR_RTTEN (0x1u << 2) /**< \brief (SUPC_WUMR) Real-time Timer Wake-up Enable */ -#define SUPC_WUMR_RTTEN_NOT_ENABLE (0x0u << 2) /**< \brief (SUPC_WUMR) The RTT alarm signal has no wake-up effect. */ -#define SUPC_WUMR_RTTEN_ENABLE (0x1u << 2) /**< \brief (SUPC_WUMR) The RTT alarm signal forces the wake-up of the core power supply. */ -#define SUPC_WUMR_RTCEN (0x1u << 3) /**< \brief (SUPC_WUMR) Real-time Clock Wake-up Enable */ -#define SUPC_WUMR_RTCEN_NOT_ENABLE (0x0u << 3) /**< \brief (SUPC_WUMR) The RTC alarm signal has no wake-up effect. */ -#define SUPC_WUMR_RTCEN_ENABLE (0x1u << 3) /**< \brief (SUPC_WUMR) The RTC alarm signal forces the wake-up of the core power supply. */ -#define SUPC_WUMR_LPDBCEN0 (0x1u << 5) /**< \brief (SUPC_WUMR) Low-power Debouncer Enable WKUP0 */ -#define SUPC_WUMR_LPDBCEN0_NOT_ENABLE (0x0u << 5) /**< \brief (SUPC_WUMR) The WKUP0 input pin is not connected to the low-power debouncer. */ -#define SUPC_WUMR_LPDBCEN0_ENABLE (0x1u << 5) /**< \brief (SUPC_WUMR) The WKUP0 input pin is connected to the low-power debouncer and forces a system wake-up. */ -#define SUPC_WUMR_LPDBCEN1 (0x1u << 6) /**< \brief (SUPC_WUMR) Low-power Debouncer Enable WKUP1 */ -#define SUPC_WUMR_LPDBCEN1_NOT_ENABLE (0x0u << 6) /**< \brief (SUPC_WUMR) The WKUP1 input pin is not connected to the low-power debouncer. */ -#define SUPC_WUMR_LPDBCEN1_ENABLE (0x1u << 6) /**< \brief (SUPC_WUMR) The WKUP1 input pin is connected to the low-power debouncer and forces a system wake-up. */ -#define SUPC_WUMR_LPDBCCLR (0x1u << 7) /**< \brief (SUPC_WUMR) Low-power Debouncer Clear */ -#define SUPC_WUMR_LPDBCCLR_NOT_ENABLE (0x0u << 7) /**< \brief (SUPC_WUMR) A low-power debounce event does not create an immediate clear on the first half of GPBR registers. */ -#define SUPC_WUMR_LPDBCCLR_ENABLE (0x1u << 7) /**< \brief (SUPC_WUMR) A low-power debounce event on WKUP0 or WKUP1 generates an immediate clear on the first half of GPBR registers. */ -#define SUPC_WUMR_WKUPDBC_Pos 12 -#define SUPC_WUMR_WKUPDBC_Msk (0x7u << SUPC_WUMR_WKUPDBC_Pos) /**< \brief (SUPC_WUMR) Wake-up Inputs Debouncer Period */ -#define SUPC_WUMR_WKUPDBC(value) ((SUPC_WUMR_WKUPDBC_Msk & ((value) << SUPC_WUMR_WKUPDBC_Pos))) -#define SUPC_WUMR_WKUPDBC_IMMEDIATE (0x0u << 12) /**< \brief (SUPC_WUMR) Immediate, no debouncing, detected active at least on one Slow Clock edge. */ -#define SUPC_WUMR_WKUPDBC_3_SLCK (0x1u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 3 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_32_SLCK (0x2u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 32 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_512_SLCK (0x3u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 512 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_4096_SLCK (0x4u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 4,096 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_32768_SLCK (0x5u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 32,768 SLCK periods */ -#define SUPC_WUMR_LPDBC_Pos 16 -#define SUPC_WUMR_LPDBC_Msk (0x7u << SUPC_WUMR_LPDBC_Pos) /**< \brief (SUPC_WUMR) Low-power Debouncer Period */ -#define SUPC_WUMR_LPDBC(value) ((SUPC_WUMR_LPDBC_Msk & ((value) << SUPC_WUMR_LPDBC_Pos))) -#define SUPC_WUMR_LPDBC_DISABLE (0x0u << 16) /**< \brief (SUPC_WUMR) Disable the low-power debouncers. */ -#define SUPC_WUMR_LPDBC_2_RTCOUT (0x1u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 2 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_3_RTCOUT (0x2u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 3 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_4_RTCOUT (0x3u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 4 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_5_RTCOUT (0x4u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 5 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_6_RTCOUT (0x5u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 6 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_7_RTCOUT (0x6u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 7 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_8_RTCOUT (0x7u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 8 RTCOUTx clock periods */ -/* -------- SUPC_WUIR : (SUPC Offset: 0x10) Supply Controller Wake-up Inputs Register -------- */ -#define SUPC_WUIR_WKUPEN0 (0x1u << 0) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 0 */ -#define SUPC_WUIR_WKUPEN0_DISABLE (0x0u << 0) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN0_ENABLE (0x1u << 0) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN1 (0x1u << 1) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 1 */ -#define SUPC_WUIR_WKUPEN1_DISABLE (0x0u << 1) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN1_ENABLE (0x1u << 1) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN2 (0x1u << 2) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 2 */ -#define SUPC_WUIR_WKUPEN2_DISABLE (0x0u << 2) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN2_ENABLE (0x1u << 2) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN3 (0x1u << 3) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 3 */ -#define SUPC_WUIR_WKUPEN3_DISABLE (0x0u << 3) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN3_ENABLE (0x1u << 3) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN4 (0x1u << 4) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 4 */ -#define SUPC_WUIR_WKUPEN4_DISABLE (0x0u << 4) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN4_ENABLE (0x1u << 4) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN5 (0x1u << 5) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 5 */ -#define SUPC_WUIR_WKUPEN5_DISABLE (0x0u << 5) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN5_ENABLE (0x1u << 5) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN6 (0x1u << 6) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 6 */ -#define SUPC_WUIR_WKUPEN6_DISABLE (0x0u << 6) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN6_ENABLE (0x1u << 6) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN7 (0x1u << 7) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 7 */ -#define SUPC_WUIR_WKUPEN7_DISABLE (0x0u << 7) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN7_ENABLE (0x1u << 7) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN8 (0x1u << 8) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 8 */ -#define SUPC_WUIR_WKUPEN8_DISABLE (0x0u << 8) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN8_ENABLE (0x1u << 8) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN9 (0x1u << 9) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 9 */ -#define SUPC_WUIR_WKUPEN9_DISABLE (0x0u << 9) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN9_ENABLE (0x1u << 9) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN10 (0x1u << 10) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 10 */ -#define SUPC_WUIR_WKUPEN10_DISABLE (0x0u << 10) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN10_ENABLE (0x1u << 10) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN11 (0x1u << 11) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 11 */ -#define SUPC_WUIR_WKUPEN11_DISABLE (0x0u << 11) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN11_ENABLE (0x1u << 11) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN12 (0x1u << 12) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 12 */ -#define SUPC_WUIR_WKUPEN12_DISABLE (0x0u << 12) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN12_ENABLE (0x1u << 12) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN13 (0x1u << 13) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 13 */ -#define SUPC_WUIR_WKUPEN13_DISABLE (0x0u << 13) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN13_ENABLE (0x1u << 13) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT0 (0x1u << 16) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 0 */ -#define SUPC_WUIR_WKUPT0_LOW (0x0u << 16) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT0_HIGH (0x1u << 16) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT1 (0x1u << 17) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 1 */ -#define SUPC_WUIR_WKUPT1_LOW (0x0u << 17) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT1_HIGH (0x1u << 17) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT2 (0x1u << 18) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 2 */ -#define SUPC_WUIR_WKUPT2_LOW (0x0u << 18) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT2_HIGH (0x1u << 18) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT3 (0x1u << 19) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 3 */ -#define SUPC_WUIR_WKUPT3_LOW (0x0u << 19) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT3_HIGH (0x1u << 19) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT4 (0x1u << 20) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 4 */ -#define SUPC_WUIR_WKUPT4_LOW (0x0u << 20) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT4_HIGH (0x1u << 20) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT5 (0x1u << 21) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 5 */ -#define SUPC_WUIR_WKUPT5_LOW (0x0u << 21) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT5_HIGH (0x1u << 21) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT6 (0x1u << 22) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 6 */ -#define SUPC_WUIR_WKUPT6_LOW (0x0u << 22) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT6_HIGH (0x1u << 22) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT7 (0x1u << 23) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 7 */ -#define SUPC_WUIR_WKUPT7_LOW (0x0u << 23) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT7_HIGH (0x1u << 23) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT8 (0x1u << 24) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 8 */ -#define SUPC_WUIR_WKUPT8_LOW (0x0u << 24) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT8_HIGH (0x1u << 24) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT9 (0x1u << 25) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 9 */ -#define SUPC_WUIR_WKUPT9_LOW (0x0u << 25) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT9_HIGH (0x1u << 25) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT10 (0x1u << 26) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 10 */ -#define SUPC_WUIR_WKUPT10_LOW (0x0u << 26) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT10_HIGH (0x1u << 26) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT11 (0x1u << 27) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 11 */ -#define SUPC_WUIR_WKUPT11_LOW (0x0u << 27) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT11_HIGH (0x1u << 27) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT12 (0x1u << 28) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 12 */ -#define SUPC_WUIR_WKUPT12_LOW (0x0u << 28) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT12_HIGH (0x1u << 28) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT13 (0x1u << 29) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 13 */ -#define SUPC_WUIR_WKUPT13_LOW (0x0u << 29) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT13_HIGH (0x1u << 29) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -/* -------- SUPC_SR : (SUPC Offset: 0x14) Supply Controller Status Register -------- */ -#define SUPC_SR_WKUPS (0x1u << 1) /**< \brief (SUPC_SR) WKUP Wake-up Status (cleared on read) */ -#define SUPC_SR_WKUPS_NO (0x0u << 1) /**< \brief (SUPC_SR) No wake-up due to the assertion of the WKUP pins has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPS_PRESENT (0x1u << 1) /**< \brief (SUPC_SR) At least one wake-up due to the assertion of the WKUP pins has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_SMWS (0x1u << 2) /**< \brief (SUPC_SR) Supply Monitor Detection Wake-up Status (cleared on read) */ -#define SUPC_SR_SMWS_NO (0x0u << 2) /**< \brief (SUPC_SR) No wake-up due to a supply monitor detection has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_SMWS_PRESENT (0x1u << 2) /**< \brief (SUPC_SR) At least one wake-up due to a supply monitor detection has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_BODRSTS (0x1u << 3) /**< \brief (SUPC_SR) Brownout Detector Reset Status (cleared on read) */ -#define SUPC_SR_BODRSTS_NO (0x0u << 3) /**< \brief (SUPC_SR) No core brownout rising edge event has been detected since the last read of the SUPC_SR. */ -#define SUPC_SR_BODRSTS_PRESENT (0x1u << 3) /**< \brief (SUPC_SR) At least one brownout output rising edge event has been detected since the last read of the SUPC_SR. */ -#define SUPC_SR_SMRSTS (0x1u << 4) /**< \brief (SUPC_SR) Supply Monitor Reset Status (cleared on read) */ -#define SUPC_SR_SMRSTS_NO (0x0u << 4) /**< \brief (SUPC_SR) No supply monitor detection has generated a core reset since the last read of the SUPC_SR. */ -#define SUPC_SR_SMRSTS_PRESENT (0x1u << 4) /**< \brief (SUPC_SR) At least one supply monitor detection has generated a core reset since the last read of the SUPC_SR. */ -#define SUPC_SR_SMS (0x1u << 5) /**< \brief (SUPC_SR) Supply Monitor Status (cleared on read) */ -#define SUPC_SR_SMS_NO (0x0u << 5) /**< \brief (SUPC_SR) No supply monitor detection since the last read of SUPC_SR. */ -#define SUPC_SR_SMS_PRESENT (0x1u << 5) /**< \brief (SUPC_SR) At least one supply monitor detection since the last read of SUPC_SR. */ -#define SUPC_SR_SMOS (0x1u << 6) /**< \brief (SUPC_SR) Supply Monitor Output Status */ -#define SUPC_SR_SMOS_HIGH (0x0u << 6) /**< \brief (SUPC_SR) The supply monitor detected VDDIO higher than its threshold at its last measurement. */ -#define SUPC_SR_SMOS_LOW (0x1u << 6) /**< \brief (SUPC_SR) The supply monitor detected VDDIO lower than its threshold at its last measurement. */ -#define SUPC_SR_OSCSEL (0x1u << 7) /**< \brief (SUPC_SR) 32-kHz Oscillator Selection Status */ -#define SUPC_SR_OSCSEL_RC (0x0u << 7) /**< \brief (SUPC_SR) The slow clock, SLCK, is generated by the embedded 32 kHz RC oscillator. */ -#define SUPC_SR_OSCSEL_CRYST (0x1u << 7) /**< \brief (SUPC_SR) The slow clock, SLCK, is generated by the 32 kHz crystal oscillator. */ -#define SUPC_SR_LPDBCS0 (0x1u << 13) /**< \brief (SUPC_SR) Low-power Debouncer Wake-up Status on WKUP0 (cleared on read) */ -#define SUPC_SR_LPDBCS0_NO (0x0u << 13) /**< \brief (SUPC_SR) No wake-up due to the assertion of the WKUP0 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_LPDBCS0_PRESENT (0x1u << 13) /**< \brief (SUPC_SR) At least one wake-up due to the assertion of the WKUP0 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_LPDBCS1 (0x1u << 14) /**< \brief (SUPC_SR) Low-power Debouncer Wake-up Status on WKUP1 (cleared on read) */ -#define SUPC_SR_LPDBCS1_NO (0x0u << 14) /**< \brief (SUPC_SR) No wake-up due to the assertion of the WKUP1 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_LPDBCS1_PRESENT (0x1u << 14) /**< \brief (SUPC_SR) At least one wake-up due to the assertion of the WKUP1 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS0 (0x1u << 16) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS0_DIS (0x0u << 16) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS0_EN (0x1u << 16) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS1 (0x1u << 17) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS1_DIS (0x0u << 17) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS1_EN (0x1u << 17) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS2 (0x1u << 18) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS2_DIS (0x0u << 18) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS2_EN (0x1u << 18) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS3 (0x1u << 19) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS3_DIS (0x0u << 19) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS3_EN (0x1u << 19) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS4 (0x1u << 20) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS4_DIS (0x0u << 20) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS4_EN (0x1u << 20) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS5 (0x1u << 21) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS5_DIS (0x0u << 21) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS5_EN (0x1u << 21) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS6 (0x1u << 22) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS6_DIS (0x0u << 22) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS6_EN (0x1u << 22) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS7 (0x1u << 23) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS7_DIS (0x0u << 23) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS7_EN (0x1u << 23) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS8 (0x1u << 24) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS8_DIS (0x0u << 24) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS8_EN (0x1u << 24) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS9 (0x1u << 25) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS9_DIS (0x0u << 25) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS9_EN (0x1u << 25) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS10 (0x1u << 26) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS10_DIS (0x0u << 26) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS10_EN (0x1u << 26) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS11 (0x1u << 27) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS11_DIS (0x0u << 27) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS11_EN (0x1u << 27) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS12 (0x1u << 28) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS12_DIS (0x0u << 28) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS12_EN (0x1u << 28) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS13 (0x1u << 29) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS13_DIS (0x0u << 29) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS13_EN (0x1u << 29) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ - -/*@}*/ - - -#endif /* _SAMS70_SUPC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h deleted file mode 100644 index 5969e8a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h +++ /dev/null @@ -1,361 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC_COMPONENT_ -#define _SAMS70_TC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Timer Counter */ -/* ============================================================================= */ -/** \addtogroup SAMS70_TC Timer Counter */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief TcChannel hardware registers */ -typedef struct { - __O uint32_t TC_CCR; /**< \brief (TcChannel Offset: 0x0) Channel Control Register */ - __IO uint32_t TC_CMR; /**< \brief (TcChannel Offset: 0x4) Channel Mode Register */ - __IO uint32_t TC_SMMR; /**< \brief (TcChannel Offset: 0x8) Stepper Motor Mode Register */ - __I uint32_t TC_RAB; /**< \brief (TcChannel Offset: 0xC) Register AB */ - __I uint32_t TC_CV; /**< \brief (TcChannel Offset: 0x10) Counter Value */ - __IO uint32_t TC_RA; /**< \brief (TcChannel Offset: 0x14) Register A */ - __IO uint32_t TC_RB; /**< \brief (TcChannel Offset: 0x18) Register B */ - __IO uint32_t TC_RC; /**< \brief (TcChannel Offset: 0x1C) Register C */ - __I uint32_t TC_SR; /**< \brief (TcChannel Offset: 0x20) Status Register */ - __O uint32_t TC_IER; /**< \brief (TcChannel Offset: 0x24) Interrupt Enable Register */ - __O uint32_t TC_IDR; /**< \brief (TcChannel Offset: 0x28) Interrupt Disable Register */ - __I uint32_t TC_IMR; /**< \brief (TcChannel Offset: 0x2C) Interrupt Mask Register */ - __IO uint32_t TC_EMR; /**< \brief (TcChannel Offset: 0x30) Extended Mode Register */ - __I uint32_t Reserved1[3]; -} TcChannel; -/** \brief Tc hardware registers */ -#define TCCHANNEL_NUMBER 3 -typedef struct { - TcChannel TC_CHANNEL[TCCHANNEL_NUMBER]; /**< \brief (Tc Offset: 0x0) channel = 0 .. 2 */ - __O uint32_t TC_BCR; /**< \brief (Tc Offset: 0xC0) Block Control Register */ - __IO uint32_t TC_BMR; /**< \brief (Tc Offset: 0xC4) Block Mode Register */ - __O uint32_t TC_QIER; /**< \brief (Tc Offset: 0xC8) QDEC Interrupt Enable Register */ - __O uint32_t TC_QIDR; /**< \brief (Tc Offset: 0xCC) QDEC Interrupt Disable Register */ - __I uint32_t TC_QIMR; /**< \brief (Tc Offset: 0xD0) QDEC Interrupt Mask Register */ - __I uint32_t TC_QISR; /**< \brief (Tc Offset: 0xD4) QDEC Interrupt Status Register */ - __IO uint32_t TC_FMR; /**< \brief (Tc Offset: 0xD8) Fault Mode Register */ - __I uint32_t Reserved1[2]; - __IO uint32_t TC_WPMR; /**< \brief (Tc Offset: 0xE4) Write Protection Mode Register */ -} Tc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- TC_CCR : (TC Offset: N/A) Channel Control Register -------- */ -#define TC_CCR_CLKEN (0x1u << 0) /**< \brief (TC_CCR) Counter Clock Enable Command */ -#define TC_CCR_CLKDIS (0x1u << 1) /**< \brief (TC_CCR) Counter Clock Disable Command */ -#define TC_CCR_SWTRG (0x1u << 2) /**< \brief (TC_CCR) Software Trigger Command */ -/* -------- TC_CMR : (TC Offset: N/A) Channel Mode Register -------- */ -#define TC_CMR_TCCLKS_Pos 0 -#define TC_CMR_TCCLKS_Msk (0x7u << TC_CMR_TCCLKS_Pos) /**< \brief (TC_CMR) Clock Selection */ -#define TC_CMR_TCCLKS(value) ((TC_CMR_TCCLKS_Msk & ((value) << TC_CMR_TCCLKS_Pos))) -#define TC_CMR_TCCLKS_TIMER_CLOCK1 (0x0u << 0) /**< \brief (TC_CMR) Clock selected: internal PCK6 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK2 (0x1u << 0) /**< \brief (TC_CMR) Clock selected: internal MCK/8 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK3 (0x2u << 0) /**< \brief (TC_CMR) Clock selected: internal MCK/32 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK4 (0x3u << 0) /**< \brief (TC_CMR) Clock selected: internal MCK/128 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK5 (0x4u << 0) /**< \brief (TC_CMR) Clock selected: internal SLCK clock signal (from PMC) */ -#define TC_CMR_TCCLKS_XC0 (0x5u << 0) /**< \brief (TC_CMR) Clock selected: XC0 */ -#define TC_CMR_TCCLKS_XC1 (0x6u << 0) /**< \brief (TC_CMR) Clock selected: XC1 */ -#define TC_CMR_TCCLKS_XC2 (0x7u << 0) /**< \brief (TC_CMR) Clock selected: XC2 */ -#define TC_CMR_CLKI (0x1u << 3) /**< \brief (TC_CMR) Clock Invert */ -#define TC_CMR_BURST_Pos 4 -#define TC_CMR_BURST_Msk (0x3u << TC_CMR_BURST_Pos) /**< \brief (TC_CMR) Burst Signal Selection */ -#define TC_CMR_BURST(value) ((TC_CMR_BURST_Msk & ((value) << TC_CMR_BURST_Pos))) -#define TC_CMR_BURST_NONE (0x0u << 4) /**< \brief (TC_CMR) The clock is not gated by an external signal. */ -#define TC_CMR_BURST_XC0 (0x1u << 4) /**< \brief (TC_CMR) XC0 is ANDed with the selected clock. */ -#define TC_CMR_BURST_XC1 (0x2u << 4) /**< \brief (TC_CMR) XC1 is ANDed with the selected clock. */ -#define TC_CMR_BURST_XC2 (0x3u << 4) /**< \brief (TC_CMR) XC2 is ANDed with the selected clock. */ -#define TC_CMR_LDBSTOP (0x1u << 6) /**< \brief (TC_CMR) Counter Clock Stopped with RB Loading */ -#define TC_CMR_LDBDIS (0x1u << 7) /**< \brief (TC_CMR) Counter Clock Disable with RB Loading */ -#define TC_CMR_ETRGEDG_Pos 8 -#define TC_CMR_ETRGEDG_Msk (0x3u << TC_CMR_ETRGEDG_Pos) /**< \brief (TC_CMR) External Trigger Edge Selection */ -#define TC_CMR_ETRGEDG(value) ((TC_CMR_ETRGEDG_Msk & ((value) << TC_CMR_ETRGEDG_Pos))) -#define TC_CMR_ETRGEDG_NONE (0x0u << 8) /**< \brief (TC_CMR) The clock is not gated by an external signal. */ -#define TC_CMR_ETRGEDG_RISING (0x1u << 8) /**< \brief (TC_CMR) Rising edge */ -#define TC_CMR_ETRGEDG_FALLING (0x2u << 8) /**< \brief (TC_CMR) Falling edge */ -#define TC_CMR_ETRGEDG_EDGE (0x3u << 8) /**< \brief (TC_CMR) Each edge */ -#define TC_CMR_ABETRG (0x1u << 10) /**< \brief (TC_CMR) TIOA or TIOB External Trigger Selection */ -#define TC_CMR_CPCTRG (0x1u << 14) /**< \brief (TC_CMR) RC Compare Trigger Enable */ -#define TC_CMR_WAVE (0x1u << 15) /**< \brief (TC_CMR) Waveform Mode */ -#define TC_CMR_LDRA_Pos 16 -#define TC_CMR_LDRA_Msk (0x3u << TC_CMR_LDRA_Pos) /**< \brief (TC_CMR) RA Loading Edge Selection */ -#define TC_CMR_LDRA(value) ((TC_CMR_LDRA_Msk & ((value) << TC_CMR_LDRA_Pos))) -#define TC_CMR_LDRA_NONE (0x0u << 16) /**< \brief (TC_CMR) None */ -#define TC_CMR_LDRA_RISING (0x1u << 16) /**< \brief (TC_CMR) Rising edge of TIOA */ -#define TC_CMR_LDRA_FALLING (0x2u << 16) /**< \brief (TC_CMR) Falling edge of TIOA */ -#define TC_CMR_LDRA_EDGE (0x3u << 16) /**< \brief (TC_CMR) Each edge of TIOA */ -#define TC_CMR_LDRB_Pos 18 -#define TC_CMR_LDRB_Msk (0x3u << TC_CMR_LDRB_Pos) /**< \brief (TC_CMR) RB Loading Edge Selection */ -#define TC_CMR_LDRB(value) ((TC_CMR_LDRB_Msk & ((value) << TC_CMR_LDRB_Pos))) -#define TC_CMR_LDRB_NONE (0x0u << 18) /**< \brief (TC_CMR) None */ -#define TC_CMR_LDRB_RISING (0x1u << 18) /**< \brief (TC_CMR) Rising edge of TIOA */ -#define TC_CMR_LDRB_FALLING (0x2u << 18) /**< \brief (TC_CMR) Falling edge of TIOA */ -#define TC_CMR_LDRB_EDGE (0x3u << 18) /**< \brief (TC_CMR) Each edge of TIOA */ -#define TC_CMR_SBSMPLR_Pos 20 -#define TC_CMR_SBSMPLR_Msk (0x7u << TC_CMR_SBSMPLR_Pos) /**< \brief (TC_CMR) Loading Edge Subsampling Ratio */ -#define TC_CMR_SBSMPLR(value) ((TC_CMR_SBSMPLR_Msk & ((value) << TC_CMR_SBSMPLR_Pos))) -#define TC_CMR_SBSMPLR_ONE (0x0u << 20) /**< \brief (TC_CMR) Load a Capture Register each selected edge */ -#define TC_CMR_SBSMPLR_HALF (0x1u << 20) /**< \brief (TC_CMR) Load a Capture Register every 2 selected edges */ -#define TC_CMR_SBSMPLR_FOURTH (0x2u << 20) /**< \brief (TC_CMR) Load a Capture Register every 4 selected edges */ -#define TC_CMR_SBSMPLR_EIGHTH (0x3u << 20) /**< \brief (TC_CMR) Load a Capture Register every 8 selected edges */ -#define TC_CMR_SBSMPLR_SIXTEENTH (0x4u << 20) /**< \brief (TC_CMR) Load a Capture Register every 16 selected edges */ -#define TC_CMR_CPCSTOP (0x1u << 6) /**< \brief (TC_CMR) Counter Clock Stopped with RC Compare */ -#define TC_CMR_CPCDIS (0x1u << 7) /**< \brief (TC_CMR) Counter Clock Disable with RC Compare */ -#define TC_CMR_EEVTEDG_Pos 8 -#define TC_CMR_EEVTEDG_Msk (0x3u << TC_CMR_EEVTEDG_Pos) /**< \brief (TC_CMR) External Event Edge Selection */ -#define TC_CMR_EEVTEDG(value) ((TC_CMR_EEVTEDG_Msk & ((value) << TC_CMR_EEVTEDG_Pos))) -#define TC_CMR_EEVTEDG_NONE (0x0u << 8) /**< \brief (TC_CMR) None */ -#define TC_CMR_EEVTEDG_RISING (0x1u << 8) /**< \brief (TC_CMR) Rising edge */ -#define TC_CMR_EEVTEDG_FALLING (0x2u << 8) /**< \brief (TC_CMR) Falling edge */ -#define TC_CMR_EEVTEDG_EDGE (0x3u << 8) /**< \brief (TC_CMR) Each edge */ -#define TC_CMR_EEVT_Pos 10 -#define TC_CMR_EEVT_Msk (0x3u << TC_CMR_EEVT_Pos) /**< \brief (TC_CMR) External Event Selection */ -#define TC_CMR_EEVT(value) ((TC_CMR_EEVT_Msk & ((value) << TC_CMR_EEVT_Pos))) -#define TC_CMR_EEVT_TIOB (0x0u << 10) /**< \brief (TC_CMR) TIOB */ -#define TC_CMR_EEVT_XC0 (0x1u << 10) /**< \brief (TC_CMR) XC0 */ -#define TC_CMR_EEVT_XC1 (0x2u << 10) /**< \brief (TC_CMR) XC1 */ -#define TC_CMR_EEVT_XC2 (0x3u << 10) /**< \brief (TC_CMR) XC2 */ -#define TC_CMR_ENETRG (0x1u << 12) /**< \brief (TC_CMR) External Event Trigger Enable */ -#define TC_CMR_WAVSEL_Pos 13 -#define TC_CMR_WAVSEL_Msk (0x3u << TC_CMR_WAVSEL_Pos) /**< \brief (TC_CMR) Waveform Selection */ -#define TC_CMR_WAVSEL(value) ((TC_CMR_WAVSEL_Msk & ((value) << TC_CMR_WAVSEL_Pos))) -#define TC_CMR_WAVSEL_UP (0x0u << 13) /**< \brief (TC_CMR) UP mode without automatic trigger on RC Compare */ -#define TC_CMR_WAVSEL_UPDOWN (0x1u << 13) /**< \brief (TC_CMR) UPDOWN mode without automatic trigger on RC Compare */ -#define TC_CMR_WAVSEL_UP_RC (0x2u << 13) /**< \brief (TC_CMR) UP mode with automatic trigger on RC Compare */ -#define TC_CMR_WAVSEL_UPDOWN_RC (0x3u << 13) /**< \brief (TC_CMR) UPDOWN mode with automatic trigger on RC Compare */ -#define TC_CMR_ACPA_Pos 16 -#define TC_CMR_ACPA_Msk (0x3u << TC_CMR_ACPA_Pos) /**< \brief (TC_CMR) RA Compare Effect on TIOA */ -#define TC_CMR_ACPA(value) ((TC_CMR_ACPA_Msk & ((value) << TC_CMR_ACPA_Pos))) -#define TC_CMR_ACPA_NONE (0x0u << 16) /**< \brief (TC_CMR) None */ -#define TC_CMR_ACPA_SET (0x1u << 16) /**< \brief (TC_CMR) Set */ -#define TC_CMR_ACPA_CLEAR (0x2u << 16) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_ACPA_TOGGLE (0x3u << 16) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_ACPC_Pos 18 -#define TC_CMR_ACPC_Msk (0x3u << TC_CMR_ACPC_Pos) /**< \brief (TC_CMR) RC Compare Effect on TIOA */ -#define TC_CMR_ACPC(value) ((TC_CMR_ACPC_Msk & ((value) << TC_CMR_ACPC_Pos))) -#define TC_CMR_ACPC_NONE (0x0u << 18) /**< \brief (TC_CMR) None */ -#define TC_CMR_ACPC_SET (0x1u << 18) /**< \brief (TC_CMR) Set */ -#define TC_CMR_ACPC_CLEAR (0x2u << 18) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_ACPC_TOGGLE (0x3u << 18) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_AEEVT_Pos 20 -#define TC_CMR_AEEVT_Msk (0x3u << TC_CMR_AEEVT_Pos) /**< \brief (TC_CMR) External Event Effect on TIOA */ -#define TC_CMR_AEEVT(value) ((TC_CMR_AEEVT_Msk & ((value) << TC_CMR_AEEVT_Pos))) -#define TC_CMR_AEEVT_NONE (0x0u << 20) /**< \brief (TC_CMR) None */ -#define TC_CMR_AEEVT_SET (0x1u << 20) /**< \brief (TC_CMR) Set */ -#define TC_CMR_AEEVT_CLEAR (0x2u << 20) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_AEEVT_TOGGLE (0x3u << 20) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_ASWTRG_Pos 22 -#define TC_CMR_ASWTRG_Msk (0x3u << TC_CMR_ASWTRG_Pos) /**< \brief (TC_CMR) Software Trigger Effect on TIOA */ -#define TC_CMR_ASWTRG(value) ((TC_CMR_ASWTRG_Msk & ((value) << TC_CMR_ASWTRG_Pos))) -#define TC_CMR_ASWTRG_NONE (0x0u << 22) /**< \brief (TC_CMR) None */ -#define TC_CMR_ASWTRG_SET (0x1u << 22) /**< \brief (TC_CMR) Set */ -#define TC_CMR_ASWTRG_CLEAR (0x2u << 22) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_ASWTRG_TOGGLE (0x3u << 22) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BCPB_Pos 24 -#define TC_CMR_BCPB_Msk (0x3u << TC_CMR_BCPB_Pos) /**< \brief (TC_CMR) RB Compare Effect on TIOB */ -#define TC_CMR_BCPB(value) ((TC_CMR_BCPB_Msk & ((value) << TC_CMR_BCPB_Pos))) -#define TC_CMR_BCPB_NONE (0x0u << 24) /**< \brief (TC_CMR) None */ -#define TC_CMR_BCPB_SET (0x1u << 24) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BCPB_CLEAR (0x2u << 24) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BCPB_TOGGLE (0x3u << 24) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BCPC_Pos 26 -#define TC_CMR_BCPC_Msk (0x3u << TC_CMR_BCPC_Pos) /**< \brief (TC_CMR) RC Compare Effect on TIOB */ -#define TC_CMR_BCPC(value) ((TC_CMR_BCPC_Msk & ((value) << TC_CMR_BCPC_Pos))) -#define TC_CMR_BCPC_NONE (0x0u << 26) /**< \brief (TC_CMR) None */ -#define TC_CMR_BCPC_SET (0x1u << 26) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BCPC_CLEAR (0x2u << 26) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BCPC_TOGGLE (0x3u << 26) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BEEVT_Pos 28 -#define TC_CMR_BEEVT_Msk (0x3u << TC_CMR_BEEVT_Pos) /**< \brief (TC_CMR) External Event Effect on TIOB */ -#define TC_CMR_BEEVT(value) ((TC_CMR_BEEVT_Msk & ((value) << TC_CMR_BEEVT_Pos))) -#define TC_CMR_BEEVT_NONE (0x0u << 28) /**< \brief (TC_CMR) None */ -#define TC_CMR_BEEVT_SET (0x1u << 28) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BEEVT_CLEAR (0x2u << 28) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BEEVT_TOGGLE (0x3u << 28) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BSWTRG_Pos 30 -#define TC_CMR_BSWTRG_Msk (0x3u << TC_CMR_BSWTRG_Pos) /**< \brief (TC_CMR) Software Trigger Effect on TIOB */ -#define TC_CMR_BSWTRG(value) ((TC_CMR_BSWTRG_Msk & ((value) << TC_CMR_BSWTRG_Pos))) -#define TC_CMR_BSWTRG_NONE (0x0u << 30) /**< \brief (TC_CMR) None */ -#define TC_CMR_BSWTRG_SET (0x1u << 30) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BSWTRG_CLEAR (0x2u << 30) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BSWTRG_TOGGLE (0x3u << 30) /**< \brief (TC_CMR) Toggle */ -/* -------- TC_SMMR : (TC Offset: N/A) Stepper Motor Mode Register -------- */ -#define TC_SMMR_GCEN (0x1u << 0) /**< \brief (TC_SMMR) Gray Count Enable */ -#define TC_SMMR_DOWN (0x1u << 1) /**< \brief (TC_SMMR) Down Count */ -/* -------- TC_RAB : (TC Offset: N/A) Register AB -------- */ -#define TC_RAB_RAB_Pos 0 -#define TC_RAB_RAB_Msk (0xffffffffu << TC_RAB_RAB_Pos) /**< \brief (TC_RAB) Register A or Register B */ -/* -------- TC_CV : (TC Offset: N/A) Counter Value -------- */ -#define TC_CV_CV_Pos 0 -#define TC_CV_CV_Msk (0xffffffffu << TC_CV_CV_Pos) /**< \brief (TC_CV) Counter Value */ -/* -------- TC_RA : (TC Offset: N/A) Register A -------- */ -#define TC_RA_RA_Pos 0 -#define TC_RA_RA_Msk (0xffffffffu << TC_RA_RA_Pos) /**< \brief (TC_RA) Register A */ -#define TC_RA_RA(value) ((TC_RA_RA_Msk & ((value) << TC_RA_RA_Pos))) -/* -------- TC_RB : (TC Offset: N/A) Register B -------- */ -#define TC_RB_RB_Pos 0 -#define TC_RB_RB_Msk (0xffffffffu << TC_RB_RB_Pos) /**< \brief (TC_RB) Register B */ -#define TC_RB_RB(value) ((TC_RB_RB_Msk & ((value) << TC_RB_RB_Pos))) -/* -------- TC_RC : (TC Offset: N/A) Register C -------- */ -#define TC_RC_RC_Pos 0 -#define TC_RC_RC_Msk (0xffffffffu << TC_RC_RC_Pos) /**< \brief (TC_RC) Register C */ -#define TC_RC_RC(value) ((TC_RC_RC_Msk & ((value) << TC_RC_RC_Pos))) -/* -------- TC_SR : (TC Offset: N/A) Status Register -------- */ -#define TC_SR_COVFS (0x1u << 0) /**< \brief (TC_SR) Counter Overflow Status (cleared on read) */ -#define TC_SR_LOVRS (0x1u << 1) /**< \brief (TC_SR) Load Overrun Status (cleared on read) */ -#define TC_SR_CPAS (0x1u << 2) /**< \brief (TC_SR) RA Compare Status (cleared on read) */ -#define TC_SR_CPBS (0x1u << 3) /**< \brief (TC_SR) RB Compare Status (cleared on read) */ -#define TC_SR_CPCS (0x1u << 4) /**< \brief (TC_SR) RC Compare Status (cleared on read) */ -#define TC_SR_LDRAS (0x1u << 5) /**< \brief (TC_SR) RA Loading Status (cleared on read) */ -#define TC_SR_LDRBS (0x1u << 6) /**< \brief (TC_SR) RB Loading Status (cleared on read) */ -#define TC_SR_ETRGS (0x1u << 7) /**< \brief (TC_SR) External Trigger Status (cleared on read) */ -#define TC_SR_CLKSTA (0x1u << 16) /**< \brief (TC_SR) Clock Enabling Status */ -#define TC_SR_MTIOA (0x1u << 17) /**< \brief (TC_SR) TIOA Mirror */ -#define TC_SR_MTIOB (0x1u << 18) /**< \brief (TC_SR) TIOB Mirror */ -/* -------- TC_IER : (TC Offset: N/A) Interrupt Enable Register -------- */ -#define TC_IER_COVFS (0x1u << 0) /**< \brief (TC_IER) Counter Overflow */ -#define TC_IER_LOVRS (0x1u << 1) /**< \brief (TC_IER) Load Overrun */ -#define TC_IER_CPAS (0x1u << 2) /**< \brief (TC_IER) RA Compare */ -#define TC_IER_CPBS (0x1u << 3) /**< \brief (TC_IER) RB Compare */ -#define TC_IER_CPCS (0x1u << 4) /**< \brief (TC_IER) RC Compare */ -#define TC_IER_LDRAS (0x1u << 5) /**< \brief (TC_IER) RA Loading */ -#define TC_IER_LDRBS (0x1u << 6) /**< \brief (TC_IER) RB Loading */ -#define TC_IER_ETRGS (0x1u << 7) /**< \brief (TC_IER) External Trigger */ -/* -------- TC_IDR : (TC Offset: N/A) Interrupt Disable Register -------- */ -#define TC_IDR_COVFS (0x1u << 0) /**< \brief (TC_IDR) Counter Overflow */ -#define TC_IDR_LOVRS (0x1u << 1) /**< \brief (TC_IDR) Load Overrun */ -#define TC_IDR_CPAS (0x1u << 2) /**< \brief (TC_IDR) RA Compare */ -#define TC_IDR_CPBS (0x1u << 3) /**< \brief (TC_IDR) RB Compare */ -#define TC_IDR_CPCS (0x1u << 4) /**< \brief (TC_IDR) RC Compare */ -#define TC_IDR_LDRAS (0x1u << 5) /**< \brief (TC_IDR) RA Loading */ -#define TC_IDR_LDRBS (0x1u << 6) /**< \brief (TC_IDR) RB Loading */ -#define TC_IDR_ETRGS (0x1u << 7) /**< \brief (TC_IDR) External Trigger */ -/* -------- TC_IMR : (TC Offset: N/A) Interrupt Mask Register -------- */ -#define TC_IMR_COVFS (0x1u << 0) /**< \brief (TC_IMR) Counter Overflow */ -#define TC_IMR_LOVRS (0x1u << 1) /**< \brief (TC_IMR) Load Overrun */ -#define TC_IMR_CPAS (0x1u << 2) /**< \brief (TC_IMR) RA Compare */ -#define TC_IMR_CPBS (0x1u << 3) /**< \brief (TC_IMR) RB Compare */ -#define TC_IMR_CPCS (0x1u << 4) /**< \brief (TC_IMR) RC Compare */ -#define TC_IMR_LDRAS (0x1u << 5) /**< \brief (TC_IMR) RA Loading */ -#define TC_IMR_LDRBS (0x1u << 6) /**< \brief (TC_IMR) RB Loading */ -#define TC_IMR_ETRGS (0x1u << 7) /**< \brief (TC_IMR) External Trigger */ -/* -------- TC_EMR : (TC Offset: N/A) Extended Mode Register -------- */ -#define TC_EMR_TRIGSRCA_Pos 0 -#define TC_EMR_TRIGSRCA_Msk (0x3u << TC_EMR_TRIGSRCA_Pos) /**< \brief (TC_EMR) Trigger Source for Input A */ -#define TC_EMR_TRIGSRCA(value) ((TC_EMR_TRIGSRCA_Msk & ((value) << TC_EMR_TRIGSRCA_Pos))) -#define TC_EMR_TRIGSRCA_EXTERNAL_TIOAx (0x0u << 0) /**< \brief (TC_EMR) The trigger/capture input A is driven by external pin TIOAx */ -#define TC_EMR_TRIGSRCA_PWMx (0x1u << 0) /**< \brief (TC_EMR) The trigger/capture input A is driven internally by PWMx */ -#define TC_EMR_TRIGSRCB_Pos 4 -#define TC_EMR_TRIGSRCB_Msk (0x3u << TC_EMR_TRIGSRCB_Pos) /**< \brief (TC_EMR) Trigger Source for Input B */ -#define TC_EMR_TRIGSRCB(value) ((TC_EMR_TRIGSRCB_Msk & ((value) << TC_EMR_TRIGSRCB_Pos))) -#define TC_EMR_TRIGSRCB_EXTERNAL_TIOBx (0x0u << 4) /**< \brief (TC_EMR) The trigger/capture input B is driven by external pin TIOBx */ -#define TC_EMR_TRIGSRCB_PWMx (0x1u << 4) /**< \brief (TC_EMR) The trigger/capture input B is driven internally by PWMx */ -#define TC_EMR_NODIVCLK (0x1u << 8) /**< \brief (TC_EMR) No Divided Clock */ -/* -------- TC_BCR : (TC Offset: 0xC0) Block Control Register -------- */ -#define TC_BCR_SYNC (0x1u << 0) /**< \brief (TC_BCR) Synchro Command */ -/* -------- TC_BMR : (TC Offset: 0xC4) Block Mode Register -------- */ -#define TC_BMR_TC0XC0S_Pos 0 -#define TC_BMR_TC0XC0S_Msk (0x3u << TC_BMR_TC0XC0S_Pos) /**< \brief (TC_BMR) External Clock Signal 0 Selection */ -#define TC_BMR_TC0XC0S(value) ((TC_BMR_TC0XC0S_Msk & ((value) << TC_BMR_TC0XC0S_Pos))) -#define TC_BMR_TC0XC0S_TCLK0 (0x0u << 0) /**< \brief (TC_BMR) Signal connected to XC0: TCLK0 */ -#define TC_BMR_TC0XC0S_TIOA1 (0x2u << 0) /**< \brief (TC_BMR) Signal connected to XC0: TIOA1 */ -#define TC_BMR_TC0XC0S_TIOA2 (0x3u << 0) /**< \brief (TC_BMR) Signal connected to XC0: TIOA2 */ -#define TC_BMR_TC1XC1S_Pos 2 -#define TC_BMR_TC1XC1S_Msk (0x3u << TC_BMR_TC1XC1S_Pos) /**< \brief (TC_BMR) External Clock Signal 1 Selection */ -#define TC_BMR_TC1XC1S(value) ((TC_BMR_TC1XC1S_Msk & ((value) << TC_BMR_TC1XC1S_Pos))) -#define TC_BMR_TC1XC1S_TCLK1 (0x0u << 2) /**< \brief (TC_BMR) Signal connected to XC1: TCLK1 */ -#define TC_BMR_TC1XC1S_TIOA0 (0x2u << 2) /**< \brief (TC_BMR) Signal connected to XC1: TIOA0 */ -#define TC_BMR_TC1XC1S_TIOA2 (0x3u << 2) /**< \brief (TC_BMR) Signal connected to XC1: TIOA2 */ -#define TC_BMR_TC2XC2S_Pos 4 -#define TC_BMR_TC2XC2S_Msk (0x3u << TC_BMR_TC2XC2S_Pos) /**< \brief (TC_BMR) External Clock Signal 2 Selection */ -#define TC_BMR_TC2XC2S(value) ((TC_BMR_TC2XC2S_Msk & ((value) << TC_BMR_TC2XC2S_Pos))) -#define TC_BMR_TC2XC2S_TCLK2 (0x0u << 4) /**< \brief (TC_BMR) Signal connected to XC2: TCLK2 */ -#define TC_BMR_TC2XC2S_TIOA0 (0x2u << 4) /**< \brief (TC_BMR) Signal connected to XC2: TIOA0 */ -#define TC_BMR_TC2XC2S_TIOA1 (0x3u << 4) /**< \brief (TC_BMR) Signal connected to XC2: TIOA1 */ -#define TC_BMR_QDEN (0x1u << 8) /**< \brief (TC_BMR) Quadrature Decoder Enabled */ -#define TC_BMR_POSEN (0x1u << 9) /**< \brief (TC_BMR) Position Enabled */ -#define TC_BMR_SPEEDEN (0x1u << 10) /**< \brief (TC_BMR) Speed Enabled */ -#define TC_BMR_QDTRANS (0x1u << 11) /**< \brief (TC_BMR) Quadrature Decoding Transparent */ -#define TC_BMR_EDGPHA (0x1u << 12) /**< \brief (TC_BMR) Edge on PHA Count Mode */ -#define TC_BMR_INVA (0x1u << 13) /**< \brief (TC_BMR) Inverted PHA */ -#define TC_BMR_INVB (0x1u << 14) /**< \brief (TC_BMR) Inverted PHB */ -#define TC_BMR_INVIDX (0x1u << 15) /**< \brief (TC_BMR) Inverted Index */ -#define TC_BMR_SWAP (0x1u << 16) /**< \brief (TC_BMR) Swap PHA and PHB */ -#define TC_BMR_IDXPHB (0x1u << 17) /**< \brief (TC_BMR) Index Pin is PHB Pin */ -#define TC_BMR_MAXFILT_Pos 20 -#define TC_BMR_MAXFILT_Msk (0x3fu << TC_BMR_MAXFILT_Pos) /**< \brief (TC_BMR) Maximum Filter */ -#define TC_BMR_MAXFILT(value) ((TC_BMR_MAXFILT_Msk & ((value) << TC_BMR_MAXFILT_Pos))) -/* -------- TC_QIER : (TC Offset: 0xC8) QDEC Interrupt Enable Register -------- */ -#define TC_QIER_IDX (0x1u << 0) /**< \brief (TC_QIER) Index */ -#define TC_QIER_DIRCHG (0x1u << 1) /**< \brief (TC_QIER) Direction Change */ -#define TC_QIER_QERR (0x1u << 2) /**< \brief (TC_QIER) Quadrature Error */ -/* -------- TC_QIDR : (TC Offset: 0xCC) QDEC Interrupt Disable Register -------- */ -#define TC_QIDR_IDX (0x1u << 0) /**< \brief (TC_QIDR) Index */ -#define TC_QIDR_DIRCHG (0x1u << 1) /**< \brief (TC_QIDR) Direction Change */ -#define TC_QIDR_QERR (0x1u << 2) /**< \brief (TC_QIDR) Quadrature Error */ -/* -------- TC_QIMR : (TC Offset: 0xD0) QDEC Interrupt Mask Register -------- */ -#define TC_QIMR_IDX (0x1u << 0) /**< \brief (TC_QIMR) Index */ -#define TC_QIMR_DIRCHG (0x1u << 1) /**< \brief (TC_QIMR) Direction Change */ -#define TC_QIMR_QERR (0x1u << 2) /**< \brief (TC_QIMR) Quadrature Error */ -/* -------- TC_QISR : (TC Offset: 0xD4) QDEC Interrupt Status Register -------- */ -#define TC_QISR_IDX (0x1u << 0) /**< \brief (TC_QISR) Index */ -#define TC_QISR_DIRCHG (0x1u << 1) /**< \brief (TC_QISR) Direction Change */ -#define TC_QISR_QERR (0x1u << 2) /**< \brief (TC_QISR) Quadrature Error */ -#define TC_QISR_DIR (0x1u << 8) /**< \brief (TC_QISR) Direction */ -/* -------- TC_FMR : (TC Offset: 0xD8) Fault Mode Register -------- */ -#define TC_FMR_ENCF0 (0x1u << 0) /**< \brief (TC_FMR) Enable Compare Fault Channel 0 */ -#define TC_FMR_ENCF1 (0x1u << 1) /**< \brief (TC_FMR) Enable Compare Fault Channel 1 */ -/* -------- TC_WPMR : (TC Offset: 0xE4) Write Protection Mode Register -------- */ -#define TC_WPMR_WPEN (0x1u << 0) /**< \brief (TC_WPMR) Write Protection Enable */ -#define TC_WPMR_WPKEY_Pos 8 -#define TC_WPMR_WPKEY_Msk (0xffffffu << TC_WPMR_WPKEY_Pos) /**< \brief (TC_WPMR) Write Protection Key */ -#define TC_WPMR_WPKEY(value) ((TC_WPMR_WPKEY_Msk & ((value) << TC_WPMR_WPKEY_Pos))) -#define TC_WPMR_WPKEY_PASSWD (0x54494Du << 8) /**< \brief (TC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_TC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h deleted file mode 100644 index 5b785aa..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h +++ /dev/null @@ -1,88 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TRNG_COMPONENT_ -#define _SAMS70_TRNG_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR True Random Number Generator */ -/* ============================================================================= */ -/** \addtogroup SAMS70_TRNG True Random Number Generator */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Trng hardware registers */ -typedef struct { - __O uint32_t TRNG_CR; /**< \brief (Trng Offset: 0x00) Control Register */ - __I uint32_t Reserved1[3]; - __O uint32_t TRNG_IER; /**< \brief (Trng Offset: 0x10) Interrupt Enable Register */ - __O uint32_t TRNG_IDR; /**< \brief (Trng Offset: 0x14) Interrupt Disable Register */ - __I uint32_t TRNG_IMR; /**< \brief (Trng Offset: 0x18) Interrupt Mask Register */ - __I uint32_t TRNG_ISR; /**< \brief (Trng Offset: 0x1C) Interrupt Status Register */ - __I uint32_t Reserved2[12]; - __I uint32_t TRNG_ODATA; /**< \brief (Trng Offset: 0x50) Output Data Register */ -} Trng; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- TRNG_CR : (TRNG Offset: 0x00) Control Register -------- */ -#define TRNG_CR_ENABLE (0x1u << 0) /**< \brief (TRNG_CR) Enables the TRNG to provide random values */ -#define TRNG_CR_KEY_Pos 8 -#define TRNG_CR_KEY_Msk (0xffffffu << TRNG_CR_KEY_Pos) /**< \brief (TRNG_CR) Security Key. */ -#define TRNG_CR_KEY(value) ((TRNG_CR_KEY_Msk & ((value) << TRNG_CR_KEY_Pos))) -#define TRNG_CR_KEY_PASSWD (0x524E47u << 8) /**< \brief (TRNG_CR) Writing any other value in this field aborts the write operation. */ -/* -------- TRNG_IER : (TRNG Offset: 0x10) Interrupt Enable Register -------- */ -#define TRNG_IER_DATRDY (0x1u << 0) /**< \brief (TRNG_IER) Data Ready Interrupt Enable */ -/* -------- TRNG_IDR : (TRNG Offset: 0x14) Interrupt Disable Register -------- */ -#define TRNG_IDR_DATRDY (0x1u << 0) /**< \brief (TRNG_IDR) Data Ready Interrupt Disable */ -/* -------- TRNG_IMR : (TRNG Offset: 0x18) Interrupt Mask Register -------- */ -#define TRNG_IMR_DATRDY (0x1u << 0) /**< \brief (TRNG_IMR) Data Ready Interrupt Mask */ -/* -------- TRNG_ISR : (TRNG Offset: 0x1C) Interrupt Status Register -------- */ -#define TRNG_ISR_DATRDY (0x1u << 0) /**< \brief (TRNG_ISR) Data Ready */ -/* -------- TRNG_ODATA : (TRNG Offset: 0x50) Output Data Register -------- */ -#define TRNG_ODATA_ODATA_Pos 0 -#define TRNG_ODATA_ODATA_Msk (0xffffffffu << TRNG_ODATA_ODATA_Pos) /**< \brief (TRNG_ODATA) Output Data */ - -/*@}*/ - - -#endif /* _SAMS70_TRNG_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h deleted file mode 100644 index 366650f..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h +++ /dev/null @@ -1,265 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS_COMPONENT_ -#define _SAMS70_TWIHS_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Two-wire Interface High Speed */ -/* ============================================================================= */ -/** \addtogroup SAMS70_TWIHS Two-wire Interface High Speed */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Twihs hardware registers */ -typedef struct { - __O uint32_t TWIHS_CR; /**< \brief (Twihs Offset: 0x00) Control Register */ - __IO uint32_t TWIHS_MMR; /**< \brief (Twihs Offset: 0x04) Master Mode Register */ - __IO uint32_t TWIHS_SMR; /**< \brief (Twihs Offset: 0x08) Slave Mode Register */ - __IO uint32_t TWIHS_IADR; /**< \brief (Twihs Offset: 0x0C) Internal Address Register */ - __IO uint32_t TWIHS_CWGR; /**< \brief (Twihs Offset: 0x10) Clock Waveform Generator Register */ - __I uint32_t Reserved1[3]; - __I uint32_t TWIHS_SR; /**< \brief (Twihs Offset: 0x20) Status Register */ - __O uint32_t TWIHS_IER; /**< \brief (Twihs Offset: 0x24) Interrupt Enable Register */ - __O uint32_t TWIHS_IDR; /**< \brief (Twihs Offset: 0x28) Interrupt Disable Register */ - __I uint32_t TWIHS_IMR; /**< \brief (Twihs Offset: 0x2C) Interrupt Mask Register */ - __I uint32_t TWIHS_RHR; /**< \brief (Twihs Offset: 0x30) Receive Holding Register */ - __O uint32_t TWIHS_THR; /**< \brief (Twihs Offset: 0x34) Transmit Holding Register */ - __IO uint32_t TWIHS_SMBTR; /**< \brief (Twihs Offset: 0x38) SMBus Timing Register */ - __I uint32_t Reserved2[2]; - __IO uint32_t TWIHS_FILTR; /**< \brief (Twihs Offset: 0x44) Filter Register */ - __I uint32_t Reserved3[1]; - __IO uint32_t TWIHS_SWMR; /**< \brief (Twihs Offset: 0x4C) SleepWalking Matching Register */ - __I uint32_t Reserved4[37]; - __IO uint32_t TWIHS_WPMR; /**< \brief (Twihs Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t TWIHS_WPSR; /**< \brief (Twihs Offset: 0xE8) Write Protection Status Register */ -} Twihs; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- TWIHS_CR : (TWIHS Offset: 0x00) Control Register -------- */ -#define TWIHS_CR_START (0x1u << 0) /**< \brief (TWIHS_CR) Send a START Condition */ -#define TWIHS_CR_STOP (0x1u << 1) /**< \brief (TWIHS_CR) Send a STOP Condition */ -#define TWIHS_CR_MSEN (0x1u << 2) /**< \brief (TWIHS_CR) TWIHS Master Mode Enabled */ -#define TWIHS_CR_MSDIS (0x1u << 3) /**< \brief (TWIHS_CR) TWIHS Master Mode Disabled */ -#define TWIHS_CR_SVEN (0x1u << 4) /**< \brief (TWIHS_CR) TWIHS Slave Mode Enabled */ -#define TWIHS_CR_SVDIS (0x1u << 5) /**< \brief (TWIHS_CR) TWIHS Slave Mode Disabled */ -#define TWIHS_CR_QUICK (0x1u << 6) /**< \brief (TWIHS_CR) SMBus Quick Command */ -#define TWIHS_CR_SWRST (0x1u << 7) /**< \brief (TWIHS_CR) Software Reset */ -#define TWIHS_CR_HSEN (0x1u << 8) /**< \brief (TWIHS_CR) TWIHS High-Speed Mode Enabled */ -#define TWIHS_CR_HSDIS (0x1u << 9) /**< \brief (TWIHS_CR) TWIHS High-Speed Mode Disabled */ -#define TWIHS_CR_SMBEN (0x1u << 10) /**< \brief (TWIHS_CR) SMBus Mode Enabled */ -#define TWIHS_CR_SMBDIS (0x1u << 11) /**< \brief (TWIHS_CR) SMBus Mode Disabled */ -#define TWIHS_CR_PECEN (0x1u << 12) /**< \brief (TWIHS_CR) Packet Error Checking Enable */ -#define TWIHS_CR_PECDIS (0x1u << 13) /**< \brief (TWIHS_CR) Packet Error Checking Disable */ -#define TWIHS_CR_PECRQ (0x1u << 14) /**< \brief (TWIHS_CR) PEC Request */ -#define TWIHS_CR_CLEAR (0x1u << 15) /**< \brief (TWIHS_CR) Bus CLEAR Command */ -/* -------- TWIHS_MMR : (TWIHS Offset: 0x04) Master Mode Register -------- */ -#define TWIHS_MMR_IADRSZ_Pos 8 -#define TWIHS_MMR_IADRSZ_Msk (0x3u << TWIHS_MMR_IADRSZ_Pos) /**< \brief (TWIHS_MMR) Internal Device Address Size */ -#define TWIHS_MMR_IADRSZ(value) ((TWIHS_MMR_IADRSZ_Msk & ((value) << TWIHS_MMR_IADRSZ_Pos))) -#define TWIHS_MMR_IADRSZ_NONE (0x0u << 8) /**< \brief (TWIHS_MMR) No internal device address */ -#define TWIHS_MMR_IADRSZ_1_BYTE (0x1u << 8) /**< \brief (TWIHS_MMR) One-byte internal device address */ -#define TWIHS_MMR_IADRSZ_2_BYTE (0x2u << 8) /**< \brief (TWIHS_MMR) Two-byte internal device address */ -#define TWIHS_MMR_IADRSZ_3_BYTE (0x3u << 8) /**< \brief (TWIHS_MMR) Three-byte internal device address */ -#define TWIHS_MMR_MREAD (0x1u << 12) /**< \brief (TWIHS_MMR) Master Read Direction */ -#define TWIHS_MMR_DADR_Pos 16 -#define TWIHS_MMR_DADR_Msk (0x7fu << TWIHS_MMR_DADR_Pos) /**< \brief (TWIHS_MMR) Device Address */ -#define TWIHS_MMR_DADR(value) ((TWIHS_MMR_DADR_Msk & ((value) << TWIHS_MMR_DADR_Pos))) -/* -------- TWIHS_SMR : (TWIHS Offset: 0x08) Slave Mode Register -------- */ -#define TWIHS_SMR_NACKEN (0x1u << 0) /**< \brief (TWIHS_SMR) Slave Receiver Data Phase NACK enable */ -#define TWIHS_SMR_SMDA (0x1u << 2) /**< \brief (TWIHS_SMR) SMBus Default Address */ -#define TWIHS_SMR_SMHH (0x1u << 3) /**< \brief (TWIHS_SMR) SMBus Host Header */ -#define TWIHS_SMR_SCLWSDIS (0x1u << 6) /**< \brief (TWIHS_SMR) Clock Wait State Disable */ -#define TWIHS_SMR_MASK_Pos 8 -#define TWIHS_SMR_MASK_Msk (0x7fu << TWIHS_SMR_MASK_Pos) /**< \brief (TWIHS_SMR) Slave Address Mask */ -#define TWIHS_SMR_MASK(value) ((TWIHS_SMR_MASK_Msk & ((value) << TWIHS_SMR_MASK_Pos))) -#define TWIHS_SMR_SADR_Pos 16 -#define TWIHS_SMR_SADR_Msk (0x7fu << TWIHS_SMR_SADR_Pos) /**< \brief (TWIHS_SMR) Slave Address */ -#define TWIHS_SMR_SADR(value) ((TWIHS_SMR_SADR_Msk & ((value) << TWIHS_SMR_SADR_Pos))) -#define TWIHS_SMR_SADR1EN (0x1u << 28) /**< \brief (TWIHS_SMR) Slave Address 1 Enable */ -#define TWIHS_SMR_SADR2EN (0x1u << 29) /**< \brief (TWIHS_SMR) Slave Address 2 Enable */ -#define TWIHS_SMR_SADR3EN (0x1u << 30) /**< \brief (TWIHS_SMR) Slave Address 3 Enable */ -#define TWIHS_SMR_DATAMEN (0x1u << 31) /**< \brief (TWIHS_SMR) Data Matching Enable */ -/* -------- TWIHS_IADR : (TWIHS Offset: 0x0C) Internal Address Register -------- */ -#define TWIHS_IADR_IADR_Pos 0 -#define TWIHS_IADR_IADR_Msk (0xffffffu << TWIHS_IADR_IADR_Pos) /**< \brief (TWIHS_IADR) Internal Address */ -#define TWIHS_IADR_IADR(value) ((TWIHS_IADR_IADR_Msk & ((value) << TWIHS_IADR_IADR_Pos))) -/* -------- TWIHS_CWGR : (TWIHS Offset: 0x10) Clock Waveform Generator Register -------- */ -#define TWIHS_CWGR_CLDIV_Pos 0 -#define TWIHS_CWGR_CLDIV_Msk (0xffu << TWIHS_CWGR_CLDIV_Pos) /**< \brief (TWIHS_CWGR) Clock Low Divider */ -#define TWIHS_CWGR_CLDIV(value) ((TWIHS_CWGR_CLDIV_Msk & ((value) << TWIHS_CWGR_CLDIV_Pos))) -#define TWIHS_CWGR_CHDIV_Pos 8 -#define TWIHS_CWGR_CHDIV_Msk (0xffu << TWIHS_CWGR_CHDIV_Pos) /**< \brief (TWIHS_CWGR) Clock High Divider */ -#define TWIHS_CWGR_CHDIV(value) ((TWIHS_CWGR_CHDIV_Msk & ((value) << TWIHS_CWGR_CHDIV_Pos))) -#define TWIHS_CWGR_CKDIV_Pos 16 -#define TWIHS_CWGR_CKDIV_Msk (0x7u << TWIHS_CWGR_CKDIV_Pos) /**< \brief (TWIHS_CWGR) Clock Divider */ -#define TWIHS_CWGR_CKDIV(value) ((TWIHS_CWGR_CKDIV_Msk & ((value) << TWIHS_CWGR_CKDIV_Pos))) -#define TWIHS_CWGR_HOLD_Pos 24 -#define TWIHS_CWGR_HOLD_Msk (0x1fu << TWIHS_CWGR_HOLD_Pos) /**< \brief (TWIHS_CWGR) TWD Hold Time Versus TWCK Falling */ -#define TWIHS_CWGR_HOLD(value) ((TWIHS_CWGR_HOLD_Msk & ((value) << TWIHS_CWGR_HOLD_Pos))) -/* -------- TWIHS_SR : (TWIHS Offset: 0x20) Status Register -------- */ -#define TWIHS_SR_TXCOMP (0x1u << 0) /**< \brief (TWIHS_SR) Transmission Completed (cleared by writing TWIHS_THR) */ -#define TWIHS_SR_RXRDY (0x1u << 1) /**< \brief (TWIHS_SR) Receive Holding Register Ready (cleared by reading TWIHS_RHR) */ -#define TWIHS_SR_TXRDY (0x1u << 2) /**< \brief (TWIHS_SR) Transmit Holding Register Ready (cleared by writing TWIHS_THR) */ -#define TWIHS_SR_SVREAD (0x1u << 3) /**< \brief (TWIHS_SR) Slave Read */ -#define TWIHS_SR_SVACC (0x1u << 4) /**< \brief (TWIHS_SR) Slave Access */ -#define TWIHS_SR_GACC (0x1u << 5) /**< \brief (TWIHS_SR) General Call Access (cleared on read) */ -#define TWIHS_SR_OVRE (0x1u << 6) /**< \brief (TWIHS_SR) Overrun Error (cleared on read) */ -#define TWIHS_SR_UNRE (0x1u << 7) /**< \brief (TWIHS_SR) Underrun Error (cleared on read) */ -#define TWIHS_SR_NACK (0x1u << 8) /**< \brief (TWIHS_SR) Not Acknowledged (cleared on read) */ -#define TWIHS_SR_ARBLST (0x1u << 9) /**< \brief (TWIHS_SR) Arbitration Lost (cleared on read) */ -#define TWIHS_SR_SCLWS (0x1u << 10) /**< \brief (TWIHS_SR) Clock Wait State */ -#define TWIHS_SR_EOSACC (0x1u << 11) /**< \brief (TWIHS_SR) End Of Slave Access (cleared on read) */ -#define TWIHS_SR_MCACK (0x1u << 16) /**< \brief (TWIHS_SR) Master Code Acknowledge (cleared on read) */ -#define TWIHS_SR_TOUT (0x1u << 18) /**< \brief (TWIHS_SR) Timeout Error (cleared on read) */ -#define TWIHS_SR_PECERR (0x1u << 19) /**< \brief (TWIHS_SR) PEC Error (cleared on read) */ -#define TWIHS_SR_SMBDAM (0x1u << 20) /**< \brief (TWIHS_SR) SMBus Default Address Match (cleared on read) */ -#define TWIHS_SR_SMBHHM (0x1u << 21) /**< \brief (TWIHS_SR) SMBus Host Header Address Match (cleared on read) */ -#define TWIHS_SR_SCL (0x1u << 24) /**< \brief (TWIHS_SR) SCL line value */ -#define TWIHS_SR_SDA (0x1u << 25) /**< \brief (TWIHS_SR) SDA line value */ -/* -------- TWIHS_IER : (TWIHS Offset: 0x24) Interrupt Enable Register -------- */ -#define TWIHS_IER_TXCOMP (0x1u << 0) /**< \brief (TWIHS_IER) Transmission Completed Interrupt Enable */ -#define TWIHS_IER_RXRDY (0x1u << 1) /**< \brief (TWIHS_IER) Receive Holding Register Ready Interrupt Enable */ -#define TWIHS_IER_TXRDY (0x1u << 2) /**< \brief (TWIHS_IER) Transmit Holding Register Ready Interrupt Enable */ -#define TWIHS_IER_SVACC (0x1u << 4) /**< \brief (TWIHS_IER) Slave Access Interrupt Enable */ -#define TWIHS_IER_GACC (0x1u << 5) /**< \brief (TWIHS_IER) General Call Access Interrupt Enable */ -#define TWIHS_IER_OVRE (0x1u << 6) /**< \brief (TWIHS_IER) Overrun Error Interrupt Enable */ -#define TWIHS_IER_UNRE (0x1u << 7) /**< \brief (TWIHS_IER) Underrun Error Interrupt Enable */ -#define TWIHS_IER_NACK (0x1u << 8) /**< \brief (TWIHS_IER) Not Acknowledge Interrupt Enable */ -#define TWIHS_IER_ARBLST (0x1u << 9) /**< \brief (TWIHS_IER) Arbitration Lost Interrupt Enable */ -#define TWIHS_IER_SCL_WS (0x1u << 10) /**< \brief (TWIHS_IER) Clock Wait State Interrupt Enable */ -#define TWIHS_IER_EOSACC (0x1u << 11) /**< \brief (TWIHS_IER) End Of Slave Access Interrupt Enable */ -#define TWIHS_IER_MCACK (0x1u << 16) /**< \brief (TWIHS_IER) Master Code Acknowledge Interrupt Enable */ -#define TWIHS_IER_TOUT (0x1u << 18) /**< \brief (TWIHS_IER) Timeout Error Interrupt Enable */ -#define TWIHS_IER_PECERR (0x1u << 19) /**< \brief (TWIHS_IER) PEC Error Interrupt Enable */ -#define TWIHS_IER_SMBDAM (0x1u << 20) /**< \brief (TWIHS_IER) SMBus Default Address Match Interrupt Enable */ -#define TWIHS_IER_SMBHHM (0x1u << 21) /**< \brief (TWIHS_IER) SMBus Host Header Address Match Interrupt Enable */ -/* -------- TWIHS_IDR : (TWIHS Offset: 0x28) Interrupt Disable Register -------- */ -#define TWIHS_IDR_TXCOMP (0x1u << 0) /**< \brief (TWIHS_IDR) Transmission Completed Interrupt Disable */ -#define TWIHS_IDR_RXRDY (0x1u << 1) /**< \brief (TWIHS_IDR) Receive Holding Register Ready Interrupt Disable */ -#define TWIHS_IDR_TXRDY (0x1u << 2) /**< \brief (TWIHS_IDR) Transmit Holding Register Ready Interrupt Disable */ -#define TWIHS_IDR_SVACC (0x1u << 4) /**< \brief (TWIHS_IDR) Slave Access Interrupt Disable */ -#define TWIHS_IDR_GACC (0x1u << 5) /**< \brief (TWIHS_IDR) General Call Access Interrupt Disable */ -#define TWIHS_IDR_OVRE (0x1u << 6) /**< \brief (TWIHS_IDR) Overrun Error Interrupt Disable */ -#define TWIHS_IDR_UNRE (0x1u << 7) /**< \brief (TWIHS_IDR) Underrun Error Interrupt Disable */ -#define TWIHS_IDR_NACK (0x1u << 8) /**< \brief (TWIHS_IDR) Not Acknowledge Interrupt Disable */ -#define TWIHS_IDR_ARBLST (0x1u << 9) /**< \brief (TWIHS_IDR) Arbitration Lost Interrupt Disable */ -#define TWIHS_IDR_SCL_WS (0x1u << 10) /**< \brief (TWIHS_IDR) Clock Wait State Interrupt Disable */ -#define TWIHS_IDR_EOSACC (0x1u << 11) /**< \brief (TWIHS_IDR) End Of Slave Access Interrupt Disable */ -#define TWIHS_IDR_MCACK (0x1u << 16) /**< \brief (TWIHS_IDR) Master Code Acknowledge Interrupt Disable */ -#define TWIHS_IDR_TOUT (0x1u << 18) /**< \brief (TWIHS_IDR) Timeout Error Interrupt Disable */ -#define TWIHS_IDR_PECERR (0x1u << 19) /**< \brief (TWIHS_IDR) PEC Error Interrupt Disable */ -#define TWIHS_IDR_SMBDAM (0x1u << 20) /**< \brief (TWIHS_IDR) SMBus Default Address Match Interrupt Disable */ -#define TWIHS_IDR_SMBHHM (0x1u << 21) /**< \brief (TWIHS_IDR) SMBus Host Header Address Match Interrupt Disable */ -/* -------- TWIHS_IMR : (TWIHS Offset: 0x2C) Interrupt Mask Register -------- */ -#define TWIHS_IMR_TXCOMP (0x1u << 0) /**< \brief (TWIHS_IMR) Transmission Completed Interrupt Mask */ -#define TWIHS_IMR_RXRDY (0x1u << 1) /**< \brief (TWIHS_IMR) Receive Holding Register Ready Interrupt Mask */ -#define TWIHS_IMR_TXRDY (0x1u << 2) /**< \brief (TWIHS_IMR) Transmit Holding Register Ready Interrupt Mask */ -#define TWIHS_IMR_SVACC (0x1u << 4) /**< \brief (TWIHS_IMR) Slave Access Interrupt Mask */ -#define TWIHS_IMR_GACC (0x1u << 5) /**< \brief (TWIHS_IMR) General Call Access Interrupt Mask */ -#define TWIHS_IMR_OVRE (0x1u << 6) /**< \brief (TWIHS_IMR) Overrun Error Interrupt Mask */ -#define TWIHS_IMR_UNRE (0x1u << 7) /**< \brief (TWIHS_IMR) Underrun Error Interrupt Mask */ -#define TWIHS_IMR_NACK (0x1u << 8) /**< \brief (TWIHS_IMR) Not Acknowledge Interrupt Mask */ -#define TWIHS_IMR_ARBLST (0x1u << 9) /**< \brief (TWIHS_IMR) Arbitration Lost Interrupt Mask */ -#define TWIHS_IMR_SCL_WS (0x1u << 10) /**< \brief (TWIHS_IMR) Clock Wait State Interrupt Mask */ -#define TWIHS_IMR_EOSACC (0x1u << 11) /**< \brief (TWIHS_IMR) End Of Slave Access Interrupt Mask */ -#define TWIHS_IMR_MCACK (0x1u << 16) /**< \brief (TWIHS_IMR) Master Code Acknowledge Interrupt Mask */ -#define TWIHS_IMR_TOUT (0x1u << 18) /**< \brief (TWIHS_IMR) Timeout Error Interrupt Mask */ -#define TWIHS_IMR_PECERR (0x1u << 19) /**< \brief (TWIHS_IMR) PEC Error Interrupt Mask */ -#define TWIHS_IMR_SMBDAM (0x1u << 20) /**< \brief (TWIHS_IMR) SMBus Default Address Match Interrupt Mask */ -#define TWIHS_IMR_SMBHHM (0x1u << 21) /**< \brief (TWIHS_IMR) SMBus Host Header Address Match Interrupt Mask */ -/* -------- TWIHS_RHR : (TWIHS Offset: 0x30) Receive Holding Register -------- */ -#define TWIHS_RHR_RXDATA_Pos 0 -#define TWIHS_RHR_RXDATA_Msk (0xffu << TWIHS_RHR_RXDATA_Pos) /**< \brief (TWIHS_RHR) Master or Slave Receive Holding Data */ -/* -------- TWIHS_THR : (TWIHS Offset: 0x34) Transmit Holding Register -------- */ -#define TWIHS_THR_TXDATA_Pos 0 -#define TWIHS_THR_TXDATA_Msk (0xffu << TWIHS_THR_TXDATA_Pos) /**< \brief (TWIHS_THR) Master or Slave Transmit Holding Data */ -#define TWIHS_THR_TXDATA(value) ((TWIHS_THR_TXDATA_Msk & ((value) << TWIHS_THR_TXDATA_Pos))) -/* -------- TWIHS_SMBTR : (TWIHS Offset: 0x38) SMBus Timing Register -------- */ -#define TWIHS_SMBTR_PRESC_Pos 0 -#define TWIHS_SMBTR_PRESC_Msk (0xfu << TWIHS_SMBTR_PRESC_Pos) /**< \brief (TWIHS_SMBTR) SMBus Clock Prescaler */ -#define TWIHS_SMBTR_PRESC(value) ((TWIHS_SMBTR_PRESC_Msk & ((value) << TWIHS_SMBTR_PRESC_Pos))) -#define TWIHS_SMBTR_TLOWS_Pos 8 -#define TWIHS_SMBTR_TLOWS_Msk (0xffu << TWIHS_SMBTR_TLOWS_Pos) /**< \brief (TWIHS_SMBTR) Slave Clock Stretch Maximum Cycles */ -#define TWIHS_SMBTR_TLOWS(value) ((TWIHS_SMBTR_TLOWS_Msk & ((value) << TWIHS_SMBTR_TLOWS_Pos))) -#define TWIHS_SMBTR_TLOWM_Pos 16 -#define TWIHS_SMBTR_TLOWM_Msk (0xffu << TWIHS_SMBTR_TLOWM_Pos) /**< \brief (TWIHS_SMBTR) Master Clock Stretch Maximum Cycles */ -#define TWIHS_SMBTR_TLOWM(value) ((TWIHS_SMBTR_TLOWM_Msk & ((value) << TWIHS_SMBTR_TLOWM_Pos))) -#define TWIHS_SMBTR_THMAX_Pos 24 -#define TWIHS_SMBTR_THMAX_Msk (0xffu << TWIHS_SMBTR_THMAX_Pos) /**< \brief (TWIHS_SMBTR) Clock High Maximum Cycles */ -#define TWIHS_SMBTR_THMAX(value) ((TWIHS_SMBTR_THMAX_Msk & ((value) << TWIHS_SMBTR_THMAX_Pos))) -/* -------- TWIHS_FILTR : (TWIHS Offset: 0x44) Filter Register -------- */ -#define TWIHS_FILTR_FILT (0x1u << 0) /**< \brief (TWIHS_FILTR) RX Digital Filter */ -#define TWIHS_FILTR_PADFEN (0x1u << 1) /**< \brief (TWIHS_FILTR) PAD Filter Enable */ -#define TWIHS_FILTR_PADFCFG (0x1u << 2) /**< \brief (TWIHS_FILTR) PAD Filter Config */ -#define TWIHS_FILTR_THRES_Pos 8 -#define TWIHS_FILTR_THRES_Msk (0x7u << TWIHS_FILTR_THRES_Pos) /**< \brief (TWIHS_FILTR) Digital Filter Threshold */ -#define TWIHS_FILTR_THRES(value) ((TWIHS_FILTR_THRES_Msk & ((value) << TWIHS_FILTR_THRES_Pos))) -/* -------- TWIHS_SWMR : (TWIHS Offset: 0x4C) SleepWalking Matching Register -------- */ -#define TWIHS_SWMR_SADR1_Pos 0 -#define TWIHS_SWMR_SADR1_Msk (0x7fu << TWIHS_SWMR_SADR1_Pos) /**< \brief (TWIHS_SWMR) Slave Address 1 */ -#define TWIHS_SWMR_SADR1(value) ((TWIHS_SWMR_SADR1_Msk & ((value) << TWIHS_SWMR_SADR1_Pos))) -#define TWIHS_SWMR_SADR2_Pos 8 -#define TWIHS_SWMR_SADR2_Msk (0x7fu << TWIHS_SWMR_SADR2_Pos) /**< \brief (TWIHS_SWMR) Slave Address 2 */ -#define TWIHS_SWMR_SADR2(value) ((TWIHS_SWMR_SADR2_Msk & ((value) << TWIHS_SWMR_SADR2_Pos))) -#define TWIHS_SWMR_SADR3_Pos 16 -#define TWIHS_SWMR_SADR3_Msk (0x7fu << TWIHS_SWMR_SADR3_Pos) /**< \brief (TWIHS_SWMR) Slave Address 3 */ -#define TWIHS_SWMR_SADR3(value) ((TWIHS_SWMR_SADR3_Msk & ((value) << TWIHS_SWMR_SADR3_Pos))) -#define TWIHS_SWMR_DATAM_Pos 24 -#define TWIHS_SWMR_DATAM_Msk (0xffu << TWIHS_SWMR_DATAM_Pos) /**< \brief (TWIHS_SWMR) Data Match */ -#define TWIHS_SWMR_DATAM(value) ((TWIHS_SWMR_DATAM_Msk & ((value) << TWIHS_SWMR_DATAM_Pos))) -/* -------- TWIHS_WPMR : (TWIHS Offset: 0xE4) Write Protection Mode Register -------- */ -#define TWIHS_WPMR_WPEN (0x1u << 0) /**< \brief (TWIHS_WPMR) Write Protection Enable */ -#define TWIHS_WPMR_WPKEY_Pos 8 -#define TWIHS_WPMR_WPKEY_Msk (0xffffffu << TWIHS_WPMR_WPKEY_Pos) /**< \brief (TWIHS_WPMR) Write Protection Key */ -#define TWIHS_WPMR_WPKEY(value) ((TWIHS_WPMR_WPKEY_Msk & ((value) << TWIHS_WPMR_WPKEY_Pos))) -#define TWIHS_WPMR_WPKEY_PASSWD (0x545749u << 8) /**< \brief (TWIHS_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0 */ -/* -------- TWIHS_WPSR : (TWIHS Offset: 0xE8) Write Protection Status Register -------- */ -#define TWIHS_WPSR_WPVS (0x1u << 0) /**< \brief (TWIHS_WPSR) Write Protection Violation Status */ -#define TWIHS_WPSR_WPVSRC_Pos 8 -#define TWIHS_WPSR_WPVSRC_Msk (0xffffffu << TWIHS_WPSR_WPVSRC_Pos) /**< \brief (TWIHS_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_TWIHS_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h deleted file mode 100644 index 0e54542..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h +++ /dev/null @@ -1,166 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART_COMPONENT_ -#define _SAMS70_UART_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Universal Asynchronous Receiver Transmitter */ -/* ============================================================================= */ -/** \addtogroup SAMS70_UART Universal Asynchronous Receiver Transmitter */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Uart hardware registers */ -typedef struct { - __O uint32_t UART_CR; /**< \brief (Uart Offset: 0x0000) Control Register */ - __IO uint32_t UART_MR; /**< \brief (Uart Offset: 0x0004) Mode Register */ - __O uint32_t UART_IER; /**< \brief (Uart Offset: 0x0008) Interrupt Enable Register */ - __O uint32_t UART_IDR; /**< \brief (Uart Offset: 0x000C) Interrupt Disable Register */ - __I uint32_t UART_IMR; /**< \brief (Uart Offset: 0x0010) Interrupt Mask Register */ - __I uint32_t UART_SR; /**< \brief (Uart Offset: 0x0014) Status Register */ - __I uint32_t UART_RHR; /**< \brief (Uart Offset: 0x0018) Receive Holding Register */ - __O uint32_t UART_THR; /**< \brief (Uart Offset: 0x001C) Transmit Holding Register */ - __IO uint32_t UART_BRGR; /**< \brief (Uart Offset: 0x0020) Baud Rate Generator Register */ - __IO uint32_t UART_CMPR; /**< \brief (Uart Offset: 0x0024) Comparison Register */ - __I uint32_t Reserved1[47]; - __IO uint32_t UART_WPMR; /**< \brief (Uart Offset: 0x00E4) Write Protection Mode Register */ -} Uart; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- UART_CR : (UART Offset: 0x0000) Control Register -------- */ -#define UART_CR_RSTRX (0x1u << 2) /**< \brief (UART_CR) Reset Receiver */ -#define UART_CR_RSTTX (0x1u << 3) /**< \brief (UART_CR) Reset Transmitter */ -#define UART_CR_RXEN (0x1u << 4) /**< \brief (UART_CR) Receiver Enable */ -#define UART_CR_RXDIS (0x1u << 5) /**< \brief (UART_CR) Receiver Disable */ -#define UART_CR_TXEN (0x1u << 6) /**< \brief (UART_CR) Transmitter Enable */ -#define UART_CR_TXDIS (0x1u << 7) /**< \brief (UART_CR) Transmitter Disable */ -#define UART_CR_RSTSTA (0x1u << 8) /**< \brief (UART_CR) Reset Status */ -#define UART_CR_REQCLR (0x1u << 12) /**< \brief (UART_CR) Request Clear */ -/* -------- UART_MR : (UART Offset: 0x0004) Mode Register -------- */ -#define UART_MR_FILTER (0x1u << 4) /**< \brief (UART_MR) Receiver Digital Filter */ -#define UART_MR_FILTER_DISABLED (0x0u << 4) /**< \brief (UART_MR) UART does not filter the receive line. */ -#define UART_MR_FILTER_ENABLED (0x1u << 4) /**< \brief (UART_MR) UART filters the receive line using a three-sample filter (16x-bit clock) (2 over 3 majority). */ -#define UART_MR_PAR_Pos 9 -#define UART_MR_PAR_Msk (0x7u << UART_MR_PAR_Pos) /**< \brief (UART_MR) Parity Type */ -#define UART_MR_PAR(value) ((UART_MR_PAR_Msk & ((value) << UART_MR_PAR_Pos))) -#define UART_MR_PAR_EVEN (0x0u << 9) /**< \brief (UART_MR) Even Parity */ -#define UART_MR_PAR_ODD (0x1u << 9) /**< \brief (UART_MR) Odd Parity */ -#define UART_MR_PAR_SPACE (0x2u << 9) /**< \brief (UART_MR) Space: parity forced to 0 */ -#define UART_MR_PAR_MARK (0x3u << 9) /**< \brief (UART_MR) Mark: parity forced to 1 */ -#define UART_MR_PAR_NO (0x4u << 9) /**< \brief (UART_MR) No parity */ -#define UART_MR_BRSRCCK (0x1u << 12) /**< \brief (UART_MR) Baud Rate Source Clock */ -#define UART_MR_BRSRCCK_PERIPH_CLK (0x0u << 12) /**< \brief (UART_MR) The baud rate is driven by the peripheral clock */ -#define UART_MR_BRSRCCK_PMC_PCK (0x1u << 12) /**< \brief (UART_MR) The baud rate is driven by a PMC programmable clock PCK (see section Power Management Controller (PMC)). */ -#define UART_MR_CHMODE_Pos 14 -#define UART_MR_CHMODE_Msk (0x3u << UART_MR_CHMODE_Pos) /**< \brief (UART_MR) Channel Mode */ -#define UART_MR_CHMODE(value) ((UART_MR_CHMODE_Msk & ((value) << UART_MR_CHMODE_Pos))) -#define UART_MR_CHMODE_NORMAL (0x0u << 14) /**< \brief (UART_MR) Normal mode */ -#define UART_MR_CHMODE_AUTOMATIC (0x1u << 14) /**< \brief (UART_MR) Automatic echo */ -#define UART_MR_CHMODE_LOCAL_LOOPBACK (0x2u << 14) /**< \brief (UART_MR) Local loopback */ -#define UART_MR_CHMODE_REMOTE_LOOPBACK (0x3u << 14) /**< \brief (UART_MR) Remote loopback */ -/* -------- UART_IER : (UART Offset: 0x0008) Interrupt Enable Register -------- */ -#define UART_IER_RXRDY (0x1u << 0) /**< \brief (UART_IER) Enable RXRDY Interrupt */ -#define UART_IER_TXRDY (0x1u << 1) /**< \brief (UART_IER) Enable TXRDY Interrupt */ -#define UART_IER_OVRE (0x1u << 5) /**< \brief (UART_IER) Enable Overrun Error Interrupt */ -#define UART_IER_FRAME (0x1u << 6) /**< \brief (UART_IER) Enable Framing Error Interrupt */ -#define UART_IER_PARE (0x1u << 7) /**< \brief (UART_IER) Enable Parity Error Interrupt */ -#define UART_IER_TXEMPTY (0x1u << 9) /**< \brief (UART_IER) Enable TXEMPTY Interrupt */ -#define UART_IER_CMP (0x1u << 15) /**< \brief (UART_IER) Enable Comparison Interrupt */ -/* -------- UART_IDR : (UART Offset: 0x000C) Interrupt Disable Register -------- */ -#define UART_IDR_RXRDY (0x1u << 0) /**< \brief (UART_IDR) Disable RXRDY Interrupt */ -#define UART_IDR_TXRDY (0x1u << 1) /**< \brief (UART_IDR) Disable TXRDY Interrupt */ -#define UART_IDR_OVRE (0x1u << 5) /**< \brief (UART_IDR) Disable Overrun Error Interrupt */ -#define UART_IDR_FRAME (0x1u << 6) /**< \brief (UART_IDR) Disable Framing Error Interrupt */ -#define UART_IDR_PARE (0x1u << 7) /**< \brief (UART_IDR) Disable Parity Error Interrupt */ -#define UART_IDR_TXEMPTY (0x1u << 9) /**< \brief (UART_IDR) Disable TXEMPTY Interrupt */ -#define UART_IDR_CMP (0x1u << 15) /**< \brief (UART_IDR) Disable Comparison Interrupt */ -/* -------- UART_IMR : (UART Offset: 0x0010) Interrupt Mask Register -------- */ -#define UART_IMR_RXRDY (0x1u << 0) /**< \brief (UART_IMR) Mask RXRDY Interrupt */ -#define UART_IMR_TXRDY (0x1u << 1) /**< \brief (UART_IMR) Disable TXRDY Interrupt */ -#define UART_IMR_OVRE (0x1u << 5) /**< \brief (UART_IMR) Mask Overrun Error Interrupt */ -#define UART_IMR_FRAME (0x1u << 6) /**< \brief (UART_IMR) Mask Framing Error Interrupt */ -#define UART_IMR_PARE (0x1u << 7) /**< \brief (UART_IMR) Mask Parity Error Interrupt */ -#define UART_IMR_TXEMPTY (0x1u << 9) /**< \brief (UART_IMR) Mask TXEMPTY Interrupt */ -#define UART_IMR_CMP (0x1u << 15) /**< \brief (UART_IMR) Mask Comparison Interrupt */ -/* -------- UART_SR : (UART Offset: 0x0014) Status Register -------- */ -#define UART_SR_RXRDY (0x1u << 0) /**< \brief (UART_SR) Receiver Ready */ -#define UART_SR_TXRDY (0x1u << 1) /**< \brief (UART_SR) Transmitter Ready */ -#define UART_SR_OVRE (0x1u << 5) /**< \brief (UART_SR) Overrun Error */ -#define UART_SR_FRAME (0x1u << 6) /**< \brief (UART_SR) Framing Error */ -#define UART_SR_PARE (0x1u << 7) /**< \brief (UART_SR) Parity Error */ -#define UART_SR_TXEMPTY (0x1u << 9) /**< \brief (UART_SR) Transmitter Empty */ -#define UART_SR_CMP (0x1u << 15) /**< \brief (UART_SR) Comparison Match */ -/* -------- UART_RHR : (UART Offset: 0x0018) Receive Holding Register -------- */ -#define UART_RHR_RXCHR_Pos 0 -#define UART_RHR_RXCHR_Msk (0xffu << UART_RHR_RXCHR_Pos) /**< \brief (UART_RHR) Received Character */ -/* -------- UART_THR : (UART Offset: 0x001C) Transmit Holding Register -------- */ -#define UART_THR_TXCHR_Pos 0 -#define UART_THR_TXCHR_Msk (0xffu << UART_THR_TXCHR_Pos) /**< \brief (UART_THR) Character to be Transmitted */ -#define UART_THR_TXCHR(value) ((UART_THR_TXCHR_Msk & ((value) << UART_THR_TXCHR_Pos))) -/* -------- UART_BRGR : (UART Offset: 0x0020) Baud Rate Generator Register -------- */ -#define UART_BRGR_CD_Pos 0 -#define UART_BRGR_CD_Msk (0xffffu << UART_BRGR_CD_Pos) /**< \brief (UART_BRGR) Clock Divisor */ -#define UART_BRGR_CD(value) ((UART_BRGR_CD_Msk & ((value) << UART_BRGR_CD_Pos))) -/* -------- UART_CMPR : (UART Offset: 0x0024) Comparison Register -------- */ -#define UART_CMPR_VAL1_Pos 0 -#define UART_CMPR_VAL1_Msk (0xffu << UART_CMPR_VAL1_Pos) /**< \brief (UART_CMPR) First Comparison Value for Received Character */ -#define UART_CMPR_VAL1(value) ((UART_CMPR_VAL1_Msk & ((value) << UART_CMPR_VAL1_Pos))) -#define UART_CMPR_CMPMODE (0x1u << 12) /**< \brief (UART_CMPR) Comparison Mode */ -#define UART_CMPR_CMPMODE_FLAG_ONLY (0x0u << 12) /**< \brief (UART_CMPR) Any character is received and comparison function drives CMP flag. */ -#define UART_CMPR_CMPMODE_START_CONDITION (0x1u << 12) /**< \brief (UART_CMPR) Comparison condition must be met to start reception. */ -#define UART_CMPR_CMPPAR (0x1u << 14) /**< \brief (UART_CMPR) Compare Parity */ -#define UART_CMPR_VAL2_Pos 16 -#define UART_CMPR_VAL2_Msk (0xffu << UART_CMPR_VAL2_Pos) /**< \brief (UART_CMPR) Second Comparison Value for Received Character */ -#define UART_CMPR_VAL2(value) ((UART_CMPR_VAL2_Msk & ((value) << UART_CMPR_VAL2_Pos))) -/* -------- UART_WPMR : (UART Offset: 0x00E4) Write Protection Mode Register -------- */ -#define UART_WPMR_WPEN (0x1u << 0) /**< \brief (UART_WPMR) Write Protection Enable */ -#define UART_WPMR_WPKEY_Pos 8 -#define UART_WPMR_WPKEY_Msk (0xffffffu << UART_WPMR_WPKEY_Pos) /**< \brief (UART_WPMR) Write Protection Key */ -#define UART_WPMR_WPKEY(value) ((UART_WPMR_WPKEY_Msk & ((value) << UART_WPMR_WPKEY_Pos))) -#define UART_WPMR_WPKEY_PASSWD (0x554152u << 8) /**< \brief (UART_WPMR) Writing any other value in this field aborts the write operation.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_UART_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h deleted file mode 100644 index 9d4ce79..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h +++ /dev/null @@ -1,432 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART_COMPONENT_ -#define _SAMS70_USART_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Universal Synchronous Asynchronous Receiver Transmitter */ -/* ============================================================================= */ -/** \addtogroup SAMS70_USART Universal Synchronous Asynchronous Receiver Transmitter */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Usart hardware registers */ -typedef struct { - __O uint32_t US_CR; /**< \brief (Usart Offset: 0x0000) Control Register */ - __IO uint32_t US_MR; /**< \brief (Usart Offset: 0x0004) Mode Register */ - __O uint32_t US_IER; /**< \brief (Usart Offset: 0x0008) Interrupt Enable Register */ - __O uint32_t US_IDR; /**< \brief (Usart Offset: 0x000C) Interrupt Disable Register */ - __I uint32_t US_IMR; /**< \brief (Usart Offset: 0x0010) Interrupt Mask Register */ - __I uint32_t US_CSR; /**< \brief (Usart Offset: 0x0014) Channel Status Register */ - __I uint32_t US_RHR; /**< \brief (Usart Offset: 0x0018) Receive Holding Register */ - __O uint32_t US_THR; /**< \brief (Usart Offset: 0x001C) Transmit Holding Register */ - __IO uint32_t US_BRGR; /**< \brief (Usart Offset: 0x0020) Baud Rate Generator Register */ - __IO uint32_t US_RTOR; /**< \brief (Usart Offset: 0x0024) Receiver Time-out Register */ - __IO uint32_t US_TTGR; /**< \brief (Usart Offset: 0x0028) Transmitter Timeguard Register */ - __I uint32_t Reserved1[9]; - __IO uint32_t US_MAN; /**< \brief (Usart Offset: 0x0050) Manchester Configuration Register */ - __IO uint32_t US_LINMR; /**< \brief (Usart Offset: 0x0054) LIN Mode Register */ - __IO uint32_t US_LINIR; /**< \brief (Usart Offset: 0x0058) LIN Identifier Register */ - __I uint32_t US_LINBRR; /**< \brief (Usart Offset: 0x005C) LIN Baud Rate Register */ - __IO uint32_t US_LONMR; /**< \brief (Usart Offset: 0x0060) LON Mode Register */ - __IO uint32_t US_LONPR; /**< \brief (Usart Offset: 0x0064) LON Preamble Register */ - __IO uint32_t US_LONDL; /**< \brief (Usart Offset: 0x0068) LON Data Length Register */ - __IO uint32_t US_LONL2HDR; /**< \brief (Usart Offset: 0x006C) LON L2HDR Register */ - __I uint32_t US_LONBL; /**< \brief (Usart Offset: 0x0070) LON Backlog Register */ - __IO uint32_t US_LONB1TX; /**< \brief (Usart Offset: 0x0074) LON Beta1 Tx Register */ - __IO uint32_t US_LONB1RX; /**< \brief (Usart Offset: 0x0078) LON Beta1 Rx Register */ - __IO uint32_t US_LONPRIO; /**< \brief (Usart Offset: 0x007C) LON Priority Register */ - __IO uint32_t US_IDTTX; /**< \brief (Usart Offset: 0x0080) LON IDT Tx Register */ - __IO uint32_t US_IDTRX; /**< \brief (Usart Offset: 0x0084) LON IDT Rx Register */ - __IO uint32_t US_ICDIFF; /**< \brief (Usart Offset: 0x0088) IC DIFF Register */ - __I uint32_t Reserved2[22]; - __IO uint32_t US_WPMR; /**< \brief (Usart Offset: 0x00E4) Write Protection Mode Register */ - __I uint32_t US_WPSR; /**< \brief (Usart Offset: 0x00E8) Write Protection Status Register */ -} Usart; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- US_CR : (USART Offset: 0x0000) Control Register -------- */ -#define US_CR_RSTRX (0x1u << 2) /**< \brief (US_CR) Reset Receiver */ -#define US_CR_RSTTX (0x1u << 3) /**< \brief (US_CR) Reset Transmitter */ -#define US_CR_RXEN (0x1u << 4) /**< \brief (US_CR) Receiver Enable */ -#define US_CR_RXDIS (0x1u << 5) /**< \brief (US_CR) Receiver Disable */ -#define US_CR_TXEN (0x1u << 6) /**< \brief (US_CR) Transmitter Enable */ -#define US_CR_TXDIS (0x1u << 7) /**< \brief (US_CR) Transmitter Disable */ -#define US_CR_RSTSTA (0x1u << 8) /**< \brief (US_CR) Reset Status Bits */ -#define US_CR_STTBRK (0x1u << 9) /**< \brief (US_CR) Start Break */ -#define US_CR_STPBRK (0x1u << 10) /**< \brief (US_CR) Stop Break */ -#define US_CR_STTTO (0x1u << 11) /**< \brief (US_CR) Clear TIMEOUT Flag and Start Time-out After Next Character Received */ -#define US_CR_SENDA (0x1u << 12) /**< \brief (US_CR) Send Address */ -#define US_CR_RETTO (0x1u << 15) /**< \brief (US_CR) Start Time-out Immediately */ -#define US_CR_RTSEN (0x1u << 18) /**< \brief (US_CR) Request to Send Pin Control */ -#define US_CR_RTSDIS (0x1u << 19) /**< \brief (US_CR) Request to Send Pin Control */ -#define US_CR_LINABT (0x1u << 20) /**< \brief (US_CR) Abort LIN Transmission */ -#define US_CR_LINWKUP (0x1u << 21) /**< \brief (US_CR) Send LIN Wakeup Signal */ -#define US_CR_FCS (0x1u << 18) /**< \brief (US_CR) Force SPI Chip Select */ -#define US_CR_RCS (0x1u << 19) /**< \brief (US_CR) Release SPI Chip Select */ -/* -------- US_MR : (USART Offset: 0x0004) Mode Register -------- */ -#define US_MR_USART_MODE_Pos 0 -#define US_MR_USART_MODE_Msk (0xfu << US_MR_USART_MODE_Pos) /**< \brief (US_MR) USART Mode of Operation */ -#define US_MR_USART_MODE(value) ((US_MR_USART_MODE_Msk & ((value) << US_MR_USART_MODE_Pos))) -#define US_MR_USART_MODE_NORMAL (0x0u << 0) /**< \brief (US_MR) Normal mode */ -#define US_MR_USART_MODE_RS485 (0x1u << 0) /**< \brief (US_MR) RS485 */ -#define US_MR_USART_MODE_HW_HANDSHAKING (0x2u << 0) /**< \brief (US_MR) Hardware Handshaking */ -#define US_MR_USART_MODE_LON (0x9u << 0) /**< \brief (US_MR) LON */ -#define US_MR_USART_MODE_SPI_MASTER (0xEu << 0) /**< \brief (US_MR) SPI master */ -#define US_MR_USART_MODE_SPI_SLAVE (0xFu << 0) /**< \brief (US_MR) SPI Slave */ -#define US_MR_USCLKS_Pos 4 -#define US_MR_USCLKS_Msk (0x3u << US_MR_USCLKS_Pos) /**< \brief (US_MR) Clock Selection */ -#define US_MR_USCLKS(value) ((US_MR_USCLKS_Msk & ((value) << US_MR_USCLKS_Pos))) -#define US_MR_USCLKS_MCK (0x0u << 4) /**< \brief (US_MR) Peripheral clock is selected */ -#define US_MR_USCLKS_DIV (0x1u << 4) /**< \brief (US_MR) Peripheral clock divided (DIV=DIV=8) is selected */ -#define US_MR_USCLKS_PCK (0x2u << 4) /**< \brief (US_MR) PMC programmable clock (PCK) is selected. If the SCK pin is driven (CLKO = 1), the CD field must be greater than 1. */ -#define US_MR_USCLKS_SCK (0x3u << 4) /**< \brief (US_MR) Serial clock (SCK) is selected */ -#define US_MR_CHRL_Pos 6 -#define US_MR_CHRL_Msk (0x3u << US_MR_CHRL_Pos) /**< \brief (US_MR) Character Length */ -#define US_MR_CHRL(value) ((US_MR_CHRL_Msk & ((value) << US_MR_CHRL_Pos))) -#define US_MR_CHRL_5_BIT (0x0u << 6) /**< \brief (US_MR) Character length is 5 bits */ -#define US_MR_CHRL_6_BIT (0x1u << 6) /**< \brief (US_MR) Character length is 6 bits */ -#define US_MR_CHRL_7_BIT (0x2u << 6) /**< \brief (US_MR) Character length is 7 bits */ -#define US_MR_CHRL_8_BIT (0x3u << 6) /**< \brief (US_MR) Character length is 8 bits */ -#define US_MR_SYNC (0x1u << 8) /**< \brief (US_MR) Synchronous Mode Select */ -#define US_MR_PAR_Pos 9 -#define US_MR_PAR_Msk (0x7u << US_MR_PAR_Pos) /**< \brief (US_MR) Parity Type */ -#define US_MR_PAR(value) ((US_MR_PAR_Msk & ((value) << US_MR_PAR_Pos))) -#define US_MR_PAR_EVEN (0x0u << 9) /**< \brief (US_MR) Even parity */ -#define US_MR_PAR_ODD (0x1u << 9) /**< \brief (US_MR) Odd parity */ -#define US_MR_PAR_SPACE (0x2u << 9) /**< \brief (US_MR) Parity forced to 0 (Space) */ -#define US_MR_PAR_MARK (0x3u << 9) /**< \brief (US_MR) Parity forced to 1 (Mark) */ -#define US_MR_PAR_NO (0x4u << 9) /**< \brief (US_MR) No parity */ -#define US_MR_PAR_MULTIDROP (0x6u << 9) /**< \brief (US_MR) Multidrop mode */ -#define US_MR_NBSTOP_Pos 12 -#define US_MR_NBSTOP_Msk (0x3u << US_MR_NBSTOP_Pos) /**< \brief (US_MR) Number of Stop Bits */ -#define US_MR_NBSTOP(value) ((US_MR_NBSTOP_Msk & ((value) << US_MR_NBSTOP_Pos))) -#define US_MR_NBSTOP_1_BIT (0x0u << 12) /**< \brief (US_MR) 1 stop bit */ -#define US_MR_NBSTOP_1_5_BIT (0x1u << 12) /**< \brief (US_MR) 1.5 stop bit (SYNC = 0) or reserved (SYNC = 1) */ -#define US_MR_NBSTOP_2_BIT (0x2u << 12) /**< \brief (US_MR) 2 stop bits */ -#define US_MR_CHMODE_Pos 14 -#define US_MR_CHMODE_Msk (0x3u << US_MR_CHMODE_Pos) /**< \brief (US_MR) Channel Mode */ -#define US_MR_CHMODE(value) ((US_MR_CHMODE_Msk & ((value) << US_MR_CHMODE_Pos))) -#define US_MR_CHMODE_NORMAL (0x0u << 14) /**< \brief (US_MR) Normal mode */ -#define US_MR_CHMODE_AUTOMATIC (0x1u << 14) /**< \brief (US_MR) Automatic Echo. Receiver input is connected to the TXD pin. */ -#define US_MR_CHMODE_LOCAL_LOOPBACK (0x2u << 14) /**< \brief (US_MR) Local Loopback. Transmitter output is connected to the Receiver Input. */ -#define US_MR_CHMODE_REMOTE_LOOPBACK (0x3u << 14) /**< \brief (US_MR) Remote Loopback. RXD pin is internally connected to the TXD pin. */ -#define US_MR_MODE9 (0x1u << 17) /**< \brief (US_MR) 9-bit Character Length */ -#define US_MR_CLKO (0x1u << 18) /**< \brief (US_MR) Clock Output Select */ -#define US_MR_OVER (0x1u << 19) /**< \brief (US_MR) Oversampling Mode */ -#define US_MR_VAR_SYNC (0x1u << 22) /**< \brief (US_MR) Variable Synchronization of Command/Data Sync Start Frame Delimiter */ -#define US_MR_FILTER (0x1u << 28) /**< \brief (US_MR) Receive Line Filter */ -#define US_MR_MAN (0x1u << 29) /**< \brief (US_MR) Manchester Encoder/Decoder Enable */ -#define US_MR_MODSYNC (0x1u << 30) /**< \brief (US_MR) Manchester Synchronization Mode */ -#define US_MR_ONEBIT (0x1u << 31) /**< \brief (US_MR) Start Frame Delimiter Selector */ -#define US_MR_CPHA (0x1u << 8) /**< \brief (US_MR) SPI Clock Phase */ -#define US_MR_CPOL (0x1u << 16) /**< \brief (US_MR) SPI Clock Polarity */ -#define US_MR_WRDBT (0x1u << 20) /**< \brief (US_MR) Wait Read Data Before Transfer */ -/* -------- US_IER : (USART Offset: 0x0008) Interrupt Enable Register -------- */ -#define US_IER_RXRDY (0x1u << 0) /**< \brief (US_IER) RXRDY Interrupt Enable */ -#define US_IER_TXRDY (0x1u << 1) /**< \brief (US_IER) TXRDY Interrupt Enable */ -#define US_IER_RXBRK (0x1u << 2) /**< \brief (US_IER) Receiver Break Interrupt Enable */ -#define US_IER_OVRE (0x1u << 5) /**< \brief (US_IER) Overrun Error Interrupt Enable */ -#define US_IER_FRAME (0x1u << 6) /**< \brief (US_IER) Framing Error Interrupt Enable */ -#define US_IER_PARE (0x1u << 7) /**< \brief (US_IER) Parity Error Interrupt Enable */ -#define US_IER_TIMEOUT (0x1u << 8) /**< \brief (US_IER) Time-out Interrupt Enable */ -#define US_IER_TXEMPTY (0x1u << 9) /**< \brief (US_IER) TXEMPTY Interrupt Enable */ -#define US_IER_CTSIC (0x1u << 19) /**< \brief (US_IER) Clear to Send Input Change Interrupt Enable */ -#define US_IER_MANE (0x1u << 24) /**< \brief (US_IER) Manchester Error Interrupt Enable */ -#define US_IER_UNRE (0x1u << 10) /**< \brief (US_IER) SPI Underrun Error Interrupt Enable */ -#define US_IER_LINBK (0x1u << 13) /**< \brief (US_IER) LIN Break Sent or LIN Break Received Interrupt Enable */ -#define US_IER_LINID (0x1u << 14) /**< \brief (US_IER) LIN Identifier Sent or LIN Identifier Received Interrupt Enable */ -#define US_IER_LINTC (0x1u << 15) /**< \brief (US_IER) LIN Transfer Completed Interrupt Enable */ -#define US_IER_LINBE (0x1u << 25) /**< \brief (US_IER) LIN Bus Error Interrupt Enable */ -#define US_IER_LINISFE (0x1u << 26) /**< \brief (US_IER) LIN Inconsistent Synch Field Error Interrupt Enable */ -#define US_IER_LINIPE (0x1u << 27) /**< \brief (US_IER) LIN Identifier Parity Interrupt Enable */ -#define US_IER_LINCE (0x1u << 28) /**< \brief (US_IER) LIN Checksum Error Interrupt Enable */ -#define US_IER_LINSNRE (0x1u << 29) /**< \brief (US_IER) LIN Slave Not Responding Error Interrupt Enable */ -#define US_IER_LINSTE (0x1u << 30) /**< \brief (US_IER) LIN Synch Tolerance Error Interrupt Enable */ -#define US_IER_LINHTE (0x1u << 31) /**< \brief (US_IER) LIN Header Timeout Error Interrupt Enable */ -#define US_IER_LSFE (0x1u << 6) /**< \brief (US_IER) LON Short Frame Error Interrupt Enable */ -#define US_IER_LCRCE (0x1u << 7) /**< \brief (US_IER) LON CRC Error Interrupt Enable */ -#define US_IER_LTXD (0x1u << 24) /**< \brief (US_IER) LON Transmission Done Interrupt Enable */ -#define US_IER_LCOL (0x1u << 25) /**< \brief (US_IER) LON Collision Interrupt Enable */ -#define US_IER_LFET (0x1u << 26) /**< \brief (US_IER) LON Frame Early Termination Interrupt Enable */ -#define US_IER_LRXD (0x1u << 27) /**< \brief (US_IER) LON Reception Done Interrupt Enable */ -#define US_IER_LBLOVFE (0x1u << 28) /**< \brief (US_IER) LON Backlog Overflow Error Interrupt Enable */ -/* -------- US_IDR : (USART Offset: 0x000C) Interrupt Disable Register -------- */ -#define US_IDR_RXRDY (0x1u << 0) /**< \brief (US_IDR) RXRDY Interrupt Disable */ -#define US_IDR_TXRDY (0x1u << 1) /**< \brief (US_IDR) TXRDY Interrupt Disable */ -#define US_IDR_RXBRK (0x1u << 2) /**< \brief (US_IDR) Receiver Break Interrupt Disable */ -#define US_IDR_OVRE (0x1u << 5) /**< \brief (US_IDR) Overrun Error Interrupt Enable */ -#define US_IDR_FRAME (0x1u << 6) /**< \brief (US_IDR) Framing Error Interrupt Disable */ -#define US_IDR_PARE (0x1u << 7) /**< \brief (US_IDR) Parity Error Interrupt Disable */ -#define US_IDR_TIMEOUT (0x1u << 8) /**< \brief (US_IDR) Time-out Interrupt Disable */ -#define US_IDR_TXEMPTY (0x1u << 9) /**< \brief (US_IDR) TXEMPTY Interrupt Disable */ -#define US_IDR_CTSIC (0x1u << 19) /**< \brief (US_IDR) Clear to Send Input Change Interrupt Disable */ -#define US_IDR_MANE (0x1u << 24) /**< \brief (US_IDR) Manchester Error Interrupt Disable */ -#define US_IDR_UNRE (0x1u << 10) /**< \brief (US_IDR) SPI Underrun Error Interrupt Disable */ -#define US_IDR_LINBK (0x1u << 13) /**< \brief (US_IDR) LIN Break Sent or LIN Break Received Interrupt Disable */ -#define US_IDR_LINID (0x1u << 14) /**< \brief (US_IDR) LIN Identifier Sent or LIN Identifier Received Interrupt Disable */ -#define US_IDR_LINTC (0x1u << 15) /**< \brief (US_IDR) LIN Transfer Completed Interrupt Disable */ -#define US_IDR_LINBE (0x1u << 25) /**< \brief (US_IDR) LIN Bus Error Interrupt Disable */ -#define US_IDR_LINISFE (0x1u << 26) /**< \brief (US_IDR) LIN Inconsistent Synch Field Error Interrupt Disable */ -#define US_IDR_LINIPE (0x1u << 27) /**< \brief (US_IDR) LIN Identifier Parity Interrupt Disable */ -#define US_IDR_LINCE (0x1u << 28) /**< \brief (US_IDR) LIN Checksum Error Interrupt Disable */ -#define US_IDR_LINSNRE (0x1u << 29) /**< \brief (US_IDR) LIN Slave Not Responding Error Interrupt Disable */ -#define US_IDR_LINSTE (0x1u << 30) /**< \brief (US_IDR) LIN Synch Tolerance Error Interrupt Disable */ -#define US_IDR_LINHTE (0x1u << 31) /**< \brief (US_IDR) LIN Header Timeout Error Interrupt Disable */ -#define US_IDR_LSFE (0x1u << 6) /**< \brief (US_IDR) LON Short Frame Error Interrupt Disable */ -#define US_IDR_LCRCE (0x1u << 7) /**< \brief (US_IDR) LON CRC Error Interrupt Disable */ -#define US_IDR_LTXD (0x1u << 24) /**< \brief (US_IDR) LON Transmission Done Interrupt Disable */ -#define US_IDR_LCOL (0x1u << 25) /**< \brief (US_IDR) LON Collision Interrupt Disable */ -#define US_IDR_LFET (0x1u << 26) /**< \brief (US_IDR) LON Frame Early Termination Interrupt Disable */ -#define US_IDR_LRXD (0x1u << 27) /**< \brief (US_IDR) LON Reception Done Interrupt Disable */ -#define US_IDR_LBLOVFE (0x1u << 28) /**< \brief (US_IDR) LON Backlog Overflow Error Interrupt Disable */ -/* -------- US_IMR : (USART Offset: 0x0010) Interrupt Mask Register -------- */ -#define US_IMR_RXRDY (0x1u << 0) /**< \brief (US_IMR) RXRDY Interrupt Mask */ -#define US_IMR_TXRDY (0x1u << 1) /**< \brief (US_IMR) TXRDY Interrupt Mask */ -#define US_IMR_RXBRK (0x1u << 2) /**< \brief (US_IMR) Receiver Break Interrupt Mask */ -#define US_IMR_OVRE (0x1u << 5) /**< \brief (US_IMR) Overrun Error Interrupt Mask */ -#define US_IMR_FRAME (0x1u << 6) /**< \brief (US_IMR) Framing Error Interrupt Mask */ -#define US_IMR_PARE (0x1u << 7) /**< \brief (US_IMR) Parity Error Interrupt Mask */ -#define US_IMR_TIMEOUT (0x1u << 8) /**< \brief (US_IMR) Time-out Interrupt Mask */ -#define US_IMR_TXEMPTY (0x1u << 9) /**< \brief (US_IMR) TXEMPTY Interrupt Mask */ -#define US_IMR_CTSIC (0x1u << 19) /**< \brief (US_IMR) Clear to Send Input Change Interrupt Mask */ -#define US_IMR_MANE (0x1u << 24) /**< \brief (US_IMR) Manchester Error Interrupt Mask */ -#define US_IMR_UNRE (0x1u << 10) /**< \brief (US_IMR) SPI Underrun Error Interrupt Mask */ -#define US_IMR_LINBK (0x1u << 13) /**< \brief (US_IMR) LIN Break Sent or LIN Break Received Interrupt Mask */ -#define US_IMR_LINID (0x1u << 14) /**< \brief (US_IMR) LIN Identifier Sent or LIN Identifier Received Interrupt Mask */ -#define US_IMR_LINTC (0x1u << 15) /**< \brief (US_IMR) LIN Transfer Completed Interrupt Mask */ -#define US_IMR_LINBE (0x1u << 25) /**< \brief (US_IMR) LIN Bus Error Interrupt Mask */ -#define US_IMR_LINISFE (0x1u << 26) /**< \brief (US_IMR) LIN Inconsistent Synch Field Error Interrupt Mask */ -#define US_IMR_LINIPE (0x1u << 27) /**< \brief (US_IMR) LIN Identifier Parity Interrupt Mask */ -#define US_IMR_LINCE (0x1u << 28) /**< \brief (US_IMR) LIN Checksum Error Interrupt Mask */ -#define US_IMR_LINSNRE (0x1u << 29) /**< \brief (US_IMR) LIN Slave Not Responding Error Interrupt Mask */ -#define US_IMR_LINSTE (0x1u << 30) /**< \brief (US_IMR) LIN Synch Tolerance Error Interrupt Mask */ -#define US_IMR_LINHTE (0x1u << 31) /**< \brief (US_IMR) LIN Header Timeout Error Interrupt Mask */ -#define US_IMR_LSFE (0x1u << 6) /**< \brief (US_IMR) LON Short Frame Error Interrupt Mask */ -#define US_IMR_LCRCE (0x1u << 7) /**< \brief (US_IMR) LON CRC Error Interrupt Mask */ -#define US_IMR_LTXD (0x1u << 24) /**< \brief (US_IMR) LON Transmission Done Interrupt Mask */ -#define US_IMR_LCOL (0x1u << 25) /**< \brief (US_IMR) LON Collision Interrupt Mask */ -#define US_IMR_LFET (0x1u << 26) /**< \brief (US_IMR) LON Frame Early Termination Interrupt Mask */ -#define US_IMR_LRXD (0x1u << 27) /**< \brief (US_IMR) LON Reception Done Interrupt Mask */ -#define US_IMR_LBLOVFE (0x1u << 28) /**< \brief (US_IMR) LON Backlog Overflow Error Interrupt Mask */ -/* -------- US_CSR : (USART Offset: 0x0014) Channel Status Register -------- */ -#define US_CSR_RXRDY (0x1u << 0) /**< \brief (US_CSR) Receiver Ready (cleared by reading US_RHR) */ -#define US_CSR_TXRDY (0x1u << 1) /**< \brief (US_CSR) Transmitter Ready (cleared by writing US_THR) */ -#define US_CSR_RXBRK (0x1u << 2) /**< \brief (US_CSR) Break Received/End of Break (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_OVRE (0x1u << 5) /**< \brief (US_CSR) Overrun Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_FRAME (0x1u << 6) /**< \brief (US_CSR) Framing Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_PARE (0x1u << 7) /**< \brief (US_CSR) Parity Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_TIMEOUT (0x1u << 8) /**< \brief (US_CSR) Receiver Time-out (cleared by writing a one to bit US_CR.STTTO) */ -#define US_CSR_TXEMPTY (0x1u << 9) /**< \brief (US_CSR) Transmitter Empty (cleared by writing US_THR) */ -#define US_CSR_CTSIC (0x1u << 19) /**< \brief (US_CSR) Clear to Send Input Change Flag (cleared on read) */ -#define US_CSR_CTS (0x1u << 23) /**< \brief (US_CSR) Image of CTS Input */ -#define US_CSR_MANERR (0x1u << 24) /**< \brief (US_CSR) Manchester Error (cleared by writing a one to the bit US_CR.RSTSTA) */ -#define US_CSR_UNRE (0x1u << 10) /**< \brief (US_CSR) Underrun Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINBK (0x1u << 13) /**< \brief (US_CSR) LIN Break Sent or LIN Break Received (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINID (0x1u << 14) /**< \brief (US_CSR) LIN Identifier Sent or LIN Identifier Received (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINTC (0x1u << 15) /**< \brief (US_CSR) LIN Transfer Completed (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINBLS (0x1u << 23) /**< \brief (US_CSR) LIN Bus Line Status */ -#define US_CSR_LINBE (0x1u << 25) /**< \brief (US_CSR) LIN Bit Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINISFE (0x1u << 26) /**< \brief (US_CSR) LIN Inconsistent Synch Field Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINIPE (0x1u << 27) /**< \brief (US_CSR) LIN Identifier Parity Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINCE (0x1u << 28) /**< \brief (US_CSR) LIN Checksum Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINSNRE (0x1u << 29) /**< \brief (US_CSR) LIN Slave Not Responding Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINSTE (0x1u << 30) /**< \brief (US_CSR) LIN Synch Tolerance Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINHTE (0x1u << 31) /**< \brief (US_CSR) LIN Header Timeout Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LSFE (0x1u << 6) /**< \brief (US_CSR) LON Short Frame Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LCRCE (0x1u << 7) /**< \brief (US_CSR) LON CRC Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LTXD (0x1u << 24) /**< \brief (US_CSR) LON Transmission End Flag (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LCOL (0x1u << 25) /**< \brief (US_CSR) LON Collision Detected Flag (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LFET (0x1u << 26) /**< \brief (US_CSR) LON Frame Early Termination (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LRXD (0x1u << 27) /**< \brief (US_CSR) LON Reception End Flag (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LBLOVFE (0x1u << 28) /**< \brief (US_CSR) LON Backlog Overflow Error (cleared by writing a one to bit US_CR.RSTSTA) */ -/* -------- US_RHR : (USART Offset: 0x0018) Receive Holding Register -------- */ -#define US_RHR_RXCHR_Pos 0 -#define US_RHR_RXCHR_Msk (0x1ffu << US_RHR_RXCHR_Pos) /**< \brief (US_RHR) Received Character */ -#define US_RHR_RXSYNH (0x1u << 15) /**< \brief (US_RHR) Received Sync */ -/* -------- US_THR : (USART Offset: 0x001C) Transmit Holding Register -------- */ -#define US_THR_TXCHR_Pos 0 -#define US_THR_TXCHR_Msk (0x1ffu << US_THR_TXCHR_Pos) /**< \brief (US_THR) Character to be Transmitted */ -#define US_THR_TXCHR(value) ((US_THR_TXCHR_Msk & ((value) << US_THR_TXCHR_Pos))) -#define US_THR_TXSYNH (0x1u << 15) /**< \brief (US_THR) Sync Field to be Transmitted */ -/* -------- US_BRGR : (USART Offset: 0x0020) Baud Rate Generator Register -------- */ -#define US_BRGR_CD_Pos 0 -#define US_BRGR_CD_Msk (0xffffu << US_BRGR_CD_Pos) /**< \brief (US_BRGR) Clock Divider */ -#define US_BRGR_CD(value) ((US_BRGR_CD_Msk & ((value) << US_BRGR_CD_Pos))) -#define US_BRGR_FP_Pos 16 -#define US_BRGR_FP_Msk (0x7u << US_BRGR_FP_Pos) /**< \brief (US_BRGR) Fractional Part */ -#define US_BRGR_FP(value) ((US_BRGR_FP_Msk & ((value) << US_BRGR_FP_Pos))) -/* -------- US_RTOR : (USART Offset: 0x0024) Receiver Time-out Register -------- */ -#define US_RTOR_TO_Pos 0 -#define US_RTOR_TO_Msk (0x1ffffu << US_RTOR_TO_Pos) /**< \brief (US_RTOR) Time-out Value */ -#define US_RTOR_TO(value) ((US_RTOR_TO_Msk & ((value) << US_RTOR_TO_Pos))) -/* -------- US_TTGR : (USART Offset: 0x0028) Transmitter Timeguard Register -------- */ -#define US_TTGR_TG_Pos 0 -#define US_TTGR_TG_Msk (0xffu << US_TTGR_TG_Pos) /**< \brief (US_TTGR) Timeguard Value */ -#define US_TTGR_TG(value) ((US_TTGR_TG_Msk & ((value) << US_TTGR_TG_Pos))) -#define US_TTGR_PCYCLE_Pos 0 -#define US_TTGR_PCYCLE_Msk (0xffffffu << US_TTGR_PCYCLE_Pos) /**< \brief (US_TTGR) LON PCYCLE Length */ -#define US_TTGR_PCYCLE(value) ((US_TTGR_PCYCLE_Msk & ((value) << US_TTGR_PCYCLE_Pos))) -/* -------- US_MAN : (USART Offset: 0x0050) Manchester Configuration Register -------- */ -#define US_MAN_TX_PL_Pos 0 -#define US_MAN_TX_PL_Msk (0xfu << US_MAN_TX_PL_Pos) /**< \brief (US_MAN) Transmitter Preamble Length */ -#define US_MAN_TX_PL(value) ((US_MAN_TX_PL_Msk & ((value) << US_MAN_TX_PL_Pos))) -#define US_MAN_TX_PP_Pos 8 -#define US_MAN_TX_PP_Msk (0x3u << US_MAN_TX_PP_Pos) /**< \brief (US_MAN) Transmitter Preamble Pattern */ -#define US_MAN_TX_PP(value) ((US_MAN_TX_PP_Msk & ((value) << US_MAN_TX_PP_Pos))) -#define US_MAN_TX_PP_ALL_ONE (0x0u << 8) /**< \brief (US_MAN) The preamble is composed of '1's */ -#define US_MAN_TX_PP_ALL_ZERO (0x1u << 8) /**< \brief (US_MAN) The preamble is composed of '0's */ -#define US_MAN_TX_PP_ZERO_ONE (0x2u << 8) /**< \brief (US_MAN) The preamble is composed of '01's */ -#define US_MAN_TX_PP_ONE_ZERO (0x3u << 8) /**< \brief (US_MAN) The preamble is composed of '10's */ -#define US_MAN_TX_MPOL (0x1u << 12) /**< \brief (US_MAN) Transmitter Manchester Polarity */ -#define US_MAN_RX_PL_Pos 16 -#define US_MAN_RX_PL_Msk (0xfu << US_MAN_RX_PL_Pos) /**< \brief (US_MAN) Receiver Preamble Length */ -#define US_MAN_RX_PL(value) ((US_MAN_RX_PL_Msk & ((value) << US_MAN_RX_PL_Pos))) -#define US_MAN_RX_PP_Pos 24 -#define US_MAN_RX_PP_Msk (0x3u << US_MAN_RX_PP_Pos) /**< \brief (US_MAN) Receiver Preamble Pattern detected */ -#define US_MAN_RX_PP(value) ((US_MAN_RX_PP_Msk & ((value) << US_MAN_RX_PP_Pos))) -#define US_MAN_RX_PP_ALL_ONE (0x0u << 24) /**< \brief (US_MAN) The preamble is composed of '1's */ -#define US_MAN_RX_PP_ALL_ZERO (0x1u << 24) /**< \brief (US_MAN) The preamble is composed of '0's */ -#define US_MAN_RX_PP_ZERO_ONE (0x2u << 24) /**< \brief (US_MAN) The preamble is composed of '01's */ -#define US_MAN_RX_PP_ONE_ZERO (0x3u << 24) /**< \brief (US_MAN) The preamble is composed of '10's */ -#define US_MAN_RX_MPOL (0x1u << 28) /**< \brief (US_MAN) Receiver Manchester Polarity */ -#define US_MAN_ONE (0x1u << 29) /**< \brief (US_MAN) Must Be Set to 1 */ -#define US_MAN_DRIFT (0x1u << 30) /**< \brief (US_MAN) Drift Compensation */ -#define US_MAN_RXIDLEV (0x1u << 31) /**< \brief (US_MAN) */ -/* -------- US_LINMR : (USART Offset: 0x0054) LIN Mode Register -------- */ -#define US_LINMR_NACT_Pos 0 -#define US_LINMR_NACT_Msk (0x3u << US_LINMR_NACT_Pos) /**< \brief (US_LINMR) LIN Node Action */ -#define US_LINMR_NACT(value) ((US_LINMR_NACT_Msk & ((value) << US_LINMR_NACT_Pos))) -#define US_LINMR_NACT_PUBLISH (0x0u << 0) /**< \brief (US_LINMR) The USART transmits the response. */ -#define US_LINMR_NACT_SUBSCRIBE (0x1u << 0) /**< \brief (US_LINMR) The USART receives the response. */ -#define US_LINMR_NACT_IGNORE (0x2u << 0) /**< \brief (US_LINMR) The USART does not transmit and does not receive the response. */ -#define US_LINMR_PARDIS (0x1u << 2) /**< \brief (US_LINMR) Parity Disable */ -#define US_LINMR_CHKDIS (0x1u << 3) /**< \brief (US_LINMR) Checksum Disable */ -#define US_LINMR_CHKTYP (0x1u << 4) /**< \brief (US_LINMR) Checksum Type */ -#define US_LINMR_DLM (0x1u << 5) /**< \brief (US_LINMR) Data Length Mode */ -#define US_LINMR_FSDIS (0x1u << 6) /**< \brief (US_LINMR) Frame Slot Mode Disable */ -#define US_LINMR_WKUPTYP (0x1u << 7) /**< \brief (US_LINMR) Wakeup Signal Type */ -#define US_LINMR_DLC_Pos 8 -#define US_LINMR_DLC_Msk (0xffu << US_LINMR_DLC_Pos) /**< \brief (US_LINMR) Data Length Control */ -#define US_LINMR_DLC(value) ((US_LINMR_DLC_Msk & ((value) << US_LINMR_DLC_Pos))) -#define US_LINMR_PDCM (0x1u << 16) /**< \brief (US_LINMR) DMAC Mode */ -#define US_LINMR_SYNCDIS (0x1u << 17) /**< \brief (US_LINMR) Synchronization Disable */ -/* -------- US_LINIR : (USART Offset: 0x0058) LIN Identifier Register -------- */ -#define US_LINIR_IDCHR_Pos 0 -#define US_LINIR_IDCHR_Msk (0xffu << US_LINIR_IDCHR_Pos) /**< \brief (US_LINIR) Identifier Character */ -#define US_LINIR_IDCHR(value) ((US_LINIR_IDCHR_Msk & ((value) << US_LINIR_IDCHR_Pos))) -/* -------- US_LINBRR : (USART Offset: 0x005C) LIN Baud Rate Register -------- */ -#define US_LINBRR_LINCD_Pos 0 -#define US_LINBRR_LINCD_Msk (0xffffu << US_LINBRR_LINCD_Pos) /**< \brief (US_LINBRR) Clock Divider after Synchronization */ -#define US_LINBRR_LINFP_Pos 16 -#define US_LINBRR_LINFP_Msk (0x7u << US_LINBRR_LINFP_Pos) /**< \brief (US_LINBRR) Fractional Part after Synchronization */ -/* -------- US_LONMR : (USART Offset: 0x0060) LON Mode Register -------- */ -#define US_LONMR_COMMT (0x1u << 0) /**< \brief (US_LONMR) LON comm_type Parameter Value */ -#define US_LONMR_COLDET (0x1u << 1) /**< \brief (US_LONMR) LON Collision Detection Feature */ -#define US_LONMR_TCOL (0x1u << 2) /**< \brief (US_LONMR) Terminate Frame upon Collision Notification */ -#define US_LONMR_CDTAIL (0x1u << 3) /**< \brief (US_LONMR) LON Collision Detection on Frame Tail */ -#define US_LONMR_DMAM (0x1u << 4) /**< \brief (US_LONMR) LON DMA Mode */ -#define US_LONMR_LCDS (0x1u << 5) /**< \brief (US_LONMR) LON Collision Detection Source */ -#define US_LONMR_EOFS_Pos 16 -#define US_LONMR_EOFS_Msk (0xffu << US_LONMR_EOFS_Pos) /**< \brief (US_LONMR) End of Frame Condition Size */ -#define US_LONMR_EOFS(value) ((US_LONMR_EOFS_Msk & ((value) << US_LONMR_EOFS_Pos))) -/* -------- US_LONPR : (USART Offset: 0x0064) LON Preamble Register -------- */ -#define US_LONPR_LONPL_Pos 0 -#define US_LONPR_LONPL_Msk (0x3fffu << US_LONPR_LONPL_Pos) /**< \brief (US_LONPR) LON Preamble Length */ -#define US_LONPR_LONPL(value) ((US_LONPR_LONPL_Msk & ((value) << US_LONPR_LONPL_Pos))) -/* -------- US_LONDL : (USART Offset: 0x0068) LON Data Length Register -------- */ -#define US_LONDL_LONDL_Pos 0 -#define US_LONDL_LONDL_Msk (0xffu << US_LONDL_LONDL_Pos) /**< \brief (US_LONDL) LON Data Length */ -#define US_LONDL_LONDL(value) ((US_LONDL_LONDL_Msk & ((value) << US_LONDL_LONDL_Pos))) -/* -------- US_LONL2HDR : (USART Offset: 0x006C) LON L2HDR Register -------- */ -#define US_LONL2HDR_BLI_Pos 0 -#define US_LONL2HDR_BLI_Msk (0x3fu << US_LONL2HDR_BLI_Pos) /**< \brief (US_LONL2HDR) LON Backlog Increment */ -#define US_LONL2HDR_BLI(value) ((US_LONL2HDR_BLI_Msk & ((value) << US_LONL2HDR_BLI_Pos))) -#define US_LONL2HDR_ALTP (0x1u << 6) /**< \brief (US_LONL2HDR) LON Alternate Path Bit */ -#define US_LONL2HDR_PB (0x1u << 7) /**< \brief (US_LONL2HDR) LON Priority Bit */ -/* -------- US_LONBL : (USART Offset: 0x0070) LON Backlog Register -------- */ -#define US_LONBL_LONBL_Pos 0 -#define US_LONBL_LONBL_Msk (0x3fu << US_LONBL_LONBL_Pos) /**< \brief (US_LONBL) LON Node Backlog Value */ -/* -------- US_LONB1TX : (USART Offset: 0x0074) LON Beta1 Tx Register -------- */ -#define US_LONB1TX_BETA1TX_Pos 0 -#define US_LONB1TX_BETA1TX_Msk (0xffffffu << US_LONB1TX_BETA1TX_Pos) /**< \brief (US_LONB1TX) LON Beta1 Length after Transmission */ -#define US_LONB1TX_BETA1TX(value) ((US_LONB1TX_BETA1TX_Msk & ((value) << US_LONB1TX_BETA1TX_Pos))) -/* -------- US_LONB1RX : (USART Offset: 0x0078) LON Beta1 Rx Register -------- */ -#define US_LONB1RX_BETA1RX_Pos 0 -#define US_LONB1RX_BETA1RX_Msk (0xffffffu << US_LONB1RX_BETA1RX_Pos) /**< \brief (US_LONB1RX) LON Beta1 Length after Reception */ -#define US_LONB1RX_BETA1RX(value) ((US_LONB1RX_BETA1RX_Msk & ((value) << US_LONB1RX_BETA1RX_Pos))) -/* -------- US_LONPRIO : (USART Offset: 0x007C) LON Priority Register -------- */ -#define US_LONPRIO_PSNB_Pos 0 -#define US_LONPRIO_PSNB_Msk (0x7fu << US_LONPRIO_PSNB_Pos) /**< \brief (US_LONPRIO) LON Priority Slot Number */ -#define US_LONPRIO_PSNB(value) ((US_LONPRIO_PSNB_Msk & ((value) << US_LONPRIO_PSNB_Pos))) -#define US_LONPRIO_NPS_Pos 8 -#define US_LONPRIO_NPS_Msk (0x7fu << US_LONPRIO_NPS_Pos) /**< \brief (US_LONPRIO) LON Node Priority Slot */ -#define US_LONPRIO_NPS(value) ((US_LONPRIO_NPS_Msk & ((value) << US_LONPRIO_NPS_Pos))) -/* -------- US_IDTTX : (USART Offset: 0x0080) LON IDT Tx Register -------- */ -#define US_IDTTX_IDTTX_Pos 0 -#define US_IDTTX_IDTTX_Msk (0xffffffu << US_IDTTX_IDTTX_Pos) /**< \brief (US_IDTTX) LON Indeterminate Time after Transmission (comm_type = 1 mode only) */ -#define US_IDTTX_IDTTX(value) ((US_IDTTX_IDTTX_Msk & ((value) << US_IDTTX_IDTTX_Pos))) -/* -------- US_IDTRX : (USART Offset: 0x0084) LON IDT Rx Register -------- */ -#define US_IDTRX_IDTRX_Pos 0 -#define US_IDTRX_IDTRX_Msk (0xffffffu << US_IDTRX_IDTRX_Pos) /**< \brief (US_IDTRX) LON Indeterminate Time after Reception (comm_type = 1 mode only) */ -#define US_IDTRX_IDTRX(value) ((US_IDTRX_IDTRX_Msk & ((value) << US_IDTRX_IDTRX_Pos))) -/* -------- US_ICDIFF : (USART Offset: 0x0088) IC DIFF Register -------- */ -#define US_ICDIFF_ICDIFF_Pos 0 -#define US_ICDIFF_ICDIFF_Msk (0xfu << US_ICDIFF_ICDIFF_Pos) /**< \brief (US_ICDIFF) IC Differentiator Number */ -#define US_ICDIFF_ICDIFF(value) ((US_ICDIFF_ICDIFF_Msk & ((value) << US_ICDIFF_ICDIFF_Pos))) -/* -------- US_WPMR : (USART Offset: 0x00E4) Write Protection Mode Register -------- */ -#define US_WPMR_WPEN (0x1u << 0) /**< \brief (US_WPMR) Write Protection Enable */ -#define US_WPMR_WPKEY_Pos 8 -#define US_WPMR_WPKEY_Msk (0xffffffu << US_WPMR_WPKEY_Pos) /**< \brief (US_WPMR) Write Protection Key */ -#define US_WPMR_WPKEY(value) ((US_WPMR_WPKEY_Msk & ((value) << US_WPMR_WPKEY_Pos))) -#define US_WPMR_WPKEY_PASSWD (0x555341u << 8) /**< \brief (US_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- US_WPSR : (USART Offset: 0x00E8) Write Protection Status Register -------- */ -#define US_WPSR_WPVS (0x1u << 0) /**< \brief (US_WPSR) Write Protection Violation Status */ -#define US_WPSR_WPVSRC_Pos 8 -#define US_WPSR_WPVSRC_Msk (0xffffu << US_WPSR_WPVSRC_Pos) /**< \brief (US_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_USART_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h deleted file mode 100644 index 0391a17..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h +++ /dev/null @@ -1,975 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USBHS_COMPONENT_ -#define _SAMS70_USBHS_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR USB High-Speed Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_USBHS USB High-Speed Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief UsbhsDevdma hardware registers */ -typedef struct { - __IO uint32_t USBHS_DEVDMANXTDSC; /**< \brief (UsbhsDevdma Offset: 0x0) Device DMA Channel Next Descriptor Address Register */ - __IO uint32_t USBHS_DEVDMAADDRESS; /**< \brief (UsbhsDevdma Offset: 0x4) Device DMA Channel Address Register */ - __IO uint32_t USBHS_DEVDMACONTROL; /**< \brief (UsbhsDevdma Offset: 0x8) Device DMA Channel Control Register */ - __IO uint32_t USBHS_DEVDMASTATUS; /**< \brief (UsbhsDevdma Offset: 0xC) Device DMA Channel Status Register */ -} UsbhsDevdma; -/** \brief UsbhsHstdma hardware registers */ -typedef struct { - __IO uint32_t USBHS_HSTDMANXTDSC; /**< \brief (UsbhsHstdma Offset: 0x0) Host DMA Channel Next Descriptor Address Register */ - __IO uint32_t USBHS_HSTDMAADDRESS; /**< \brief (UsbhsHstdma Offset: 0x4) Host DMA Channel Address Register */ - __IO uint32_t USBHS_HSTDMACONTROL; /**< \brief (UsbhsHstdma Offset: 0x8) Host DMA Channel Control Register */ - __IO uint32_t USBHS_HSTDMASTATUS; /**< \brief (UsbhsHstdma Offset: 0xC) Host DMA Channel Status Register */ -} UsbhsHstdma; -/** \brief Usbhs hardware registers */ -#define USBHSDEVDMA_NUMBER 7 -#define USBHSHSTDMA_NUMBER 7 -typedef struct { - __IO uint32_t USBHS_DEVCTRL; /**< \brief (Usbhs Offset: 0x0000) Device General Control Register */ - __I uint32_t USBHS_DEVISR; /**< \brief (Usbhs Offset: 0x0004) Device Global Interrupt Status Register */ - __O uint32_t USBHS_DEVICR; /**< \brief (Usbhs Offset: 0x0008) Device Global Interrupt Clear Register */ - __O uint32_t USBHS_DEVIFR; /**< \brief (Usbhs Offset: 0x000C) Device Global Interrupt Set Register */ - __I uint32_t USBHS_DEVIMR; /**< \brief (Usbhs Offset: 0x0010) Device Global Interrupt Mask Register */ - __O uint32_t USBHS_DEVIDR; /**< \brief (Usbhs Offset: 0x0014) Device Global Interrupt Disable Register */ - __O uint32_t USBHS_DEVIER; /**< \brief (Usbhs Offset: 0x0018) Device Global Interrupt Enable Register */ - __IO uint32_t USBHS_DEVEPT; /**< \brief (Usbhs Offset: 0x001C) Device Endpoint Register */ - __I uint32_t USBHS_DEVFNUM; /**< \brief (Usbhs Offset: 0x0020) Device Frame Number Register */ - __I uint32_t Reserved1[55]; - __IO uint32_t USBHS_DEVEPTCFG[10]; /**< \brief (Usbhs Offset: 0x100) Device Endpoint Configuration Register (n = 0) */ - __I uint32_t Reserved2[2]; - __I uint32_t USBHS_DEVEPTISR[10]; /**< \brief (Usbhs Offset: 0x130) Device Endpoint Status Register (n = 0) */ - __I uint32_t Reserved3[2]; - __O uint32_t USBHS_DEVEPTICR[10]; /**< \brief (Usbhs Offset: 0x160) Device Endpoint Clear Register (n = 0) */ - __I uint32_t Reserved4[2]; - __O uint32_t USBHS_DEVEPTIFR[10]; /**< \brief (Usbhs Offset: 0x190) Device Endpoint Set Register (n = 0) */ - __I uint32_t Reserved5[2]; - __I uint32_t USBHS_DEVEPTIMR[10]; /**< \brief (Usbhs Offset: 0x1C0) Device Endpoint Mask Register (n = 0) */ - __I uint32_t Reserved6[2]; - __O uint32_t USBHS_DEVEPTIER[10]; /**< \brief (Usbhs Offset: 0x1F0) Device Endpoint Enable Register (n = 0) */ - __I uint32_t Reserved7[2]; - __O uint32_t USBHS_DEVEPTIDR[10]; /**< \brief (Usbhs Offset: 0x220) Device Endpoint Disable Register (n = 0) */ - __I uint32_t Reserved8[50]; - UsbhsDevdma USBHS_DEVDMA[USBHSDEVDMA_NUMBER]; /**< \brief (Usbhs Offset: 0x310) n = 1 .. 7 */ - __I uint32_t Reserved9[32]; - __IO uint32_t USBHS_HSTCTRL; /**< \brief (Usbhs Offset: 0x0400) Host General Control Register */ - __I uint32_t USBHS_HSTISR; /**< \brief (Usbhs Offset: 0x0404) Host Global Interrupt Status Register */ - __O uint32_t USBHS_HSTICR; /**< \brief (Usbhs Offset: 0x0408) Host Global Interrupt Clear Register */ - __O uint32_t USBHS_HSTIFR; /**< \brief (Usbhs Offset: 0x040C) Host Global Interrupt Set Register */ - __I uint32_t USBHS_HSTIMR; /**< \brief (Usbhs Offset: 0x0410) Host Global Interrupt Mask Register */ - __O uint32_t USBHS_HSTIDR; /**< \brief (Usbhs Offset: 0x0414) Host Global Interrupt Disable Register */ - __O uint32_t USBHS_HSTIER; /**< \brief (Usbhs Offset: 0x0418) Host Global Interrupt Enable Register */ - __IO uint32_t USBHS_HSTPIP; /**< \brief (Usbhs Offset: 0x0041C) Host Pipe Register */ - __IO uint32_t USBHS_HSTFNUM; /**< \brief (Usbhs Offset: 0x0420) Host Frame Number Register */ - __IO uint32_t USBHS_HSTADDR1; /**< \brief (Usbhs Offset: 0x0424) Host Address 1 Register */ - __IO uint32_t USBHS_HSTADDR2; /**< \brief (Usbhs Offset: 0x0428) Host Address 2 Register */ - __IO uint32_t USBHS_HSTADDR3; /**< \brief (Usbhs Offset: 0x042C) Host Address 3 Register */ - __I uint32_t Reserved10[52]; - __IO uint32_t USBHS_HSTPIPCFG[10]; /**< \brief (Usbhs Offset: 0x500) Host Pipe Configuration Register (n = 0) */ - __I uint32_t Reserved11[2]; - __I uint32_t USBHS_HSTPIPISR[10]; /**< \brief (Usbhs Offset: 0x530) Host Pipe Status Register (n = 0) */ - __I uint32_t Reserved12[2]; - __O uint32_t USBHS_HSTPIPICR[10]; /**< \brief (Usbhs Offset: 0x560) Host Pipe Clear Register (n = 0) */ - __I uint32_t Reserved13[2]; - __O uint32_t USBHS_HSTPIPIFR[10]; /**< \brief (Usbhs Offset: 0x590) Host Pipe Set Register (n = 0) */ - __I uint32_t Reserved14[2]; - __I uint32_t USBHS_HSTPIPIMR[10]; /**< \brief (Usbhs Offset: 0x5C0) Host Pipe Mask Register (n = 0) */ - __I uint32_t Reserved15[2]; - __O uint32_t USBHS_HSTPIPIER[10]; /**< \brief (Usbhs Offset: 0x5F0) Host Pipe Enable Register (n = 0) */ - __I uint32_t Reserved16[2]; - __O uint32_t USBHS_HSTPIPIDR[10]; /**< \brief (Usbhs Offset: 0x620) Host Pipe Disable Register (n = 0) */ - __I uint32_t Reserved17[2]; - __IO uint32_t USBHS_HSTPIPINRQ[10]; /**< \brief (Usbhs Offset: 0x650) Host Pipe IN Request Register (n = 0) */ - __I uint32_t Reserved18[2]; - __IO uint32_t USBHS_HSTPIPERR[10]; /**< \brief (Usbhs Offset: 0x680) Host Pipe Error Register (n = 0) */ - __I uint32_t Reserved19[26]; - UsbhsHstdma USBHS_HSTDMA[USBHSHSTDMA_NUMBER]; /**< \brief (Usbhs Offset: 0x710) n = 1 .. 7 */ - __I uint32_t Reserved20[32]; - __IO uint32_t USBHS_CTRL; /**< \brief (Usbhs Offset: 0x0800) General Control Register */ - __I uint32_t USBHS_SR; /**< \brief (Usbhs Offset: 0x0804) General Status Register */ - __O uint32_t USBHS_SCR; /**< \brief (Usbhs Offset: 0x0808) General Status Clear Register */ - __O uint32_t USBHS_SFR; /**< \brief (Usbhs Offset: 0x080C) General Status Set Register */ - __IO uint32_t USBHS_TSTA1; /**< \brief (Usbhs Offset: 0x0810) General Test A1 Register */ - __IO uint32_t USBHS_TSTA2; /**< \brief (Usbhs Offset: 0x0814) General Test A2 Register */ - __I uint32_t USBHS_VERSION; /**< \brief (Usbhs Offset: 0x0818) General Version Register */ - __I uint32_t Reserved21[4]; - __I uint32_t USBHS_FSM; /**< \brief (Usbhs Offset: 0x082C) General Finite State Machine Register */ -} Usbhs; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- USBHS_DEVCTRL : (USBHS Offset: 0x0000) Device General Control Register -------- */ -#define USBHS_DEVCTRL_UADD_Pos 0 -#define USBHS_DEVCTRL_UADD_Msk (0x7fu << USBHS_DEVCTRL_UADD_Pos) /**< \brief (USBHS_DEVCTRL) USB Address */ -#define USBHS_DEVCTRL_UADD(value) ((USBHS_DEVCTRL_UADD_Msk & ((value) << USBHS_DEVCTRL_UADD_Pos))) -#define USBHS_DEVCTRL_ADDEN (0x1u << 7) /**< \brief (USBHS_DEVCTRL) Address Enable */ -#define USBHS_DEVCTRL_DETACH (0x1u << 8) /**< \brief (USBHS_DEVCTRL) Detach */ -#define USBHS_DEVCTRL_RMWKUP (0x1u << 9) /**< \brief (USBHS_DEVCTRL) Remote Wake-Up */ -#define USBHS_DEVCTRL_SPDCONF_Pos 10 -#define USBHS_DEVCTRL_SPDCONF_Msk (0x3u << USBHS_DEVCTRL_SPDCONF_Pos) /**< \brief (USBHS_DEVCTRL) Mode Configuration */ -#define USBHS_DEVCTRL_SPDCONF(value) ((USBHS_DEVCTRL_SPDCONF_Msk & ((value) << USBHS_DEVCTRL_SPDCONF_Pos))) -#define USBHS_DEVCTRL_SPDCONF_NORMAL (0x0u << 10) /**< \brief (USBHS_DEVCTRL) The peripheral starts in Full-speed mode and performs a high-speed reset to switch to High-speed mode if the host is high-speed-capable. */ -#define USBHS_DEVCTRL_SPDCONF_LOW_POWER (0x1u << 10) /**< \brief (USBHS_DEVCTRL) For a better consumption, if high speed is not needed. */ -#define USBHS_DEVCTRL_SPDCONF_HIGH_SPEED (0x2u << 10) /**< \brief (USBHS_DEVCTRL) Forced high speed. */ -#define USBHS_DEVCTRL_SPDCONF_FORCED_FS (0x3u << 10) /**< \brief (USBHS_DEVCTRL) The peripheral remains in Full-speed mode whatever the host speed capability. */ -#define USBHS_DEVCTRL_LS (0x1u << 12) /**< \brief (USBHS_DEVCTRL) Low-Speed Mode Force */ -#define USBHS_DEVCTRL_TSTJ (0x1u << 13) /**< \brief (USBHS_DEVCTRL) Test mode J */ -#define USBHS_DEVCTRL_TSTK (0x1u << 14) /**< \brief (USBHS_DEVCTRL) Test mode K */ -#define USBHS_DEVCTRL_TSTPCKT (0x1u << 15) /**< \brief (USBHS_DEVCTRL) Test packet mode */ -#define USBHS_DEVCTRL_OPMODE2 (0x1u << 16) /**< \brief (USBHS_DEVCTRL) Specific Operational mode */ -/* -------- USBHS_DEVISR : (USBHS Offset: 0x0004) Device Global Interrupt Status Register -------- */ -#define USBHS_DEVISR_SUSP (0x1u << 0) /**< \brief (USBHS_DEVISR) Suspend Interrupt */ -#define USBHS_DEVISR_MSOF (0x1u << 1) /**< \brief (USBHS_DEVISR) Micro Start of Frame Interrupt */ -#define USBHS_DEVISR_SOF (0x1u << 2) /**< \brief (USBHS_DEVISR) Start of Frame Interrupt */ -#define USBHS_DEVISR_EORST (0x1u << 3) /**< \brief (USBHS_DEVISR) End of Reset Interrupt */ -#define USBHS_DEVISR_WAKEUP (0x1u << 4) /**< \brief (USBHS_DEVISR) Wake-Up Interrupt */ -#define USBHS_DEVISR_EORSM (0x1u << 5) /**< \brief (USBHS_DEVISR) End of Resume Interrupt */ -#define USBHS_DEVISR_UPRSM (0x1u << 6) /**< \brief (USBHS_DEVISR) Upstream Resume Interrupt */ -#define USBHS_DEVISR_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVISR) Endpoint 0 Interrupt */ -#define USBHS_DEVISR_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVISR) Endpoint 1 Interrupt */ -#define USBHS_DEVISR_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVISR) Endpoint 2 Interrupt */ -#define USBHS_DEVISR_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVISR) Endpoint 3 Interrupt */ -#define USBHS_DEVISR_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVISR) Endpoint 4 Interrupt */ -#define USBHS_DEVISR_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVISR) Endpoint 5 Interrupt */ -#define USBHS_DEVISR_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVISR) Endpoint 6 Interrupt */ -#define USBHS_DEVISR_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVISR) Endpoint 7 Interrupt */ -#define USBHS_DEVISR_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVISR) Endpoint 8 Interrupt */ -#define USBHS_DEVISR_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVISR) Endpoint 9 Interrupt */ -#define USBHS_DEVISR_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVISR) Endpoint 10 Interrupt */ -#define USBHS_DEVISR_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVISR) Endpoint 11 Interrupt */ -#define USBHS_DEVISR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVISR) DMA Channel 1 Interrupt */ -#define USBHS_DEVISR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVISR) DMA Channel 2 Interrupt */ -#define USBHS_DEVISR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVISR) DMA Channel 3 Interrupt */ -#define USBHS_DEVISR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVISR) DMA Channel 4 Interrupt */ -#define USBHS_DEVISR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVISR) DMA Channel 5 Interrupt */ -#define USBHS_DEVISR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVISR) DMA Channel 6 Interrupt */ -#define USBHS_DEVISR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVISR) DMA Channel 7 Interrupt */ -/* -------- USBHS_DEVICR : (USBHS Offset: 0x0008) Device Global Interrupt Clear Register -------- */ -#define USBHS_DEVICR_SUSPC (0x1u << 0) /**< \brief (USBHS_DEVICR) Suspend Interrupt Clear */ -#define USBHS_DEVICR_MSOFC (0x1u << 1) /**< \brief (USBHS_DEVICR) Micro Start of Frame Interrupt Clear */ -#define USBHS_DEVICR_SOFC (0x1u << 2) /**< \brief (USBHS_DEVICR) Start of Frame Interrupt Clear */ -#define USBHS_DEVICR_EORSTC (0x1u << 3) /**< \brief (USBHS_DEVICR) End of Reset Interrupt Clear */ -#define USBHS_DEVICR_WAKEUPC (0x1u << 4) /**< \brief (USBHS_DEVICR) Wake-Up Interrupt Clear */ -#define USBHS_DEVICR_EORSMC (0x1u << 5) /**< \brief (USBHS_DEVICR) End of Resume Interrupt Clear */ -#define USBHS_DEVICR_UPRSMC (0x1u << 6) /**< \brief (USBHS_DEVICR) Upstream Resume Interrupt Clear */ -/* -------- USBHS_DEVIFR : (USBHS Offset: 0x000C) Device Global Interrupt Set Register -------- */ -#define USBHS_DEVIFR_SUSPS (0x1u << 0) /**< \brief (USBHS_DEVIFR) Suspend Interrupt Set */ -#define USBHS_DEVIFR_MSOFS (0x1u << 1) /**< \brief (USBHS_DEVIFR) Micro Start of Frame Interrupt Set */ -#define USBHS_DEVIFR_SOFS (0x1u << 2) /**< \brief (USBHS_DEVIFR) Start of Frame Interrupt Set */ -#define USBHS_DEVIFR_EORSTS (0x1u << 3) /**< \brief (USBHS_DEVIFR) End of Reset Interrupt Set */ -#define USBHS_DEVIFR_WAKEUPS (0x1u << 4) /**< \brief (USBHS_DEVIFR) Wake-Up Interrupt Set */ -#define USBHS_DEVIFR_EORSMS (0x1u << 5) /**< \brief (USBHS_DEVIFR) End of Resume Interrupt Set */ -#define USBHS_DEVIFR_UPRSMS (0x1u << 6) /**< \brief (USBHS_DEVIFR) Upstream Resume Interrupt Set */ -#define USBHS_DEVIFR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIFR) DMA Channel 1 Interrupt Set */ -#define USBHS_DEVIFR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIFR) DMA Channel 2 Interrupt Set */ -#define USBHS_DEVIFR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIFR) DMA Channel 3 Interrupt Set */ -#define USBHS_DEVIFR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIFR) DMA Channel 4 Interrupt Set */ -#define USBHS_DEVIFR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIFR) DMA Channel 5 Interrupt Set */ -#define USBHS_DEVIFR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIFR) DMA Channel 6 Interrupt Set */ -#define USBHS_DEVIFR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIFR) DMA Channel 7 Interrupt Set */ -/* -------- USBHS_DEVIMR : (USBHS Offset: 0x0010) Device Global Interrupt Mask Register -------- */ -#define USBHS_DEVIMR_SUSPE (0x1u << 0) /**< \brief (USBHS_DEVIMR) Suspend Interrupt Mask */ -#define USBHS_DEVIMR_MSOFE (0x1u << 1) /**< \brief (USBHS_DEVIMR) Micro Start of Frame Interrupt Mask */ -#define USBHS_DEVIMR_SOFE (0x1u << 2) /**< \brief (USBHS_DEVIMR) Start of Frame Interrupt Mask */ -#define USBHS_DEVIMR_EORSTE (0x1u << 3) /**< \brief (USBHS_DEVIMR) End of Reset Interrupt Mask */ -#define USBHS_DEVIMR_WAKEUPE (0x1u << 4) /**< \brief (USBHS_DEVIMR) Wake-Up Interrupt Mask */ -#define USBHS_DEVIMR_EORSME (0x1u << 5) /**< \brief (USBHS_DEVIMR) End of Resume Interrupt Mask */ -#define USBHS_DEVIMR_UPRSME (0x1u << 6) /**< \brief (USBHS_DEVIMR) Upstream Resume Interrupt Mask */ -#define USBHS_DEVIMR_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVIMR) Endpoint 0 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVIMR) Endpoint 1 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVIMR) Endpoint 2 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVIMR) Endpoint 3 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVIMR) Endpoint 4 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVIMR) Endpoint 5 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVIMR) Endpoint 6 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVIMR) Endpoint 7 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVIMR) Endpoint 8 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVIMR) Endpoint 9 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVIMR) Endpoint 10 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVIMR) Endpoint 11 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIMR) DMA Channel 1 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIMR) DMA Channel 2 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIMR) DMA Channel 3 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIMR) DMA Channel 4 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIMR) DMA Channel 5 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIMR) DMA Channel 6 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIMR) DMA Channel 7 Interrupt Mask */ -/* -------- USBHS_DEVIDR : (USBHS Offset: 0x0014) Device Global Interrupt Disable Register -------- */ -#define USBHS_DEVIDR_SUSPEC (0x1u << 0) /**< \brief (USBHS_DEVIDR) Suspend Interrupt Disable */ -#define USBHS_DEVIDR_MSOFEC (0x1u << 1) /**< \brief (USBHS_DEVIDR) Micro Start of Frame Interrupt Disable */ -#define USBHS_DEVIDR_SOFEC (0x1u << 2) /**< \brief (USBHS_DEVIDR) Start of Frame Interrupt Disable */ -#define USBHS_DEVIDR_EORSTEC (0x1u << 3) /**< \brief (USBHS_DEVIDR) End of Reset Interrupt Disable */ -#define USBHS_DEVIDR_WAKEUPEC (0x1u << 4) /**< \brief (USBHS_DEVIDR) Wake-Up Interrupt Disable */ -#define USBHS_DEVIDR_EORSMEC (0x1u << 5) /**< \brief (USBHS_DEVIDR) End of Resume Interrupt Disable */ -#define USBHS_DEVIDR_UPRSMEC (0x1u << 6) /**< \brief (USBHS_DEVIDR) Upstream Resume Interrupt Disable */ -#define USBHS_DEVIDR_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVIDR) Endpoint 0 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVIDR) Endpoint 1 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVIDR) Endpoint 2 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVIDR) Endpoint 3 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVIDR) Endpoint 4 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVIDR) Endpoint 5 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVIDR) Endpoint 6 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVIDR) Endpoint 7 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVIDR) Endpoint 8 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVIDR) Endpoint 9 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVIDR) Endpoint 10 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVIDR) Endpoint 11 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIDR) DMA Channel 1 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIDR) DMA Channel 2 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIDR) DMA Channel 3 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIDR) DMA Channel 4 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIDR) DMA Channel 5 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIDR) DMA Channel 6 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIDR) DMA Channel 7 Interrupt Disable */ -/* -------- USBHS_DEVIER : (USBHS Offset: 0x0018) Device Global Interrupt Enable Register -------- */ -#define USBHS_DEVIER_SUSPES (0x1u << 0) /**< \brief (USBHS_DEVIER) Suspend Interrupt Enable */ -#define USBHS_DEVIER_MSOFES (0x1u << 1) /**< \brief (USBHS_DEVIER) Micro Start of Frame Interrupt Enable */ -#define USBHS_DEVIER_SOFES (0x1u << 2) /**< \brief (USBHS_DEVIER) Start of Frame Interrupt Enable */ -#define USBHS_DEVIER_EORSTES (0x1u << 3) /**< \brief (USBHS_DEVIER) End of Reset Interrupt Enable */ -#define USBHS_DEVIER_WAKEUPES (0x1u << 4) /**< \brief (USBHS_DEVIER) Wake-Up Interrupt Enable */ -#define USBHS_DEVIER_EORSMES (0x1u << 5) /**< \brief (USBHS_DEVIER) End of Resume Interrupt Enable */ -#define USBHS_DEVIER_UPRSMES (0x1u << 6) /**< \brief (USBHS_DEVIER) Upstream Resume Interrupt Enable */ -#define USBHS_DEVIER_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVIER) Endpoint 0 Interrupt Enable */ -#define USBHS_DEVIER_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVIER) Endpoint 1 Interrupt Enable */ -#define USBHS_DEVIER_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVIER) Endpoint 2 Interrupt Enable */ -#define USBHS_DEVIER_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVIER) Endpoint 3 Interrupt Enable */ -#define USBHS_DEVIER_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVIER) Endpoint 4 Interrupt Enable */ -#define USBHS_DEVIER_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVIER) Endpoint 5 Interrupt Enable */ -#define USBHS_DEVIER_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVIER) Endpoint 6 Interrupt Enable */ -#define USBHS_DEVIER_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVIER) Endpoint 7 Interrupt Enable */ -#define USBHS_DEVIER_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVIER) Endpoint 8 Interrupt Enable */ -#define USBHS_DEVIER_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVIER) Endpoint 9 Interrupt Enable */ -#define USBHS_DEVIER_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVIER) Endpoint 10 Interrupt Enable */ -#define USBHS_DEVIER_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVIER) Endpoint 11 Interrupt Enable */ -#define USBHS_DEVIER_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIER) DMA Channel 1 Interrupt Enable */ -#define USBHS_DEVIER_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIER) DMA Channel 2 Interrupt Enable */ -#define USBHS_DEVIER_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIER) DMA Channel 3 Interrupt Enable */ -#define USBHS_DEVIER_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIER) DMA Channel 4 Interrupt Enable */ -#define USBHS_DEVIER_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIER) DMA Channel 5 Interrupt Enable */ -#define USBHS_DEVIER_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIER) DMA Channel 6 Interrupt Enable */ -#define USBHS_DEVIER_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIER) DMA Channel 7 Interrupt Enable */ -/* -------- USBHS_DEVEPT : (USBHS Offset: 0x001C) Device Endpoint Register -------- */ -#define USBHS_DEVEPT_EPEN0 (0x1u << 0) /**< \brief (USBHS_DEVEPT) Endpoint 0 Enable */ -#define USBHS_DEVEPT_EPEN1 (0x1u << 1) /**< \brief (USBHS_DEVEPT) Endpoint 1 Enable */ -#define USBHS_DEVEPT_EPEN2 (0x1u << 2) /**< \brief (USBHS_DEVEPT) Endpoint 2 Enable */ -#define USBHS_DEVEPT_EPEN3 (0x1u << 3) /**< \brief (USBHS_DEVEPT) Endpoint 3 Enable */ -#define USBHS_DEVEPT_EPEN4 (0x1u << 4) /**< \brief (USBHS_DEVEPT) Endpoint 4 Enable */ -#define USBHS_DEVEPT_EPEN5 (0x1u << 5) /**< \brief (USBHS_DEVEPT) Endpoint 5 Enable */ -#define USBHS_DEVEPT_EPEN6 (0x1u << 6) /**< \brief (USBHS_DEVEPT) Endpoint 6 Enable */ -#define USBHS_DEVEPT_EPEN7 (0x1u << 7) /**< \brief (USBHS_DEVEPT) Endpoint 7 Enable */ -#define USBHS_DEVEPT_EPEN8 (0x1u << 8) /**< \brief (USBHS_DEVEPT) Endpoint 8 Enable */ -#define USBHS_DEVEPT_EPRST0 (0x1u << 16) /**< \brief (USBHS_DEVEPT) Endpoint 0 Reset */ -#define USBHS_DEVEPT_EPRST1 (0x1u << 17) /**< \brief (USBHS_DEVEPT) Endpoint 1 Reset */ -#define USBHS_DEVEPT_EPRST2 (0x1u << 18) /**< \brief (USBHS_DEVEPT) Endpoint 2 Reset */ -#define USBHS_DEVEPT_EPRST3 (0x1u << 19) /**< \brief (USBHS_DEVEPT) Endpoint 3 Reset */ -#define USBHS_DEVEPT_EPRST4 (0x1u << 20) /**< \brief (USBHS_DEVEPT) Endpoint 4 Reset */ -#define USBHS_DEVEPT_EPRST5 (0x1u << 21) /**< \brief (USBHS_DEVEPT) Endpoint 5 Reset */ -#define USBHS_DEVEPT_EPRST6 (0x1u << 22) /**< \brief (USBHS_DEVEPT) Endpoint 6 Reset */ -#define USBHS_DEVEPT_EPRST7 (0x1u << 23) /**< \brief (USBHS_DEVEPT) Endpoint 7 Reset */ -#define USBHS_DEVEPT_EPRST8 (0x1u << 24) /**< \brief (USBHS_DEVEPT) Endpoint 8 Reset */ -/* -------- USBHS_DEVFNUM : (USBHS Offset: 0x0020) Device Frame Number Register -------- */ -#define USBHS_DEVFNUM_MFNUM_Pos 0 -#define USBHS_DEVFNUM_MFNUM_Msk (0x7u << USBHS_DEVFNUM_MFNUM_Pos) /**< \brief (USBHS_DEVFNUM) Micro Frame Number */ -#define USBHS_DEVFNUM_FNUM_Pos 3 -#define USBHS_DEVFNUM_FNUM_Msk (0x7ffu << USBHS_DEVFNUM_FNUM_Pos) /**< \brief (USBHS_DEVFNUM) Frame Number */ -#define USBHS_DEVFNUM_FNCERR (0x1u << 15) /**< \brief (USBHS_DEVFNUM) Frame Number CRC Error */ -/* -------- USBHS_DEVEPTCFG[10] : (USBHS Offset: 0x100) Device Endpoint Configuration Register (n = 0) -------- */ -#define USBHS_DEVEPTCFG_ALLOC (0x1u << 1) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Memory Allocate */ -#define USBHS_DEVEPTCFG_EPBK_Pos 2 -#define USBHS_DEVEPTCFG_EPBK_Msk (0x3u << USBHS_DEVEPTCFG_EPBK_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Banks */ -#define USBHS_DEVEPTCFG_EPBK(value) ((USBHS_DEVEPTCFG_EPBK_Msk & ((value) << USBHS_DEVEPTCFG_EPBK_Pos))) -#define USBHS_DEVEPTCFG_EPBK_1_BANK (0x0u << 2) /**< \brief (USBHS_DEVEPTCFG[10]) Single-bank endpoint */ -#define USBHS_DEVEPTCFG_EPBK_2_BANK (0x1u << 2) /**< \brief (USBHS_DEVEPTCFG[10]) Double-bank endpoint */ -#define USBHS_DEVEPTCFG_EPBK_3_BANK (0x2u << 2) /**< \brief (USBHS_DEVEPTCFG[10]) Triple-bank endpoint */ -#define USBHS_DEVEPTCFG_EPSIZE_Pos 4 -#define USBHS_DEVEPTCFG_EPSIZE_Msk (0x7u << USBHS_DEVEPTCFG_EPSIZE_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Size */ -#define USBHS_DEVEPTCFG_EPSIZE(value) ((USBHS_DEVEPTCFG_EPSIZE_Msk & ((value) << USBHS_DEVEPTCFG_EPSIZE_Pos))) -#define USBHS_DEVEPTCFG_EPSIZE_8_BYTE (0x0u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 8 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_16_BYTE (0x1u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 16 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_32_BYTE (0x2u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 32 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_64_BYTE (0x3u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 64 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_128_BYTE (0x4u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 128 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_256_BYTE (0x5u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 256 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_512_BYTE (0x6u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 512 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_1024_BYTE (0x7u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 1024 bytes */ -#define USBHS_DEVEPTCFG_EPDIR (0x1u << 8) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Direction */ -#define USBHS_DEVEPTCFG_EPDIR_OUT (0x0u << 8) /**< \brief (USBHS_DEVEPTCFG[10]) The endpoint direction is OUT. */ -#define USBHS_DEVEPTCFG_EPDIR_IN (0x1u << 8) /**< \brief (USBHS_DEVEPTCFG[10]) The endpoint direction is IN (nor for control endpoints). */ -#define USBHS_DEVEPTCFG_AUTOSW (0x1u << 9) /**< \brief (USBHS_DEVEPTCFG[10]) Automatic Switch */ -#define USBHS_DEVEPTCFG_EPTYPE_Pos 11 -#define USBHS_DEVEPTCFG_EPTYPE_Msk (0x3u << USBHS_DEVEPTCFG_EPTYPE_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Type */ -#define USBHS_DEVEPTCFG_EPTYPE(value) ((USBHS_DEVEPTCFG_EPTYPE_Msk & ((value) << USBHS_DEVEPTCFG_EPTYPE_Pos))) -#define USBHS_DEVEPTCFG_EPTYPE_CTRL (0x0u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Control */ -#define USBHS_DEVEPTCFG_EPTYPE_ISO (0x1u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Isochronous */ -#define USBHS_DEVEPTCFG_EPTYPE_BLK (0x2u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Bulk */ -#define USBHS_DEVEPTCFG_EPTYPE_INTRPT (0x3u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Interrupt */ -#define USBHS_DEVEPTCFG_NBTRANS_Pos 13 -#define USBHS_DEVEPTCFG_NBTRANS_Msk (0x3u << USBHS_DEVEPTCFG_NBTRANS_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Number of transactions per microframe for isochronous endpoint */ -#define USBHS_DEVEPTCFG_NBTRANS(value) ((USBHS_DEVEPTCFG_NBTRANS_Msk & ((value) << USBHS_DEVEPTCFG_NBTRANS_Pos))) -#define USBHS_DEVEPTCFG_NBTRANS_0_TRANS (0x0u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Reserved to endpoint that does not have the high-bandwidth isochronous capability. */ -#define USBHS_DEVEPTCFG_NBTRANS_1_TRANS (0x1u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Default value: one transaction per microframe. */ -#define USBHS_DEVEPTCFG_NBTRANS_2_TRANS (0x2u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Two transactions per microframe. This endpoint should be configured as double-bank. */ -#define USBHS_DEVEPTCFG_NBTRANS_3_TRANS (0x3u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Three transactions per microframe. This endpoint should be configured as triple-bank. */ -/* -------- USBHS_DEVEPTISR[10] : (USBHS Offset: 0x130) Device Endpoint Status Register (n = 0) -------- */ -#define USBHS_DEVEPTISR_TXINI (0x1u << 0) /**< \brief (USBHS_DEVEPTISR[10]) Transmitted IN Data Interrupt */ -#define USBHS_DEVEPTISR_RXOUTI (0x1u << 1) /**< \brief (USBHS_DEVEPTISR[10]) Received OUT Data Interrupt */ -#define USBHS_DEVEPTISR_RXSTPI (0x1u << 2) /**< \brief (USBHS_DEVEPTISR[10]) Received SETUP Interrupt */ -#define USBHS_DEVEPTISR_NAKOUTI (0x1u << 3) /**< \brief (USBHS_DEVEPTISR[10]) NAKed OUT Interrupt */ -#define USBHS_DEVEPTISR_NAKINI (0x1u << 4) /**< \brief (USBHS_DEVEPTISR[10]) NAKed IN Interrupt */ -#define USBHS_DEVEPTISR_OVERFI (0x1u << 5) /**< \brief (USBHS_DEVEPTISR[10]) Overflow Interrupt */ -#define USBHS_DEVEPTISR_STALLEDI (0x1u << 6) /**< \brief (USBHS_DEVEPTISR[10]) STALLed Interrupt */ -#define USBHS_DEVEPTISR_SHORTPACKET (0x1u << 7) /**< \brief (USBHS_DEVEPTISR[10]) Short Packet Interrupt */ -#define USBHS_DEVEPTISR_DTSEQ_Pos 8 -#define USBHS_DEVEPTISR_DTSEQ_Msk (0x3u << USBHS_DEVEPTISR_DTSEQ_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Data Toggle Sequence */ -#define USBHS_DEVEPTISR_DTSEQ_DATA0 (0x0u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Data0 toggle sequence */ -#define USBHS_DEVEPTISR_DTSEQ_DATA1 (0x1u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Data1 toggle sequence */ -#define USBHS_DEVEPTISR_DTSEQ_DATA2 (0x2u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Reserved for high-bandwidth isochronous endpoint */ -#define USBHS_DEVEPTISR_DTSEQ_MDATA (0x3u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Reserved for high-bandwidth isochronous endpoint */ -#define USBHS_DEVEPTISR_NBUSYBK_Pos 12 -#define USBHS_DEVEPTISR_NBUSYBK_Msk (0x3u << USBHS_DEVEPTISR_NBUSYBK_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Number of Busy Banks */ -#define USBHS_DEVEPTISR_NBUSYBK_0_BUSY (0x0u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 0 busy bank (all banks free) */ -#define USBHS_DEVEPTISR_NBUSYBK_1_BUSY (0x1u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 1 busy bank */ -#define USBHS_DEVEPTISR_NBUSYBK_2_BUSY (0x2u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 2 busy banks */ -#define USBHS_DEVEPTISR_NBUSYBK_3_BUSY (0x3u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 3 busy banks */ -#define USBHS_DEVEPTISR_CURRBK_Pos 14 -#define USBHS_DEVEPTISR_CURRBK_Msk (0x3u << USBHS_DEVEPTISR_CURRBK_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Current Bank */ -#define USBHS_DEVEPTISR_CURRBK_BANK0 (0x0u << 14) /**< \brief (USBHS_DEVEPTISR[10]) Current bank is bank0 */ -#define USBHS_DEVEPTISR_CURRBK_BANK1 (0x1u << 14) /**< \brief (USBHS_DEVEPTISR[10]) Current bank is bank1 */ -#define USBHS_DEVEPTISR_CURRBK_BANK2 (0x2u << 14) /**< \brief (USBHS_DEVEPTISR[10]) Current bank is bank2 */ -#define USBHS_DEVEPTISR_RWALL (0x1u << 16) /**< \brief (USBHS_DEVEPTISR[10]) Read/Write Allowed */ -#define USBHS_DEVEPTISR_CTRLDIR (0x1u << 17) /**< \brief (USBHS_DEVEPTISR[10]) Control Direction */ -#define USBHS_DEVEPTISR_CFGOK (0x1u << 18) /**< \brief (USBHS_DEVEPTISR[10]) Configuration OK Status */ -#define USBHS_DEVEPTISR_BYCT_Pos 20 -#define USBHS_DEVEPTISR_BYCT_Msk (0x7ffu << USBHS_DEVEPTISR_BYCT_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Byte Count */ -#define USBHS_DEVEPTISR_UNDERFI (0x1u << 2) /**< \brief (USBHS_DEVEPTISR[10]) Underflow Interrupt */ -#define USBHS_DEVEPTISR_HBISOINERRI (0x1u << 3) /**< \brief (USBHS_DEVEPTISR[10]) High Bandwidth Isochronous IN Underflow Error Interrupt */ -#define USBHS_DEVEPTISR_HBISOFLUSHI (0x1u << 4) /**< \brief (USBHS_DEVEPTISR[10]) High Bandwidth Isochronous IN Flush Interrupt */ -#define USBHS_DEVEPTISR_CRCERRI (0x1u << 6) /**< \brief (USBHS_DEVEPTISR[10]) CRC Error Interrupt */ -#define USBHS_DEVEPTISR_ERRORTRANS (0x1u << 10) /**< \brief (USBHS_DEVEPTISR[10]) High-bandwidth Isochronous OUT Endpoint Transaction Error Interrupt */ -/* -------- USBHS_DEVEPTICR[10] : (USBHS Offset: 0x160) Device Endpoint Clear Register (n = 0) -------- */ -#define USBHS_DEVEPTICR_TXINIC (0x1u << 0) /**< \brief (USBHS_DEVEPTICR[10]) Transmitted IN Data Interrupt Clear */ -#define USBHS_DEVEPTICR_RXOUTIC (0x1u << 1) /**< \brief (USBHS_DEVEPTICR[10]) Received OUT Data Interrupt Clear */ -#define USBHS_DEVEPTICR_RXSTPIC (0x1u << 2) /**< \brief (USBHS_DEVEPTICR[10]) Received SETUP Interrupt Clear */ -#define USBHS_DEVEPTICR_NAKOUTIC (0x1u << 3) /**< \brief (USBHS_DEVEPTICR[10]) NAKed OUT Interrupt Clear */ -#define USBHS_DEVEPTICR_NAKINIC (0x1u << 4) /**< \brief (USBHS_DEVEPTICR[10]) NAKed IN Interrupt Clear */ -#define USBHS_DEVEPTICR_OVERFIC (0x1u << 5) /**< \brief (USBHS_DEVEPTICR[10]) Overflow Interrupt Clear */ -#define USBHS_DEVEPTICR_STALLEDIC (0x1u << 6) /**< \brief (USBHS_DEVEPTICR[10]) STALLed Interrupt Clear */ -#define USBHS_DEVEPTICR_SHORTPACKETC (0x1u << 7) /**< \brief (USBHS_DEVEPTICR[10]) Short Packet Interrupt Clear */ -#define USBHS_DEVEPTICR_UNDERFIC (0x1u << 2) /**< \brief (USBHS_DEVEPTICR[10]) Underflow Interrupt Clear */ -#define USBHS_DEVEPTICR_HBISOINERRIC (0x1u << 3) /**< \brief (USBHS_DEVEPTICR[10]) High Bandwidth Isochronous IN Underflow Error Interrupt Clear */ -#define USBHS_DEVEPTICR_HBISOFLUSHIC (0x1u << 4) /**< \brief (USBHS_DEVEPTICR[10]) High Bandwidth Isochronous IN Flush Interrupt Clear */ -#define USBHS_DEVEPTICR_CRCERRIC (0x1u << 6) /**< \brief (USBHS_DEVEPTICR[10]) CRC Error Interrupt Clear */ -/* -------- USBHS_DEVEPTIFR[10] : (USBHS Offset: 0x190) Device Endpoint Set Register (n = 0) -------- */ -#define USBHS_DEVEPTIFR_TXINIS (0x1u << 0) /**< \brief (USBHS_DEVEPTIFR[10]) Transmitted IN Data Interrupt Set */ -#define USBHS_DEVEPTIFR_RXOUTIS (0x1u << 1) /**< \brief (USBHS_DEVEPTIFR[10]) Received OUT Data Interrupt Set */ -#define USBHS_DEVEPTIFR_RXSTPIS (0x1u << 2) /**< \brief (USBHS_DEVEPTIFR[10]) Received SETUP Interrupt Set */ -#define USBHS_DEVEPTIFR_NAKOUTIS (0x1u << 3) /**< \brief (USBHS_DEVEPTIFR[10]) NAKed OUT Interrupt Set */ -#define USBHS_DEVEPTIFR_NAKINIS (0x1u << 4) /**< \brief (USBHS_DEVEPTIFR[10]) NAKed IN Interrupt Set */ -#define USBHS_DEVEPTIFR_OVERFIS (0x1u << 5) /**< \brief (USBHS_DEVEPTIFR[10]) Overflow Interrupt Set */ -#define USBHS_DEVEPTIFR_STALLEDIS (0x1u << 6) /**< \brief (USBHS_DEVEPTIFR[10]) STALLed Interrupt Set */ -#define USBHS_DEVEPTIFR_SHORTPACKETS (0x1u << 7) /**< \brief (USBHS_DEVEPTIFR[10]) Short Packet Interrupt Set */ -#define USBHS_DEVEPTIFR_NBUSYBKS (0x1u << 12) /**< \brief (USBHS_DEVEPTIFR[10]) Number of Busy Banks Interrupt Set */ -#define USBHS_DEVEPTIFR_UNDERFIS (0x1u << 2) /**< \brief (USBHS_DEVEPTIFR[10]) Underflow Interrupt Set */ -#define USBHS_DEVEPTIFR_HBISOINERRIS (0x1u << 3) /**< \brief (USBHS_DEVEPTIFR[10]) High Bandwidth Isochronous IN Underflow Error Interrupt Set */ -#define USBHS_DEVEPTIFR_HBISOFLUSHIS (0x1u << 4) /**< \brief (USBHS_DEVEPTIFR[10]) High Bandwidth Isochronous IN Flush Interrupt Set */ -#define USBHS_DEVEPTIFR_CRCERRIS (0x1u << 6) /**< \brief (USBHS_DEVEPTIFR[10]) CRC Error Interrupt Set */ -/* -------- USBHS_DEVEPTIMR[10] : (USBHS Offset: 0x1C0) Device Endpoint Mask Register (n = 0) -------- */ -#define USBHS_DEVEPTIMR_TXINE (0x1u << 0) /**< \brief (USBHS_DEVEPTIMR[10]) Transmitted IN Data Interrupt */ -#define USBHS_DEVEPTIMR_RXOUTE (0x1u << 1) /**< \brief (USBHS_DEVEPTIMR[10]) Received OUT Data Interrupt */ -#define USBHS_DEVEPTIMR_RXSTPE (0x1u << 2) /**< \brief (USBHS_DEVEPTIMR[10]) Received SETUP Interrupt */ -#define USBHS_DEVEPTIMR_NAKOUTE (0x1u << 3) /**< \brief (USBHS_DEVEPTIMR[10]) NAKed OUT Interrupt */ -#define USBHS_DEVEPTIMR_NAKINE (0x1u << 4) /**< \brief (USBHS_DEVEPTIMR[10]) NAKed IN Interrupt */ -#define USBHS_DEVEPTIMR_OVERFE (0x1u << 5) /**< \brief (USBHS_DEVEPTIMR[10]) Overflow Interrupt */ -#define USBHS_DEVEPTIMR_STALLEDE (0x1u << 6) /**< \brief (USBHS_DEVEPTIMR[10]) STALLed Interrupt */ -#define USBHS_DEVEPTIMR_SHORTPACKETE (0x1u << 7) /**< \brief (USBHS_DEVEPTIMR[10]) Short Packet Interrupt */ -#define USBHS_DEVEPTIMR_NBUSYBKE (0x1u << 12) /**< \brief (USBHS_DEVEPTIMR[10]) Number of Busy Banks Interrupt */ -#define USBHS_DEVEPTIMR_KILLBK (0x1u << 13) /**< \brief (USBHS_DEVEPTIMR[10]) Kill IN Bank */ -#define USBHS_DEVEPTIMR_FIFOCON (0x1u << 14) /**< \brief (USBHS_DEVEPTIMR[10]) FIFO Control */ -#define USBHS_DEVEPTIMR_EPDISHDMA (0x1u << 16) /**< \brief (USBHS_DEVEPTIMR[10]) Endpoint Interrupts Disable HDMA Request */ -#define USBHS_DEVEPTIMR_NYETDIS (0x1u << 17) /**< \brief (USBHS_DEVEPTIMR[10]) NYET Token Disable */ -#define USBHS_DEVEPTIMR_RSTDT (0x1u << 18) /**< \brief (USBHS_DEVEPTIMR[10]) Reset Data Toggle */ -#define USBHS_DEVEPTIMR_STALLRQ (0x1u << 19) /**< \brief (USBHS_DEVEPTIMR[10]) STALL Request */ -#define USBHS_DEVEPTIMR_UNDERFE (0x1u << 2) /**< \brief (USBHS_DEVEPTIMR[10]) Underflow Interrupt */ -#define USBHS_DEVEPTIMR_HBISOINERRE (0x1u << 3) /**< \brief (USBHS_DEVEPTIMR[10]) High Bandwidth Isochronous IN Error Interrupt */ -#define USBHS_DEVEPTIMR_HBISOFLUSHE (0x1u << 4) /**< \brief (USBHS_DEVEPTIMR[10]) High Bandwidth Isochronous IN Flush Interrupt */ -#define USBHS_DEVEPTIMR_CRCERRE (0x1u << 6) /**< \brief (USBHS_DEVEPTIMR[10]) CRC Error Interrupt */ -#define USBHS_DEVEPTIMR_MDATAE (0x1u << 8) /**< \brief (USBHS_DEVEPTIMR[10]) MData Interrupt */ -#define USBHS_DEVEPTIMR_DATAXE (0x1u << 9) /**< \brief (USBHS_DEVEPTIMR[10]) DataX Interrupt */ -#define USBHS_DEVEPTIMR_ERRORTRANSE (0x1u << 10) /**< \brief (USBHS_DEVEPTIMR[10]) Transaction Error Interrupt */ -/* -------- USBHS_DEVEPTIER[10] : (USBHS Offset: 0x1F0) Device Endpoint Enable Register (n = 0) -------- */ -#define USBHS_DEVEPTIER_TXINES (0x1u << 0) /**< \brief (USBHS_DEVEPTIER[10]) Transmitted IN Data Interrupt Enable */ -#define USBHS_DEVEPTIER_RXOUTES (0x1u << 1) /**< \brief (USBHS_DEVEPTIER[10]) Received OUT Data Interrupt Enable */ -#define USBHS_DEVEPTIER_RXSTPES (0x1u << 2) /**< \brief (USBHS_DEVEPTIER[10]) Received SETUP Interrupt Enable */ -#define USBHS_DEVEPTIER_NAKOUTES (0x1u << 3) /**< \brief (USBHS_DEVEPTIER[10]) NAKed OUT Interrupt Enable */ -#define USBHS_DEVEPTIER_NAKINES (0x1u << 4) /**< \brief (USBHS_DEVEPTIER[10]) NAKed IN Interrupt Enable */ -#define USBHS_DEVEPTIER_OVERFES (0x1u << 5) /**< \brief (USBHS_DEVEPTIER[10]) Overflow Interrupt Enable */ -#define USBHS_DEVEPTIER_STALLEDES (0x1u << 6) /**< \brief (USBHS_DEVEPTIER[10]) STALLed Interrupt Enable */ -#define USBHS_DEVEPTIER_SHORTPACKETES (0x1u << 7) /**< \brief (USBHS_DEVEPTIER[10]) Short Packet Interrupt Enable */ -#define USBHS_DEVEPTIER_NBUSYBKES (0x1u << 12) /**< \brief (USBHS_DEVEPTIER[10]) Number of Busy Banks Interrupt Enable */ -#define USBHS_DEVEPTIER_KILLBKS (0x1u << 13) /**< \brief (USBHS_DEVEPTIER[10]) Kill IN Bank */ -#define USBHS_DEVEPTIER_FIFOCONS (0x1u << 14) /**< \brief (USBHS_DEVEPTIER[10]) FIFO Control */ -#define USBHS_DEVEPTIER_EPDISHDMAS (0x1u << 16) /**< \brief (USBHS_DEVEPTIER[10]) Endpoint Interrupts Disable HDMA Request Enable */ -#define USBHS_DEVEPTIER_NYETDISS (0x1u << 17) /**< \brief (USBHS_DEVEPTIER[10]) NYET Token Disable Enable */ -#define USBHS_DEVEPTIER_RSTDTS (0x1u << 18) /**< \brief (USBHS_DEVEPTIER[10]) Reset Data Toggle Enable */ -#define USBHS_DEVEPTIER_STALLRQS (0x1u << 19) /**< \brief (USBHS_DEVEPTIER[10]) STALL Request Enable */ -#define USBHS_DEVEPTIER_UNDERFES (0x1u << 2) /**< \brief (USBHS_DEVEPTIER[10]) Underflow Interrupt Enable */ -#define USBHS_DEVEPTIER_HBISOINERRES (0x1u << 3) /**< \brief (USBHS_DEVEPTIER[10]) High Bandwidth Isochronous IN Error Interrupt Enable */ -#define USBHS_DEVEPTIER_HBISOFLUSHES (0x1u << 4) /**< \brief (USBHS_DEVEPTIER[10]) High Bandwidth Isochronous IN Flush Interrupt Enable */ -#define USBHS_DEVEPTIER_CRCERRES (0x1u << 6) /**< \brief (USBHS_DEVEPTIER[10]) CRC Error Interrupt Enable */ -#define USBHS_DEVEPTIER_MDATAES (0x1u << 8) /**< \brief (USBHS_DEVEPTIER[10]) MData Interrupt Enable */ -#define USBHS_DEVEPTIER_DATAXES (0x1u << 9) /**< \brief (USBHS_DEVEPTIER[10]) DataX Interrupt Enable */ -#define USBHS_DEVEPTIER_ERRORTRANSES (0x1u << 10) /**< \brief (USBHS_DEVEPTIER[10]) Transaction Error Interrupt Enable */ -/* -------- USBHS_DEVEPTIDR[10] : (USBHS Offset: 0x220) Device Endpoint Disable Register (n = 0) -------- */ -#define USBHS_DEVEPTIDR_TXINEC (0x1u << 0) /**< \brief (USBHS_DEVEPTIDR[10]) Transmitted IN Interrupt Clear */ -#define USBHS_DEVEPTIDR_RXOUTEC (0x1u << 1) /**< \brief (USBHS_DEVEPTIDR[10]) Received OUT Data Interrupt Clear */ -#define USBHS_DEVEPTIDR_RXSTPEC (0x1u << 2) /**< \brief (USBHS_DEVEPTIDR[10]) Received SETUP Interrupt Clear */ -#define USBHS_DEVEPTIDR_NAKOUTEC (0x1u << 3) /**< \brief (USBHS_DEVEPTIDR[10]) NAKed OUT Interrupt Clear */ -#define USBHS_DEVEPTIDR_NAKINEC (0x1u << 4) /**< \brief (USBHS_DEVEPTIDR[10]) NAKed IN Interrupt Clear */ -#define USBHS_DEVEPTIDR_OVERFEC (0x1u << 5) /**< \brief (USBHS_DEVEPTIDR[10]) Overflow Interrupt Clear */ -#define USBHS_DEVEPTIDR_STALLEDEC (0x1u << 6) /**< \brief (USBHS_DEVEPTIDR[10]) STALLed Interrupt Clear */ -#define USBHS_DEVEPTIDR_SHORTPACKETEC (0x1u << 7) /**< \brief (USBHS_DEVEPTIDR[10]) Shortpacket Interrupt Clear */ -#define USBHS_DEVEPTIDR_NBUSYBKEC (0x1u << 12) /**< \brief (USBHS_DEVEPTIDR[10]) Number of Busy Banks Interrupt Clear */ -#define USBHS_DEVEPTIDR_FIFOCONC (0x1u << 14) /**< \brief (USBHS_DEVEPTIDR[10]) FIFO Control Clear */ -#define USBHS_DEVEPTIDR_EPDISHDMAC (0x1u << 16) /**< \brief (USBHS_DEVEPTIDR[10]) Endpoint Interrupts Disable HDMA Request Clear */ -#define USBHS_DEVEPTIDR_NYETDISC (0x1u << 17) /**< \brief (USBHS_DEVEPTIDR[10]) NYET Token Disable Clear */ -#define USBHS_DEVEPTIDR_STALLRQC (0x1u << 19) /**< \brief (USBHS_DEVEPTIDR[10]) STALL Request Clear */ -#define USBHS_DEVEPTIDR_UNDERFEC (0x1u << 2) /**< \brief (USBHS_DEVEPTIDR[10]) Underflow Interrupt Clear */ -#define USBHS_DEVEPTIDR_HBISOINERREC (0x1u << 3) /**< \brief (USBHS_DEVEPTIDR[10]) High Bandwidth Isochronous IN Error Interrupt Clear */ -#define USBHS_DEVEPTIDR_HBISOFLUSHEC (0x1u << 4) /**< \brief (USBHS_DEVEPTIDR[10]) High Bandwidth Isochronous IN Flush Interrupt Clear */ -#define USBHS_DEVEPTIDR_CRCERREC (0x1u << 6) /**< \brief (USBHS_DEVEPTIDR[10]) CRC Error Interrupt Clear */ -#define USBHS_DEVEPTIDR_MDATEC (0x1u << 8) /**< \brief (USBHS_DEVEPTIDR[10]) MData Interrupt Clear */ -#define USBHS_DEVEPTIDR_DATAXEC (0x1u << 9) /**< \brief (USBHS_DEVEPTIDR[10]) DataX Interrupt Clear */ -#define USBHS_DEVEPTIDR_ERRORTRANSEC (0x1u << 10) /**< \brief (USBHS_DEVEPTIDR[10]) Transaction Error Interrupt Clear */ -/* -------- USBHS_DEVDMANXTDSC : (USBHS Offset: N/A) Device DMA Channel Next Descriptor Address Register -------- */ -#define USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Pos 0 -#define USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Msk (0xffffffffu << USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Pos) /**< \brief (USBHS_DEVDMANXTDSC) Next Descriptor Address */ -#define USBHS_DEVDMANXTDSC_NXT_DSC_ADD(value) ((USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Msk & ((value) << USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Pos))) -/* -------- USBHS_DEVDMAADDRESS : (USBHS Offset: N/A) Device DMA Channel Address Register -------- */ -#define USBHS_DEVDMAADDRESS_BUFF_ADD_Pos 0 -#define USBHS_DEVDMAADDRESS_BUFF_ADD_Msk (0xffffffffu << USBHS_DEVDMAADDRESS_BUFF_ADD_Pos) /**< \brief (USBHS_DEVDMAADDRESS) Buffer Address */ -#define USBHS_DEVDMAADDRESS_BUFF_ADD(value) ((USBHS_DEVDMAADDRESS_BUFF_ADD_Msk & ((value) << USBHS_DEVDMAADDRESS_BUFF_ADD_Pos))) -/* -------- USBHS_DEVDMACONTROL : (USBHS Offset: N/A) Device DMA Channel Control Register -------- */ -#define USBHS_DEVDMACONTROL_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_DEVDMACONTROL) Channel Enable Command */ -#define USBHS_DEVDMACONTROL_LDNXT_DSC (0x1u << 1) /**< \brief (USBHS_DEVDMACONTROL) Load Next Channel Transfer Descriptor Enable Command */ -#define USBHS_DEVDMACONTROL_END_TR_EN (0x1u << 2) /**< \brief (USBHS_DEVDMACONTROL) End of Transfer Enable Control (OUT transfers only) */ -#define USBHS_DEVDMACONTROL_END_B_EN (0x1u << 3) /**< \brief (USBHS_DEVDMACONTROL) End of Buffer Enable Control */ -#define USBHS_DEVDMACONTROL_END_TR_IT (0x1u << 4) /**< \brief (USBHS_DEVDMACONTROL) End of Transfer Interrupt Enable */ -#define USBHS_DEVDMACONTROL_END_BUFFIT (0x1u << 5) /**< \brief (USBHS_DEVDMACONTROL) End of Buffer Interrupt Enable */ -#define USBHS_DEVDMACONTROL_DESC_LD_IT (0x1u << 6) /**< \brief (USBHS_DEVDMACONTROL) Descriptor Loaded Interrupt Enable */ -#define USBHS_DEVDMACONTROL_BURST_LCK (0x1u << 7) /**< \brief (USBHS_DEVDMACONTROL) Burst Lock Enable */ -#define USBHS_DEVDMACONTROL_BUFF_LENGTH_Pos 16 -#define USBHS_DEVDMACONTROL_BUFF_LENGTH_Msk (0xffffu << USBHS_DEVDMACONTROL_BUFF_LENGTH_Pos) /**< \brief (USBHS_DEVDMACONTROL) Buffer Byte Length (Write-only) */ -#define USBHS_DEVDMACONTROL_BUFF_LENGTH(value) ((USBHS_DEVDMACONTROL_BUFF_LENGTH_Msk & ((value) << USBHS_DEVDMACONTROL_BUFF_LENGTH_Pos))) -/* -------- USBHS_DEVDMASTATUS : (USBHS Offset: N/A) Device DMA Channel Status Register -------- */ -#define USBHS_DEVDMASTATUS_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_DEVDMASTATUS) Channel Enable Status */ -#define USBHS_DEVDMASTATUS_CHANN_ACT (0x1u << 1) /**< \brief (USBHS_DEVDMASTATUS) Channel Active Status */ -#define USBHS_DEVDMASTATUS_END_TR_ST (0x1u << 4) /**< \brief (USBHS_DEVDMASTATUS) End of Channel Transfer Status */ -#define USBHS_DEVDMASTATUS_END_BF_ST (0x1u << 5) /**< \brief (USBHS_DEVDMASTATUS) End of Channel Buffer Status */ -#define USBHS_DEVDMASTATUS_DESC_LDST (0x1u << 6) /**< \brief (USBHS_DEVDMASTATUS) Descriptor Loaded Status */ -#define USBHS_DEVDMASTATUS_BUFF_COUNT_Pos 16 -#define USBHS_DEVDMASTATUS_BUFF_COUNT_Msk (0xffffu << USBHS_DEVDMASTATUS_BUFF_COUNT_Pos) /**< \brief (USBHS_DEVDMASTATUS) Buffer Byte Count */ -#define USBHS_DEVDMASTATUS_BUFF_COUNT(value) ((USBHS_DEVDMASTATUS_BUFF_COUNT_Msk & ((value) << USBHS_DEVDMASTATUS_BUFF_COUNT_Pos))) -/* -------- USBHS_HSTCTRL : (USBHS Offset: 0x0400) Host General Control Register -------- */ -#define USBHS_HSTCTRL_SOFE (0x1u << 8) /**< \brief (USBHS_HSTCTRL) Start of Frame Generation Enable */ -#define USBHS_HSTCTRL_RESET (0x1u << 9) /**< \brief (USBHS_HSTCTRL) Send USB Reset */ -#define USBHS_HSTCTRL_RESUME (0x1u << 10) /**< \brief (USBHS_HSTCTRL) Send USB Resume */ -#define USBHS_HSTCTRL_SPDCONF_Pos 12 -#define USBHS_HSTCTRL_SPDCONF_Msk (0x3u << USBHS_HSTCTRL_SPDCONF_Pos) /**< \brief (USBHS_HSTCTRL) Mode Configuration */ -#define USBHS_HSTCTRL_SPDCONF(value) ((USBHS_HSTCTRL_SPDCONF_Msk & ((value) << USBHS_HSTCTRL_SPDCONF_Pos))) -#define USBHS_HSTCTRL_SPDCONF_NORMAL (0x0u << 12) /**< \brief (USBHS_HSTCTRL) The host starts in Full-speed mode and performs a high-speed reset to switch to High-speed mode if the downstream peripheral is high-speed capable. */ -#define USBHS_HSTCTRL_SPDCONF_LOW_POWER (0x1u << 12) /**< \brief (USBHS_HSTCTRL) For a better consumption, if high speed is not needed. */ -#define USBHS_HSTCTRL_SPDCONF_HIGH_SPEED (0x2u << 12) /**< \brief (USBHS_HSTCTRL) Forced high speed. */ -#define USBHS_HSTCTRL_SPDCONF_FORCED_FS (0x3u << 12) /**< \brief (USBHS_HSTCTRL) The host remains in Full-speed mode whatever the peripheral speed capability. */ -/* -------- USBHS_HSTISR : (USBHS Offset: 0x0404) Host Global Interrupt Status Register -------- */ -#define USBHS_HSTISR_DCONNI (0x1u << 0) /**< \brief (USBHS_HSTISR) Device Connection Interrupt */ -#define USBHS_HSTISR_DDISCI (0x1u << 1) /**< \brief (USBHS_HSTISR) Device Disconnection Interrupt */ -#define USBHS_HSTISR_RSTI (0x1u << 2) /**< \brief (USBHS_HSTISR) USB Reset Sent Interrupt */ -#define USBHS_HSTISR_RSMEDI (0x1u << 3) /**< \brief (USBHS_HSTISR) Downstream Resume Sent Interrupt */ -#define USBHS_HSTISR_RXRSMI (0x1u << 4) /**< \brief (USBHS_HSTISR) Upstream Resume Received Interrupt */ -#define USBHS_HSTISR_HSOFI (0x1u << 5) /**< \brief (USBHS_HSTISR) Host Start of Frame Interrupt */ -#define USBHS_HSTISR_HWUPI (0x1u << 6) /**< \brief (USBHS_HSTISR) Host Wake-Up Interrupt */ -#define USBHS_HSTISR_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTISR) Pipe 0 Interrupt */ -#define USBHS_HSTISR_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTISR) Pipe 1 Interrupt */ -#define USBHS_HSTISR_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTISR) Pipe 2 Interrupt */ -#define USBHS_HSTISR_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTISR) Pipe 3 Interrupt */ -#define USBHS_HSTISR_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTISR) Pipe 4 Interrupt */ -#define USBHS_HSTISR_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTISR) Pipe 5 Interrupt */ -#define USBHS_HSTISR_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTISR) Pipe 6 Interrupt */ -#define USBHS_HSTISR_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTISR) Pipe 7 Interrupt */ -#define USBHS_HSTISR_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTISR) Pipe 8 Interrupt */ -#define USBHS_HSTISR_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTISR) Pipe 9 Interrupt */ -#define USBHS_HSTISR_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTISR) Pipe 10 Interrupt */ -#define USBHS_HSTISR_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTISR) Pipe 11 Interrupt */ -#define USBHS_HSTISR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTISR) DMA Channel 1 Interrupt */ -#define USBHS_HSTISR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTISR) DMA Channel 2 Interrupt */ -#define USBHS_HSTISR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTISR) DMA Channel 3 Interrupt */ -#define USBHS_HSTISR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTISR) DMA Channel 4 Interrupt */ -#define USBHS_HSTISR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTISR) DMA Channel 5 Interrupt */ -#define USBHS_HSTISR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTISR) DMA Channel 6 Interrupt */ -#define USBHS_HSTISR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTISR) DMA Channel 7 Interrupt */ -/* -------- USBHS_HSTICR : (USBHS Offset: 0x0408) Host Global Interrupt Clear Register -------- */ -#define USBHS_HSTICR_DCONNIC (0x1u << 0) /**< \brief (USBHS_HSTICR) Device Connection Interrupt Clear */ -#define USBHS_HSTICR_DDISCIC (0x1u << 1) /**< \brief (USBHS_HSTICR) Device Disconnection Interrupt Clear */ -#define USBHS_HSTICR_RSTIC (0x1u << 2) /**< \brief (USBHS_HSTICR) USB Reset Sent Interrupt Clear */ -#define USBHS_HSTICR_RSMEDIC (0x1u << 3) /**< \brief (USBHS_HSTICR) Downstream Resume Sent Interrupt Clear */ -#define USBHS_HSTICR_RXRSMIC (0x1u << 4) /**< \brief (USBHS_HSTICR) Upstream Resume Received Interrupt Clear */ -#define USBHS_HSTICR_HSOFIC (0x1u << 5) /**< \brief (USBHS_HSTICR) Host Start of Frame Interrupt Clear */ -#define USBHS_HSTICR_HWUPIC (0x1u << 6) /**< \brief (USBHS_HSTICR) Host Wake-Up Interrupt Clear */ -/* -------- USBHS_HSTIFR : (USBHS Offset: 0x040C) Host Global Interrupt Set Register -------- */ -#define USBHS_HSTIFR_DCONNIS (0x1u << 0) /**< \brief (USBHS_HSTIFR) Device Connection Interrupt Set */ -#define USBHS_HSTIFR_DDISCIS (0x1u << 1) /**< \brief (USBHS_HSTIFR) Device Disconnection Interrupt Set */ -#define USBHS_HSTIFR_RSTIS (0x1u << 2) /**< \brief (USBHS_HSTIFR) USB Reset Sent Interrupt Set */ -#define USBHS_HSTIFR_RSMEDIS (0x1u << 3) /**< \brief (USBHS_HSTIFR) Downstream Resume Sent Interrupt Set */ -#define USBHS_HSTIFR_RXRSMIS (0x1u << 4) /**< \brief (USBHS_HSTIFR) Upstream Resume Received Interrupt Set */ -#define USBHS_HSTIFR_HSOFIS (0x1u << 5) /**< \brief (USBHS_HSTIFR) Host Start of Frame Interrupt Set */ -#define USBHS_HSTIFR_HWUPIS (0x1u << 6) /**< \brief (USBHS_HSTIFR) Host Wake-Up Interrupt Set */ -#define USBHS_HSTIFR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIFR) DMA Channel 1 Interrupt Set */ -#define USBHS_HSTIFR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIFR) DMA Channel 2 Interrupt Set */ -#define USBHS_HSTIFR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIFR) DMA Channel 3 Interrupt Set */ -#define USBHS_HSTIFR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIFR) DMA Channel 4 Interrupt Set */ -#define USBHS_HSTIFR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIFR) DMA Channel 5 Interrupt Set */ -#define USBHS_HSTIFR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIFR) DMA Channel 6 Interrupt Set */ -#define USBHS_HSTIFR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIFR) DMA Channel 7 Interrupt Set */ -/* -------- USBHS_HSTIMR : (USBHS Offset: 0x0410) Host Global Interrupt Mask Register -------- */ -#define USBHS_HSTIMR_DCONNIE (0x1u << 0) /**< \brief (USBHS_HSTIMR) Device Connection Interrupt Enable */ -#define USBHS_HSTIMR_DDISCIE (0x1u << 1) /**< \brief (USBHS_HSTIMR) Device Disconnection Interrupt Enable */ -#define USBHS_HSTIMR_RSTIE (0x1u << 2) /**< \brief (USBHS_HSTIMR) USB Reset Sent Interrupt Enable */ -#define USBHS_HSTIMR_RSMEDIE (0x1u << 3) /**< \brief (USBHS_HSTIMR) Downstream Resume Sent Interrupt Enable */ -#define USBHS_HSTIMR_RXRSMIE (0x1u << 4) /**< \brief (USBHS_HSTIMR) Upstream Resume Received Interrupt Enable */ -#define USBHS_HSTIMR_HSOFIE (0x1u << 5) /**< \brief (USBHS_HSTIMR) Host Start of Frame Interrupt Enable */ -#define USBHS_HSTIMR_HWUPIE (0x1u << 6) /**< \brief (USBHS_HSTIMR) Host Wake-Up Interrupt Enable */ -#define USBHS_HSTIMR_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTIMR) Pipe 0 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTIMR) Pipe 1 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTIMR) Pipe 2 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTIMR) Pipe 3 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTIMR) Pipe 4 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTIMR) Pipe 5 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTIMR) Pipe 6 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTIMR) Pipe 7 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTIMR) Pipe 8 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTIMR) Pipe 9 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTIMR) Pipe 10 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTIMR) Pipe 11 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIMR) DMA Channel 1 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIMR) DMA Channel 2 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIMR) DMA Channel 3 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIMR) DMA Channel 4 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIMR) DMA Channel 5 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIMR) DMA Channel 6 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIMR) DMA Channel 7 Interrupt Enable */ -/* -------- USBHS_HSTIDR : (USBHS Offset: 0x0414) Host Global Interrupt Disable Register -------- */ -#define USBHS_HSTIDR_DCONNIEC (0x1u << 0) /**< \brief (USBHS_HSTIDR) Device Connection Interrupt Disable */ -#define USBHS_HSTIDR_DDISCIEC (0x1u << 1) /**< \brief (USBHS_HSTIDR) Device Disconnection Interrupt Disable */ -#define USBHS_HSTIDR_RSTIEC (0x1u << 2) /**< \brief (USBHS_HSTIDR) USB Reset Sent Interrupt Disable */ -#define USBHS_HSTIDR_RSMEDIEC (0x1u << 3) /**< \brief (USBHS_HSTIDR) Downstream Resume Sent Interrupt Disable */ -#define USBHS_HSTIDR_RXRSMIEC (0x1u << 4) /**< \brief (USBHS_HSTIDR) Upstream Resume Received Interrupt Disable */ -#define USBHS_HSTIDR_HSOFIEC (0x1u << 5) /**< \brief (USBHS_HSTIDR) Host Start of Frame Interrupt Disable */ -#define USBHS_HSTIDR_HWUPIEC (0x1u << 6) /**< \brief (USBHS_HSTIDR) Host Wake-Up Interrupt Disable */ -#define USBHS_HSTIDR_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTIDR) Pipe 0 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTIDR) Pipe 1 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTIDR) Pipe 2 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTIDR) Pipe 3 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTIDR) Pipe 4 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTIDR) Pipe 5 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTIDR) Pipe 6 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTIDR) Pipe 7 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTIDR) Pipe 8 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTIDR) Pipe 9 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTIDR) Pipe 10 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTIDR) Pipe 11 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIDR) DMA Channel 1 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIDR) DMA Channel 2 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIDR) DMA Channel 3 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIDR) DMA Channel 4 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIDR) DMA Channel 5 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIDR) DMA Channel 6 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIDR) DMA Channel 7 Interrupt Disable */ -/* -------- USBHS_HSTIER : (USBHS Offset: 0x0418) Host Global Interrupt Enable Register -------- */ -#define USBHS_HSTIER_DCONNIES (0x1u << 0) /**< \brief (USBHS_HSTIER) Device Connection Interrupt Enable */ -#define USBHS_HSTIER_DDISCIES (0x1u << 1) /**< \brief (USBHS_HSTIER) Device Disconnection Interrupt Enable */ -#define USBHS_HSTIER_RSTIES (0x1u << 2) /**< \brief (USBHS_HSTIER) USB Reset Sent Interrupt Enable */ -#define USBHS_HSTIER_RSMEDIES (0x1u << 3) /**< \brief (USBHS_HSTIER) Downstream Resume Sent Interrupt Enable */ -#define USBHS_HSTIER_RXRSMIES (0x1u << 4) /**< \brief (USBHS_HSTIER) Upstream Resume Received Interrupt Enable */ -#define USBHS_HSTIER_HSOFIES (0x1u << 5) /**< \brief (USBHS_HSTIER) Host Start of Frame Interrupt Enable */ -#define USBHS_HSTIER_HWUPIES (0x1u << 6) /**< \brief (USBHS_HSTIER) Host Wake-Up Interrupt Enable */ -#define USBHS_HSTIER_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTIER) Pipe 0 Interrupt Enable */ -#define USBHS_HSTIER_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTIER) Pipe 1 Interrupt Enable */ -#define USBHS_HSTIER_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTIER) Pipe 2 Interrupt Enable */ -#define USBHS_HSTIER_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTIER) Pipe 3 Interrupt Enable */ -#define USBHS_HSTIER_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTIER) Pipe 4 Interrupt Enable */ -#define USBHS_HSTIER_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTIER) Pipe 5 Interrupt Enable */ -#define USBHS_HSTIER_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTIER) Pipe 6 Interrupt Enable */ -#define USBHS_HSTIER_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTIER) Pipe 7 Interrupt Enable */ -#define USBHS_HSTIER_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTIER) Pipe 8 Interrupt Enable */ -#define USBHS_HSTIER_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTIER) Pipe 9 Interrupt Enable */ -#define USBHS_HSTIER_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTIER) Pipe 10 Interrupt Enable */ -#define USBHS_HSTIER_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTIER) Pipe 11 Interrupt Enable */ -#define USBHS_HSTIER_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIER) DMA Channel 1 Interrupt Enable */ -#define USBHS_HSTIER_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIER) DMA Channel 2 Interrupt Enable */ -#define USBHS_HSTIER_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIER) DMA Channel 3 Interrupt Enable */ -#define USBHS_HSTIER_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIER) DMA Channel 4 Interrupt Enable */ -#define USBHS_HSTIER_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIER) DMA Channel 5 Interrupt Enable */ -#define USBHS_HSTIER_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIER) DMA Channel 6 Interrupt Enable */ -#define USBHS_HSTIER_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIER) DMA Channel 7 Interrupt Enable */ -/* -------- USBHS_HSTPIP : (USBHS Offset: 0x0041C) Host Pipe Register -------- */ -#define USBHS_HSTPIP_PEN0 (0x1u << 0) /**< \brief (USBHS_HSTPIP) Pipe 0 Enable */ -#define USBHS_HSTPIP_PEN1 (0x1u << 1) /**< \brief (USBHS_HSTPIP) Pipe 1 Enable */ -#define USBHS_HSTPIP_PEN2 (0x1u << 2) /**< \brief (USBHS_HSTPIP) Pipe 2 Enable */ -#define USBHS_HSTPIP_PEN3 (0x1u << 3) /**< \brief (USBHS_HSTPIP) Pipe 3 Enable */ -#define USBHS_HSTPIP_PEN4 (0x1u << 4) /**< \brief (USBHS_HSTPIP) Pipe 4 Enable */ -#define USBHS_HSTPIP_PEN5 (0x1u << 5) /**< \brief (USBHS_HSTPIP) Pipe 5 Enable */ -#define USBHS_HSTPIP_PEN6 (0x1u << 6) /**< \brief (USBHS_HSTPIP) Pipe 6 Enable */ -#define USBHS_HSTPIP_PEN7 (0x1u << 7) /**< \brief (USBHS_HSTPIP) Pipe 7 Enable */ -#define USBHS_HSTPIP_PEN8 (0x1u << 8) /**< \brief (USBHS_HSTPIP) Pipe 8 Enable */ -#define USBHS_HSTPIP_PRST0 (0x1u << 16) /**< \brief (USBHS_HSTPIP) Pipe 0 Reset */ -#define USBHS_HSTPIP_PRST1 (0x1u << 17) /**< \brief (USBHS_HSTPIP) Pipe 1 Reset */ -#define USBHS_HSTPIP_PRST2 (0x1u << 18) /**< \brief (USBHS_HSTPIP) Pipe 2 Reset */ -#define USBHS_HSTPIP_PRST3 (0x1u << 19) /**< \brief (USBHS_HSTPIP) Pipe 3 Reset */ -#define USBHS_HSTPIP_PRST4 (0x1u << 20) /**< \brief (USBHS_HSTPIP) Pipe 4 Reset */ -#define USBHS_HSTPIP_PRST5 (0x1u << 21) /**< \brief (USBHS_HSTPIP) Pipe 5 Reset */ -#define USBHS_HSTPIP_PRST6 (0x1u << 22) /**< \brief (USBHS_HSTPIP) Pipe 6 Reset */ -#define USBHS_HSTPIP_PRST7 (0x1u << 23) /**< \brief (USBHS_HSTPIP) Pipe 7 Reset */ -#define USBHS_HSTPIP_PRST8 (0x1u << 24) /**< \brief (USBHS_HSTPIP) Pipe 8 Reset */ -/* -------- USBHS_HSTFNUM : (USBHS Offset: 0x0420) Host Frame Number Register -------- */ -#define USBHS_HSTFNUM_MFNUM_Pos 0 -#define USBHS_HSTFNUM_MFNUM_Msk (0x7u << USBHS_HSTFNUM_MFNUM_Pos) /**< \brief (USBHS_HSTFNUM) Micro Frame Number */ -#define USBHS_HSTFNUM_MFNUM(value) ((USBHS_HSTFNUM_MFNUM_Msk & ((value) << USBHS_HSTFNUM_MFNUM_Pos))) -#define USBHS_HSTFNUM_FNUM_Pos 3 -#define USBHS_HSTFNUM_FNUM_Msk (0x7ffu << USBHS_HSTFNUM_FNUM_Pos) /**< \brief (USBHS_HSTFNUM) Frame Number */ -#define USBHS_HSTFNUM_FNUM(value) ((USBHS_HSTFNUM_FNUM_Msk & ((value) << USBHS_HSTFNUM_FNUM_Pos))) -#define USBHS_HSTFNUM_FLENHIGH_Pos 16 -#define USBHS_HSTFNUM_FLENHIGH_Msk (0xffu << USBHS_HSTFNUM_FLENHIGH_Pos) /**< \brief (USBHS_HSTFNUM) Frame Length */ -#define USBHS_HSTFNUM_FLENHIGH(value) ((USBHS_HSTFNUM_FLENHIGH_Msk & ((value) << USBHS_HSTFNUM_FLENHIGH_Pos))) -/* -------- USBHS_HSTADDR1 : (USBHS Offset: 0x0424) Host Address 1 Register -------- */ -#define USBHS_HSTADDR1_HSTADDRP0_Pos 0 -#define USBHS_HSTADDR1_HSTADDRP0_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP0_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP0(value) ((USBHS_HSTADDR1_HSTADDRP0_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP0_Pos))) -#define USBHS_HSTADDR1_HSTADDRP1_Pos 8 -#define USBHS_HSTADDR1_HSTADDRP1_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP1_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP1(value) ((USBHS_HSTADDR1_HSTADDRP1_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP1_Pos))) -#define USBHS_HSTADDR1_HSTADDRP2_Pos 16 -#define USBHS_HSTADDR1_HSTADDRP2_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP2_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP2(value) ((USBHS_HSTADDR1_HSTADDRP2_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP2_Pos))) -#define USBHS_HSTADDR1_HSTADDRP3_Pos 24 -#define USBHS_HSTADDR1_HSTADDRP3_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP3_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP3(value) ((USBHS_HSTADDR1_HSTADDRP3_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP3_Pos))) -/* -------- USBHS_HSTADDR2 : (USBHS Offset: 0x0428) Host Address 2 Register -------- */ -#define USBHS_HSTADDR2_HSTADDRP4_Pos 0 -#define USBHS_HSTADDR2_HSTADDRP4_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP4_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP4(value) ((USBHS_HSTADDR2_HSTADDRP4_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP4_Pos))) -#define USBHS_HSTADDR2_HSTADDRP5_Pos 8 -#define USBHS_HSTADDR2_HSTADDRP5_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP5_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP5(value) ((USBHS_HSTADDR2_HSTADDRP5_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP5_Pos))) -#define USBHS_HSTADDR2_HSTADDRP6_Pos 16 -#define USBHS_HSTADDR2_HSTADDRP6_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP6_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP6(value) ((USBHS_HSTADDR2_HSTADDRP6_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP6_Pos))) -#define USBHS_HSTADDR2_HSTADDRP7_Pos 24 -#define USBHS_HSTADDR2_HSTADDRP7_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP7_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP7(value) ((USBHS_HSTADDR2_HSTADDRP7_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP7_Pos))) -/* -------- USBHS_HSTADDR3 : (USBHS Offset: 0x042C) Host Address 3 Register -------- */ -#define USBHS_HSTADDR3_HSTADDRP8_Pos 0 -#define USBHS_HSTADDR3_HSTADDRP8_Msk (0x7fu << USBHS_HSTADDR3_HSTADDRP8_Pos) /**< \brief (USBHS_HSTADDR3) USB Host Address */ -#define USBHS_HSTADDR3_HSTADDRP8(value) ((USBHS_HSTADDR3_HSTADDRP8_Msk & ((value) << USBHS_HSTADDR3_HSTADDRP8_Pos))) -#define USBHS_HSTADDR3_HSTADDRP9_Pos 8 -#define USBHS_HSTADDR3_HSTADDRP9_Msk (0x7fu << USBHS_HSTADDR3_HSTADDRP9_Pos) /**< \brief (USBHS_HSTADDR3) USB Host Address */ -#define USBHS_HSTADDR3_HSTADDRP9(value) ((USBHS_HSTADDR3_HSTADDRP9_Msk & ((value) << USBHS_HSTADDR3_HSTADDRP9_Pos))) -/* -------- USBHS_HSTPIPCFG[10] : (USBHS Offset: 0x500) Host Pipe Configuration Register (n = 0) -------- */ -#define USBHS_HSTPIPCFG_ALLOC (0x1u << 1) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Memory Allocate */ -#define USBHS_HSTPIPCFG_PBK_Pos 2 -#define USBHS_HSTPIPCFG_PBK_Msk (0x3u << USBHS_HSTPIPCFG_PBK_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Banks */ -#define USBHS_HSTPIPCFG_PBK(value) ((USBHS_HSTPIPCFG_PBK_Msk & ((value) << USBHS_HSTPIPCFG_PBK_Pos))) -#define USBHS_HSTPIPCFG_PBK_1_BANK (0x0u << 2) /**< \brief (USBHS_HSTPIPCFG[10]) Single-bank pipe */ -#define USBHS_HSTPIPCFG_PBK_2_BANK (0x1u << 2) /**< \brief (USBHS_HSTPIPCFG[10]) Double-bank pipe */ -#define USBHS_HSTPIPCFG_PBK_3_BANK (0x2u << 2) /**< \brief (USBHS_HSTPIPCFG[10]) Triple-bank pipe */ -#define USBHS_HSTPIPCFG_PSIZE_Pos 4 -#define USBHS_HSTPIPCFG_PSIZE_Msk (0x7u << USBHS_HSTPIPCFG_PSIZE_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Size */ -#define USBHS_HSTPIPCFG_PSIZE(value) ((USBHS_HSTPIPCFG_PSIZE_Msk & ((value) << USBHS_HSTPIPCFG_PSIZE_Pos))) -#define USBHS_HSTPIPCFG_PSIZE_8_BYTE (0x0u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 8 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_16_BYTE (0x1u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 16 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_32_BYTE (0x2u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 32 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_64_BYTE (0x3u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 64 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_128_BYTE (0x4u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 128 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_256_BYTE (0x5u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 256 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_512_BYTE (0x6u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 512 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_1024_BYTE (0x7u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 1024 bytes */ -#define USBHS_HSTPIPCFG_PTOKEN_Pos 8 -#define USBHS_HSTPIPCFG_PTOKEN_Msk (0x3u << USBHS_HSTPIPCFG_PTOKEN_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Token */ -#define USBHS_HSTPIPCFG_PTOKEN(value) ((USBHS_HSTPIPCFG_PTOKEN_Msk & ((value) << USBHS_HSTPIPCFG_PTOKEN_Pos))) -#define USBHS_HSTPIPCFG_PTOKEN_SETUP (0x0u << 8) /**< \brief (USBHS_HSTPIPCFG[10]) SETUP */ -#define USBHS_HSTPIPCFG_PTOKEN_IN (0x1u << 8) /**< \brief (USBHS_HSTPIPCFG[10]) IN */ -#define USBHS_HSTPIPCFG_PTOKEN_OUT (0x2u << 8) /**< \brief (USBHS_HSTPIPCFG[10]) OUT */ -#define USBHS_HSTPIPCFG_AUTOSW (0x1u << 10) /**< \brief (USBHS_HSTPIPCFG[10]) Automatic Switch */ -#define USBHS_HSTPIPCFG_PTYPE_Pos 12 -#define USBHS_HSTPIPCFG_PTYPE_Msk (0x3u << USBHS_HSTPIPCFG_PTYPE_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Type */ -#define USBHS_HSTPIPCFG_PTYPE(value) ((USBHS_HSTPIPCFG_PTYPE_Msk & ((value) << USBHS_HSTPIPCFG_PTYPE_Pos))) -#define USBHS_HSTPIPCFG_PTYPE_CTRL (0x0u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Control */ -#define USBHS_HSTPIPCFG_PTYPE_ISO (0x1u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Isochronous */ -#define USBHS_HSTPIPCFG_PTYPE_BLK (0x2u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Bulk */ -#define USBHS_HSTPIPCFG_PTYPE_INTRPT (0x3u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Interrupt */ -#define USBHS_HSTPIPCFG_PEPNUM_Pos 16 -#define USBHS_HSTPIPCFG_PEPNUM_Msk (0xfu << USBHS_HSTPIPCFG_PEPNUM_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Endpoint Number */ -#define USBHS_HSTPIPCFG_PEPNUM(value) ((USBHS_HSTPIPCFG_PEPNUM_Msk & ((value) << USBHS_HSTPIPCFG_PEPNUM_Pos))) -#define USBHS_HSTPIPCFG_INTFRQ_Pos 24 -#define USBHS_HSTPIPCFG_INTFRQ_Msk (0xffu << USBHS_HSTPIPCFG_INTFRQ_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Interrupt Request Frequency */ -#define USBHS_HSTPIPCFG_INTFRQ(value) ((USBHS_HSTPIPCFG_INTFRQ_Msk & ((value) << USBHS_HSTPIPCFG_INTFRQ_Pos))) -#define USBHS_HSTPIPCFG_PINGEN (0x1u << 20) /**< \brief (USBHS_HSTPIPCFG[10]) Ping Enable */ -#define USBHS_HSTPIPCFG_BINTERVAL_Pos 24 -#define USBHS_HSTPIPCFG_BINTERVAL_Msk (0xffu << USBHS_HSTPIPCFG_BINTERVAL_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Binterval Parameter for the Bulk-Out/Ping Transaction */ -#define USBHS_HSTPIPCFG_BINTERVAL(value) ((USBHS_HSTPIPCFG_BINTERVAL_Msk & ((value) << USBHS_HSTPIPCFG_BINTERVAL_Pos))) -/* -------- USBHS_HSTPIPISR[10] : (USBHS Offset: 0x530) Host Pipe Status Register (n = 0) -------- */ -#define USBHS_HSTPIPISR_RXINI (0x1u << 0) /**< \brief (USBHS_HSTPIPISR[10]) Received IN Data Interrupt */ -#define USBHS_HSTPIPISR_TXOUTI (0x1u << 1) /**< \brief (USBHS_HSTPIPISR[10]) Transmitted OUT Data Interrupt */ -#define USBHS_HSTPIPISR_TXSTPI (0x1u << 2) /**< \brief (USBHS_HSTPIPISR[10]) Transmitted SETUP Interrupt */ -#define USBHS_HSTPIPISR_PERRI (0x1u << 3) /**< \brief (USBHS_HSTPIPISR[10]) Pipe Error Interrupt */ -#define USBHS_HSTPIPISR_NAKEDI (0x1u << 4) /**< \brief (USBHS_HSTPIPISR[10]) NAKed Interrupt */ -#define USBHS_HSTPIPISR_OVERFI (0x1u << 5) /**< \brief (USBHS_HSTPIPISR[10]) Overflow Interrupt */ -#define USBHS_HSTPIPISR_RXSTALLDI (0x1u << 6) /**< \brief (USBHS_HSTPIPISR[10]) Received STALLed Interrupt */ -#define USBHS_HSTPIPISR_SHORTPACKETI (0x1u << 7) /**< \brief (USBHS_HSTPIPISR[10]) Short Packet Interrupt */ -#define USBHS_HSTPIPISR_DTSEQ_Pos 8 -#define USBHS_HSTPIPISR_DTSEQ_Msk (0x3u << USBHS_HSTPIPISR_DTSEQ_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Data Toggle Sequence */ -#define USBHS_HSTPIPISR_DTSEQ_DATA0 (0x0u << 8) /**< \brief (USBHS_HSTPIPISR[10]) Data0 toggle sequence */ -#define USBHS_HSTPIPISR_DTSEQ_DATA1 (0x1u << 8) /**< \brief (USBHS_HSTPIPISR[10]) Data1 toggle sequence */ -#define USBHS_HSTPIPISR_NBUSYBK_Pos 12 -#define USBHS_HSTPIPISR_NBUSYBK_Msk (0x3u << USBHS_HSTPIPISR_NBUSYBK_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Number of Busy Banks */ -#define USBHS_HSTPIPISR_NBUSYBK_0_BUSY (0x0u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 0 busy bank (all banks free) */ -#define USBHS_HSTPIPISR_NBUSYBK_1_BUSY (0x1u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 1 busy bank */ -#define USBHS_HSTPIPISR_NBUSYBK_2_BUSY (0x2u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 2 busy banks */ -#define USBHS_HSTPIPISR_NBUSYBK_3_BUSY (0x3u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 3 busy banks */ -#define USBHS_HSTPIPISR_CURRBK_Pos 14 -#define USBHS_HSTPIPISR_CURRBK_Msk (0x3u << USBHS_HSTPIPISR_CURRBK_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Current Bank */ -#define USBHS_HSTPIPISR_CURRBK_BANK0 (0x0u << 14) /**< \brief (USBHS_HSTPIPISR[10]) Current bank is bank0 */ -#define USBHS_HSTPIPISR_CURRBK_BANK1 (0x1u << 14) /**< \brief (USBHS_HSTPIPISR[10]) Current bank is bank1 */ -#define USBHS_HSTPIPISR_CURRBK_BANK2 (0x2u << 14) /**< \brief (USBHS_HSTPIPISR[10]) Current bank is bank2 */ -#define USBHS_HSTPIPISR_RWALL (0x1u << 16) /**< \brief (USBHS_HSTPIPISR[10]) Read/Write Allowed */ -#define USBHS_HSTPIPISR_CFGOK (0x1u << 18) /**< \brief (USBHS_HSTPIPISR[10]) Configuration OK Status */ -#define USBHS_HSTPIPISR_PBYCT_Pos 20 -#define USBHS_HSTPIPISR_PBYCT_Msk (0x7ffu << USBHS_HSTPIPISR_PBYCT_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Pipe Byte Count */ -#define USBHS_HSTPIPISR_UNDERFI (0x1u << 2) /**< \brief (USBHS_HSTPIPISR[10]) Underflow Interrupt */ -#define USBHS_HSTPIPISR_CRCERRI (0x1u << 6) /**< \brief (USBHS_HSTPIPISR[10]) CRC Error Interrupt */ -/* -------- USBHS_HSTPIPICR[10] : (USBHS Offset: 0x560) Host Pipe Clear Register (n = 0) -------- */ -#define USBHS_HSTPIPICR_RXINIC (0x1u << 0) /**< \brief (USBHS_HSTPIPICR[10]) Received IN Data Interrupt Clear */ -#define USBHS_HSTPIPICR_TXOUTIC (0x1u << 1) /**< \brief (USBHS_HSTPIPICR[10]) Transmitted OUT Data Interrupt Clear */ -#define USBHS_HSTPIPICR_TXSTPIC (0x1u << 2) /**< \brief (USBHS_HSTPIPICR[10]) Transmitted SETUP Interrupt Clear */ -#define USBHS_HSTPIPICR_NAKEDIC (0x1u << 4) /**< \brief (USBHS_HSTPIPICR[10]) NAKed Interrupt Clear */ -#define USBHS_HSTPIPICR_OVERFIC (0x1u << 5) /**< \brief (USBHS_HSTPIPICR[10]) Overflow Interrupt Clear */ -#define USBHS_HSTPIPICR_RXSTALLDIC (0x1u << 6) /**< \brief (USBHS_HSTPIPICR[10]) Received STALLed Interrupt Clear */ -#define USBHS_HSTPIPICR_SHORTPACKETIC (0x1u << 7) /**< \brief (USBHS_HSTPIPICR[10]) Short Packet Interrupt Clear */ -#define USBHS_HSTPIPICR_UNDERFIC (0x1u << 2) /**< \brief (USBHS_HSTPIPICR[10]) Underflow Interrupt Clear */ -#define USBHS_HSTPIPICR_CRCERRIC (0x1u << 6) /**< \brief (USBHS_HSTPIPICR[10]) CRC Error Interrupt Clear */ -/* -------- USBHS_HSTPIPIFR[10] : (USBHS Offset: 0x590) Host Pipe Set Register (n = 0) -------- */ -#define USBHS_HSTPIPIFR_RXINIS (0x1u << 0) /**< \brief (USBHS_HSTPIPIFR[10]) Received IN Data Interrupt Set */ -#define USBHS_HSTPIPIFR_TXOUTIS (0x1u << 1) /**< \brief (USBHS_HSTPIPIFR[10]) Transmitted OUT Data Interrupt Set */ -#define USBHS_HSTPIPIFR_TXSTPIS (0x1u << 2) /**< \brief (USBHS_HSTPIPIFR[10]) Transmitted SETUP Interrupt Set */ -#define USBHS_HSTPIPIFR_PERRIS (0x1u << 3) /**< \brief (USBHS_HSTPIPIFR[10]) Pipe Error Interrupt Set */ -#define USBHS_HSTPIPIFR_NAKEDIS (0x1u << 4) /**< \brief (USBHS_HSTPIPIFR[10]) NAKed Interrupt Set */ -#define USBHS_HSTPIPIFR_OVERFIS (0x1u << 5) /**< \brief (USBHS_HSTPIPIFR[10]) Overflow Interrupt Set */ -#define USBHS_HSTPIPIFR_RXSTALLDIS (0x1u << 6) /**< \brief (USBHS_HSTPIPIFR[10]) Received STALLed Interrupt Set */ -#define USBHS_HSTPIPIFR_SHORTPACKETIS (0x1u << 7) /**< \brief (USBHS_HSTPIPIFR[10]) Short Packet Interrupt Set */ -#define USBHS_HSTPIPIFR_NBUSYBKS (0x1u << 12) /**< \brief (USBHS_HSTPIPIFR[10]) Number of Busy Banks Set */ -#define USBHS_HSTPIPIFR_UNDERFIS (0x1u << 2) /**< \brief (USBHS_HSTPIPIFR[10]) Underflow Interrupt Set */ -#define USBHS_HSTPIPIFR_CRCERRIS (0x1u << 6) /**< \brief (USBHS_HSTPIPIFR[10]) CRC Error Interrupt Set */ -/* -------- USBHS_HSTPIPIMR[10] : (USBHS Offset: 0x5C0) Host Pipe Mask Register (n = 0) -------- */ -#define USBHS_HSTPIPIMR_RXINE (0x1u << 0) /**< \brief (USBHS_HSTPIPIMR[10]) Received IN Data Interrupt Enable */ -#define USBHS_HSTPIPIMR_TXOUTE (0x1u << 1) /**< \brief (USBHS_HSTPIPIMR[10]) Transmitted OUT Data Interrupt Enable */ -#define USBHS_HSTPIPIMR_TXSTPE (0x1u << 2) /**< \brief (USBHS_HSTPIPIMR[10]) Transmitted SETUP Interrupt Enable */ -#define USBHS_HSTPIPIMR_PERRE (0x1u << 3) /**< \brief (USBHS_HSTPIPIMR[10]) Pipe Error Interrupt Enable */ -#define USBHS_HSTPIPIMR_NAKEDE (0x1u << 4) /**< \brief (USBHS_HSTPIPIMR[10]) NAKed Interrupt Enable */ -#define USBHS_HSTPIPIMR_OVERFIE (0x1u << 5) /**< \brief (USBHS_HSTPIPIMR[10]) Overflow Interrupt Enable */ -#define USBHS_HSTPIPIMR_RXSTALLDE (0x1u << 6) /**< \brief (USBHS_HSTPIPIMR[10]) Received STALLed Interrupt Enable */ -#define USBHS_HSTPIPIMR_SHORTPACKETIE (0x1u << 7) /**< \brief (USBHS_HSTPIPIMR[10]) Short Packet Interrupt Enable */ -#define USBHS_HSTPIPIMR_NBUSYBKE (0x1u << 12) /**< \brief (USBHS_HSTPIPIMR[10]) Number of Busy Banks Interrupt Enable */ -#define USBHS_HSTPIPIMR_FIFOCON (0x1u << 14) /**< \brief (USBHS_HSTPIPIMR[10]) FIFO Control */ -#define USBHS_HSTPIPIMR_PDISHDMA (0x1u << 16) /**< \brief (USBHS_HSTPIPIMR[10]) Pipe Interrupts Disable HDMA Request Enable */ -#define USBHS_HSTPIPIMR_PFREEZE (0x1u << 17) /**< \brief (USBHS_HSTPIPIMR[10]) Pipe Freeze */ -#define USBHS_HSTPIPIMR_RSTDT (0x1u << 18) /**< \brief (USBHS_HSTPIPIMR[10]) Reset Data Toggle */ -#define USBHS_HSTPIPIMR_UNDERFIE (0x1u << 2) /**< \brief (USBHS_HSTPIPIMR[10]) Underflow Interrupt Enable */ -#define USBHS_HSTPIPIMR_CRCERRE (0x1u << 6) /**< \brief (USBHS_HSTPIPIMR[10]) CRC Error Interrupt Enable */ -/* -------- USBHS_HSTPIPIER[10] : (USBHS Offset: 0x5F0) Host Pipe Enable Register (n = 0) -------- */ -#define USBHS_HSTPIPIER_RXINES (0x1u << 0) /**< \brief (USBHS_HSTPIPIER[10]) Received IN Data Interrupt Enable */ -#define USBHS_HSTPIPIER_TXOUTES (0x1u << 1) /**< \brief (USBHS_HSTPIPIER[10]) Transmitted OUT Data Interrupt Enable */ -#define USBHS_HSTPIPIER_TXSTPES (0x1u << 2) /**< \brief (USBHS_HSTPIPIER[10]) Transmitted SETUP Interrupt Enable */ -#define USBHS_HSTPIPIER_PERRES (0x1u << 3) /**< \brief (USBHS_HSTPIPIER[10]) Pipe Error Interrupt Enable */ -#define USBHS_HSTPIPIER_NAKEDES (0x1u << 4) /**< \brief (USBHS_HSTPIPIER[10]) NAKed Interrupt Enable */ -#define USBHS_HSTPIPIER_OVERFIES (0x1u << 5) /**< \brief (USBHS_HSTPIPIER[10]) Overflow Interrupt Enable */ -#define USBHS_HSTPIPIER_RXSTALLDES (0x1u << 6) /**< \brief (USBHS_HSTPIPIER[10]) Received STALLed Interrupt Enable */ -#define USBHS_HSTPIPIER_SHORTPACKETIES (0x1u << 7) /**< \brief (USBHS_HSTPIPIER[10]) Short Packet Interrupt Enable */ -#define USBHS_HSTPIPIER_NBUSYBKES (0x1u << 12) /**< \brief (USBHS_HSTPIPIER[10]) Number of Busy Banks Enable */ -#define USBHS_HSTPIPIER_PDISHDMAS (0x1u << 16) /**< \brief (USBHS_HSTPIPIER[10]) Pipe Interrupts Disable HDMA Request Enable */ -#define USBHS_HSTPIPIER_PFREEZES (0x1u << 17) /**< \brief (USBHS_HSTPIPIER[10]) Pipe Freeze Enable */ -#define USBHS_HSTPIPIER_RSTDTS (0x1u << 18) /**< \brief (USBHS_HSTPIPIER[10]) Reset Data Toggle Enable */ -#define USBHS_HSTPIPIER_UNDERFIES (0x1u << 2) /**< \brief (USBHS_HSTPIPIER[10]) Underflow Interrupt Enable */ -#define USBHS_HSTPIPIER_CRCERRES (0x1u << 6) /**< \brief (USBHS_HSTPIPIER[10]) CRC Error Interrupt Enable */ -/* -------- USBHS_HSTPIPIDR[10] : (USBHS Offset: 0x620) Host Pipe Disable Register (n = 0) -------- */ -#define USBHS_HSTPIPIDR_RXINEC (0x1u << 0) /**< \brief (USBHS_HSTPIPIDR[10]) Received IN Data Interrupt Disable */ -#define USBHS_HSTPIPIDR_TXOUTEC (0x1u << 1) /**< \brief (USBHS_HSTPIPIDR[10]) Transmitted OUT Data Interrupt Disable */ -#define USBHS_HSTPIPIDR_TXSTPEC (0x1u << 2) /**< \brief (USBHS_HSTPIPIDR[10]) Transmitted SETUP Interrupt Disable */ -#define USBHS_HSTPIPIDR_PERREC (0x1u << 3) /**< \brief (USBHS_HSTPIPIDR[10]) Pipe Error Interrupt Disable */ -#define USBHS_HSTPIPIDR_NAKEDEC (0x1u << 4) /**< \brief (USBHS_HSTPIPIDR[10]) NAKed Interrupt Disable */ -#define USBHS_HSTPIPIDR_OVERFIEC (0x1u << 5) /**< \brief (USBHS_HSTPIPIDR[10]) Overflow Interrupt Disable */ -#define USBHS_HSTPIPIDR_RXSTALLDEC (0x1u << 6) /**< \brief (USBHS_HSTPIPIDR[10]) Received STALLed Interrupt Disable */ -#define USBHS_HSTPIPIDR_SHORTPACKETIEC (0x1u << 7) /**< \brief (USBHS_HSTPIPIDR[10]) Short Packet Interrupt Disable */ -#define USBHS_HSTPIPIDR_NBUSYBKEC (0x1u << 12) /**< \brief (USBHS_HSTPIPIDR[10]) Number of Busy Banks Disable */ -#define USBHS_HSTPIPIDR_FIFOCONC (0x1u << 14) /**< \brief (USBHS_HSTPIPIDR[10]) FIFO Control Disable */ -#define USBHS_HSTPIPIDR_PDISHDMAC (0x1u << 16) /**< \brief (USBHS_HSTPIPIDR[10]) Pipe Interrupts Disable HDMA Request Disable */ -#define USBHS_HSTPIPIDR_PFREEZEC (0x1u << 17) /**< \brief (USBHS_HSTPIPIDR[10]) Pipe Freeze Disable */ -#define USBHS_HSTPIPIDR_UNDERFIEC (0x1u << 2) /**< \brief (USBHS_HSTPIPIDR[10]) Underflow Interrupt Disable */ -#define USBHS_HSTPIPIDR_CRCERREC (0x1u << 6) /**< \brief (USBHS_HSTPIPIDR[10]) CRC Error Interrupt Disable */ -/* -------- USBHS_HSTPIPINRQ[10] : (USBHS Offset: 0x650) Host Pipe IN Request Register (n = 0) -------- */ -#define USBHS_HSTPIPINRQ_INRQ_Pos 0 -#define USBHS_HSTPIPINRQ_INRQ_Msk (0xffu << USBHS_HSTPIPINRQ_INRQ_Pos) /**< \brief (USBHS_HSTPIPINRQ[10]) IN Request Number before Freeze */ -#define USBHS_HSTPIPINRQ_INRQ(value) ((USBHS_HSTPIPINRQ_INRQ_Msk & ((value) << USBHS_HSTPIPINRQ_INRQ_Pos))) -#define USBHS_HSTPIPINRQ_INMODE (0x1u << 8) /**< \brief (USBHS_HSTPIPINRQ[10]) IN Request Mode */ -/* -------- USBHS_HSTPIPERR[10] : (USBHS Offset: 0x680) Host Pipe Error Register (n = 0) -------- */ -#define USBHS_HSTPIPERR_DATATGL (0x1u << 0) /**< \brief (USBHS_HSTPIPERR[10]) Data Toggle Error */ -#define USBHS_HSTPIPERR_DATAPID (0x1u << 1) /**< \brief (USBHS_HSTPIPERR[10]) Data PID Error */ -#define USBHS_HSTPIPERR_PID (0x1u << 2) /**< \brief (USBHS_HSTPIPERR[10]) Data PID Error */ -#define USBHS_HSTPIPERR_TIMEOUT (0x1u << 3) /**< \brief (USBHS_HSTPIPERR[10]) Time-Out Error */ -#define USBHS_HSTPIPERR_CRC16 (0x1u << 4) /**< \brief (USBHS_HSTPIPERR[10]) CRC16 Error */ -#define USBHS_HSTPIPERR_COUNTER_Pos 5 -#define USBHS_HSTPIPERR_COUNTER_Msk (0x3u << USBHS_HSTPIPERR_COUNTER_Pos) /**< \brief (USBHS_HSTPIPERR[10]) Error Counter */ -#define USBHS_HSTPIPERR_COUNTER(value) ((USBHS_HSTPIPERR_COUNTER_Msk & ((value) << USBHS_HSTPIPERR_COUNTER_Pos))) -/* -------- USBHS_HSTDMANXTDSC : (USBHS Offset: N/A) Host DMA Channel Next Descriptor Address Register -------- */ -#define USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Pos 0 -#define USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Msk (0xffffffffu << USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Pos) /**< \brief (USBHS_HSTDMANXTDSC) Next Descriptor Address */ -#define USBHS_HSTDMANXTDSC_NXT_DSC_ADD(value) ((USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Msk & ((value) << USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Pos))) -/* -------- USBHS_HSTDMAADDRESS : (USBHS Offset: N/A) Host DMA Channel Address Register -------- */ -#define USBHS_HSTDMAADDRESS_BUFF_ADD_Pos 0 -#define USBHS_HSTDMAADDRESS_BUFF_ADD_Msk (0xffffffffu << USBHS_HSTDMAADDRESS_BUFF_ADD_Pos) /**< \brief (USBHS_HSTDMAADDRESS) Buffer Address */ -#define USBHS_HSTDMAADDRESS_BUFF_ADD(value) ((USBHS_HSTDMAADDRESS_BUFF_ADD_Msk & ((value) << USBHS_HSTDMAADDRESS_BUFF_ADD_Pos))) -/* -------- USBHS_HSTDMACONTROL : (USBHS Offset: N/A) Host DMA Channel Control Register -------- */ -#define USBHS_HSTDMACONTROL_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_HSTDMACONTROL) Channel Enable Command */ -#define USBHS_HSTDMACONTROL_LDNXT_DSC (0x1u << 1) /**< \brief (USBHS_HSTDMACONTROL) Load Next Channel Transfer Descriptor Enable Command */ -#define USBHS_HSTDMACONTROL_END_TR_EN (0x1u << 2) /**< \brief (USBHS_HSTDMACONTROL) End of Transfer Enable Control (OUT transfers only) */ -#define USBHS_HSTDMACONTROL_END_B_EN (0x1u << 3) /**< \brief (USBHS_HSTDMACONTROL) End of Buffer Enable Control */ -#define USBHS_HSTDMACONTROL_END_TR_IT (0x1u << 4) /**< \brief (USBHS_HSTDMACONTROL) End of Transfer Interrupt Enable */ -#define USBHS_HSTDMACONTROL_END_BUFFIT (0x1u << 5) /**< \brief (USBHS_HSTDMACONTROL) End of Buffer Interrupt Enable */ -#define USBHS_HSTDMACONTROL_DESC_LD_IT (0x1u << 6) /**< \brief (USBHS_HSTDMACONTROL) Descriptor Loaded Interrupt Enable */ -#define USBHS_HSTDMACONTROL_BURST_LCK (0x1u << 7) /**< \brief (USBHS_HSTDMACONTROL) Burst Lock Enable */ -#define USBHS_HSTDMACONTROL_BUFF_LENGTH_Pos 16 -#define USBHS_HSTDMACONTROL_BUFF_LENGTH_Msk (0xffffu << USBHS_HSTDMACONTROL_BUFF_LENGTH_Pos) /**< \brief (USBHS_HSTDMACONTROL) Buffer Byte Length (Write-only) */ -#define USBHS_HSTDMACONTROL_BUFF_LENGTH(value) ((USBHS_HSTDMACONTROL_BUFF_LENGTH_Msk & ((value) << USBHS_HSTDMACONTROL_BUFF_LENGTH_Pos))) -/* -------- USBHS_HSTDMASTATUS : (USBHS Offset: N/A) Host DMA Channel Status Register -------- */ -#define USBHS_HSTDMASTATUS_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_HSTDMASTATUS) Channel Enable Status */ -#define USBHS_HSTDMASTATUS_CHANN_ACT (0x1u << 1) /**< \brief (USBHS_HSTDMASTATUS) Channel Active Status */ -#define USBHS_HSTDMASTATUS_END_TR_ST (0x1u << 4) /**< \brief (USBHS_HSTDMASTATUS) End of Channel Transfer Status */ -#define USBHS_HSTDMASTATUS_END_BF_ST (0x1u << 5) /**< \brief (USBHS_HSTDMASTATUS) End of Channel Buffer Status */ -#define USBHS_HSTDMASTATUS_DESC_LDST (0x1u << 6) /**< \brief (USBHS_HSTDMASTATUS) Descriptor Loaded Status */ -#define USBHS_HSTDMASTATUS_BUFF_COUNT_Pos 16 -#define USBHS_HSTDMASTATUS_BUFF_COUNT_Msk (0xffffu << USBHS_HSTDMASTATUS_BUFF_COUNT_Pos) /**< \brief (USBHS_HSTDMASTATUS) Buffer Byte Count */ -#define USBHS_HSTDMASTATUS_BUFF_COUNT(value) ((USBHS_HSTDMASTATUS_BUFF_COUNT_Msk & ((value) << USBHS_HSTDMASTATUS_BUFF_COUNT_Pos))) -/* -------- USBHS_CTRL : (USBHS Offset: 0x0800) General Control Register -------- */ -#define USBHS_CTRL_RDERRE (0x1u << 4) /**< \brief (USBHS_CTRL) Remote Device Connection Error Interrupt Enable */ -#define USBHS_CTRL_FRZCLK (0x1u << 14) /**< \brief (USBHS_CTRL) Freeze USB Clock */ -#define USBHS_CTRL_USBE (0x1u << 15) /**< \brief (USBHS_CTRL) USBHS Enable */ -#define USBHS_CTRL_UIMOD (0x1u << 25) /**< \brief (USBHS_CTRL) USBHS Mode */ -#define USBHS_CTRL_UIMOD_HOST (0x0u << 25) /**< \brief (USBHS_CTRL) The module is in USB Host mode. */ -#define USBHS_CTRL_UIMOD_DEVICE (0x1u << 25) /**< \brief (USBHS_CTRL) The module is in USB Device mode. */ -/* -------- USBHS_SR : (USBHS Offset: 0x0804) General Status Register -------- */ -#define USBHS_SR_RDERRI (0x1u << 4) /**< \brief (USBHS_SR) Remote Device Connection Error Interrupt (Host mode only) */ -#define USBHS_SR_VBUSRQ (0x1u << 9) /**< \brief (USBHS_SR) VBus Request (Host mode only) */ -#define USBHS_SR_SPEED_Pos 12 -#define USBHS_SR_SPEED_Msk (0x3u << USBHS_SR_SPEED_Pos) /**< \brief (USBHS_SR) Speed Status (Device mode only) */ -#define USBHS_SR_SPEED_FULL_SPEED (0x0u << 12) /**< \brief (USBHS_SR) Full-Speed mode */ -#define USBHS_SR_SPEED_HIGH_SPEED (0x1u << 12) /**< \brief (USBHS_SR) High-Speed mode */ -#define USBHS_SR_SPEED_LOW_SPEED (0x2u << 12) /**< \brief (USBHS_SR) Low-Speed mode */ -#define USBHS_SR_CLKUSABLE (0x1u << 14) /**< \brief (USBHS_SR) UTMI Clock Usable */ -/* -------- USBHS_SCR : (USBHS Offset: 0x0808) General Status Clear Register -------- */ -#define USBHS_SCR_RDERRIC (0x1u << 4) /**< \brief (USBHS_SCR) Remote Device Connection Error Interrupt Clear */ -#define USBHS_SCR_VBUSRQC (0x1u << 9) /**< \brief (USBHS_SCR) VBus Request Clear */ -/* -------- USBHS_SFR : (USBHS Offset: 0x080C) General Status Set Register -------- */ -#define USBHS_SFR_RDERRIS (0x1u << 4) /**< \brief (USBHS_SFR) Remote Device Connection Error Interrupt Set */ -#define USBHS_SFR_VBUSRQS (0x1u << 9) /**< \brief (USBHS_SFR) VBus Request Set */ -/* -------- USBHS_TSTA1 : (USBHS Offset: 0x0810) General Test A1 Register -------- */ -#define USBHS_TSTA1_CounterA_Pos 0 -#define USBHS_TSTA1_CounterA_Msk (0x7fffu << USBHS_TSTA1_CounterA_Pos) /**< \brief (USBHS_TSTA1) Counter A */ -#define USBHS_TSTA1_CounterA(value) ((USBHS_TSTA1_CounterA_Msk & ((value) << USBHS_TSTA1_CounterA_Pos))) -#define USBHS_TSTA1_LoadCntA (0x1u << 15) /**< \brief (USBHS_TSTA1) Load CounterA */ -#define USBHS_TSTA1_CounterB_Pos 16 -#define USBHS_TSTA1_CounterB_Msk (0x3fu << USBHS_TSTA1_CounterB_Pos) /**< \brief (USBHS_TSTA1) Counter B */ -#define USBHS_TSTA1_CounterB(value) ((USBHS_TSTA1_CounterB_Msk & ((value) << USBHS_TSTA1_CounterB_Pos))) -#define USBHS_TSTA1_LoadCntB (0x1u << 23) /**< \brief (USBHS_TSTA1) Load CounterB */ -#define USBHS_TSTA1_SOFCntMa1_Pos 24 -#define USBHS_TSTA1_SOFCntMa1_Msk (0x7fu << USBHS_TSTA1_SOFCntMa1_Pos) /**< \brief (USBHS_TSTA1) SOF Counter Max */ -#define USBHS_TSTA1_SOFCntMa1(value) ((USBHS_TSTA1_SOFCntMa1_Msk & ((value) << USBHS_TSTA1_SOFCntMa1_Pos))) -#define USBHS_TSTA1_LoadSOFCnt (0x1u << 31) /**< \brief (USBHS_TSTA1) Load SOF Counter */ -/* -------- USBHS_TSTA2 : (USBHS Offset: 0x0814) General Test A2 Register -------- */ -#define USBHS_TSTA2_FullDetachEn (0x1u << 0) /**< \brief (USBHS_TSTA2) Full Detach Enable */ -#define USBHS_TSTA2_HSSerialMode (0x1u << 1) /**< \brief (USBHS_TSTA2) HS Serial Mode */ -#define USBHS_TSTA2_LoopBackMode (0x1u << 2) /**< \brief (USBHS_TSTA2) Loop-back Mode */ -#define USBHS_TSTA2_DisableGatedClock (0x1u << 3) /**< \brief (USBHS_TSTA2) Disable Gated Clock */ -#define USBHS_TSTA2_ForceSuspendMTo1 (0x1u << 4) /**< \brief (USBHS_TSTA2) Force SuspendM to 1 */ -#define USBHS_TSTA2_ByPassDpll (0x1u << 5) /**< \brief (USBHS_TSTA2) Bypass DPLL */ -#define USBHS_TSTA2_HostHSDisconnectDisable (0x1u << 6) /**< \brief (USBHS_TSTA2) Host HS Disconnect Disable */ -#define USBHS_TSTA2_ForceHSRst_50ms (0x1u << 7) /**< \brief (USBHS_TSTA2) Force HS Reset to 50 ms */ -#define USBHS_TSTA2_RemovePUWhenTX (0x1u << 9) /**< \brief (USBHS_TSTA2) Remove Pull-up When TX */ -/* -------- USBHS_VERSION : (USBHS Offset: 0x0818) General Version Register -------- */ -#define USBHS_VERSION_VERSION_Pos 0 -#define USBHS_VERSION_VERSION_Msk (0xfffu << USBHS_VERSION_VERSION_Pos) /**< \brief (USBHS_VERSION) Version Number */ -#define USBHS_VERSION_MFN_Pos 16 -#define USBHS_VERSION_MFN_Msk (0xfu << USBHS_VERSION_MFN_Pos) /**< \brief (USBHS_VERSION) Metal Fix Number */ -/* -------- USBHS_FSM : (USBHS Offset: 0x082C) General Finite State Machine Register -------- */ -#define USBHS_FSM_DRDSTATE_Pos 0 -#define USBHS_FSM_DRDSTATE_Msk (0xfu << USBHS_FSM_DRDSTATE_Pos) /**< \brief (USBHS_FSM) Dual Role Device State */ -#define USBHS_FSM_DRDSTATE_A_IDLESTATE (0x0u << 0) /**< \brief (USBHS_FSM) This is the start state for A-devices (when the ID pin is 0) */ -#define USBHS_FSM_DRDSTATE_A_WAIT_VRISE (0x1u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the voltage on VBus to rise above the A-device VBus Valid threshold (4.4 V). */ -#define USBHS_FSM_DRDSTATE_A_WAIT_BCON (0x2u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the B-device to signal a connection. */ -#define USBHS_FSM_DRDSTATE_A_HOST (0x3u << 0) /**< \brief (USBHS_FSM) In this state, the A-device that operates in Host mode is operational. */ -#define USBHS_FSM_DRDSTATE_A_SUSPEND (0x4u << 0) /**< \brief (USBHS_FSM) The A-device operating as a host is in the Suspend mode. */ -#define USBHS_FSM_DRDSTATE_A_PERIPHERAL (0x5u << 0) /**< \brief (USBHS_FSM) The A-device operates as a peripheral. */ -#define USBHS_FSM_DRDSTATE_A_WAIT_VFALL (0x6u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the voltage on VBus to drop below the A-device Session Valid threshold (1.4 V). */ -#define USBHS_FSM_DRDSTATE_A_VBUS_ERR (0x7u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for recovery of the over-current condition that caused it to enter this state. */ -#define USBHS_FSM_DRDSTATE_A_WAIT_DISCHARGE (0x8u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the data USB line to discharge (100 us). */ -#define USBHS_FSM_DRDSTATE_B_IDLE (0x9u << 0) /**< \brief (USBHS_FSM) This is the start state for B-device (when the ID pin is 1). */ -#define USBHS_FSM_DRDSTATE_B_PERIPHERAL (0xAu << 0) /**< \brief (USBHS_FSM) In this state, the B-device acts as the peripheral. */ -#define USBHS_FSM_DRDSTATE_B_WAIT_BEGIN_HNP (0xBu << 0) /**< \brief (USBHS_FSM) In this state, the B-device is in Suspend mode and waits until 3 ms before initiating the HNP protocol if requested. */ -#define USBHS_FSM_DRDSTATE_B_WAIT_DISCHARGE (0xCu << 0) /**< \brief (USBHS_FSM) In this state, the B-device waits for the data USB line to discharge (100 us)) before becoming Host. */ -#define USBHS_FSM_DRDSTATE_B_WAIT_ACON (0xDu << 0) /**< \brief (USBHS_FSM) In this state, the B-device waits for the A-device to signal a connect before becoming B-Host. */ -#define USBHS_FSM_DRDSTATE_B_HOST (0xEu << 0) /**< \brief (USBHS_FSM) In this state, the B-device acts as the Host. */ -#define USBHS_FSM_DRDSTATE_B_SRP_INIT (0xFu << 0) /**< \brief (USBHS_FSM) In this state, the B-device attempts to start a session using the SRP protocol. */ - -/*@}*/ - - -#endif /* _SAMS70_USBHS_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h deleted file mode 100644 index aa847f6..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h +++ /dev/null @@ -1,78 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UTMI_COMPONENT_ -#define _SAMS70_UTMI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR USB Transmitter Interface Macrocell */ -/* ============================================================================= */ -/** \addtogroup SAMS70_UTMI USB Transmitter Interface Macrocell */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Utmi hardware registers */ -typedef struct { - __I uint32_t Reserved1[4]; - __IO uint32_t UTMI_OHCIICR; /**< \brief (Utmi Offset: 0x10) OHCI Interrupt Configuration Register */ - __I uint32_t Reserved2[7]; - __IO uint32_t UTMI_CKTRIM; /**< \brief (Utmi Offset: 0x30) UTMI Clock Trimming Register */ -} Utmi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- UTMI_OHCIICR : (UTMI Offset: 0x10) OHCI Interrupt Configuration Register -------- */ -#define UTMI_OHCIICR_RES0 (0x1u << 0) /**< \brief (UTMI_OHCIICR) USB PORTx Reset */ -#define UTMI_OHCIICR_ARIE (0x1u << 4) /**< \brief (UTMI_OHCIICR) OHCI Asynchronous Resume Interrupt Enable */ -#define UTMI_OHCIICR_APPSTART (0x1u << 5) /**< \brief (UTMI_OHCIICR) Reserved */ -#define UTMI_OHCIICR_UDPPUDIS (0x1u << 23) /**< \brief (UTMI_OHCIICR) USB Device Pull-up Disable */ -/* -------- UTMI_CKTRIM : (UTMI Offset: 0x30) UTMI Clock Trimming Register -------- */ -#define UTMI_CKTRIM_FREQ_Pos 0 -#define UTMI_CKTRIM_FREQ_Msk (0x3u << UTMI_CKTRIM_FREQ_Pos) /**< \brief (UTMI_CKTRIM) UTMI Reference Clock Frequency */ -#define UTMI_CKTRIM_FREQ(value) ((UTMI_CKTRIM_FREQ_Msk & ((value) << UTMI_CKTRIM_FREQ_Pos))) -#define UTMI_CKTRIM_FREQ_XTAL12 (0x0u << 0) /**< \brief (UTMI_CKTRIM) 12 MHz reference clock */ -#define UTMI_CKTRIM_FREQ_XTAL16 (0x1u << 0) /**< \brief (UTMI_CKTRIM) 16 MHz reference clock */ - -/*@}*/ - - -#endif /* _SAMS70_UTMI_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h deleted file mode 100644 index b8f749b..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_WDT_COMPONENT_ -#define _SAMS70_WDT_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Watchdog Timer */ -/* ============================================================================= */ -/** \addtogroup SAMS70_WDT Watchdog Timer */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Wdt hardware registers */ -typedef struct { - __O uint32_t WDT_CR; /**< \brief (Wdt Offset: 0x00) Control Register */ - __IO uint32_t WDT_MR; /**< \brief (Wdt Offset: 0x04) Mode Register */ - __I uint32_t WDT_SR; /**< \brief (Wdt Offset: 0x08) Status Register */ -} Wdt; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- WDT_CR : (WDT Offset: 0x00) Control Register -------- */ -#define WDT_CR_WDRSTT (0x1u << 0) /**< \brief (WDT_CR) Watchdog Restart */ -#define WDT_CR_KEY_Pos 24 -#define WDT_CR_KEY_Msk (0xffu << WDT_CR_KEY_Pos) /**< \brief (WDT_CR) Password */ -#define WDT_CR_KEY(value) ((WDT_CR_KEY_Msk & ((value) << WDT_CR_KEY_Pos))) -#define WDT_CR_KEY_PASSWD (0xA5u << 24) /**< \brief (WDT_CR) Writing any other value in this field aborts the write operation. */ -/* -------- WDT_MR : (WDT Offset: 0x04) Mode Register -------- */ -#define WDT_MR_WDV_Pos 0 -#define WDT_MR_WDV_Msk (0xfffu << WDT_MR_WDV_Pos) /**< \brief (WDT_MR) Watchdog Counter Value */ -#define WDT_MR_WDV(value) ((WDT_MR_WDV_Msk & ((value) << WDT_MR_WDV_Pos))) -#define WDT_MR_WDFIEN (0x1u << 12) /**< \brief (WDT_MR) Watchdog Fault Interrupt Enable */ -#define WDT_MR_WDRSTEN (0x1u << 13) /**< \brief (WDT_MR) Watchdog Reset Enable */ -#define WDT_MR_WDDIS (0x1u << 15) /**< \brief (WDT_MR) Watchdog Disable */ -#define WDT_MR_WDD_Pos 16 -#define WDT_MR_WDD_Msk (0xfffu << WDT_MR_WDD_Pos) /**< \brief (WDT_MR) Watchdog Delta Value */ -#define WDT_MR_WDD(value) ((WDT_MR_WDD_Msk & ((value) << WDT_MR_WDD_Pos))) -#define WDT_MR_WDDBGHLT (0x1u << 28) /**< \brief (WDT_MR) Watchdog Debug Halt */ -#define WDT_MR_WDIDLEHLT (0x1u << 29) /**< \brief (WDT_MR) Watchdog Idle Halt */ -/* -------- WDT_SR : (WDT Offset: 0x08) Status Register -------- */ -#define WDT_SR_WDUNF (0x1u << 0) /**< \brief (WDT_SR) Watchdog Underflow (cleared on read) */ -#define WDT_SR_WDERR (0x1u << 1) /**< \brief (WDT_SR) Watchdog Error (cleared on read) */ - -/*@}*/ - - -#endif /* _SAMS70_WDT_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h deleted file mode 100644 index 942e270..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h +++ /dev/null @@ -1,634 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_XDMAC_COMPONENT_ -#define _SAMS70_XDMAC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Extensible DMA Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_XDMAC Extensible DMA Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief XdmacChid hardware registers */ -typedef struct { - __O uint32_t XDMAC_CIE; /**< \brief (XdmacChid Offset: 0x0) Channel Interrupt Enable Register */ - __O uint32_t XDMAC_CID; /**< \brief (XdmacChid Offset: 0x4) Channel Interrupt Disable Register */ - __O uint32_t XDMAC_CIM; /**< \brief (XdmacChid Offset: 0x8) Channel Interrupt Mask Register */ - __I uint32_t XDMAC_CIS; /**< \brief (XdmacChid Offset: 0xC) Channel Interrupt Status Register */ - __IO uint32_t XDMAC_CSA; /**< \brief (XdmacChid Offset: 0x10) Channel Source Address Register */ - __IO uint32_t XDMAC_CDA; /**< \brief (XdmacChid Offset: 0x14) Channel Destination Address Register */ - __IO uint32_t XDMAC_CNDA; /**< \brief (XdmacChid Offset: 0x18) Channel Next Descriptor Address Register */ - __IO uint32_t XDMAC_CNDC; /**< \brief (XdmacChid Offset: 0x1C) Channel Next Descriptor Control Register */ - __IO uint32_t XDMAC_CUBC; /**< \brief (XdmacChid Offset: 0x20) Channel Microblock Control Register */ - __IO uint32_t XDMAC_CBC; /**< \brief (XdmacChid Offset: 0x24) Channel Block Control Register */ - __IO uint32_t XDMAC_CC; /**< \brief (XdmacChid Offset: 0x28) Channel Configuration Register */ - __IO uint32_t XDMAC_CDS_MSP; /**< \brief (XdmacChid Offset: 0x2C) Channel Data Stride Memory Set Pattern */ - __IO uint32_t XDMAC_CSUS; /**< \brief (XdmacChid Offset: 0x30) Channel Source Microblock Stride */ - __IO uint32_t XDMAC_CDUS; /**< \brief (XdmacChid Offset: 0x34) Channel Destination Microblock Stride */ - __I uint32_t Reserved1[2]; -} XdmacChid; -/** \brief Xdmac hardware registers */ -#define XDMACCHID_NUMBER 24 -typedef struct { - __IO uint32_t XDMAC_GTYPE; /**< \brief (Xdmac Offset: 0x00) Global Type Register */ - __I uint32_t XDMAC_GCFG; /**< \brief (Xdmac Offset: 0x04) Global Configuration Register */ - __IO uint32_t XDMAC_GWAC; /**< \brief (Xdmac Offset: 0x08) Global Weighted Arbiter Configuration Register */ - __O uint32_t XDMAC_GIE; /**< \brief (Xdmac Offset: 0x0C) Global Interrupt Enable Register */ - __O uint32_t XDMAC_GID; /**< \brief (Xdmac Offset: 0x10) Global Interrupt Disable Register */ - __I uint32_t XDMAC_GIM; /**< \brief (Xdmac Offset: 0x14) Global Interrupt Mask Register */ - __I uint32_t XDMAC_GIS; /**< \brief (Xdmac Offset: 0x18) Global Interrupt Status Register */ - __O uint32_t XDMAC_GE; /**< \brief (Xdmac Offset: 0x1C) Global Channel Enable Register */ - __O uint32_t XDMAC_GD; /**< \brief (Xdmac Offset: 0x20) Global Channel Disable Register */ - __I uint32_t XDMAC_GS; /**< \brief (Xdmac Offset: 0x24) Global Channel Status Register */ - __IO uint32_t XDMAC_GRS; /**< \brief (Xdmac Offset: 0x28) Global Channel Read Suspend Register */ - __IO uint32_t XDMAC_GWS; /**< \brief (Xdmac Offset: 0x2C) Global Channel Write Suspend Register */ - __O uint32_t XDMAC_GRWS; /**< \brief (Xdmac Offset: 0x30) Global Channel Read Write Suspend Register */ - __O uint32_t XDMAC_GRWR; /**< \brief (Xdmac Offset: 0x34) Global Channel Read Write Resume Register */ - __O uint32_t XDMAC_GSWR; /**< \brief (Xdmac Offset: 0x38) Global Channel Software Request Register */ - __I uint32_t XDMAC_GSWS; /**< \brief (Xdmac Offset: 0x3C) Global Channel Software Request Status Register */ - __O uint32_t XDMAC_GSWF; /**< \brief (Xdmac Offset: 0x40) Global Channel Software Flush Request Register */ - __I uint32_t Reserved1[3]; - XdmacChid XDMAC_CHID[XDMACCHID_NUMBER]; /**< \brief (Xdmac Offset: 0x50) chid = 0 .. 23 */ -} Xdmac; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- XDMAC_GTYPE : (XDMAC Offset: 0x00) Global Type Register -------- */ -#define XDMAC_GTYPE_NB_CH_Pos 0 -#define XDMAC_GTYPE_NB_CH_Msk (0x1fu << XDMAC_GTYPE_NB_CH_Pos) /**< \brief (XDMAC_GTYPE) Number of Channels Minus One */ -#define XDMAC_GTYPE_NB_CH(value) ((XDMAC_GTYPE_NB_CH_Msk & ((value) << XDMAC_GTYPE_NB_CH_Pos))) -#define XDMAC_GTYPE_FIFO_SZ_Pos 5 -#define XDMAC_GTYPE_FIFO_SZ_Msk (0x7ffu << XDMAC_GTYPE_FIFO_SZ_Pos) /**< \brief (XDMAC_GTYPE) Number of Bytes */ -#define XDMAC_GTYPE_FIFO_SZ(value) ((XDMAC_GTYPE_FIFO_SZ_Msk & ((value) << XDMAC_GTYPE_FIFO_SZ_Pos))) -#define XDMAC_GTYPE_NB_REQ_Pos 16 -#define XDMAC_GTYPE_NB_REQ_Msk (0x7fu << XDMAC_GTYPE_NB_REQ_Pos) /**< \brief (XDMAC_GTYPE) Number of Peripheral Requests Minus One */ -#define XDMAC_GTYPE_NB_REQ(value) ((XDMAC_GTYPE_NB_REQ_Msk & ((value) << XDMAC_GTYPE_NB_REQ_Pos))) -/* -------- XDMAC_GCFG : (XDMAC Offset: 0x04) Global Configuration Register -------- */ -#define XDMAC_GCFG_CGDISREG (0x1u << 0) /**< \brief (XDMAC_GCFG) Configuration Registers Clock Gating Disable */ -#define XDMAC_GCFG_CGDISPIPE (0x1u << 1) /**< \brief (XDMAC_GCFG) Pipeline Clock Gating Disable */ -#define XDMAC_GCFG_CGDISFIFO (0x1u << 2) /**< \brief (XDMAC_GCFG) FIFO Clock Gating Disable */ -#define XDMAC_GCFG_CGDISIF (0x1u << 3) /**< \brief (XDMAC_GCFG) Bus Interface Clock Gating Disable */ -#define XDMAC_GCFG_BXKBEN (0x1u << 8) /**< \brief (XDMAC_GCFG) Boundary X Kilo byte Enable */ -/* -------- XDMAC_GWAC : (XDMAC Offset: 0x08) Global Weighted Arbiter Configuration Register -------- */ -#define XDMAC_GWAC_PW0_Pos 0 -#define XDMAC_GWAC_PW0_Msk (0xfu << XDMAC_GWAC_PW0_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 0 */ -#define XDMAC_GWAC_PW0(value) ((XDMAC_GWAC_PW0_Msk & ((value) << XDMAC_GWAC_PW0_Pos))) -#define XDMAC_GWAC_PW1_Pos 4 -#define XDMAC_GWAC_PW1_Msk (0xfu << XDMAC_GWAC_PW1_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 1 */ -#define XDMAC_GWAC_PW1(value) ((XDMAC_GWAC_PW1_Msk & ((value) << XDMAC_GWAC_PW1_Pos))) -#define XDMAC_GWAC_PW2_Pos 8 -#define XDMAC_GWAC_PW2_Msk (0xfu << XDMAC_GWAC_PW2_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 2 */ -#define XDMAC_GWAC_PW2(value) ((XDMAC_GWAC_PW2_Msk & ((value) << XDMAC_GWAC_PW2_Pos))) -#define XDMAC_GWAC_PW3_Pos 12 -#define XDMAC_GWAC_PW3_Msk (0xfu << XDMAC_GWAC_PW3_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 3 */ -#define XDMAC_GWAC_PW3(value) ((XDMAC_GWAC_PW3_Msk & ((value) << XDMAC_GWAC_PW3_Pos))) -/* -------- XDMAC_GIE : (XDMAC Offset: 0x0C) Global Interrupt Enable Register -------- */ -#define XDMAC_GIE_IE0 (0x1u << 0) /**< \brief (XDMAC_GIE) XDMAC Channel 0 Interrupt Enable Bit */ -#define XDMAC_GIE_IE1 (0x1u << 1) /**< \brief (XDMAC_GIE) XDMAC Channel 1 Interrupt Enable Bit */ -#define XDMAC_GIE_IE2 (0x1u << 2) /**< \brief (XDMAC_GIE) XDMAC Channel 2 Interrupt Enable Bit */ -#define XDMAC_GIE_IE3 (0x1u << 3) /**< \brief (XDMAC_GIE) XDMAC Channel 3 Interrupt Enable Bit */ -#define XDMAC_GIE_IE4 (0x1u << 4) /**< \brief (XDMAC_GIE) XDMAC Channel 4 Interrupt Enable Bit */ -#define XDMAC_GIE_IE5 (0x1u << 5) /**< \brief (XDMAC_GIE) XDMAC Channel 5 Interrupt Enable Bit */ -#define XDMAC_GIE_IE6 (0x1u << 6) /**< \brief (XDMAC_GIE) XDMAC Channel 6 Interrupt Enable Bit */ -#define XDMAC_GIE_IE7 (0x1u << 7) /**< \brief (XDMAC_GIE) XDMAC Channel 7 Interrupt Enable Bit */ -#define XDMAC_GIE_IE8 (0x1u << 8) /**< \brief (XDMAC_GIE) XDMAC Channel 8 Interrupt Enable Bit */ -#define XDMAC_GIE_IE9 (0x1u << 9) /**< \brief (XDMAC_GIE) XDMAC Channel 9 Interrupt Enable Bit */ -#define XDMAC_GIE_IE10 (0x1u << 10) /**< \brief (XDMAC_GIE) XDMAC Channel 10 Interrupt Enable Bit */ -#define XDMAC_GIE_IE11 (0x1u << 11) /**< \brief (XDMAC_GIE) XDMAC Channel 11 Interrupt Enable Bit */ -#define XDMAC_GIE_IE12 (0x1u << 12) /**< \brief (XDMAC_GIE) XDMAC Channel 12 Interrupt Enable Bit */ -#define XDMAC_GIE_IE13 (0x1u << 13) /**< \brief (XDMAC_GIE) XDMAC Channel 13 Interrupt Enable Bit */ -#define XDMAC_GIE_IE14 (0x1u << 14) /**< \brief (XDMAC_GIE) XDMAC Channel 14 Interrupt Enable Bit */ -#define XDMAC_GIE_IE15 (0x1u << 15) /**< \brief (XDMAC_GIE) XDMAC Channel 15 Interrupt Enable Bit */ -#define XDMAC_GIE_IE16 (0x1u << 16) /**< \brief (XDMAC_GIE) XDMAC Channel 16 Interrupt Enable Bit */ -#define XDMAC_GIE_IE17 (0x1u << 17) /**< \brief (XDMAC_GIE) XDMAC Channel 17 Interrupt Enable Bit */ -#define XDMAC_GIE_IE18 (0x1u << 18) /**< \brief (XDMAC_GIE) XDMAC Channel 18 Interrupt Enable Bit */ -#define XDMAC_GIE_IE19 (0x1u << 19) /**< \brief (XDMAC_GIE) XDMAC Channel 19 Interrupt Enable Bit */ -#define XDMAC_GIE_IE20 (0x1u << 20) /**< \brief (XDMAC_GIE) XDMAC Channel 20 Interrupt Enable Bit */ -#define XDMAC_GIE_IE21 (0x1u << 21) /**< \brief (XDMAC_GIE) XDMAC Channel 21 Interrupt Enable Bit */ -#define XDMAC_GIE_IE22 (0x1u << 22) /**< \brief (XDMAC_GIE) XDMAC Channel 22 Interrupt Enable Bit */ -#define XDMAC_GIE_IE23 (0x1u << 23) /**< \brief (XDMAC_GIE) XDMAC Channel 23 Interrupt Enable Bit */ -/* -------- XDMAC_GID : (XDMAC Offset: 0x10) Global Interrupt Disable Register -------- */ -#define XDMAC_GID_ID0 (0x1u << 0) /**< \brief (XDMAC_GID) XDMAC Channel 0 Interrupt Disable Bit */ -#define XDMAC_GID_ID1 (0x1u << 1) /**< \brief (XDMAC_GID) XDMAC Channel 1 Interrupt Disable Bit */ -#define XDMAC_GID_ID2 (0x1u << 2) /**< \brief (XDMAC_GID) XDMAC Channel 2 Interrupt Disable Bit */ -#define XDMAC_GID_ID3 (0x1u << 3) /**< \brief (XDMAC_GID) XDMAC Channel 3 Interrupt Disable Bit */ -#define XDMAC_GID_ID4 (0x1u << 4) /**< \brief (XDMAC_GID) XDMAC Channel 4 Interrupt Disable Bit */ -#define XDMAC_GID_ID5 (0x1u << 5) /**< \brief (XDMAC_GID) XDMAC Channel 5 Interrupt Disable Bit */ -#define XDMAC_GID_ID6 (0x1u << 6) /**< \brief (XDMAC_GID) XDMAC Channel 6 Interrupt Disable Bit */ -#define XDMAC_GID_ID7 (0x1u << 7) /**< \brief (XDMAC_GID) XDMAC Channel 7 Interrupt Disable Bit */ -#define XDMAC_GID_ID8 (0x1u << 8) /**< \brief (XDMAC_GID) XDMAC Channel 8 Interrupt Disable Bit */ -#define XDMAC_GID_ID9 (0x1u << 9) /**< \brief (XDMAC_GID) XDMAC Channel 9 Interrupt Disable Bit */ -#define XDMAC_GID_ID10 (0x1u << 10) /**< \brief (XDMAC_GID) XDMAC Channel 10 Interrupt Disable Bit */ -#define XDMAC_GID_ID11 (0x1u << 11) /**< \brief (XDMAC_GID) XDMAC Channel 11 Interrupt Disable Bit */ -#define XDMAC_GID_ID12 (0x1u << 12) /**< \brief (XDMAC_GID) XDMAC Channel 12 Interrupt Disable Bit */ -#define XDMAC_GID_ID13 (0x1u << 13) /**< \brief (XDMAC_GID) XDMAC Channel 13 Interrupt Disable Bit */ -#define XDMAC_GID_ID14 (0x1u << 14) /**< \brief (XDMAC_GID) XDMAC Channel 14 Interrupt Disable Bit */ -#define XDMAC_GID_ID15 (0x1u << 15) /**< \brief (XDMAC_GID) XDMAC Channel 15 Interrupt Disable Bit */ -#define XDMAC_GID_ID16 (0x1u << 16) /**< \brief (XDMAC_GID) XDMAC Channel 16 Interrupt Disable Bit */ -#define XDMAC_GID_ID17 (0x1u << 17) /**< \brief (XDMAC_GID) XDMAC Channel 17 Interrupt Disable Bit */ -#define XDMAC_GID_ID18 (0x1u << 18) /**< \brief (XDMAC_GID) XDMAC Channel 18 Interrupt Disable Bit */ -#define XDMAC_GID_ID19 (0x1u << 19) /**< \brief (XDMAC_GID) XDMAC Channel 19 Interrupt Disable Bit */ -#define XDMAC_GID_ID20 (0x1u << 20) /**< \brief (XDMAC_GID) XDMAC Channel 20 Interrupt Disable Bit */ -#define XDMAC_GID_ID21 (0x1u << 21) /**< \brief (XDMAC_GID) XDMAC Channel 21 Interrupt Disable Bit */ -#define XDMAC_GID_ID22 (0x1u << 22) /**< \brief (XDMAC_GID) XDMAC Channel 22 Interrupt Disable Bit */ -#define XDMAC_GID_ID23 (0x1u << 23) /**< \brief (XDMAC_GID) XDMAC Channel 23 Interrupt Disable Bit */ -/* -------- XDMAC_GIM : (XDMAC Offset: 0x14) Global Interrupt Mask Register -------- */ -#define XDMAC_GIM_IM0 (0x1u << 0) /**< \brief (XDMAC_GIM) XDMAC Channel 0 Interrupt Mask Bit */ -#define XDMAC_GIM_IM1 (0x1u << 1) /**< \brief (XDMAC_GIM) XDMAC Channel 1 Interrupt Mask Bit */ -#define XDMAC_GIM_IM2 (0x1u << 2) /**< \brief (XDMAC_GIM) XDMAC Channel 2 Interrupt Mask Bit */ -#define XDMAC_GIM_IM3 (0x1u << 3) /**< \brief (XDMAC_GIM) XDMAC Channel 3 Interrupt Mask Bit */ -#define XDMAC_GIM_IM4 (0x1u << 4) /**< \brief (XDMAC_GIM) XDMAC Channel 4 Interrupt Mask Bit */ -#define XDMAC_GIM_IM5 (0x1u << 5) /**< \brief (XDMAC_GIM) XDMAC Channel 5 Interrupt Mask Bit */ -#define XDMAC_GIM_IM6 (0x1u << 6) /**< \brief (XDMAC_GIM) XDMAC Channel 6 Interrupt Mask Bit */ -#define XDMAC_GIM_IM7 (0x1u << 7) /**< \brief (XDMAC_GIM) XDMAC Channel 7 Interrupt Mask Bit */ -#define XDMAC_GIM_IM8 (0x1u << 8) /**< \brief (XDMAC_GIM) XDMAC Channel 8 Interrupt Mask Bit */ -#define XDMAC_GIM_IM9 (0x1u << 9) /**< \brief (XDMAC_GIM) XDMAC Channel 9 Interrupt Mask Bit */ -#define XDMAC_GIM_IM10 (0x1u << 10) /**< \brief (XDMAC_GIM) XDMAC Channel 10 Interrupt Mask Bit */ -#define XDMAC_GIM_IM11 (0x1u << 11) /**< \brief (XDMAC_GIM) XDMAC Channel 11 Interrupt Mask Bit */ -#define XDMAC_GIM_IM12 (0x1u << 12) /**< \brief (XDMAC_GIM) XDMAC Channel 12 Interrupt Mask Bit */ -#define XDMAC_GIM_IM13 (0x1u << 13) /**< \brief (XDMAC_GIM) XDMAC Channel 13 Interrupt Mask Bit */ -#define XDMAC_GIM_IM14 (0x1u << 14) /**< \brief (XDMAC_GIM) XDMAC Channel 14 Interrupt Mask Bit */ -#define XDMAC_GIM_IM15 (0x1u << 15) /**< \brief (XDMAC_GIM) XDMAC Channel 15 Interrupt Mask Bit */ -#define XDMAC_GIM_IM16 (0x1u << 16) /**< \brief (XDMAC_GIM) XDMAC Channel 16 Interrupt Mask Bit */ -#define XDMAC_GIM_IM17 (0x1u << 17) /**< \brief (XDMAC_GIM) XDMAC Channel 17 Interrupt Mask Bit */ -#define XDMAC_GIM_IM18 (0x1u << 18) /**< \brief (XDMAC_GIM) XDMAC Channel 18 Interrupt Mask Bit */ -#define XDMAC_GIM_IM19 (0x1u << 19) /**< \brief (XDMAC_GIM) XDMAC Channel 19 Interrupt Mask Bit */ -#define XDMAC_GIM_IM20 (0x1u << 20) /**< \brief (XDMAC_GIM) XDMAC Channel 20 Interrupt Mask Bit */ -#define XDMAC_GIM_IM21 (0x1u << 21) /**< \brief (XDMAC_GIM) XDMAC Channel 21 Interrupt Mask Bit */ -#define XDMAC_GIM_IM22 (0x1u << 22) /**< \brief (XDMAC_GIM) XDMAC Channel 22 Interrupt Mask Bit */ -#define XDMAC_GIM_IM23 (0x1u << 23) /**< \brief (XDMAC_GIM) XDMAC Channel 23 Interrupt Mask Bit */ -/* -------- XDMAC_GIS : (XDMAC Offset: 0x18) Global Interrupt Status Register -------- */ -#define XDMAC_GIS_IS0 (0x1u << 0) /**< \brief (XDMAC_GIS) XDMAC Channel 0 Interrupt Status Bit */ -#define XDMAC_GIS_IS1 (0x1u << 1) /**< \brief (XDMAC_GIS) XDMAC Channel 1 Interrupt Status Bit */ -#define XDMAC_GIS_IS2 (0x1u << 2) /**< \brief (XDMAC_GIS) XDMAC Channel 2 Interrupt Status Bit */ -#define XDMAC_GIS_IS3 (0x1u << 3) /**< \brief (XDMAC_GIS) XDMAC Channel 3 Interrupt Status Bit */ -#define XDMAC_GIS_IS4 (0x1u << 4) /**< \brief (XDMAC_GIS) XDMAC Channel 4 Interrupt Status Bit */ -#define XDMAC_GIS_IS5 (0x1u << 5) /**< \brief (XDMAC_GIS) XDMAC Channel 5 Interrupt Status Bit */ -#define XDMAC_GIS_IS6 (0x1u << 6) /**< \brief (XDMAC_GIS) XDMAC Channel 6 Interrupt Status Bit */ -#define XDMAC_GIS_IS7 (0x1u << 7) /**< \brief (XDMAC_GIS) XDMAC Channel 7 Interrupt Status Bit */ -#define XDMAC_GIS_IS8 (0x1u << 8) /**< \brief (XDMAC_GIS) XDMAC Channel 8 Interrupt Status Bit */ -#define XDMAC_GIS_IS9 (0x1u << 9) /**< \brief (XDMAC_GIS) XDMAC Channel 9 Interrupt Status Bit */ -#define XDMAC_GIS_IS10 (0x1u << 10) /**< \brief (XDMAC_GIS) XDMAC Channel 10 Interrupt Status Bit */ -#define XDMAC_GIS_IS11 (0x1u << 11) /**< \brief (XDMAC_GIS) XDMAC Channel 11 Interrupt Status Bit */ -#define XDMAC_GIS_IS12 (0x1u << 12) /**< \brief (XDMAC_GIS) XDMAC Channel 12 Interrupt Status Bit */ -#define XDMAC_GIS_IS13 (0x1u << 13) /**< \brief (XDMAC_GIS) XDMAC Channel 13 Interrupt Status Bit */ -#define XDMAC_GIS_IS14 (0x1u << 14) /**< \brief (XDMAC_GIS) XDMAC Channel 14 Interrupt Status Bit */ -#define XDMAC_GIS_IS15 (0x1u << 15) /**< \brief (XDMAC_GIS) XDMAC Channel 15 Interrupt Status Bit */ -#define XDMAC_GIS_IS16 (0x1u << 16) /**< \brief (XDMAC_GIS) XDMAC Channel 16 Interrupt Status Bit */ -#define XDMAC_GIS_IS17 (0x1u << 17) /**< \brief (XDMAC_GIS) XDMAC Channel 17 Interrupt Status Bit */ -#define XDMAC_GIS_IS18 (0x1u << 18) /**< \brief (XDMAC_GIS) XDMAC Channel 18 Interrupt Status Bit */ -#define XDMAC_GIS_IS19 (0x1u << 19) /**< \brief (XDMAC_GIS) XDMAC Channel 19 Interrupt Status Bit */ -#define XDMAC_GIS_IS20 (0x1u << 20) /**< \brief (XDMAC_GIS) XDMAC Channel 20 Interrupt Status Bit */ -#define XDMAC_GIS_IS21 (0x1u << 21) /**< \brief (XDMAC_GIS) XDMAC Channel 21 Interrupt Status Bit */ -#define XDMAC_GIS_IS22 (0x1u << 22) /**< \brief (XDMAC_GIS) XDMAC Channel 22 Interrupt Status Bit */ -#define XDMAC_GIS_IS23 (0x1u << 23) /**< \brief (XDMAC_GIS) XDMAC Channel 23 Interrupt Status Bit */ -/* -------- XDMAC_GE : (XDMAC Offset: 0x1C) Global Channel Enable Register -------- */ -#define XDMAC_GE_EN0 (0x1u << 0) /**< \brief (XDMAC_GE) XDMAC Channel 0 Enable Bit */ -#define XDMAC_GE_EN1 (0x1u << 1) /**< \brief (XDMAC_GE) XDMAC Channel 1 Enable Bit */ -#define XDMAC_GE_EN2 (0x1u << 2) /**< \brief (XDMAC_GE) XDMAC Channel 2 Enable Bit */ -#define XDMAC_GE_EN3 (0x1u << 3) /**< \brief (XDMAC_GE) XDMAC Channel 3 Enable Bit */ -#define XDMAC_GE_EN4 (0x1u << 4) /**< \brief (XDMAC_GE) XDMAC Channel 4 Enable Bit */ -#define XDMAC_GE_EN5 (0x1u << 5) /**< \brief (XDMAC_GE) XDMAC Channel 5 Enable Bit */ -#define XDMAC_GE_EN6 (0x1u << 6) /**< \brief (XDMAC_GE) XDMAC Channel 6 Enable Bit */ -#define XDMAC_GE_EN7 (0x1u << 7) /**< \brief (XDMAC_GE) XDMAC Channel 7 Enable Bit */ -#define XDMAC_GE_EN8 (0x1u << 8) /**< \brief (XDMAC_GE) XDMAC Channel 8 Enable Bit */ -#define XDMAC_GE_EN9 (0x1u << 9) /**< \brief (XDMAC_GE) XDMAC Channel 9 Enable Bit */ -#define XDMAC_GE_EN10 (0x1u << 10) /**< \brief (XDMAC_GE) XDMAC Channel 10 Enable Bit */ -#define XDMAC_GE_EN11 (0x1u << 11) /**< \brief (XDMAC_GE) XDMAC Channel 11 Enable Bit */ -#define XDMAC_GE_EN12 (0x1u << 12) /**< \brief (XDMAC_GE) XDMAC Channel 12 Enable Bit */ -#define XDMAC_GE_EN13 (0x1u << 13) /**< \brief (XDMAC_GE) XDMAC Channel 13 Enable Bit */ -#define XDMAC_GE_EN14 (0x1u << 14) /**< \brief (XDMAC_GE) XDMAC Channel 14 Enable Bit */ -#define XDMAC_GE_EN15 (0x1u << 15) /**< \brief (XDMAC_GE) XDMAC Channel 15 Enable Bit */ -#define XDMAC_GE_EN16 (0x1u << 16) /**< \brief (XDMAC_GE) XDMAC Channel 16 Enable Bit */ -#define XDMAC_GE_EN17 (0x1u << 17) /**< \brief (XDMAC_GE) XDMAC Channel 17 Enable Bit */ -#define XDMAC_GE_EN18 (0x1u << 18) /**< \brief (XDMAC_GE) XDMAC Channel 18 Enable Bit */ -#define XDMAC_GE_EN19 (0x1u << 19) /**< \brief (XDMAC_GE) XDMAC Channel 19 Enable Bit */ -#define XDMAC_GE_EN20 (0x1u << 20) /**< \brief (XDMAC_GE) XDMAC Channel 20 Enable Bit */ -#define XDMAC_GE_EN21 (0x1u << 21) /**< \brief (XDMAC_GE) XDMAC Channel 21 Enable Bit */ -#define XDMAC_GE_EN22 (0x1u << 22) /**< \brief (XDMAC_GE) XDMAC Channel 22 Enable Bit */ -#define XDMAC_GE_EN23 (0x1u << 23) /**< \brief (XDMAC_GE) XDMAC Channel 23 Enable Bit */ -/* -------- XDMAC_GD : (XDMAC Offset: 0x20) Global Channel Disable Register -------- */ -#define XDMAC_GD_DI0 (0x1u << 0) /**< \brief (XDMAC_GD) XDMAC Channel 0 Disable Bit */ -#define XDMAC_GD_DI1 (0x1u << 1) /**< \brief (XDMAC_GD) XDMAC Channel 1 Disable Bit */ -#define XDMAC_GD_DI2 (0x1u << 2) /**< \brief (XDMAC_GD) XDMAC Channel 2 Disable Bit */ -#define XDMAC_GD_DI3 (0x1u << 3) /**< \brief (XDMAC_GD) XDMAC Channel 3 Disable Bit */ -#define XDMAC_GD_DI4 (0x1u << 4) /**< \brief (XDMAC_GD) XDMAC Channel 4 Disable Bit */ -#define XDMAC_GD_DI5 (0x1u << 5) /**< \brief (XDMAC_GD) XDMAC Channel 5 Disable Bit */ -#define XDMAC_GD_DI6 (0x1u << 6) /**< \brief (XDMAC_GD) XDMAC Channel 6 Disable Bit */ -#define XDMAC_GD_DI7 (0x1u << 7) /**< \brief (XDMAC_GD) XDMAC Channel 7 Disable Bit */ -#define XDMAC_GD_DI8 (0x1u << 8) /**< \brief (XDMAC_GD) XDMAC Channel 8 Disable Bit */ -#define XDMAC_GD_DI9 (0x1u << 9) /**< \brief (XDMAC_GD) XDMAC Channel 9 Disable Bit */ -#define XDMAC_GD_DI10 (0x1u << 10) /**< \brief (XDMAC_GD) XDMAC Channel 10 Disable Bit */ -#define XDMAC_GD_DI11 (0x1u << 11) /**< \brief (XDMAC_GD) XDMAC Channel 11 Disable Bit */ -#define XDMAC_GD_DI12 (0x1u << 12) /**< \brief (XDMAC_GD) XDMAC Channel 12 Disable Bit */ -#define XDMAC_GD_DI13 (0x1u << 13) /**< \brief (XDMAC_GD) XDMAC Channel 13 Disable Bit */ -#define XDMAC_GD_DI14 (0x1u << 14) /**< \brief (XDMAC_GD) XDMAC Channel 14 Disable Bit */ -#define XDMAC_GD_DI15 (0x1u << 15) /**< \brief (XDMAC_GD) XDMAC Channel 15 Disable Bit */ -#define XDMAC_GD_DI16 (0x1u << 16) /**< \brief (XDMAC_GD) XDMAC Channel 16 Disable Bit */ -#define XDMAC_GD_DI17 (0x1u << 17) /**< \brief (XDMAC_GD) XDMAC Channel 17 Disable Bit */ -#define XDMAC_GD_DI18 (0x1u << 18) /**< \brief (XDMAC_GD) XDMAC Channel 18 Disable Bit */ -#define XDMAC_GD_DI19 (0x1u << 19) /**< \brief (XDMAC_GD) XDMAC Channel 19 Disable Bit */ -#define XDMAC_GD_DI20 (0x1u << 20) /**< \brief (XDMAC_GD) XDMAC Channel 20 Disable Bit */ -#define XDMAC_GD_DI21 (0x1u << 21) /**< \brief (XDMAC_GD) XDMAC Channel 21 Disable Bit */ -#define XDMAC_GD_DI22 (0x1u << 22) /**< \brief (XDMAC_GD) XDMAC Channel 22 Disable Bit */ -#define XDMAC_GD_DI23 (0x1u << 23) /**< \brief (XDMAC_GD) XDMAC Channel 23 Disable Bit */ -/* -------- XDMAC_GS : (XDMAC Offset: 0x24) Global Channel Status Register -------- */ -#define XDMAC_GS_ST0 (0x1u << 0) /**< \brief (XDMAC_GS) XDMAC Channel 0 Status Bit */ -#define XDMAC_GS_ST1 (0x1u << 1) /**< \brief (XDMAC_GS) XDMAC Channel 1 Status Bit */ -#define XDMAC_GS_ST2 (0x1u << 2) /**< \brief (XDMAC_GS) XDMAC Channel 2 Status Bit */ -#define XDMAC_GS_ST3 (0x1u << 3) /**< \brief (XDMAC_GS) XDMAC Channel 3 Status Bit */ -#define XDMAC_GS_ST4 (0x1u << 4) /**< \brief (XDMAC_GS) XDMAC Channel 4 Status Bit */ -#define XDMAC_GS_ST5 (0x1u << 5) /**< \brief (XDMAC_GS) XDMAC Channel 5 Status Bit */ -#define XDMAC_GS_ST6 (0x1u << 6) /**< \brief (XDMAC_GS) XDMAC Channel 6 Status Bit */ -#define XDMAC_GS_ST7 (0x1u << 7) /**< \brief (XDMAC_GS) XDMAC Channel 7 Status Bit */ -#define XDMAC_GS_ST8 (0x1u << 8) /**< \brief (XDMAC_GS) XDMAC Channel 8 Status Bit */ -#define XDMAC_GS_ST9 (0x1u << 9) /**< \brief (XDMAC_GS) XDMAC Channel 9 Status Bit */ -#define XDMAC_GS_ST10 (0x1u << 10) /**< \brief (XDMAC_GS) XDMAC Channel 10 Status Bit */ -#define XDMAC_GS_ST11 (0x1u << 11) /**< \brief (XDMAC_GS) XDMAC Channel 11 Status Bit */ -#define XDMAC_GS_ST12 (0x1u << 12) /**< \brief (XDMAC_GS) XDMAC Channel 12 Status Bit */ -#define XDMAC_GS_ST13 (0x1u << 13) /**< \brief (XDMAC_GS) XDMAC Channel 13 Status Bit */ -#define XDMAC_GS_ST14 (0x1u << 14) /**< \brief (XDMAC_GS) XDMAC Channel 14 Status Bit */ -#define XDMAC_GS_ST15 (0x1u << 15) /**< \brief (XDMAC_GS) XDMAC Channel 15 Status Bit */ -#define XDMAC_GS_ST16 (0x1u << 16) /**< \brief (XDMAC_GS) XDMAC Channel 16 Status Bit */ -#define XDMAC_GS_ST17 (0x1u << 17) /**< \brief (XDMAC_GS) XDMAC Channel 17 Status Bit */ -#define XDMAC_GS_ST18 (0x1u << 18) /**< \brief (XDMAC_GS) XDMAC Channel 18 Status Bit */ -#define XDMAC_GS_ST19 (0x1u << 19) /**< \brief (XDMAC_GS) XDMAC Channel 19 Status Bit */ -#define XDMAC_GS_ST20 (0x1u << 20) /**< \brief (XDMAC_GS) XDMAC Channel 20 Status Bit */ -#define XDMAC_GS_ST21 (0x1u << 21) /**< \brief (XDMAC_GS) XDMAC Channel 21 Status Bit */ -#define XDMAC_GS_ST22 (0x1u << 22) /**< \brief (XDMAC_GS) XDMAC Channel 22 Status Bit */ -#define XDMAC_GS_ST23 (0x1u << 23) /**< \brief (XDMAC_GS) XDMAC Channel 23 Status Bit */ -/* -------- XDMAC_GRS : (XDMAC Offset: 0x28) Global Channel Read Suspend Register -------- */ -#define XDMAC_GRS_RS0 (0x1u << 0) /**< \brief (XDMAC_GRS) XDMAC Channel 0 Read Suspend Bit */ -#define XDMAC_GRS_RS1 (0x1u << 1) /**< \brief (XDMAC_GRS) XDMAC Channel 1 Read Suspend Bit */ -#define XDMAC_GRS_RS2 (0x1u << 2) /**< \brief (XDMAC_GRS) XDMAC Channel 2 Read Suspend Bit */ -#define XDMAC_GRS_RS3 (0x1u << 3) /**< \brief (XDMAC_GRS) XDMAC Channel 3 Read Suspend Bit */ -#define XDMAC_GRS_RS4 (0x1u << 4) /**< \brief (XDMAC_GRS) XDMAC Channel 4 Read Suspend Bit */ -#define XDMAC_GRS_RS5 (0x1u << 5) /**< \brief (XDMAC_GRS) XDMAC Channel 5 Read Suspend Bit */ -#define XDMAC_GRS_RS6 (0x1u << 6) /**< \brief (XDMAC_GRS) XDMAC Channel 6 Read Suspend Bit */ -#define XDMAC_GRS_RS7 (0x1u << 7) /**< \brief (XDMAC_GRS) XDMAC Channel 7 Read Suspend Bit */ -#define XDMAC_GRS_RS8 (0x1u << 8) /**< \brief (XDMAC_GRS) XDMAC Channel 8 Read Suspend Bit */ -#define XDMAC_GRS_RS9 (0x1u << 9) /**< \brief (XDMAC_GRS) XDMAC Channel 9 Read Suspend Bit */ -#define XDMAC_GRS_RS10 (0x1u << 10) /**< \brief (XDMAC_GRS) XDMAC Channel 10 Read Suspend Bit */ -#define XDMAC_GRS_RS11 (0x1u << 11) /**< \brief (XDMAC_GRS) XDMAC Channel 11 Read Suspend Bit */ -#define XDMAC_GRS_RS12 (0x1u << 12) /**< \brief (XDMAC_GRS) XDMAC Channel 12 Read Suspend Bit */ -#define XDMAC_GRS_RS13 (0x1u << 13) /**< \brief (XDMAC_GRS) XDMAC Channel 13 Read Suspend Bit */ -#define XDMAC_GRS_RS14 (0x1u << 14) /**< \brief (XDMAC_GRS) XDMAC Channel 14 Read Suspend Bit */ -#define XDMAC_GRS_RS15 (0x1u << 15) /**< \brief (XDMAC_GRS) XDMAC Channel 15 Read Suspend Bit */ -#define XDMAC_GRS_RS16 (0x1u << 16) /**< \brief (XDMAC_GRS) XDMAC Channel 16 Read Suspend Bit */ -#define XDMAC_GRS_RS17 (0x1u << 17) /**< \brief (XDMAC_GRS) XDMAC Channel 17 Read Suspend Bit */ -#define XDMAC_GRS_RS18 (0x1u << 18) /**< \brief (XDMAC_GRS) XDMAC Channel 18 Read Suspend Bit */ -#define XDMAC_GRS_RS19 (0x1u << 19) /**< \brief (XDMAC_GRS) XDMAC Channel 19 Read Suspend Bit */ -#define XDMAC_GRS_RS20 (0x1u << 20) /**< \brief (XDMAC_GRS) XDMAC Channel 20 Read Suspend Bit */ -#define XDMAC_GRS_RS21 (0x1u << 21) /**< \brief (XDMAC_GRS) XDMAC Channel 21 Read Suspend Bit */ -#define XDMAC_GRS_RS22 (0x1u << 22) /**< \brief (XDMAC_GRS) XDMAC Channel 22 Read Suspend Bit */ -#define XDMAC_GRS_RS23 (0x1u << 23) /**< \brief (XDMAC_GRS) XDMAC Channel 23 Read Suspend Bit */ -/* -------- XDMAC_GWS : (XDMAC Offset: 0x2C) Global Channel Write Suspend Register -------- */ -#define XDMAC_GWS_WS0 (0x1u << 0) /**< \brief (XDMAC_GWS) XDMAC Channel 0 Write Suspend Bit */ -#define XDMAC_GWS_WS1 (0x1u << 1) /**< \brief (XDMAC_GWS) XDMAC Channel 1 Write Suspend Bit */ -#define XDMAC_GWS_WS2 (0x1u << 2) /**< \brief (XDMAC_GWS) XDMAC Channel 2 Write Suspend Bit */ -#define XDMAC_GWS_WS3 (0x1u << 3) /**< \brief (XDMAC_GWS) XDMAC Channel 3 Write Suspend Bit */ -#define XDMAC_GWS_WS4 (0x1u << 4) /**< \brief (XDMAC_GWS) XDMAC Channel 4 Write Suspend Bit */ -#define XDMAC_GWS_WS5 (0x1u << 5) /**< \brief (XDMAC_GWS) XDMAC Channel 5 Write Suspend Bit */ -#define XDMAC_GWS_WS6 (0x1u << 6) /**< \brief (XDMAC_GWS) XDMAC Channel 6 Write Suspend Bit */ -#define XDMAC_GWS_WS7 (0x1u << 7) /**< \brief (XDMAC_GWS) XDMAC Channel 7 Write Suspend Bit */ -#define XDMAC_GWS_WS8 (0x1u << 8) /**< \brief (XDMAC_GWS) XDMAC Channel 8 Write Suspend Bit */ -#define XDMAC_GWS_WS9 (0x1u << 9) /**< \brief (XDMAC_GWS) XDMAC Channel 9 Write Suspend Bit */ -#define XDMAC_GWS_WS10 (0x1u << 10) /**< \brief (XDMAC_GWS) XDMAC Channel 10 Write Suspend Bit */ -#define XDMAC_GWS_WS11 (0x1u << 11) /**< \brief (XDMAC_GWS) XDMAC Channel 11 Write Suspend Bit */ -#define XDMAC_GWS_WS12 (0x1u << 12) /**< \brief (XDMAC_GWS) XDMAC Channel 12 Write Suspend Bit */ -#define XDMAC_GWS_WS13 (0x1u << 13) /**< \brief (XDMAC_GWS) XDMAC Channel 13 Write Suspend Bit */ -#define XDMAC_GWS_WS14 (0x1u << 14) /**< \brief (XDMAC_GWS) XDMAC Channel 14 Write Suspend Bit */ -#define XDMAC_GWS_WS15 (0x1u << 15) /**< \brief (XDMAC_GWS) XDMAC Channel 15 Write Suspend Bit */ -#define XDMAC_GWS_WS16 (0x1u << 16) /**< \brief (XDMAC_GWS) XDMAC Channel 16 Write Suspend Bit */ -#define XDMAC_GWS_WS17 (0x1u << 17) /**< \brief (XDMAC_GWS) XDMAC Channel 17 Write Suspend Bit */ -#define XDMAC_GWS_WS18 (0x1u << 18) /**< \brief (XDMAC_GWS) XDMAC Channel 18 Write Suspend Bit */ -#define XDMAC_GWS_WS19 (0x1u << 19) /**< \brief (XDMAC_GWS) XDMAC Channel 19 Write Suspend Bit */ -#define XDMAC_GWS_WS20 (0x1u << 20) /**< \brief (XDMAC_GWS) XDMAC Channel 20 Write Suspend Bit */ -#define XDMAC_GWS_WS21 (0x1u << 21) /**< \brief (XDMAC_GWS) XDMAC Channel 21 Write Suspend Bit */ -#define XDMAC_GWS_WS22 (0x1u << 22) /**< \brief (XDMAC_GWS) XDMAC Channel 22 Write Suspend Bit */ -#define XDMAC_GWS_WS23 (0x1u << 23) /**< \brief (XDMAC_GWS) XDMAC Channel 23 Write Suspend Bit */ -/* -------- XDMAC_GRWS : (XDMAC Offset: 0x30) Global Channel Read Write Suspend Register -------- */ -#define XDMAC_GRWS_RWS0 (0x1u << 0) /**< \brief (XDMAC_GRWS) XDMAC Channel 0 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS1 (0x1u << 1) /**< \brief (XDMAC_GRWS) XDMAC Channel 1 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS2 (0x1u << 2) /**< \brief (XDMAC_GRWS) XDMAC Channel 2 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS3 (0x1u << 3) /**< \brief (XDMAC_GRWS) XDMAC Channel 3 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS4 (0x1u << 4) /**< \brief (XDMAC_GRWS) XDMAC Channel 4 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS5 (0x1u << 5) /**< \brief (XDMAC_GRWS) XDMAC Channel 5 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS6 (0x1u << 6) /**< \brief (XDMAC_GRWS) XDMAC Channel 6 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS7 (0x1u << 7) /**< \brief (XDMAC_GRWS) XDMAC Channel 7 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS8 (0x1u << 8) /**< \brief (XDMAC_GRWS) XDMAC Channel 8 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS9 (0x1u << 9) /**< \brief (XDMAC_GRWS) XDMAC Channel 9 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS10 (0x1u << 10) /**< \brief (XDMAC_GRWS) XDMAC Channel 10 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS11 (0x1u << 11) /**< \brief (XDMAC_GRWS) XDMAC Channel 11 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS12 (0x1u << 12) /**< \brief (XDMAC_GRWS) XDMAC Channel 12 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS13 (0x1u << 13) /**< \brief (XDMAC_GRWS) XDMAC Channel 13 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS14 (0x1u << 14) /**< \brief (XDMAC_GRWS) XDMAC Channel 14 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS15 (0x1u << 15) /**< \brief (XDMAC_GRWS) XDMAC Channel 15 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS16 (0x1u << 16) /**< \brief (XDMAC_GRWS) XDMAC Channel 16 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS17 (0x1u << 17) /**< \brief (XDMAC_GRWS) XDMAC Channel 17 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS18 (0x1u << 18) /**< \brief (XDMAC_GRWS) XDMAC Channel 18 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS19 (0x1u << 19) /**< \brief (XDMAC_GRWS) XDMAC Channel 19 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS20 (0x1u << 20) /**< \brief (XDMAC_GRWS) XDMAC Channel 20 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS21 (0x1u << 21) /**< \brief (XDMAC_GRWS) XDMAC Channel 21 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS22 (0x1u << 22) /**< \brief (XDMAC_GRWS) XDMAC Channel 22 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS23 (0x1u << 23) /**< \brief (XDMAC_GRWS) XDMAC Channel 23 Read Write Suspend Bit */ -/* -------- XDMAC_GRWR : (XDMAC Offset: 0x34) Global Channel Read Write Resume Register -------- */ -#define XDMAC_GRWR_RWR0 (0x1u << 0) /**< \brief (XDMAC_GRWR) XDMAC Channel 0 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR1 (0x1u << 1) /**< \brief (XDMAC_GRWR) XDMAC Channel 1 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR2 (0x1u << 2) /**< \brief (XDMAC_GRWR) XDMAC Channel 2 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR3 (0x1u << 3) /**< \brief (XDMAC_GRWR) XDMAC Channel 3 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR4 (0x1u << 4) /**< \brief (XDMAC_GRWR) XDMAC Channel 4 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR5 (0x1u << 5) /**< \brief (XDMAC_GRWR) XDMAC Channel 5 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR6 (0x1u << 6) /**< \brief (XDMAC_GRWR) XDMAC Channel 6 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR7 (0x1u << 7) /**< \brief (XDMAC_GRWR) XDMAC Channel 7 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR8 (0x1u << 8) /**< \brief (XDMAC_GRWR) XDMAC Channel 8 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR9 (0x1u << 9) /**< \brief (XDMAC_GRWR) XDMAC Channel 9 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR10 (0x1u << 10) /**< \brief (XDMAC_GRWR) XDMAC Channel 10 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR11 (0x1u << 11) /**< \brief (XDMAC_GRWR) XDMAC Channel 11 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR12 (0x1u << 12) /**< \brief (XDMAC_GRWR) XDMAC Channel 12 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR13 (0x1u << 13) /**< \brief (XDMAC_GRWR) XDMAC Channel 13 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR14 (0x1u << 14) /**< \brief (XDMAC_GRWR) XDMAC Channel 14 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR15 (0x1u << 15) /**< \brief (XDMAC_GRWR) XDMAC Channel 15 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR16 (0x1u << 16) /**< \brief (XDMAC_GRWR) XDMAC Channel 16 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR17 (0x1u << 17) /**< \brief (XDMAC_GRWR) XDMAC Channel 17 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR18 (0x1u << 18) /**< \brief (XDMAC_GRWR) XDMAC Channel 18 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR19 (0x1u << 19) /**< \brief (XDMAC_GRWR) XDMAC Channel 19 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR20 (0x1u << 20) /**< \brief (XDMAC_GRWR) XDMAC Channel 20 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR21 (0x1u << 21) /**< \brief (XDMAC_GRWR) XDMAC Channel 21 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR22 (0x1u << 22) /**< \brief (XDMAC_GRWR) XDMAC Channel 22 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR23 (0x1u << 23) /**< \brief (XDMAC_GRWR) XDMAC Channel 23 Read Write Resume Bit */ -/* -------- XDMAC_GSWR : (XDMAC Offset: 0x38) Global Channel Software Request Register -------- */ -#define XDMAC_GSWR_SWREQ0 (0x1u << 0) /**< \brief (XDMAC_GSWR) XDMAC Channel 0 Software Request Bit */ -#define XDMAC_GSWR_SWREQ1 (0x1u << 1) /**< \brief (XDMAC_GSWR) XDMAC Channel 1 Software Request Bit */ -#define XDMAC_GSWR_SWREQ2 (0x1u << 2) /**< \brief (XDMAC_GSWR) XDMAC Channel 2 Software Request Bit */ -#define XDMAC_GSWR_SWREQ3 (0x1u << 3) /**< \brief (XDMAC_GSWR) XDMAC Channel 3 Software Request Bit */ -#define XDMAC_GSWR_SWREQ4 (0x1u << 4) /**< \brief (XDMAC_GSWR) XDMAC Channel 4 Software Request Bit */ -#define XDMAC_GSWR_SWREQ5 (0x1u << 5) /**< \brief (XDMAC_GSWR) XDMAC Channel 5 Software Request Bit */ -#define XDMAC_GSWR_SWREQ6 (0x1u << 6) /**< \brief (XDMAC_GSWR) XDMAC Channel 6 Software Request Bit */ -#define XDMAC_GSWR_SWREQ7 (0x1u << 7) /**< \brief (XDMAC_GSWR) XDMAC Channel 7 Software Request Bit */ -#define XDMAC_GSWR_SWREQ8 (0x1u << 8) /**< \brief (XDMAC_GSWR) XDMAC Channel 8 Software Request Bit */ -#define XDMAC_GSWR_SWREQ9 (0x1u << 9) /**< \brief (XDMAC_GSWR) XDMAC Channel 9 Software Request Bit */ -#define XDMAC_GSWR_SWREQ10 (0x1u << 10) /**< \brief (XDMAC_GSWR) XDMAC Channel 10 Software Request Bit */ -#define XDMAC_GSWR_SWREQ11 (0x1u << 11) /**< \brief (XDMAC_GSWR) XDMAC Channel 11 Software Request Bit */ -#define XDMAC_GSWR_SWREQ12 (0x1u << 12) /**< \brief (XDMAC_GSWR) XDMAC Channel 12 Software Request Bit */ -#define XDMAC_GSWR_SWREQ13 (0x1u << 13) /**< \brief (XDMAC_GSWR) XDMAC Channel 13 Software Request Bit */ -#define XDMAC_GSWR_SWREQ14 (0x1u << 14) /**< \brief (XDMAC_GSWR) XDMAC Channel 14 Software Request Bit */ -#define XDMAC_GSWR_SWREQ15 (0x1u << 15) /**< \brief (XDMAC_GSWR) XDMAC Channel 15 Software Request Bit */ -#define XDMAC_GSWR_SWREQ16 (0x1u << 16) /**< \brief (XDMAC_GSWR) XDMAC Channel 16 Software Request Bit */ -#define XDMAC_GSWR_SWREQ17 (0x1u << 17) /**< \brief (XDMAC_GSWR) XDMAC Channel 17 Software Request Bit */ -#define XDMAC_GSWR_SWREQ18 (0x1u << 18) /**< \brief (XDMAC_GSWR) XDMAC Channel 18 Software Request Bit */ -#define XDMAC_GSWR_SWREQ19 (0x1u << 19) /**< \brief (XDMAC_GSWR) XDMAC Channel 19 Software Request Bit */ -#define XDMAC_GSWR_SWREQ20 (0x1u << 20) /**< \brief (XDMAC_GSWR) XDMAC Channel 20 Software Request Bit */ -#define XDMAC_GSWR_SWREQ21 (0x1u << 21) /**< \brief (XDMAC_GSWR) XDMAC Channel 21 Software Request Bit */ -#define XDMAC_GSWR_SWREQ22 (0x1u << 22) /**< \brief (XDMAC_GSWR) XDMAC Channel 22 Software Request Bit */ -#define XDMAC_GSWR_SWREQ23 (0x1u << 23) /**< \brief (XDMAC_GSWR) XDMAC Channel 23 Software Request Bit */ -/* -------- XDMAC_GSWS : (XDMAC Offset: 0x3C) Global Channel Software Request Status Register -------- */ -#define XDMAC_GSWS_SWRS0 (0x1u << 0) /**< \brief (XDMAC_GSWS) XDMAC Channel 0 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS1 (0x1u << 1) /**< \brief (XDMAC_GSWS) XDMAC Channel 1 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS2 (0x1u << 2) /**< \brief (XDMAC_GSWS) XDMAC Channel 2 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS3 (0x1u << 3) /**< \brief (XDMAC_GSWS) XDMAC Channel 3 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS4 (0x1u << 4) /**< \brief (XDMAC_GSWS) XDMAC Channel 4 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS5 (0x1u << 5) /**< \brief (XDMAC_GSWS) XDMAC Channel 5 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS6 (0x1u << 6) /**< \brief (XDMAC_GSWS) XDMAC Channel 6 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS7 (0x1u << 7) /**< \brief (XDMAC_GSWS) XDMAC Channel 7 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS8 (0x1u << 8) /**< \brief (XDMAC_GSWS) XDMAC Channel 8 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS9 (0x1u << 9) /**< \brief (XDMAC_GSWS) XDMAC Channel 9 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS10 (0x1u << 10) /**< \brief (XDMAC_GSWS) XDMAC Channel 10 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS11 (0x1u << 11) /**< \brief (XDMAC_GSWS) XDMAC Channel 11 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS12 (0x1u << 12) /**< \brief (XDMAC_GSWS) XDMAC Channel 12 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS13 (0x1u << 13) /**< \brief (XDMAC_GSWS) XDMAC Channel 13 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS14 (0x1u << 14) /**< \brief (XDMAC_GSWS) XDMAC Channel 14 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS15 (0x1u << 15) /**< \brief (XDMAC_GSWS) XDMAC Channel 15 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS16 (0x1u << 16) /**< \brief (XDMAC_GSWS) XDMAC Channel 16 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS17 (0x1u << 17) /**< \brief (XDMAC_GSWS) XDMAC Channel 17 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS18 (0x1u << 18) /**< \brief (XDMAC_GSWS) XDMAC Channel 18 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS19 (0x1u << 19) /**< \brief (XDMAC_GSWS) XDMAC Channel 19 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS20 (0x1u << 20) /**< \brief (XDMAC_GSWS) XDMAC Channel 20 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS21 (0x1u << 21) /**< \brief (XDMAC_GSWS) XDMAC Channel 21 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS22 (0x1u << 22) /**< \brief (XDMAC_GSWS) XDMAC Channel 22 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS23 (0x1u << 23) /**< \brief (XDMAC_GSWS) XDMAC Channel 23 Software Request Status Bit */ -/* -------- XDMAC_GSWF : (XDMAC Offset: 0x40) Global Channel Software Flush Request Register -------- */ -#define XDMAC_GSWF_SWF0 (0x1u << 0) /**< \brief (XDMAC_GSWF) XDMAC Channel 0 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF1 (0x1u << 1) /**< \brief (XDMAC_GSWF) XDMAC Channel 1 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF2 (0x1u << 2) /**< \brief (XDMAC_GSWF) XDMAC Channel 2 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF3 (0x1u << 3) /**< \brief (XDMAC_GSWF) XDMAC Channel 3 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF4 (0x1u << 4) /**< \brief (XDMAC_GSWF) XDMAC Channel 4 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF5 (0x1u << 5) /**< \brief (XDMAC_GSWF) XDMAC Channel 5 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF6 (0x1u << 6) /**< \brief (XDMAC_GSWF) XDMAC Channel 6 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF7 (0x1u << 7) /**< \brief (XDMAC_GSWF) XDMAC Channel 7 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF8 (0x1u << 8) /**< \brief (XDMAC_GSWF) XDMAC Channel 8 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF9 (0x1u << 9) /**< \brief (XDMAC_GSWF) XDMAC Channel 9 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF10 (0x1u << 10) /**< \brief (XDMAC_GSWF) XDMAC Channel 10 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF11 (0x1u << 11) /**< \brief (XDMAC_GSWF) XDMAC Channel 11 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF12 (0x1u << 12) /**< \brief (XDMAC_GSWF) XDMAC Channel 12 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF13 (0x1u << 13) /**< \brief (XDMAC_GSWF) XDMAC Channel 13 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF14 (0x1u << 14) /**< \brief (XDMAC_GSWF) XDMAC Channel 14 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF15 (0x1u << 15) /**< \brief (XDMAC_GSWF) XDMAC Channel 15 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF16 (0x1u << 16) /**< \brief (XDMAC_GSWF) XDMAC Channel 16 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF17 (0x1u << 17) /**< \brief (XDMAC_GSWF) XDMAC Channel 17 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF18 (0x1u << 18) /**< \brief (XDMAC_GSWF) XDMAC Channel 18 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF19 (0x1u << 19) /**< \brief (XDMAC_GSWF) XDMAC Channel 19 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF20 (0x1u << 20) /**< \brief (XDMAC_GSWF) XDMAC Channel 20 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF21 (0x1u << 21) /**< \brief (XDMAC_GSWF) XDMAC Channel 21 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF22 (0x1u << 22) /**< \brief (XDMAC_GSWF) XDMAC Channel 22 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF23 (0x1u << 23) /**< \brief (XDMAC_GSWF) XDMAC Channel 23 Software Flush Request Bit */ -/* -------- XDMAC_CIE : (XDMAC Offset: N/A) Channel Interrupt Enable Register -------- */ -#define XDMAC_CIE_BIE (0x1u << 0) /**< \brief (XDMAC_CIE) End of Block Interrupt Enable Bit */ -#define XDMAC_CIE_LIE (0x1u << 1) /**< \brief (XDMAC_CIE) End of Linked List Interrupt Enable Bit */ -#define XDMAC_CIE_DIE (0x1u << 2) /**< \brief (XDMAC_CIE) End of Disable Interrupt Enable Bit */ -#define XDMAC_CIE_FIE (0x1u << 3) /**< \brief (XDMAC_CIE) End of Flush Interrupt Enable Bit */ -#define XDMAC_CIE_RBIE (0x1u << 4) /**< \brief (XDMAC_CIE) Read Bus Error Interrupt Enable Bit */ -#define XDMAC_CIE_WBIE (0x1u << 5) /**< \brief (XDMAC_CIE) Write Bus Error Interrupt Enable Bit */ -#define XDMAC_CIE_ROIE (0x1u << 6) /**< \brief (XDMAC_CIE) Request Overflow Error Interrupt Enable Bit */ -/* -------- XDMAC_CID : (XDMAC Offset: N/A) Channel Interrupt Disable Register -------- */ -#define XDMAC_CID_BID (0x1u << 0) /**< \brief (XDMAC_CID) End of Block Interrupt Disable Bit */ -#define XDMAC_CID_LID (0x1u << 1) /**< \brief (XDMAC_CID) End of Linked List Interrupt Disable Bit */ -#define XDMAC_CID_DID (0x1u << 2) /**< \brief (XDMAC_CID) End of Disable Interrupt Disable Bit */ -#define XDMAC_CID_FID (0x1u << 3) /**< \brief (XDMAC_CID) End of Flush Interrupt Disable Bit */ -#define XDMAC_CID_RBEID (0x1u << 4) /**< \brief (XDMAC_CID) Read Bus Error Interrupt Disable Bit */ -#define XDMAC_CID_WBEID (0x1u << 5) /**< \brief (XDMAC_CID) Write Bus Error Interrupt Disable Bit */ -#define XDMAC_CID_ROID (0x1u << 6) /**< \brief (XDMAC_CID) Request Overflow Error Interrupt Disable Bit */ -/* -------- XDMAC_CIM : (XDMAC Offset: N/A) Channel Interrupt Mask Register -------- */ -#define XDMAC_CIM_BIM (0x1u << 0) /**< \brief (XDMAC_CIM) End of Block Interrupt Mask Bit */ -#define XDMAC_CIM_LIM (0x1u << 1) /**< \brief (XDMAC_CIM) End of Linked List Interrupt Mask Bit */ -#define XDMAC_CIM_DIM (0x1u << 2) /**< \brief (XDMAC_CIM) End of Disable Interrupt Mask Bit */ -#define XDMAC_CIM_FIM (0x1u << 3) /**< \brief (XDMAC_CIM) End of Flush Interrupt Mask Bit */ -#define XDMAC_CIM_RBEIM (0x1u << 4) /**< \brief (XDMAC_CIM) Read Bus Error Interrupt Mask Bit */ -#define XDMAC_CIM_WBEIM (0x1u << 5) /**< \brief (XDMAC_CIM) Write Bus Error Interrupt Mask Bit */ -#define XDMAC_CIM_ROIM (0x1u << 6) /**< \brief (XDMAC_CIM) Request Overflow Error Interrupt Mask Bit */ -/* -------- XDMAC_CIS : (XDMAC Offset: N/A) Channel Interrupt Status Register -------- */ -#define XDMAC_CIS_BIS (0x1u << 0) /**< \brief (XDMAC_CIS) End of Block Interrupt Status Bit */ -#define XDMAC_CIS_LIS (0x1u << 1) /**< \brief (XDMAC_CIS) End of Linked List Interrupt Status Bit */ -#define XDMAC_CIS_DIS (0x1u << 2) /**< \brief (XDMAC_CIS) End of Disable Interrupt Status Bit */ -#define XDMAC_CIS_FIS (0x1u << 3) /**< \brief (XDMAC_CIS) End of Flush Interrupt Status Bit */ -#define XDMAC_CIS_RBEIS (0x1u << 4) /**< \brief (XDMAC_CIS) Read Bus Error Interrupt Status Bit */ -#define XDMAC_CIS_WBEIS (0x1u << 5) /**< \brief (XDMAC_CIS) Write Bus Error Interrupt Status Bit */ -#define XDMAC_CIS_ROIS (0x1u << 6) /**< \brief (XDMAC_CIS) Request Overflow Error Interrupt Status Bit */ -/* -------- XDMAC_CSA : (XDMAC Offset: N/A) Channel Source Address Register -------- */ -#define XDMAC_CSA_SA_Pos 0 -#define XDMAC_CSA_SA_Msk (0xffffffffu << XDMAC_CSA_SA_Pos) /**< \brief (XDMAC_CSA) Channel x Source Address */ -#define XDMAC_CSA_SA(value) ((XDMAC_CSA_SA_Msk & ((value) << XDMAC_CSA_SA_Pos))) -/* -------- XDMAC_CDA : (XDMAC Offset: N/A) Channel Destination Address Register -------- */ -#define XDMAC_CDA_DA_Pos 0 -#define XDMAC_CDA_DA_Msk (0xffffffffu << XDMAC_CDA_DA_Pos) /**< \brief (XDMAC_CDA) Channel x Destination Address */ -#define XDMAC_CDA_DA(value) ((XDMAC_CDA_DA_Msk & ((value) << XDMAC_CDA_DA_Pos))) -/* -------- XDMAC_CNDA : (XDMAC Offset: N/A) Channel Next Descriptor Address Register -------- */ -#define XDMAC_CNDA_NDAIF (0x1u << 0) /**< \brief (XDMAC_CNDA) Channel x Next Descriptor Interface */ -#define XDMAC_CNDA_NDA_Pos 2 -#define XDMAC_CNDA_NDA_Msk (0x3fffffffu << XDMAC_CNDA_NDA_Pos) /**< \brief (XDMAC_CNDA) Channel x Next Descriptor Address */ -#define XDMAC_CNDA_NDA(value) ((XDMAC_CNDA_NDA_Msk & ((value) << XDMAC_CNDA_NDA_Pos))) -/* -------- XDMAC_CNDC : (XDMAC Offset: N/A) Channel Next Descriptor Control Register -------- */ -#define XDMAC_CNDC_NDE (0x1u << 0) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor Enable */ -#define XDMAC_CNDC_NDE_DSCR_FETCH_DIS (0x0u << 0) /**< \brief (XDMAC_CNDC) Descriptor fetch is disabled */ -#define XDMAC_CNDC_NDE_DSCR_FETCH_EN (0x1u << 0) /**< \brief (XDMAC_CNDC) Descriptor fetch is enabled */ -#define XDMAC_CNDC_NDSUP (0x1u << 1) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor Source Update */ -#define XDMAC_CNDC_NDSUP_SRC_PARAMS_UNCHANGED (0x0u << 1) /**< \brief (XDMAC_CNDC) Source parameters remain unchanged. */ -#define XDMAC_CNDC_NDSUP_SRC_PARAMS_UPDATED (0x1u << 1) /**< \brief (XDMAC_CNDC) Source parameters are updated when the descriptor is retrieved. */ -#define XDMAC_CNDC_NDDUP (0x1u << 2) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor Destination Update */ -#define XDMAC_CNDC_NDDUP_DST_PARAMS_UNCHANGED (0x0u << 2) /**< \brief (XDMAC_CNDC) Destination parameters remain unchanged. */ -#define XDMAC_CNDC_NDDUP_DST_PARAMS_UPDATED (0x1u << 2) /**< \brief (XDMAC_CNDC) Destination parameters are updated when the descriptor is retrieved. */ -#define XDMAC_CNDC_NDVIEW_Pos 3 -#define XDMAC_CNDC_NDVIEW_Msk (0x3u << XDMAC_CNDC_NDVIEW_Pos) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor View */ -#define XDMAC_CNDC_NDVIEW(value) ((XDMAC_CNDC_NDVIEW_Msk & ((value) << XDMAC_CNDC_NDVIEW_Pos))) -#define XDMAC_CNDC_NDVIEW_NDV0 (0x0u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 0 */ -#define XDMAC_CNDC_NDVIEW_NDV1 (0x1u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 1 */ -#define XDMAC_CNDC_NDVIEW_NDV2 (0x2u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 2 */ -#define XDMAC_CNDC_NDVIEW_NDV3 (0x3u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 3 */ -/* -------- XDMAC_CUBC : (XDMAC Offset: N/A) Channel Microblock Control Register -------- */ -#define XDMAC_CUBC_UBLEN_Pos 0 -#define XDMAC_CUBC_UBLEN_Msk (0xffffffu << XDMAC_CUBC_UBLEN_Pos) /**< \brief (XDMAC_CUBC) Channel x Microblock Length */ -#define XDMAC_CUBC_UBLEN(value) ((XDMAC_CUBC_UBLEN_Msk & ((value) << XDMAC_CUBC_UBLEN_Pos))) -/* -------- XDMAC_CBC : (XDMAC Offset: N/A) Channel Block Control Register -------- */ -#define XDMAC_CBC_BLEN_Pos 0 -#define XDMAC_CBC_BLEN_Msk (0xfffu << XDMAC_CBC_BLEN_Pos) /**< \brief (XDMAC_CBC) Channel x Block Length */ -#define XDMAC_CBC_BLEN(value) ((XDMAC_CBC_BLEN_Msk & ((value) << XDMAC_CBC_BLEN_Pos))) -/* -------- XDMAC_CC : (XDMAC Offset: N/A) Channel Configuration Register -------- */ -#define XDMAC_CC_TYPE (0x1u << 0) /**< \brief (XDMAC_CC) Channel x Transfer Type */ -#define XDMAC_CC_TYPE_MEM_TRAN (0x0u << 0) /**< \brief (XDMAC_CC) Self triggered mode (Memory to Memory Transfer). */ -#define XDMAC_CC_TYPE_PER_TRAN (0x1u << 0) /**< \brief (XDMAC_CC) Synchronized mode (Peripheral to Memory or Memory to Peripheral Transfer). */ -#define XDMAC_CC_MBSIZE_Pos 1 -#define XDMAC_CC_MBSIZE_Msk (0x3u << XDMAC_CC_MBSIZE_Pos) /**< \brief (XDMAC_CC) Channel x Memory Burst Size */ -#define XDMAC_CC_MBSIZE(value) ((XDMAC_CC_MBSIZE_Msk & ((value) << XDMAC_CC_MBSIZE_Pos))) -#define XDMAC_CC_MBSIZE_SINGLE (0x0u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to one. */ -#define XDMAC_CC_MBSIZE_FOUR (0x1u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to four. */ -#define XDMAC_CC_MBSIZE_EIGHT (0x2u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to eight. */ -#define XDMAC_CC_MBSIZE_SIXTEEN (0x3u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to sixteen. */ -#define XDMAC_CC_DSYNC (0x1u << 4) /**< \brief (XDMAC_CC) Channel x Synchronization */ -#define XDMAC_CC_DSYNC_PER2MEM (0x0u << 4) /**< \brief (XDMAC_CC) Peripheral to Memory transfer */ -#define XDMAC_CC_DSYNC_MEM2PER (0x1u << 4) /**< \brief (XDMAC_CC) Memory to Peripheral transfer */ -#define XDMAC_CC_PROT (0x1u << 5) /**< \brief (XDMAC_CC) Channel x Protection */ -#define XDMAC_CC_PROT_SEC (0x0u << 5) /**< \brief (XDMAC_CC) Channel is secured */ -#define XDMAC_CC_PROT_UNSEC (0x1u << 5) /**< \brief (XDMAC_CC) Channel is unsecured */ -#define XDMAC_CC_SWREQ (0x1u << 6) /**< \brief (XDMAC_CC) Channel x Software Request Trigger */ -#define XDMAC_CC_SWREQ_HWR_CONNECTED (0x0u << 6) /**< \brief (XDMAC_CC) Hardware request line is connected to the peripheral request line. */ -#define XDMAC_CC_SWREQ_SWR_CONNECTED (0x1u << 6) /**< \brief (XDMAC_CC) Software request is connected to the peripheral request line. */ -#define XDMAC_CC_MEMSET (0x1u << 7) /**< \brief (XDMAC_CC) Channel x Fill Block of memory */ -#define XDMAC_CC_MEMSET_NORMAL_MODE (0x0u << 7) /**< \brief (XDMAC_CC) Memset is not activated */ -#define XDMAC_CC_MEMSET_HW_MODE (0x1u << 7) /**< \brief (XDMAC_CC) Sets the block of memory pointed by DA field to the specified value. This operation is performed on 8, 16 or 32 bits basis. */ -#define XDMAC_CC_CSIZE_Pos 8 -#define XDMAC_CC_CSIZE_Msk (0x7u << XDMAC_CC_CSIZE_Pos) /**< \brief (XDMAC_CC) Channel x Chunk Size */ -#define XDMAC_CC_CSIZE(value) ((XDMAC_CC_CSIZE_Msk & ((value) << XDMAC_CC_CSIZE_Pos))) -#define XDMAC_CC_CSIZE_CHK_1 (0x0u << 8) /**< \brief (XDMAC_CC) 1 data transferred */ -#define XDMAC_CC_CSIZE_CHK_2 (0x1u << 8) /**< \brief (XDMAC_CC) 2 data transferred */ -#define XDMAC_CC_CSIZE_CHK_4 (0x2u << 8) /**< \brief (XDMAC_CC) 4 data transferred */ -#define XDMAC_CC_CSIZE_CHK_8 (0x3u << 8) /**< \brief (XDMAC_CC) 8 data transferred */ -#define XDMAC_CC_CSIZE_CHK_16 (0x4u << 8) /**< \brief (XDMAC_CC) 16 data transferred */ -#define XDMAC_CC_DWIDTH_Pos 11 -#define XDMAC_CC_DWIDTH_Msk (0x3u << XDMAC_CC_DWIDTH_Pos) /**< \brief (XDMAC_CC) Channel x Data Width */ -#define XDMAC_CC_DWIDTH(value) ((XDMAC_CC_DWIDTH_Msk & ((value) << XDMAC_CC_DWIDTH_Pos))) -#define XDMAC_CC_DWIDTH_BYTE (0x0u << 11) /**< \brief (XDMAC_CC) The data size is set to 8 bits */ -#define XDMAC_CC_DWIDTH_HALFWORD (0x1u << 11) /**< \brief (XDMAC_CC) The data size is set to 16 bits */ -#define XDMAC_CC_DWIDTH_WORD (0x2u << 11) /**< \brief (XDMAC_CC) The data size is set to 32 bits */ -#define XDMAC_CC_SIF (0x1u << 13) /**< \brief (XDMAC_CC) Channel x Source Interface Identifier */ -#define XDMAC_CC_SIF_AHB_IF0 (0x0u << 13) /**< \brief (XDMAC_CC) The data is read through the system bus interface 0 */ -#define XDMAC_CC_SIF_AHB_IF1 (0x1u << 13) /**< \brief (XDMAC_CC) The data is read through the system bus interface 1 */ -#define XDMAC_CC_DIF (0x1u << 14) /**< \brief (XDMAC_CC) Channel x Destination Interface Identifier */ -#define XDMAC_CC_DIF_AHB_IF0 (0x0u << 14) /**< \brief (XDMAC_CC) The data is written through the system bus interface 0 */ -#define XDMAC_CC_DIF_AHB_IF1 (0x1u << 14) /**< \brief (XDMAC_CC) The data is written though the system bus interface 1 */ -#define XDMAC_CC_SAM_Pos 16 -#define XDMAC_CC_SAM_Msk (0x3u << XDMAC_CC_SAM_Pos) /**< \brief (XDMAC_CC) Channel x Source Addressing Mode */ -#define XDMAC_CC_SAM(value) ((XDMAC_CC_SAM_Msk & ((value) << XDMAC_CC_SAM_Pos))) -#define XDMAC_CC_SAM_FIXED_AM (0x0u << 16) /**< \brief (XDMAC_CC) The address remains unchanged. */ -#define XDMAC_CC_SAM_INCREMENTED_AM (0x1u << 16) /**< \brief (XDMAC_CC) The addressing mode is incremented (the increment size is set to the data size). */ -#define XDMAC_CC_SAM_UBS_AM (0x2u << 16) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary. */ -#define XDMAC_CC_SAM_UBS_DS_AM (0x3u << 16) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary, the data stride is added at the data boundary. */ -#define XDMAC_CC_DAM_Pos 18 -#define XDMAC_CC_DAM_Msk (0x3u << XDMAC_CC_DAM_Pos) /**< \brief (XDMAC_CC) Channel x Destination Addressing Mode */ -#define XDMAC_CC_DAM(value) ((XDMAC_CC_DAM_Msk & ((value) << XDMAC_CC_DAM_Pos))) -#define XDMAC_CC_DAM_FIXED_AM (0x0u << 18) /**< \brief (XDMAC_CC) The address remains unchanged. */ -#define XDMAC_CC_DAM_INCREMENTED_AM (0x1u << 18) /**< \brief (XDMAC_CC) The addressing mode is incremented (the increment size is set to the data size). */ -#define XDMAC_CC_DAM_UBS_AM (0x2u << 18) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary. */ -#define XDMAC_CC_DAM_UBS_DS_AM (0x3u << 18) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary, the data stride is added at the data boundary. */ -#define XDMAC_CC_INITD (0x1u << 21) /**< \brief (XDMAC_CC) Channel Initialization Terminated (this bit is read-only) */ -#define XDMAC_CC_INITD_TERMINATED (0x0u << 21) /**< \brief (XDMAC_CC) Channel initialization is in progress. */ -#define XDMAC_CC_INITD_IN_PROGRESS (0x1u << 21) /**< \brief (XDMAC_CC) Channel initialization is completed. */ -#define XDMAC_CC_RDIP (0x1u << 22) /**< \brief (XDMAC_CC) Read in Progress (this bit is read-only) */ -#define XDMAC_CC_RDIP_DONE (0x0u << 22) /**< \brief (XDMAC_CC) No Active read transaction on the bus. */ -#define XDMAC_CC_RDIP_IN_PROGRESS (0x1u << 22) /**< \brief (XDMAC_CC) A read transaction is in progress. */ -#define XDMAC_CC_WRIP (0x1u << 23) /**< \brief (XDMAC_CC) Write in Progress (this bit is read-only) */ -#define XDMAC_CC_WRIP_DONE (0x0u << 23) /**< \brief (XDMAC_CC) No Active write transaction on the bus. */ -#define XDMAC_CC_WRIP_IN_PROGRESS (0x1u << 23) /**< \brief (XDMAC_CC) A Write transaction is in progress. */ -#define XDMAC_CC_PERID_Pos 24 -#define XDMAC_CC_PERID_Msk (0x7fu << XDMAC_CC_PERID_Pos) /**< \brief (XDMAC_CC) Channel x Peripheral Identifier */ -#define XDMAC_CC_PERID(value) ((XDMAC_CC_PERID_Msk & ((value) << XDMAC_CC_PERID_Pos))) -/* -------- XDMAC_CDS_MSP : (XDMAC Offset: N/A) Channel Data Stride Memory Set Pattern -------- */ -#define XDMAC_CDS_MSP_SDS_MSP_Pos 0 -#define XDMAC_CDS_MSP_SDS_MSP_Msk (0xffffu << XDMAC_CDS_MSP_SDS_MSP_Pos) /**< \brief (XDMAC_CDS_MSP) Channel x Source Data stride or Memory Set Pattern */ -#define XDMAC_CDS_MSP_SDS_MSP(value) ((XDMAC_CDS_MSP_SDS_MSP_Msk & ((value) << XDMAC_CDS_MSP_SDS_MSP_Pos))) -#define XDMAC_CDS_MSP_DDS_MSP_Pos 16 -#define XDMAC_CDS_MSP_DDS_MSP_Msk (0xffffu << XDMAC_CDS_MSP_DDS_MSP_Pos) /**< \brief (XDMAC_CDS_MSP) Channel x Destination Data Stride or Memory Set Pattern */ -#define XDMAC_CDS_MSP_DDS_MSP(value) ((XDMAC_CDS_MSP_DDS_MSP_Msk & ((value) << XDMAC_CDS_MSP_DDS_MSP_Pos))) -/* -------- XDMAC_CSUS : (XDMAC Offset: N/A) Channel Source Microblock Stride -------- */ -#define XDMAC_CSUS_SUBS_Pos 0 -#define XDMAC_CSUS_SUBS_Msk (0xffffffu << XDMAC_CSUS_SUBS_Pos) /**< \brief (XDMAC_CSUS) Channel x Source Microblock Stride */ -#define XDMAC_CSUS_SUBS(value) ((XDMAC_CSUS_SUBS_Msk & ((value) << XDMAC_CSUS_SUBS_Pos))) -/* -------- XDMAC_CDUS : (XDMAC Offset: N/A) Channel Destination Microblock Stride -------- */ -#define XDMAC_CDUS_DUBS_Pos 0 -#define XDMAC_CDUS_DUBS_Msk (0xffffffu << XDMAC_CDUS_DUBS_Pos) /**< \brief (XDMAC_CDUS) Channel x Destination Microblock Stride */ -#define XDMAC_CDUS_DUBS(value) ((XDMAC_CDUS_DUBS_Msk & ((value) << XDMAC_CDUS_DUBS_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_XDMAC_COMPONENT_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h deleted file mode 100644 index 5fab150..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h +++ /dev/null @@ -1,71 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ACC_INSTANCE_ -#define _SAMS70_ACC_INSTANCE_ - -/* ========== Register definition for ACC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_ACC_CR (0x40044000U) /**< \brief (ACC) Control Register */ - #define REG_ACC_MR (0x40044004U) /**< \brief (ACC) Mode Register */ - #define REG_ACC_IER (0x40044024U) /**< \brief (ACC) Interrupt Enable Register */ - #define REG_ACC_IDR (0x40044028U) /**< \brief (ACC) Interrupt Disable Register */ - #define REG_ACC_IMR (0x4004402CU) /**< \brief (ACC) Interrupt Mask Register */ - #define REG_ACC_ISR (0x40044030U) /**< \brief (ACC) Interrupt Status Register */ - #define REG_ACC_ACR (0x40044094U) /**< \brief (ACC) Analog Control Register */ - #define REG_ACC_WPMR (0x400440E4U) /**< \brief (ACC) Write Protection Mode Register */ - #define REG_ACC_WPSR (0x400440E8U) /**< \brief (ACC) Write Protection Status Register */ -#else - #define REG_ACC_CR (*(__O uint32_t*)0x40044000U) /**< \brief (ACC) Control Register */ - #define REG_ACC_MR (*(__IO uint32_t*)0x40044004U) /**< \brief (ACC) Mode Register */ - #define REG_ACC_IER (*(__O uint32_t*)0x40044024U) /**< \brief (ACC) Interrupt Enable Register */ - #define REG_ACC_IDR (*(__O uint32_t*)0x40044028U) /**< \brief (ACC) Interrupt Disable Register */ - #define REG_ACC_IMR (*(__I uint32_t*)0x4004402CU) /**< \brief (ACC) Interrupt Mask Register */ - #define REG_ACC_ISR (*(__I uint32_t*)0x40044030U) /**< \brief (ACC) Interrupt Status Register */ - #define REG_ACC_ACR (*(__IO uint32_t*)0x40044094U) /**< \brief (ACC) Analog Control Register */ - #define REG_ACC_WPMR (*(__IO uint32_t*)0x400440E4U) /**< \brief (ACC) Write Protection Mode Register */ - #define REG_ACC_WPSR (*(__I uint32_t*)0x400440E8U) /**< \brief (ACC) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_ACC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h deleted file mode 100644 index 5a9a067..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AES_INSTANCE_ -#define _SAMS70_AES_INSTANCE_ - -/* ========== Register definition for AES peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_AES_CR (0x4006C000U) /**< \brief (AES) Control Register */ - #define REG_AES_MR (0x4006C004U) /**< \brief (AES) Mode Register */ - #define REG_AES_IER (0x4006C010U) /**< \brief (AES) Interrupt Enable Register */ - #define REG_AES_IDR (0x4006C014U) /**< \brief (AES) Interrupt Disable Register */ - #define REG_AES_IMR (0x4006C018U) /**< \brief (AES) Interrupt Mask Register */ - #define REG_AES_ISR (0x4006C01CU) /**< \brief (AES) Interrupt Status Register */ - #define REG_AES_KEYWR (0x4006C020U) /**< \brief (AES) Key Word Register */ - #define REG_AES_IDATAR (0x4006C040U) /**< \brief (AES) Input Data Register */ - #define REG_AES_ODATAR (0x4006C050U) /**< \brief (AES) Output Data Register */ - #define REG_AES_IVR (0x4006C060U) /**< \brief (AES) Initialization Vector Register */ - #define REG_AES_AADLENR (0x4006C070U) /**< \brief (AES) Additional Authenticated Data Length Register */ - #define REG_AES_CLENR (0x4006C074U) /**< \brief (AES) Plaintext/Ciphertext Length Register */ - #define REG_AES_GHASHR (0x4006C078U) /**< \brief (AES) GCM Intermediate Hash Word Register */ - #define REG_AES_TAGR (0x4006C088U) /**< \brief (AES) GCM Authentication Tag Word Register */ - #define REG_AES_CTRR (0x4006C098U) /**< \brief (AES) GCM Encryption Counter Value Register */ - #define REG_AES_GCMHR (0x4006C09CU) /**< \brief (AES) GCM H Word Register */ -#else - #define REG_AES_CR (*(__O uint32_t*)0x4006C000U) /**< \brief (AES) Control Register */ - #define REG_AES_MR (*(__IO uint32_t*)0x4006C004U) /**< \brief (AES) Mode Register */ - #define REG_AES_IER (*(__O uint32_t*)0x4006C010U) /**< \brief (AES) Interrupt Enable Register */ - #define REG_AES_IDR (*(__O uint32_t*)0x4006C014U) /**< \brief (AES) Interrupt Disable Register */ - #define REG_AES_IMR (*(__I uint32_t*)0x4006C018U) /**< \brief (AES) Interrupt Mask Register */ - #define REG_AES_ISR (*(__I uint32_t*)0x4006C01CU) /**< \brief (AES) Interrupt Status Register */ - #define REG_AES_KEYWR (*(__O uint32_t*)0x4006C020U) /**< \brief (AES) Key Word Register */ - #define REG_AES_IDATAR (*(__O uint32_t*)0x4006C040U) /**< \brief (AES) Input Data Register */ - #define REG_AES_ODATAR (*(__I uint32_t*)0x4006C050U) /**< \brief (AES) Output Data Register */ - #define REG_AES_IVR (*(__O uint32_t*)0x4006C060U) /**< \brief (AES) Initialization Vector Register */ - #define REG_AES_AADLENR (*(__IO uint32_t*)0x4006C070U) /**< \brief (AES) Additional Authenticated Data Length Register */ - #define REG_AES_CLENR (*(__IO uint32_t*)0x4006C074U) /**< \brief (AES) Plaintext/Ciphertext Length Register */ - #define REG_AES_GHASHR (*(__IO uint32_t*)0x4006C078U) /**< \brief (AES) GCM Intermediate Hash Word Register */ - #define REG_AES_TAGR (*(__I uint32_t*)0x4006C088U) /**< \brief (AES) GCM Authentication Tag Word Register */ - #define REG_AES_CTRR (*(__I uint32_t*)0x4006C098U) /**< \brief (AES) GCM Encryption Counter Value Register */ - #define REG_AES_GCMHR (*(__IO uint32_t*)0x4006C09CU) /**< \brief (AES) GCM H Word Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_AES_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h deleted file mode 100644 index ac8498a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h +++ /dev/null @@ -1,111 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AFEC0_INSTANCE_ -#define _SAMS70_AFEC0_INSTANCE_ - -/* ========== Register definition for AFEC0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_AFEC0_CR (0x4003C000U) /**< \brief (AFEC0) AFEC Control Register */ - #define REG_AFEC0_MR (0x4003C004U) /**< \brief (AFEC0) AFEC Mode Register */ - #define REG_AFEC0_EMR (0x4003C008U) /**< \brief (AFEC0) AFEC Extended Mode Register */ - #define REG_AFEC0_SEQ1R (0x4003C00CU) /**< \brief (AFEC0) AFEC Channel Sequence 1 Register */ - #define REG_AFEC0_SEQ2R (0x4003C010U) /**< \brief (AFEC0) AFEC Channel Sequence 2 Register */ - #define REG_AFEC0_CHER (0x4003C014U) /**< \brief (AFEC0) AFEC Channel Enable Register */ - #define REG_AFEC0_CHDR (0x4003C018U) /**< \brief (AFEC0) AFEC Channel Disable Register */ - #define REG_AFEC0_CHSR (0x4003C01CU) /**< \brief (AFEC0) AFEC Channel Status Register */ - #define REG_AFEC0_LCDR (0x4003C020U) /**< \brief (AFEC0) AFEC Last Converted Data Register */ - #define REG_AFEC0_IER (0x4003C024U) /**< \brief (AFEC0) AFEC Interrupt Enable Register */ - #define REG_AFEC0_IDR (0x4003C028U) /**< \brief (AFEC0) AFEC Interrupt Disable Register */ - #define REG_AFEC0_IMR (0x4003C02CU) /**< \brief (AFEC0) AFEC Interrupt Mask Register */ - #define REG_AFEC0_ISR (0x4003C030U) /**< \brief (AFEC0) AFEC Interrupt Status Register */ - #define REG_AFEC0_OVER (0x4003C04CU) /**< \brief (AFEC0) AFEC Overrun Status Register */ - #define REG_AFEC0_CWR (0x4003C050U) /**< \brief (AFEC0) AFEC Compare Window Register */ - #define REG_AFEC0_CGR (0x4003C054U) /**< \brief (AFEC0) AFEC Channel Gain Register */ - #define REG_AFEC0_DIFFR (0x4003C060U) /**< \brief (AFEC0) AFEC Channel Differential Register */ - #define REG_AFEC0_CSELR (0x4003C064U) /**< \brief (AFEC0) AFEC Channel Selection Register */ - #define REG_AFEC0_CDR (0x4003C068U) /**< \brief (AFEC0) AFEC Channel Data Register */ - #define REG_AFEC0_COCR (0x4003C06CU) /**< \brief (AFEC0) AFEC Channel Offset Compensation Register */ - #define REG_AFEC0_TEMPMR (0x4003C070U) /**< \brief (AFEC0) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC0_TEMPCWR (0x4003C074U) /**< \brief (AFEC0) AFEC Temperature Compare Window Register */ - #define REG_AFEC0_ACR (0x4003C094U) /**< \brief (AFEC0) AFEC Analog Control Register */ - #define REG_AFEC0_SHMR (0x4003C0A0U) /**< \brief (AFEC0) AFEC Sample & Hold Mode Register */ - #define REG_AFEC0_COSR (0x4003C0D0U) /**< \brief (AFEC0) AFEC Correction Select Register */ - #define REG_AFEC0_CVR (0x4003C0D4U) /**< \brief (AFEC0) AFEC Correction Values Register */ - #define REG_AFEC0_CECR (0x4003C0D8U) /**< \brief (AFEC0) AFEC Channel Error Correction Register */ - #define REG_AFEC0_WPMR (0x4003C0E4U) /**< \brief (AFEC0) AFEC Write Protection Mode Register */ - #define REG_AFEC0_WPSR (0x4003C0E8U) /**< \brief (AFEC0) AFEC Write Protection Status Register */ -#else - #define REG_AFEC0_CR (*(__O uint32_t*)0x4003C000U) /**< \brief (AFEC0) AFEC Control Register */ - #define REG_AFEC0_MR (*(__IO uint32_t*)0x4003C004U) /**< \brief (AFEC0) AFEC Mode Register */ - #define REG_AFEC0_EMR (*(__IO uint32_t*)0x4003C008U) /**< \brief (AFEC0) AFEC Extended Mode Register */ - #define REG_AFEC0_SEQ1R (*(__IO uint32_t*)0x4003C00CU) /**< \brief (AFEC0) AFEC Channel Sequence 1 Register */ - #define REG_AFEC0_SEQ2R (*(__IO uint32_t*)0x4003C010U) /**< \brief (AFEC0) AFEC Channel Sequence 2 Register */ - #define REG_AFEC0_CHER (*(__O uint32_t*)0x4003C014U) /**< \brief (AFEC0) AFEC Channel Enable Register */ - #define REG_AFEC0_CHDR (*(__O uint32_t*)0x4003C018U) /**< \brief (AFEC0) AFEC Channel Disable Register */ - #define REG_AFEC0_CHSR (*(__I uint32_t*)0x4003C01CU) /**< \brief (AFEC0) AFEC Channel Status Register */ - #define REG_AFEC0_LCDR (*(__I uint32_t*)0x4003C020U) /**< \brief (AFEC0) AFEC Last Converted Data Register */ - #define REG_AFEC0_IER (*(__O uint32_t*)0x4003C024U) /**< \brief (AFEC0) AFEC Interrupt Enable Register */ - #define REG_AFEC0_IDR (*(__O uint32_t*)0x4003C028U) /**< \brief (AFEC0) AFEC Interrupt Disable Register */ - #define REG_AFEC0_IMR (*(__I uint32_t*)0x4003C02CU) /**< \brief (AFEC0) AFEC Interrupt Mask Register */ - #define REG_AFEC0_ISR (*(__I uint32_t*)0x4003C030U) /**< \brief (AFEC0) AFEC Interrupt Status Register */ - #define REG_AFEC0_OVER (*(__I uint32_t*)0x4003C04CU) /**< \brief (AFEC0) AFEC Overrun Status Register */ - #define REG_AFEC0_CWR (*(__IO uint32_t*)0x4003C050U) /**< \brief (AFEC0) AFEC Compare Window Register */ - #define REG_AFEC0_CGR (*(__IO uint32_t*)0x4003C054U) /**< \brief (AFEC0) AFEC Channel Gain Register */ - #define REG_AFEC0_DIFFR (*(__IO uint32_t*)0x4003C060U) /**< \brief (AFEC0) AFEC Channel Differential Register */ - #define REG_AFEC0_CSELR (*(__IO uint32_t*)0x4003C064U) /**< \brief (AFEC0) AFEC Channel Selection Register */ - #define REG_AFEC0_CDR (*(__I uint32_t*)0x4003C068U) /**< \brief (AFEC0) AFEC Channel Data Register */ - #define REG_AFEC0_COCR (*(__IO uint32_t*)0x4003C06CU) /**< \brief (AFEC0) AFEC Channel Offset Compensation Register */ - #define REG_AFEC0_TEMPMR (*(__IO uint32_t*)0x4003C070U) /**< \brief (AFEC0) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC0_TEMPCWR (*(__IO uint32_t*)0x4003C074U) /**< \brief (AFEC0) AFEC Temperature Compare Window Register */ - #define REG_AFEC0_ACR (*(__IO uint32_t*)0x4003C094U) /**< \brief (AFEC0) AFEC Analog Control Register */ - #define REG_AFEC0_SHMR (*(__IO uint32_t*)0x4003C0A0U) /**< \brief (AFEC0) AFEC Sample & Hold Mode Register */ - #define REG_AFEC0_COSR (*(__IO uint32_t*)0x4003C0D0U) /**< \brief (AFEC0) AFEC Correction Select Register */ - #define REG_AFEC0_CVR (*(__IO uint32_t*)0x4003C0D4U) /**< \brief (AFEC0) AFEC Correction Values Register */ - #define REG_AFEC0_CECR (*(__IO uint32_t*)0x4003C0D8U) /**< \brief (AFEC0) AFEC Channel Error Correction Register */ - #define REG_AFEC0_WPMR (*(__IO uint32_t*)0x4003C0E4U) /**< \brief (AFEC0) AFEC Write Protection Mode Register */ - #define REG_AFEC0_WPSR (*(__I uint32_t*)0x4003C0E8U) /**< \brief (AFEC0) AFEC Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_AFEC0_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h deleted file mode 100644 index 461f201..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h +++ /dev/null @@ -1,111 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AFEC1_INSTANCE_ -#define _SAMS70_AFEC1_INSTANCE_ - -/* ========== Register definition for AFEC1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_AFEC1_CR (0x40064000U) /**< \brief (AFEC1) AFEC Control Register */ - #define REG_AFEC1_MR (0x40064004U) /**< \brief (AFEC1) AFEC Mode Register */ - #define REG_AFEC1_EMR (0x40064008U) /**< \brief (AFEC1) AFEC Extended Mode Register */ - #define REG_AFEC1_SEQ1R (0x4006400CU) /**< \brief (AFEC1) AFEC Channel Sequence 1 Register */ - #define REG_AFEC1_SEQ2R (0x40064010U) /**< \brief (AFEC1) AFEC Channel Sequence 2 Register */ - #define REG_AFEC1_CHER (0x40064014U) /**< \brief (AFEC1) AFEC Channel Enable Register */ - #define REG_AFEC1_CHDR (0x40064018U) /**< \brief (AFEC1) AFEC Channel Disable Register */ - #define REG_AFEC1_CHSR (0x4006401CU) /**< \brief (AFEC1) AFEC Channel Status Register */ - #define REG_AFEC1_LCDR (0x40064020U) /**< \brief (AFEC1) AFEC Last Converted Data Register */ - #define REG_AFEC1_IER (0x40064024U) /**< \brief (AFEC1) AFEC Interrupt Enable Register */ - #define REG_AFEC1_IDR (0x40064028U) /**< \brief (AFEC1) AFEC Interrupt Disable Register */ - #define REG_AFEC1_IMR (0x4006402CU) /**< \brief (AFEC1) AFEC Interrupt Mask Register */ - #define REG_AFEC1_ISR (0x40064030U) /**< \brief (AFEC1) AFEC Interrupt Status Register */ - #define REG_AFEC1_OVER (0x4006404CU) /**< \brief (AFEC1) AFEC Overrun Status Register */ - #define REG_AFEC1_CWR (0x40064050U) /**< \brief (AFEC1) AFEC Compare Window Register */ - #define REG_AFEC1_CGR (0x40064054U) /**< \brief (AFEC1) AFEC Channel Gain Register */ - #define REG_AFEC1_DIFFR (0x40064060U) /**< \brief (AFEC1) AFEC Channel Differential Register */ - #define REG_AFEC1_CSELR (0x40064064U) /**< \brief (AFEC1) AFEC Channel Selection Register */ - #define REG_AFEC1_CDR (0x40064068U) /**< \brief (AFEC1) AFEC Channel Data Register */ - #define REG_AFEC1_COCR (0x4006406CU) /**< \brief (AFEC1) AFEC Channel Offset Compensation Register */ - #define REG_AFEC1_TEMPMR (0x40064070U) /**< \brief (AFEC1) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC1_TEMPCWR (0x40064074U) /**< \brief (AFEC1) AFEC Temperature Compare Window Register */ - #define REG_AFEC1_ACR (0x40064094U) /**< \brief (AFEC1) AFEC Analog Control Register */ - #define REG_AFEC1_SHMR (0x400640A0U) /**< \brief (AFEC1) AFEC Sample & Hold Mode Register */ - #define REG_AFEC1_COSR (0x400640D0U) /**< \brief (AFEC1) AFEC Correction Select Register */ - #define REG_AFEC1_CVR (0x400640D4U) /**< \brief (AFEC1) AFEC Correction Values Register */ - #define REG_AFEC1_CECR (0x400640D8U) /**< \brief (AFEC1) AFEC Channel Error Correction Register */ - #define REG_AFEC1_WPMR (0x400640E4U) /**< \brief (AFEC1) AFEC Write Protection Mode Register */ - #define REG_AFEC1_WPSR (0x400640E8U) /**< \brief (AFEC1) AFEC Write Protection Status Register */ -#else - #define REG_AFEC1_CR (*(__O uint32_t*)0x40064000U) /**< \brief (AFEC1) AFEC Control Register */ - #define REG_AFEC1_MR (*(__IO uint32_t*)0x40064004U) /**< \brief (AFEC1) AFEC Mode Register */ - #define REG_AFEC1_EMR (*(__IO uint32_t*)0x40064008U) /**< \brief (AFEC1) AFEC Extended Mode Register */ - #define REG_AFEC1_SEQ1R (*(__IO uint32_t*)0x4006400CU) /**< \brief (AFEC1) AFEC Channel Sequence 1 Register */ - #define REG_AFEC1_SEQ2R (*(__IO uint32_t*)0x40064010U) /**< \brief (AFEC1) AFEC Channel Sequence 2 Register */ - #define REG_AFEC1_CHER (*(__O uint32_t*)0x40064014U) /**< \brief (AFEC1) AFEC Channel Enable Register */ - #define REG_AFEC1_CHDR (*(__O uint32_t*)0x40064018U) /**< \brief (AFEC1) AFEC Channel Disable Register */ - #define REG_AFEC1_CHSR (*(__I uint32_t*)0x4006401CU) /**< \brief (AFEC1) AFEC Channel Status Register */ - #define REG_AFEC1_LCDR (*(__I uint32_t*)0x40064020U) /**< \brief (AFEC1) AFEC Last Converted Data Register */ - #define REG_AFEC1_IER (*(__O uint32_t*)0x40064024U) /**< \brief (AFEC1) AFEC Interrupt Enable Register */ - #define REG_AFEC1_IDR (*(__O uint32_t*)0x40064028U) /**< \brief (AFEC1) AFEC Interrupt Disable Register */ - #define REG_AFEC1_IMR (*(__I uint32_t*)0x4006402CU) /**< \brief (AFEC1) AFEC Interrupt Mask Register */ - #define REG_AFEC1_ISR (*(__I uint32_t*)0x40064030U) /**< \brief (AFEC1) AFEC Interrupt Status Register */ - #define REG_AFEC1_OVER (*(__I uint32_t*)0x4006404CU) /**< \brief (AFEC1) AFEC Overrun Status Register */ - #define REG_AFEC1_CWR (*(__IO uint32_t*)0x40064050U) /**< \brief (AFEC1) AFEC Compare Window Register */ - #define REG_AFEC1_CGR (*(__IO uint32_t*)0x40064054U) /**< \brief (AFEC1) AFEC Channel Gain Register */ - #define REG_AFEC1_DIFFR (*(__IO uint32_t*)0x40064060U) /**< \brief (AFEC1) AFEC Channel Differential Register */ - #define REG_AFEC1_CSELR (*(__IO uint32_t*)0x40064064U) /**< \brief (AFEC1) AFEC Channel Selection Register */ - #define REG_AFEC1_CDR (*(__I uint32_t*)0x40064068U) /**< \brief (AFEC1) AFEC Channel Data Register */ - #define REG_AFEC1_COCR (*(__IO uint32_t*)0x4006406CU) /**< \brief (AFEC1) AFEC Channel Offset Compensation Register */ - #define REG_AFEC1_TEMPMR (*(__IO uint32_t*)0x40064070U) /**< \brief (AFEC1) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC1_TEMPCWR (*(__IO uint32_t*)0x40064074U) /**< \brief (AFEC1) AFEC Temperature Compare Window Register */ - #define REG_AFEC1_ACR (*(__IO uint32_t*)0x40064094U) /**< \brief (AFEC1) AFEC Analog Control Register */ - #define REG_AFEC1_SHMR (*(__IO uint32_t*)0x400640A0U) /**< \brief (AFEC1) AFEC Sample & Hold Mode Register */ - #define REG_AFEC1_COSR (*(__IO uint32_t*)0x400640D0U) /**< \brief (AFEC1) AFEC Correction Select Register */ - #define REG_AFEC1_CVR (*(__IO uint32_t*)0x400640D4U) /**< \brief (AFEC1) AFEC Correction Values Register */ - #define REG_AFEC1_CECR (*(__IO uint32_t*)0x400640D8U) /**< \brief (AFEC1) AFEC Channel Error Correction Register */ - #define REG_AFEC1_WPMR (*(__IO uint32_t*)0x400640E4U) /**< \brief (AFEC1) AFEC Write Protection Mode Register */ - #define REG_AFEC1_WPSR (*(__I uint32_t*)0x400640E8U) /**< \brief (AFEC1) AFEC Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_AFEC1_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h deleted file mode 100644 index 722773b..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h +++ /dev/null @@ -1,57 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_CHIPID_INSTANCE_ -#define _SAMS70_CHIPID_INSTANCE_ - -/* ========== Register definition for CHIPID peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_CHIPID_CIDR (0x400E0940U) /**< \brief (CHIPID) Chip ID Register */ - #define REG_CHIPID_EXID (0x400E0944U) /**< \brief (CHIPID) Chip ID Extension Register */ -#else - #define REG_CHIPID_CIDR (*(__I uint32_t*)0x400E0940U) /**< \brief (CHIPID) Chip ID Register */ - #define REG_CHIPID_EXID (*(__I uint32_t*)0x400E0944U) /**< \brief (CHIPID) Chip ID Extension Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_CHIPID_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h deleted file mode 100644 index f92fe6d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h +++ /dev/null @@ -1,81 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_DACC_INSTANCE_ -#define _SAMS70_DACC_INSTANCE_ - -/* ========== Register definition for DACC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_DACC_CR (0x40040000U) /**< \brief (DACC) Control Register */ - #define REG_DACC_MR (0x40040004U) /**< \brief (DACC) Mode Register */ - #define REG_DACC_TRIGR (0x40040008U) /**< \brief (DACC) Trigger Register */ - #define REG_DACC_CHER (0x40040010U) /**< \brief (DACC) Channel Enable Register */ - #define REG_DACC_CHDR (0x40040014U) /**< \brief (DACC) Channel Disable Register */ - #define REG_DACC_CHSR (0x40040018U) /**< \brief (DACC) Channel Status Register */ - #define REG_DACC_CDR (0x4004001CU) /**< \brief (DACC) Conversion Data Register */ - #define REG_DACC_IER (0x40040024U) /**< \brief (DACC) Interrupt Enable Register */ - #define REG_DACC_IDR (0x40040028U) /**< \brief (DACC) Interrupt Disable Register */ - #define REG_DACC_IMR (0x4004002CU) /**< \brief (DACC) Interrupt Mask Register */ - #define REG_DACC_ISR (0x40040030U) /**< \brief (DACC) Interrupt Status Register */ - #define REG_DACC_ACR (0x40040094U) /**< \brief (DACC) Analog Current Register */ - #define REG_DACC_WPMR (0x400400E4U) /**< \brief (DACC) Write Protection Mode register */ - #define REG_DACC_WPSR (0x400400E8U) /**< \brief (DACC) Write Protection Status register */ -#else - #define REG_DACC_CR (*(__O uint32_t*)0x40040000U) /**< \brief (DACC) Control Register */ - #define REG_DACC_MR (*(__IO uint32_t*)0x40040004U) /**< \brief (DACC) Mode Register */ - #define REG_DACC_TRIGR (*(__IO uint32_t*)0x40040008U) /**< \brief (DACC) Trigger Register */ - #define REG_DACC_CHER (*(__O uint32_t*)0x40040010U) /**< \brief (DACC) Channel Enable Register */ - #define REG_DACC_CHDR (*(__O uint32_t*)0x40040014U) /**< \brief (DACC) Channel Disable Register */ - #define REG_DACC_CHSR (*(__I uint32_t*)0x40040018U) /**< \brief (DACC) Channel Status Register */ - #define REG_DACC_CDR (*(__O uint32_t*)0x4004001CU) /**< \brief (DACC) Conversion Data Register */ - #define REG_DACC_IER (*(__O uint32_t*)0x40040024U) /**< \brief (DACC) Interrupt Enable Register */ - #define REG_DACC_IDR (*(__O uint32_t*)0x40040028U) /**< \brief (DACC) Interrupt Disable Register */ - #define REG_DACC_IMR (*(__I uint32_t*)0x4004002CU) /**< \brief (DACC) Interrupt Mask Register */ - #define REG_DACC_ISR (*(__I uint32_t*)0x40040030U) /**< \brief (DACC) Interrupt Status Register */ - #define REG_DACC_ACR (*(__IO uint32_t*)0x40040094U) /**< \brief (DACC) Analog Current Register */ - #define REG_DACC_WPMR (*(__IO uint32_t*)0x400400E4U) /**< \brief (DACC) Write Protection Mode register */ - #define REG_DACC_WPSR (*(__I uint32_t*)0x400400E8U) /**< \brief (DACC) Write Protection Status register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_DACC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h deleted file mode 100644 index e86fafc..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_EFC_INSTANCE_ -#define _SAMS70_EFC_INSTANCE_ - -/* ========== Register definition for EFC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_EFC_FMR (0x400E0C00U) /**< \brief (EFC) EEFC Flash Mode Register */ - #define REG_EFC_FCR (0x400E0C04U) /**< \brief (EFC) EEFC Flash Command Register */ - #define REG_EFC_FSR (0x400E0C08U) /**< \brief (EFC) EEFC Flash Status Register */ - #define REG_EFC_FRR (0x400E0C0CU) /**< \brief (EFC) EEFC Flash Result Register */ - #define REG_EFC_VERSION (0x400E0C14U) /**< \brief (EFC) EEFC Version Register */ - #define REG_EFC_WPMR (0x400E0CE4U) /**< \brief (EFC) Write Protection Mode Register */ -#else - #define REG_EFC_FMR (*(__IO uint32_t*)0x400E0C00U) /**< \brief (EFC) EEFC Flash Mode Register */ - #define REG_EFC_FCR (*(__O uint32_t*)0x400E0C04U) /**< \brief (EFC) EEFC Flash Command Register */ - #define REG_EFC_FSR (*(__I uint32_t*)0x400E0C08U) /**< \brief (EFC) EEFC Flash Status Register */ - #define REG_EFC_FRR (*(__I uint32_t*)0x400E0C0CU) /**< \brief (EFC) EEFC Flash Result Register */ - #define REG_EFC_VERSION (*(__I uint32_t*)0x400E0C14U) /**< \brief (EFC) EEFC Version Register */ - #define REG_EFC_WPMR (*(__IO uint32_t*)0x400E0CE4U) /**< \brief (EFC) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_EFC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h deleted file mode 100644 index 49de2e9..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_GPBR_INSTANCE_ -#define _SAMS70_GPBR_INSTANCE_ - -/* ========== Register definition for GPBR peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_GPBR_GPBR (0x400E1890U) /**< \brief (GPBR) General Purpose Backup Register */ -#else - #define REG_GPBR_GPBR (*(__IO uint32_t*)0x400E1890U) /**< \brief (GPBR) General Purpose Backup Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_GPBR_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h deleted file mode 100644 index 3fc54b7..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_HSMCI_INSTANCE_ -#define _SAMS70_HSMCI_INSTANCE_ - -/* ========== Register definition for HSMCI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_HSMCI_CR (0x40000000U) /**< \brief (HSMCI) Control Register */ - #define REG_HSMCI_MR (0x40000004U) /**< \brief (HSMCI) Mode Register */ - #define REG_HSMCI_DTOR (0x40000008U) /**< \brief (HSMCI) Data Timeout Register */ - #define REG_HSMCI_SDCR (0x4000000CU) /**< \brief (HSMCI) SD/SDIO Card Register */ - #define REG_HSMCI_ARGR (0x40000010U) /**< \brief (HSMCI) Argument Register */ - #define REG_HSMCI_CMDR (0x40000014U) /**< \brief (HSMCI) Command Register */ - #define REG_HSMCI_BLKR (0x40000018U) /**< \brief (HSMCI) Block Register */ - #define REG_HSMCI_CSTOR (0x4000001CU) /**< \brief (HSMCI) Completion Signal Timeout Register */ - #define REG_HSMCI_RSPR (0x40000020U) /**< \brief (HSMCI) Response Register */ - #define REG_HSMCI_RDR (0x40000030U) /**< \brief (HSMCI) Receive Data Register */ - #define REG_HSMCI_TDR (0x40000034U) /**< \brief (HSMCI) Transmit Data Register */ - #define REG_HSMCI_SR (0x40000040U) /**< \brief (HSMCI) Status Register */ - #define REG_HSMCI_IER (0x40000044U) /**< \brief (HSMCI) Interrupt Enable Register */ - #define REG_HSMCI_IDR (0x40000048U) /**< \brief (HSMCI) Interrupt Disable Register */ - #define REG_HSMCI_IMR (0x4000004CU) /**< \brief (HSMCI) Interrupt Mask Register */ - #define REG_HSMCI_DMA (0x40000050U) /**< \brief (HSMCI) DMA Configuration Register */ - #define REG_HSMCI_CFG (0x40000054U) /**< \brief (HSMCI) Configuration Register */ - #define REG_HSMCI_WPMR (0x400000E4U) /**< \brief (HSMCI) Write Protection Mode Register */ - #define REG_HSMCI_WPSR (0x400000E8U) /**< \brief (HSMCI) Write Protection Status Register */ - #define REG_HSMCI_FIFO (0x40000200U) /**< \brief (HSMCI) FIFO Memory Aperture0 */ -#else - #define REG_HSMCI_CR (*(__O uint32_t*)0x40000000U) /**< \brief (HSMCI) Control Register */ - #define REG_HSMCI_MR (*(__IO uint32_t*)0x40000004U) /**< \brief (HSMCI) Mode Register */ - #define REG_HSMCI_DTOR (*(__IO uint32_t*)0x40000008U) /**< \brief (HSMCI) Data Timeout Register */ - #define REG_HSMCI_SDCR (*(__IO uint32_t*)0x4000000CU) /**< \brief (HSMCI) SD/SDIO Card Register */ - #define REG_HSMCI_ARGR (*(__IO uint32_t*)0x40000010U) /**< \brief (HSMCI) Argument Register */ - #define REG_HSMCI_CMDR (*(__O uint32_t*)0x40000014U) /**< \brief (HSMCI) Command Register */ - #define REG_HSMCI_BLKR (*(__IO uint32_t*)0x40000018U) /**< \brief (HSMCI) Block Register */ - #define REG_HSMCI_CSTOR (*(__IO uint32_t*)0x4000001CU) /**< \brief (HSMCI) Completion Signal Timeout Register */ - #define REG_HSMCI_RSPR (*(__I uint32_t*)0x40000020U) /**< \brief (HSMCI) Response Register */ - #define REG_HSMCI_RDR (*(__I uint32_t*)0x40000030U) /**< \brief (HSMCI) Receive Data Register */ - #define REG_HSMCI_TDR (*(__O uint32_t*)0x40000034U) /**< \brief (HSMCI) Transmit Data Register */ - #define REG_HSMCI_SR (*(__I uint32_t*)0x40000040U) /**< \brief (HSMCI) Status Register */ - #define REG_HSMCI_IER (*(__O uint32_t*)0x40000044U) /**< \brief (HSMCI) Interrupt Enable Register */ - #define REG_HSMCI_IDR (*(__O uint32_t*)0x40000048U) /**< \brief (HSMCI) Interrupt Disable Register */ - #define REG_HSMCI_IMR (*(__I uint32_t*)0x4000004CU) /**< \brief (HSMCI) Interrupt Mask Register */ - #define REG_HSMCI_DMA (*(__IO uint32_t*)0x40000050U) /**< \brief (HSMCI) DMA Configuration Register */ - #define REG_HSMCI_CFG (*(__IO uint32_t*)0x40000054U) /**< \brief (HSMCI) Configuration Register */ - #define REG_HSMCI_WPMR (*(__IO uint32_t*)0x400000E4U) /**< \brief (HSMCI) Write Protection Mode Register */ - #define REG_HSMCI_WPSR (*(__I uint32_t*)0x400000E8U) /**< \brief (HSMCI) Write Protection Status Register */ - #define REG_HSMCI_FIFO (*(__IO uint32_t*)0x40000200U) /**< \brief (HSMCI) FIFO Memory Aperture0 */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_HSMCI_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h deleted file mode 100644 index d3f9fb7..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ICM_INSTANCE_ -#define _SAMS70_ICM_INSTANCE_ - -/* ========== Register definition for ICM peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_ICM_CFG (0x40048000U) /**< \brief (ICM) Configuration Register */ - #define REG_ICM_CTRL (0x40048004U) /**< \brief (ICM) Control Register */ - #define REG_ICM_SR (0x40048008U) /**< \brief (ICM) Status Register */ - #define REG_ICM_IER (0x40048010U) /**< \brief (ICM) Interrupt Enable Register */ - #define REG_ICM_IDR (0x40048014U) /**< \brief (ICM) Interrupt Disable Register */ - #define REG_ICM_IMR (0x40048018U) /**< \brief (ICM) Interrupt Mask Register */ - #define REG_ICM_ISR (0x4004801CU) /**< \brief (ICM) Interrupt Status Register */ - #define REG_ICM_UASR (0x40048020U) /**< \brief (ICM) Undefined Access Status Register */ - #define REG_ICM_DSCR (0x40048030U) /**< \brief (ICM) Region Descriptor Area Start Address Register */ - #define REG_ICM_HASH (0x40048034U) /**< \brief (ICM) Region Hash Area Start Address Register */ - #define REG_ICM_UIHVAL (0x40048038U) /**< \brief (ICM) User Initial Hash Value 0 Register */ -#else - #define REG_ICM_CFG (*(__IO uint32_t*)0x40048000U) /**< \brief (ICM) Configuration Register */ - #define REG_ICM_CTRL (*(__O uint32_t*)0x40048004U) /**< \brief (ICM) Control Register */ - #define REG_ICM_SR (*(__O uint32_t*)0x40048008U) /**< \brief (ICM) Status Register */ - #define REG_ICM_IER (*(__O uint32_t*)0x40048010U) /**< \brief (ICM) Interrupt Enable Register */ - #define REG_ICM_IDR (*(__O uint32_t*)0x40048014U) /**< \brief (ICM) Interrupt Disable Register */ - #define REG_ICM_IMR (*(__I uint32_t*)0x40048018U) /**< \brief (ICM) Interrupt Mask Register */ - #define REG_ICM_ISR (*(__I uint32_t*)0x4004801CU) /**< \brief (ICM) Interrupt Status Register */ - #define REG_ICM_UASR (*(__I uint32_t*)0x40048020U) /**< \brief (ICM) Undefined Access Status Register */ - #define REG_ICM_DSCR (*(__IO uint32_t*)0x40048030U) /**< \brief (ICM) Region Descriptor Area Start Address Register */ - #define REG_ICM_HASH (*(__IO uint32_t*)0x40048034U) /**< \brief (ICM) Region Hash Area Start Address Register */ - #define REG_ICM_UIHVAL (*(__O uint32_t*)0x40048038U) /**< \brief (ICM) User Initial Hash Value 0 Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_ICM_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h deleted file mode 100644 index 731415d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h +++ /dev/null @@ -1,103 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ISI_INSTANCE_ -#define _SAMS70_ISI_INSTANCE_ - -/* ========== Register definition for ISI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_ISI_CFG1 (0x4004C000U) /**< \brief (ISI) ISI Configuration 1 Register */ - #define REG_ISI_CFG2 (0x4004C004U) /**< \brief (ISI) ISI Configuration 2 Register */ - #define REG_ISI_PSIZE (0x4004C008U) /**< \brief (ISI) ISI Preview Size Register */ - #define REG_ISI_PDECF (0x4004C00CU) /**< \brief (ISI) ISI Preview Decimation Factor Register */ - #define REG_ISI_Y2R_SET0 (0x4004C010U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 0 Register */ - #define REG_ISI_Y2R_SET1 (0x4004C014U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 1 Register */ - #define REG_ISI_R2Y_SET0 (0x4004C018U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 0 Register */ - #define REG_ISI_R2Y_SET1 (0x4004C01CU) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 1 Register */ - #define REG_ISI_R2Y_SET2 (0x4004C020U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 2 Register */ - #define REG_ISI_CR (0x4004C024U) /**< \brief (ISI) ISI Control Register */ - #define REG_ISI_SR (0x4004C028U) /**< \brief (ISI) ISI Status Register */ - #define REG_ISI_IER (0x4004C02CU) /**< \brief (ISI) ISI Interrupt Enable Register */ - #define REG_ISI_IDR (0x4004C030U) /**< \brief (ISI) ISI Interrupt Disable Register */ - #define REG_ISI_IMR (0x4004C034U) /**< \brief (ISI) ISI Interrupt Mask Register */ - #define REG_ISI_DMA_CHER (0x4004C038U) /**< \brief (ISI) DMA Channel Enable Register */ - #define REG_ISI_DMA_CHDR (0x4004C03CU) /**< \brief (ISI) DMA Channel Disable Register */ - #define REG_ISI_DMA_CHSR (0x4004C040U) /**< \brief (ISI) DMA Channel Status Register */ - #define REG_ISI_DMA_P_ADDR (0x4004C044U) /**< \brief (ISI) DMA Preview Base Address Register */ - #define REG_ISI_DMA_P_CTRL (0x4004C048U) /**< \brief (ISI) DMA Preview Control Register */ - #define REG_ISI_DMA_P_DSCR (0x4004C04CU) /**< \brief (ISI) DMA Preview Descriptor Address Register */ - #define REG_ISI_DMA_C_ADDR (0x4004C050U) /**< \brief (ISI) DMA Codec Base Address Register */ - #define REG_ISI_DMA_C_CTRL (0x4004C054U) /**< \brief (ISI) DMA Codec Control Register */ - #define REG_ISI_DMA_C_DSCR (0x4004C058U) /**< \brief (ISI) DMA Codec Descriptor Address Register */ - #define REG_ISI_WPMR (0x4004C0E4U) /**< \brief (ISI) Write Protection Mode Register */ - #define REG_ISI_WPSR (0x4004C0E8U) /**< \brief (ISI) Write Protection Status Register */ -#else - #define REG_ISI_CFG1 (*(__IO uint32_t*)0x4004C000U) /**< \brief (ISI) ISI Configuration 1 Register */ - #define REG_ISI_CFG2 (*(__IO uint32_t*)0x4004C004U) /**< \brief (ISI) ISI Configuration 2 Register */ - #define REG_ISI_PSIZE (*(__IO uint32_t*)0x4004C008U) /**< \brief (ISI) ISI Preview Size Register */ - #define REG_ISI_PDECF (*(__IO uint32_t*)0x4004C00CU) /**< \brief (ISI) ISI Preview Decimation Factor Register */ - #define REG_ISI_Y2R_SET0 (*(__IO uint32_t*)0x4004C010U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 0 Register */ - #define REG_ISI_Y2R_SET1 (*(__IO uint32_t*)0x4004C014U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 1 Register */ - #define REG_ISI_R2Y_SET0 (*(__IO uint32_t*)0x4004C018U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 0 Register */ - #define REG_ISI_R2Y_SET1 (*(__IO uint32_t*)0x4004C01CU) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 1 Register */ - #define REG_ISI_R2Y_SET2 (*(__IO uint32_t*)0x4004C020U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 2 Register */ - #define REG_ISI_CR (*(__O uint32_t*)0x4004C024U) /**< \brief (ISI) ISI Control Register */ - #define REG_ISI_SR (*(__I uint32_t*)0x4004C028U) /**< \brief (ISI) ISI Status Register */ - #define REG_ISI_IER (*(__O uint32_t*)0x4004C02CU) /**< \brief (ISI) ISI Interrupt Enable Register */ - #define REG_ISI_IDR (*(__O uint32_t*)0x4004C030U) /**< \brief (ISI) ISI Interrupt Disable Register */ - #define REG_ISI_IMR (*(__I uint32_t*)0x4004C034U) /**< \brief (ISI) ISI Interrupt Mask Register */ - #define REG_ISI_DMA_CHER (*(__O uint32_t*)0x4004C038U) /**< \brief (ISI) DMA Channel Enable Register */ - #define REG_ISI_DMA_CHDR (*(__O uint32_t*)0x4004C03CU) /**< \brief (ISI) DMA Channel Disable Register */ - #define REG_ISI_DMA_CHSR (*(__I uint32_t*)0x4004C040U) /**< \brief (ISI) DMA Channel Status Register */ - #define REG_ISI_DMA_P_ADDR (*(__IO uint32_t*)0x4004C044U) /**< \brief (ISI) DMA Preview Base Address Register */ - #define REG_ISI_DMA_P_CTRL (*(__IO uint32_t*)0x4004C048U) /**< \brief (ISI) DMA Preview Control Register */ - #define REG_ISI_DMA_P_DSCR (*(__IO uint32_t*)0x4004C04CU) /**< \brief (ISI) DMA Preview Descriptor Address Register */ - #define REG_ISI_DMA_C_ADDR (*(__IO uint32_t*)0x4004C050U) /**< \brief (ISI) DMA Codec Base Address Register */ - #define REG_ISI_DMA_C_CTRL (*(__IO uint32_t*)0x4004C054U) /**< \brief (ISI) DMA Codec Control Register */ - #define REG_ISI_DMA_C_DSCR (*(__IO uint32_t*)0x4004C058U) /**< \brief (ISI) DMA Codec Descriptor Address Register */ - #define REG_ISI_WPMR (*(__IO uint32_t*)0x4004C0E4U) /**< \brief (ISI) Write Protection Mode Register */ - #define REG_ISI_WPSR (*(__I uint32_t*)0x4004C0E8U) /**< \brief (ISI) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_ISI_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h deleted file mode 100644 index 4e78d0f..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h +++ /dev/null @@ -1,117 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_MATRIX_INSTANCE_ -#define _SAMS70_MATRIX_INSTANCE_ - -/* ========== Register definition for MATRIX peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_MATRIX_MCFG0 (0x40088000U) /**< \brief (MATRIX) Master Configuration Register 0 */ - #define REG_MATRIX_MCFG1 (0x40088004U) /**< \brief (MATRIX) Master Configuration Register 1 */ - #define REG_MATRIX_MCFG2 (0x40088008U) /**< \brief (MATRIX) Master Configuration Register 2 */ - #define REG_MATRIX_MCFG3 (0x4008800CU) /**< \brief (MATRIX) Master Configuration Register 3 */ - #define REG_MATRIX_MCFG4 (0x40088010U) /**< \brief (MATRIX) Master Configuration Register 4 */ - #define REG_MATRIX_MCFG5 (0x40088014U) /**< \brief (MATRIX) Master Configuration Register 5 */ - #define REG_MATRIX_MCFG6 (0x40088018U) /**< \brief (MATRIX) Master Configuration Register 6 */ - #define REG_MATRIX_MCFG8 (0x40088020U) /**< \brief (MATRIX) Master Configuration Register 8 */ - #define REG_MATRIX_SCFG (0x40088040U) /**< \brief (MATRIX) Slave Configuration Register */ - #define REG_MATRIX_PRAS0 (0x40088080U) /**< \brief (MATRIX) Priority Register A for Slave 0 */ - #define REG_MATRIX_PRBS0 (0x40088084U) /**< \brief (MATRIX) Priority Register B for Slave 0 */ - #define REG_MATRIX_PRAS1 (0x40088088U) /**< \brief (MATRIX) Priority Register A for Slave 1 */ - #define REG_MATRIX_PRBS1 (0x4008808CU) /**< \brief (MATRIX) Priority Register B for Slave 1 */ - #define REG_MATRIX_PRAS2 (0x40088090U) /**< \brief (MATRIX) Priority Register A for Slave 2 */ - #define REG_MATRIX_PRBS2 (0x40088094U) /**< \brief (MATRIX) Priority Register B for Slave 2 */ - #define REG_MATRIX_PRAS3 (0x40088098U) /**< \brief (MATRIX) Priority Register A for Slave 3 */ - #define REG_MATRIX_PRBS3 (0x4008809CU) /**< \brief (MATRIX) Priority Register B for Slave 3 */ - #define REG_MATRIX_PRAS4 (0x400880A0U) /**< \brief (MATRIX) Priority Register A for Slave 4 */ - #define REG_MATRIX_PRBS4 (0x400880A4U) /**< \brief (MATRIX) Priority Register B for Slave 4 */ - #define REG_MATRIX_PRAS5 (0x400880A8U) /**< \brief (MATRIX) Priority Register A for Slave 5 */ - #define REG_MATRIX_PRBS5 (0x400880ACU) /**< \brief (MATRIX) Priority Register B for Slave 5 */ - #define REG_MATRIX_PRAS6 (0x400880B0U) /**< \brief (MATRIX) Priority Register A for Slave 6 */ - #define REG_MATRIX_PRBS6 (0x400880B4U) /**< \brief (MATRIX) Priority Register B for Slave 6 */ - #define REG_MATRIX_PRAS7 (0x400880B8U) /**< \brief (MATRIX) Priority Register A for Slave 7 */ - #define REG_MATRIX_PRBS7 (0x400880BCU) /**< \brief (MATRIX) Priority Register B for Slave 7 */ - #define REG_MATRIX_PRAS8 (0x400880C0U) /**< \brief (MATRIX) Priority Register A for Slave 8 */ - #define REG_MATRIX_PRBS8 (0x400880C4U) /**< \brief (MATRIX) Priority Register B for Slave 8 */ - #define REG_MATRIX_MRCR (0x40088100U) /**< \brief (MATRIX) Master Remap Control Register */ - #define REG_CCFG_SYSIO (0x40088114U) /**< \brief (MATRIX) System I/O Configuration Register */ - #define REG_CCFG_SMCNFCS (0x40088124U) /**< \brief (MATRIX) SMC NAND Flash Chip Select Configuration Register */ - #define REG_MATRIX_WPMR (0x400881E4U) /**< \brief (MATRIX) Write Protection Mode Register */ - #define REG_MATRIX_WPSR (0x400881E8U) /**< \brief (MATRIX) Write Protection Status Register */ -#else - #define REG_MATRIX_MCFG0 (*(__IO uint32_t*)0x40088000U) /**< \brief (MATRIX) Master Configuration Register 0 */ - #define REG_MATRIX_MCFG1 (*(__IO uint32_t*)0x40088004U) /**< \brief (MATRIX) Master Configuration Register 1 */ - #define REG_MATRIX_MCFG2 (*(__IO uint32_t*)0x40088008U) /**< \brief (MATRIX) Master Configuration Register 2 */ - #define REG_MATRIX_MCFG3 (*(__IO uint32_t*)0x4008800CU) /**< \brief (MATRIX) Master Configuration Register 3 */ - #define REG_MATRIX_MCFG4 (*(__IO uint32_t*)0x40088010U) /**< \brief (MATRIX) Master Configuration Register 4 */ - #define REG_MATRIX_MCFG5 (*(__IO uint32_t*)0x40088014U) /**< \brief (MATRIX) Master Configuration Register 5 */ - #define REG_MATRIX_MCFG6 (*(__IO uint32_t*)0x40088018U) /**< \brief (MATRIX) Master Configuration Register 6 */ - #define REG_MATRIX_MCFG8 (*(__IO uint32_t*)0x40088020U) /**< \brief (MATRIX) Master Configuration Register 8 */ - #define REG_MATRIX_SCFG (*(__IO uint32_t*)0x40088040U) /**< \brief (MATRIX) Slave Configuration Register */ - #define REG_MATRIX_PRAS0 (*(__IO uint32_t*)0x40088080U) /**< \brief (MATRIX) Priority Register A for Slave 0 */ - #define REG_MATRIX_PRBS0 (*(__IO uint32_t*)0x40088084U) /**< \brief (MATRIX) Priority Register B for Slave 0 */ - #define REG_MATRIX_PRAS1 (*(__IO uint32_t*)0x40088088U) /**< \brief (MATRIX) Priority Register A for Slave 1 */ - #define REG_MATRIX_PRBS1 (*(__IO uint32_t*)0x4008808CU) /**< \brief (MATRIX) Priority Register B for Slave 1 */ - #define REG_MATRIX_PRAS2 (*(__IO uint32_t*)0x40088090U) /**< \brief (MATRIX) Priority Register A for Slave 2 */ - #define REG_MATRIX_PRBS2 (*(__IO uint32_t*)0x40088094U) /**< \brief (MATRIX) Priority Register B for Slave 2 */ - #define REG_MATRIX_PRAS3 (*(__IO uint32_t*)0x40088098U) /**< \brief (MATRIX) Priority Register A for Slave 3 */ - #define REG_MATRIX_PRBS3 (*(__IO uint32_t*)0x4008809CU) /**< \brief (MATRIX) Priority Register B for Slave 3 */ - #define REG_MATRIX_PRAS4 (*(__IO uint32_t*)0x400880A0U) /**< \brief (MATRIX) Priority Register A for Slave 4 */ - #define REG_MATRIX_PRBS4 (*(__IO uint32_t*)0x400880A4U) /**< \brief (MATRIX) Priority Register B for Slave 4 */ - #define REG_MATRIX_PRAS5 (*(__IO uint32_t*)0x400880A8U) /**< \brief (MATRIX) Priority Register A for Slave 5 */ - #define REG_MATRIX_PRBS5 (*(__IO uint32_t*)0x400880ACU) /**< \brief (MATRIX) Priority Register B for Slave 5 */ - #define REG_MATRIX_PRAS6 (*(__IO uint32_t*)0x400880B0U) /**< \brief (MATRIX) Priority Register A for Slave 6 */ - #define REG_MATRIX_PRBS6 (*(__IO uint32_t*)0x400880B4U) /**< \brief (MATRIX) Priority Register B for Slave 6 */ - #define REG_MATRIX_PRAS7 (*(__IO uint32_t*)0x400880B8U) /**< \brief (MATRIX) Priority Register A for Slave 7 */ - #define REG_MATRIX_PRBS7 (*(__IO uint32_t*)0x400880BCU) /**< \brief (MATRIX) Priority Register B for Slave 7 */ - #define REG_MATRIX_PRAS8 (*(__IO uint32_t*)0x400880C0U) /**< \brief (MATRIX) Priority Register A for Slave 8 */ - #define REG_MATRIX_PRBS8 (*(__IO uint32_t*)0x400880C4U) /**< \brief (MATRIX) Priority Register B for Slave 8 */ - #define REG_MATRIX_MRCR (*(__IO uint32_t*)0x40088100U) /**< \brief (MATRIX) Master Remap Control Register */ - #define REG_CCFG_SYSIO (*(__IO uint32_t*)0x40088114U) /**< \brief (MATRIX) System I/O Configuration Register */ - #define REG_CCFG_SMCNFCS (*(__IO uint32_t*)0x40088124U) /**< \brief (MATRIX) SMC NAND Flash Chip Select Configuration Register */ - #define REG_MATRIX_WPMR (*(__IO uint32_t*)0x400881E4U) /**< \brief (MATRIX) Write Protection Mode Register */ - #define REG_MATRIX_WPSR (*(__I uint32_t*)0x400881E8U) /**< \brief (MATRIX) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_MATRIX_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h deleted file mode 100644 index edacbb8..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOA_INSTANCE_ -#define _SAMS70_PIOA_INSTANCE_ - -/* ========== Register definition for PIOA peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOA_PER (0x400E0E00U) /**< \brief (PIOA) PIO Enable Register */ - #define REG_PIOA_PDR (0x400E0E04U) /**< \brief (PIOA) PIO Disable Register */ - #define REG_PIOA_PSR (0x400E0E08U) /**< \brief (PIOA) PIO Status Register */ - #define REG_PIOA_OER (0x400E0E10U) /**< \brief (PIOA) Output Enable Register */ - #define REG_PIOA_ODR (0x400E0E14U) /**< \brief (PIOA) Output Disable Register */ - #define REG_PIOA_OSR (0x400E0E18U) /**< \brief (PIOA) Output Status Register */ - #define REG_PIOA_IFER (0x400E0E20U) /**< \brief (PIOA) Glitch Input Filter Enable Register */ - #define REG_PIOA_IFDR (0x400E0E24U) /**< \brief (PIOA) Glitch Input Filter Disable Register */ - #define REG_PIOA_IFSR (0x400E0E28U) /**< \brief (PIOA) Glitch Input Filter Status Register */ - #define REG_PIOA_SODR (0x400E0E30U) /**< \brief (PIOA) Set Output Data Register */ - #define REG_PIOA_CODR (0x400E0E34U) /**< \brief (PIOA) Clear Output Data Register */ - #define REG_PIOA_ODSR (0x400E0E38U) /**< \brief (PIOA) Output Data Status Register */ - #define REG_PIOA_PDSR (0x400E0E3CU) /**< \brief (PIOA) Pin Data Status Register */ - #define REG_PIOA_IER (0x400E0E40U) /**< \brief (PIOA) Interrupt Enable Register */ - #define REG_PIOA_IDR (0x400E0E44U) /**< \brief (PIOA) Interrupt Disable Register */ - #define REG_PIOA_IMR (0x400E0E48U) /**< \brief (PIOA) Interrupt Mask Register */ - #define REG_PIOA_ISR (0x400E0E4CU) /**< \brief (PIOA) Interrupt Status Register */ - #define REG_PIOA_MDER (0x400E0E50U) /**< \brief (PIOA) Multi-driver Enable Register */ - #define REG_PIOA_MDDR (0x400E0E54U) /**< \brief (PIOA) Multi-driver Disable Register */ - #define REG_PIOA_MDSR (0x400E0E58U) /**< \brief (PIOA) Multi-driver Status Register */ - #define REG_PIOA_PUDR (0x400E0E60U) /**< \brief (PIOA) Pull-up Disable Register */ - #define REG_PIOA_PUER (0x400E0E64U) /**< \brief (PIOA) Pull-up Enable Register */ - #define REG_PIOA_PUSR (0x400E0E68U) /**< \brief (PIOA) Pad Pull-up Status Register */ - #define REG_PIOA_ABCDSR (0x400E0E70U) /**< \brief (PIOA) Peripheral Select Register */ - #define REG_PIOA_IFSCDR (0x400E0E80U) /**< \brief (PIOA) Input Filter Slow Clock Disable Register */ - #define REG_PIOA_IFSCER (0x400E0E84U) /**< \brief (PIOA) Input Filter Slow Clock Enable Register */ - #define REG_PIOA_IFSCSR (0x400E0E88U) /**< \brief (PIOA) Input Filter Slow Clock Status Register */ - #define REG_PIOA_SCDR (0x400E0E8CU) /**< \brief (PIOA) Slow Clock Divider Debouncing Register */ - #define REG_PIOA_PPDDR (0x400E0E90U) /**< \brief (PIOA) Pad Pull-down Disable Register */ - #define REG_PIOA_PPDER (0x400E0E94U) /**< \brief (PIOA) Pad Pull-down Enable Register */ - #define REG_PIOA_PPDSR (0x400E0E98U) /**< \brief (PIOA) Pad Pull-down Status Register */ - #define REG_PIOA_OWER (0x400E0EA0U) /**< \brief (PIOA) Output Write Enable */ - #define REG_PIOA_OWDR (0x400E0EA4U) /**< \brief (PIOA) Output Write Disable */ - #define REG_PIOA_OWSR (0x400E0EA8U) /**< \brief (PIOA) Output Write Status Register */ - #define REG_PIOA_AIMER (0x400E0EB0U) /**< \brief (PIOA) Additional Interrupt Modes Enable Register */ - #define REG_PIOA_AIMDR (0x400E0EB4U) /**< \brief (PIOA) Additional Interrupt Modes Disable Register */ - #define REG_PIOA_AIMMR (0x400E0EB8U) /**< \brief (PIOA) Additional Interrupt Modes Mask Register */ - #define REG_PIOA_ESR (0x400E0EC0U) /**< \brief (PIOA) Edge Select Register */ - #define REG_PIOA_LSR (0x400E0EC4U) /**< \brief (PIOA) Level Select Register */ - #define REG_PIOA_ELSR (0x400E0EC8U) /**< \brief (PIOA) Edge/Level Status Register */ - #define REG_PIOA_FELLSR (0x400E0ED0U) /**< \brief (PIOA) Falling Edge/Low-Level Select Register */ - #define REG_PIOA_REHLSR (0x400E0ED4U) /**< \brief (PIOA) Rising Edge/High-Level Select Register */ - #define REG_PIOA_FRLHSR (0x400E0ED8U) /**< \brief (PIOA) Fall/Rise - Low/High Status Register */ - #define REG_PIOA_LOCKSR (0x400E0EE0U) /**< \brief (PIOA) Lock Status */ - #define REG_PIOA_WPMR (0x400E0EE4U) /**< \brief (PIOA) Write Protection Mode Register */ - #define REG_PIOA_WPSR (0x400E0EE8U) /**< \brief (PIOA) Write Protection Status Register */ - #define REG_PIOA_SCHMITT (0x400E0F00U) /**< \brief (PIOA) Schmitt Trigger Register */ - #define REG_PIOA_DRIVER (0x400E0F18U) /**< \brief (PIOA) PIO I/O Drive Register */ - #define REG_PIOA_KER (0x400E0F20U) /**< \brief (PIOA) Keypad Controller Enable Register */ - #define REG_PIOA_KRCR (0x400E0F24U) /**< \brief (PIOA) Keypad Controller Row Column Register */ - #define REG_PIOA_KDR (0x400E0F28U) /**< \brief (PIOA) Keypad Controller Debouncing Register */ - #define REG_PIOA_KIER (0x400E0F30U) /**< \brief (PIOA) Keypad Controller Interrupt Enable Register */ - #define REG_PIOA_KIDR (0x400E0F34U) /**< \brief (PIOA) Keypad Controller Interrupt Disable Register */ - #define REG_PIOA_KIMR (0x400E0F38U) /**< \brief (PIOA) Keypad Controller Interrupt Mask Register */ - #define REG_PIOA_KSR (0x400E0F3CU) /**< \brief (PIOA) Keypad Controller Status Register */ - #define REG_PIOA_KKPR (0x400E0F40U) /**< \brief (PIOA) Keypad Controller Key Press Register */ - #define REG_PIOA_KKRR (0x400E0F44U) /**< \brief (PIOA) Keypad Controller Key Release Register */ - #define REG_PIOA_PCMR (0x400E0F50U) /**< \brief (PIOA) Parallel Capture Mode Register */ - #define REG_PIOA_PCIER (0x400E0F54U) /**< \brief (PIOA) Parallel Capture Interrupt Enable Register */ - #define REG_PIOA_PCIDR (0x400E0F58U) /**< \brief (PIOA) Parallel Capture Interrupt Disable Register */ - #define REG_PIOA_PCIMR (0x400E0F5CU) /**< \brief (PIOA) Parallel Capture Interrupt Mask Register */ - #define REG_PIOA_PCISR (0x400E0F60U) /**< \brief (PIOA) Parallel Capture Interrupt Status Register */ - #define REG_PIOA_PCRHR (0x400E0F64U) /**< \brief (PIOA) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOA_PER (*(__O uint32_t*)0x400E0E00U) /**< \brief (PIOA) PIO Enable Register */ - #define REG_PIOA_PDR (*(__O uint32_t*)0x400E0E04U) /**< \brief (PIOA) PIO Disable Register */ - #define REG_PIOA_PSR (*(__I uint32_t*)0x400E0E08U) /**< \brief (PIOA) PIO Status Register */ - #define REG_PIOA_OER (*(__O uint32_t*)0x400E0E10U) /**< \brief (PIOA) Output Enable Register */ - #define REG_PIOA_ODR (*(__O uint32_t*)0x400E0E14U) /**< \brief (PIOA) Output Disable Register */ - #define REG_PIOA_OSR (*(__I uint32_t*)0x400E0E18U) /**< \brief (PIOA) Output Status Register */ - #define REG_PIOA_IFER (*(__O uint32_t*)0x400E0E20U) /**< \brief (PIOA) Glitch Input Filter Enable Register */ - #define REG_PIOA_IFDR (*(__O uint32_t*)0x400E0E24U) /**< \brief (PIOA) Glitch Input Filter Disable Register */ - #define REG_PIOA_IFSR (*(__I uint32_t*)0x400E0E28U) /**< \brief (PIOA) Glitch Input Filter Status Register */ - #define REG_PIOA_SODR (*(__O uint32_t*)0x400E0E30U) /**< \brief (PIOA) Set Output Data Register */ - #define REG_PIOA_CODR (*(__O uint32_t*)0x400E0E34U) /**< \brief (PIOA) Clear Output Data Register */ - #define REG_PIOA_ODSR (*(__IO uint32_t*)0x400E0E38U) /**< \brief (PIOA) Output Data Status Register */ - #define REG_PIOA_PDSR (*(__I uint32_t*)0x400E0E3CU) /**< \brief (PIOA) Pin Data Status Register */ - #define REG_PIOA_IER (*(__O uint32_t*)0x400E0E40U) /**< \brief (PIOA) Interrupt Enable Register */ - #define REG_PIOA_IDR (*(__O uint32_t*)0x400E0E44U) /**< \brief (PIOA) Interrupt Disable Register */ - #define REG_PIOA_IMR (*(__I uint32_t*)0x400E0E48U) /**< \brief (PIOA) Interrupt Mask Register */ - #define REG_PIOA_ISR (*(__I uint32_t*)0x400E0E4CU) /**< \brief (PIOA) Interrupt Status Register */ - #define REG_PIOA_MDER (*(__O uint32_t*)0x400E0E50U) /**< \brief (PIOA) Multi-driver Enable Register */ - #define REG_PIOA_MDDR (*(__O uint32_t*)0x400E0E54U) /**< \brief (PIOA) Multi-driver Disable Register */ - #define REG_PIOA_MDSR (*(__I uint32_t*)0x400E0E58U) /**< \brief (PIOA) Multi-driver Status Register */ - #define REG_PIOA_PUDR (*(__O uint32_t*)0x400E0E60U) /**< \brief (PIOA) Pull-up Disable Register */ - #define REG_PIOA_PUER (*(__O uint32_t*)0x400E0E64U) /**< \brief (PIOA) Pull-up Enable Register */ - #define REG_PIOA_PUSR (*(__I uint32_t*)0x400E0E68U) /**< \brief (PIOA) Pad Pull-up Status Register */ - #define REG_PIOA_ABCDSR (*(__IO uint32_t*)0x400E0E70U) /**< \brief (PIOA) Peripheral Select Register */ - #define REG_PIOA_IFSCDR (*(__O uint32_t*)0x400E0E80U) /**< \brief (PIOA) Input Filter Slow Clock Disable Register */ - #define REG_PIOA_IFSCER (*(__O uint32_t*)0x400E0E84U) /**< \brief (PIOA) Input Filter Slow Clock Enable Register */ - #define REG_PIOA_IFSCSR (*(__I uint32_t*)0x400E0E88U) /**< \brief (PIOA) Input Filter Slow Clock Status Register */ - #define REG_PIOA_SCDR (*(__IO uint32_t*)0x400E0E8CU) /**< \brief (PIOA) Slow Clock Divider Debouncing Register */ - #define REG_PIOA_PPDDR (*(__O uint32_t*)0x400E0E90U) /**< \brief (PIOA) Pad Pull-down Disable Register */ - #define REG_PIOA_PPDER (*(__O uint32_t*)0x400E0E94U) /**< \brief (PIOA) Pad Pull-down Enable Register */ - #define REG_PIOA_PPDSR (*(__I uint32_t*)0x400E0E98U) /**< \brief (PIOA) Pad Pull-down Status Register */ - #define REG_PIOA_OWER (*(__O uint32_t*)0x400E0EA0U) /**< \brief (PIOA) Output Write Enable */ - #define REG_PIOA_OWDR (*(__O uint32_t*)0x400E0EA4U) /**< \brief (PIOA) Output Write Disable */ - #define REG_PIOA_OWSR (*(__I uint32_t*)0x400E0EA8U) /**< \brief (PIOA) Output Write Status Register */ - #define REG_PIOA_AIMER (*(__O uint32_t*)0x400E0EB0U) /**< \brief (PIOA) Additional Interrupt Modes Enable Register */ - #define REG_PIOA_AIMDR (*(__O uint32_t*)0x400E0EB4U) /**< \brief (PIOA) Additional Interrupt Modes Disable Register */ - #define REG_PIOA_AIMMR (*(__I uint32_t*)0x400E0EB8U) /**< \brief (PIOA) Additional Interrupt Modes Mask Register */ - #define REG_PIOA_ESR (*(__O uint32_t*)0x400E0EC0U) /**< \brief (PIOA) Edge Select Register */ - #define REG_PIOA_LSR (*(__O uint32_t*)0x400E0EC4U) /**< \brief (PIOA) Level Select Register */ - #define REG_PIOA_ELSR (*(__I uint32_t*)0x400E0EC8U) /**< \brief (PIOA) Edge/Level Status Register */ - #define REG_PIOA_FELLSR (*(__O uint32_t*)0x400E0ED0U) /**< \brief (PIOA) Falling Edge/Low-Level Select Register */ - #define REG_PIOA_REHLSR (*(__O uint32_t*)0x400E0ED4U) /**< \brief (PIOA) Rising Edge/High-Level Select Register */ - #define REG_PIOA_FRLHSR (*(__I uint32_t*)0x400E0ED8U) /**< \brief (PIOA) Fall/Rise - Low/High Status Register */ - #define REG_PIOA_LOCKSR (*(__I uint32_t*)0x400E0EE0U) /**< \brief (PIOA) Lock Status */ - #define REG_PIOA_WPMR (*(__IO uint32_t*)0x400E0EE4U) /**< \brief (PIOA) Write Protection Mode Register */ - #define REG_PIOA_WPSR (*(__I uint32_t*)0x400E0EE8U) /**< \brief (PIOA) Write Protection Status Register */ - #define REG_PIOA_SCHMITT (*(__IO uint32_t*)0x400E0F00U) /**< \brief (PIOA) Schmitt Trigger Register */ - #define REG_PIOA_DRIVER (*(__IO uint32_t*)0x400E0F18U) /**< \brief (PIOA) PIO I/O Drive Register */ - #define REG_PIOA_KER (*(__IO uint32_t*)0x400E0F20U) /**< \brief (PIOA) Keypad Controller Enable Register */ - #define REG_PIOA_KRCR (*(__IO uint32_t*)0x400E0F24U) /**< \brief (PIOA) Keypad Controller Row Column Register */ - #define REG_PIOA_KDR (*(__IO uint32_t*)0x400E0F28U) /**< \brief (PIOA) Keypad Controller Debouncing Register */ - #define REG_PIOA_KIER (*(__O uint32_t*)0x400E0F30U) /**< \brief (PIOA) Keypad Controller Interrupt Enable Register */ - #define REG_PIOA_KIDR (*(__O uint32_t*)0x400E0F34U) /**< \brief (PIOA) Keypad Controller Interrupt Disable Register */ - #define REG_PIOA_KIMR (*(__I uint32_t*)0x400E0F38U) /**< \brief (PIOA) Keypad Controller Interrupt Mask Register */ - #define REG_PIOA_KSR (*(__I uint32_t*)0x400E0F3CU) /**< \brief (PIOA) Keypad Controller Status Register */ - #define REG_PIOA_KKPR (*(__I uint32_t*)0x400E0F40U) /**< \brief (PIOA) Keypad Controller Key Press Register */ - #define REG_PIOA_KKRR (*(__I uint32_t*)0x400E0F44U) /**< \brief (PIOA) Keypad Controller Key Release Register */ - #define REG_PIOA_PCMR (*(__IO uint32_t*)0x400E0F50U) /**< \brief (PIOA) Parallel Capture Mode Register */ - #define REG_PIOA_PCIER (*(__O uint32_t*)0x400E0F54U) /**< \brief (PIOA) Parallel Capture Interrupt Enable Register */ - #define REG_PIOA_PCIDR (*(__O uint32_t*)0x400E0F58U) /**< \brief (PIOA) Parallel Capture Interrupt Disable Register */ - #define REG_PIOA_PCIMR (*(__I uint32_t*)0x400E0F5CU) /**< \brief (PIOA) Parallel Capture Interrupt Mask Register */ - #define REG_PIOA_PCISR (*(__I uint32_t*)0x400E0F60U) /**< \brief (PIOA) Parallel Capture Interrupt Status Register */ - #define REG_PIOA_PCRHR (*(__I uint32_t*)0x400E0F64U) /**< \brief (PIOA) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOA_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h deleted file mode 100644 index 11cd590..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOB_INSTANCE_ -#define _SAMS70_PIOB_INSTANCE_ - -/* ========== Register definition for PIOB peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOB_PER (0x400E1000U) /**< \brief (PIOB) PIO Enable Register */ - #define REG_PIOB_PDR (0x400E1004U) /**< \brief (PIOB) PIO Disable Register */ - #define REG_PIOB_PSR (0x400E1008U) /**< \brief (PIOB) PIO Status Register */ - #define REG_PIOB_OER (0x400E1010U) /**< \brief (PIOB) Output Enable Register */ - #define REG_PIOB_ODR (0x400E1014U) /**< \brief (PIOB) Output Disable Register */ - #define REG_PIOB_OSR (0x400E1018U) /**< \brief (PIOB) Output Status Register */ - #define REG_PIOB_IFER (0x400E1020U) /**< \brief (PIOB) Glitch Input Filter Enable Register */ - #define REG_PIOB_IFDR (0x400E1024U) /**< \brief (PIOB) Glitch Input Filter Disable Register */ - #define REG_PIOB_IFSR (0x400E1028U) /**< \brief (PIOB) Glitch Input Filter Status Register */ - #define REG_PIOB_SODR (0x400E1030U) /**< \brief (PIOB) Set Output Data Register */ - #define REG_PIOB_CODR (0x400E1034U) /**< \brief (PIOB) Clear Output Data Register */ - #define REG_PIOB_ODSR (0x400E1038U) /**< \brief (PIOB) Output Data Status Register */ - #define REG_PIOB_PDSR (0x400E103CU) /**< \brief (PIOB) Pin Data Status Register */ - #define REG_PIOB_IER (0x400E1040U) /**< \brief (PIOB) Interrupt Enable Register */ - #define REG_PIOB_IDR (0x400E1044U) /**< \brief (PIOB) Interrupt Disable Register */ - #define REG_PIOB_IMR (0x400E1048U) /**< \brief (PIOB) Interrupt Mask Register */ - #define REG_PIOB_ISR (0x400E104CU) /**< \brief (PIOB) Interrupt Status Register */ - #define REG_PIOB_MDER (0x400E1050U) /**< \brief (PIOB) Multi-driver Enable Register */ - #define REG_PIOB_MDDR (0x400E1054U) /**< \brief (PIOB) Multi-driver Disable Register */ - #define REG_PIOB_MDSR (0x400E1058U) /**< \brief (PIOB) Multi-driver Status Register */ - #define REG_PIOB_PUDR (0x400E1060U) /**< \brief (PIOB) Pull-up Disable Register */ - #define REG_PIOB_PUER (0x400E1064U) /**< \brief (PIOB) Pull-up Enable Register */ - #define REG_PIOB_PUSR (0x400E1068U) /**< \brief (PIOB) Pad Pull-up Status Register */ - #define REG_PIOB_ABCDSR (0x400E1070U) /**< \brief (PIOB) Peripheral Select Register */ - #define REG_PIOB_IFSCDR (0x400E1080U) /**< \brief (PIOB) Input Filter Slow Clock Disable Register */ - #define REG_PIOB_IFSCER (0x400E1084U) /**< \brief (PIOB) Input Filter Slow Clock Enable Register */ - #define REG_PIOB_IFSCSR (0x400E1088U) /**< \brief (PIOB) Input Filter Slow Clock Status Register */ - #define REG_PIOB_SCDR (0x400E108CU) /**< \brief (PIOB) Slow Clock Divider Debouncing Register */ - #define REG_PIOB_PPDDR (0x400E1090U) /**< \brief (PIOB) Pad Pull-down Disable Register */ - #define REG_PIOB_PPDER (0x400E1094U) /**< \brief (PIOB) Pad Pull-down Enable Register */ - #define REG_PIOB_PPDSR (0x400E1098U) /**< \brief (PIOB) Pad Pull-down Status Register */ - #define REG_PIOB_OWER (0x400E10A0U) /**< \brief (PIOB) Output Write Enable */ - #define REG_PIOB_OWDR (0x400E10A4U) /**< \brief (PIOB) Output Write Disable */ - #define REG_PIOB_OWSR (0x400E10A8U) /**< \brief (PIOB) Output Write Status Register */ - #define REG_PIOB_AIMER (0x400E10B0U) /**< \brief (PIOB) Additional Interrupt Modes Enable Register */ - #define REG_PIOB_AIMDR (0x400E10B4U) /**< \brief (PIOB) Additional Interrupt Modes Disable Register */ - #define REG_PIOB_AIMMR (0x400E10B8U) /**< \brief (PIOB) Additional Interrupt Modes Mask Register */ - #define REG_PIOB_ESR (0x400E10C0U) /**< \brief (PIOB) Edge Select Register */ - #define REG_PIOB_LSR (0x400E10C4U) /**< \brief (PIOB) Level Select Register */ - #define REG_PIOB_ELSR (0x400E10C8U) /**< \brief (PIOB) Edge/Level Status Register */ - #define REG_PIOB_FELLSR (0x400E10D0U) /**< \brief (PIOB) Falling Edge/Low-Level Select Register */ - #define REG_PIOB_REHLSR (0x400E10D4U) /**< \brief (PIOB) Rising Edge/High-Level Select Register */ - #define REG_PIOB_FRLHSR (0x400E10D8U) /**< \brief (PIOB) Fall/Rise - Low/High Status Register */ - #define REG_PIOB_LOCKSR (0x400E10E0U) /**< \brief (PIOB) Lock Status */ - #define REG_PIOB_WPMR (0x400E10E4U) /**< \brief (PIOB) Write Protection Mode Register */ - #define REG_PIOB_WPSR (0x400E10E8U) /**< \brief (PIOB) Write Protection Status Register */ - #define REG_PIOB_SCHMITT (0x400E1100U) /**< \brief (PIOB) Schmitt Trigger Register */ - #define REG_PIOB_DRIVER (0x400E1118U) /**< \brief (PIOB) PIO I/O Drive Register */ - #define REG_PIOB_KER (0x400E1120U) /**< \brief (PIOB) Keypad Controller Enable Register */ - #define REG_PIOB_KRCR (0x400E1124U) /**< \brief (PIOB) Keypad Controller Row Column Register */ - #define REG_PIOB_KDR (0x400E1128U) /**< \brief (PIOB) Keypad Controller Debouncing Register */ - #define REG_PIOB_KIER (0x400E1130U) /**< \brief (PIOB) Keypad Controller Interrupt Enable Register */ - #define REG_PIOB_KIDR (0x400E1134U) /**< \brief (PIOB) Keypad Controller Interrupt Disable Register */ - #define REG_PIOB_KIMR (0x400E1138U) /**< \brief (PIOB) Keypad Controller Interrupt Mask Register */ - #define REG_PIOB_KSR (0x400E113CU) /**< \brief (PIOB) Keypad Controller Status Register */ - #define REG_PIOB_KKPR (0x400E1140U) /**< \brief (PIOB) Keypad Controller Key Press Register */ - #define REG_PIOB_KKRR (0x400E1144U) /**< \brief (PIOB) Keypad Controller Key Release Register */ - #define REG_PIOB_PCMR (0x400E1150U) /**< \brief (PIOB) Parallel Capture Mode Register */ - #define REG_PIOB_PCIER (0x400E1154U) /**< \brief (PIOB) Parallel Capture Interrupt Enable Register */ - #define REG_PIOB_PCIDR (0x400E1158U) /**< \brief (PIOB) Parallel Capture Interrupt Disable Register */ - #define REG_PIOB_PCIMR (0x400E115CU) /**< \brief (PIOB) Parallel Capture Interrupt Mask Register */ - #define REG_PIOB_PCISR (0x400E1160U) /**< \brief (PIOB) Parallel Capture Interrupt Status Register */ - #define REG_PIOB_PCRHR (0x400E1164U) /**< \brief (PIOB) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOB_PER (*(__O uint32_t*)0x400E1000U) /**< \brief (PIOB) PIO Enable Register */ - #define REG_PIOB_PDR (*(__O uint32_t*)0x400E1004U) /**< \brief (PIOB) PIO Disable Register */ - #define REG_PIOB_PSR (*(__I uint32_t*)0x400E1008U) /**< \brief (PIOB) PIO Status Register */ - #define REG_PIOB_OER (*(__O uint32_t*)0x400E1010U) /**< \brief (PIOB) Output Enable Register */ - #define REG_PIOB_ODR (*(__O uint32_t*)0x400E1014U) /**< \brief (PIOB) Output Disable Register */ - #define REG_PIOB_OSR (*(__I uint32_t*)0x400E1018U) /**< \brief (PIOB) Output Status Register */ - #define REG_PIOB_IFER (*(__O uint32_t*)0x400E1020U) /**< \brief (PIOB) Glitch Input Filter Enable Register */ - #define REG_PIOB_IFDR (*(__O uint32_t*)0x400E1024U) /**< \brief (PIOB) Glitch Input Filter Disable Register */ - #define REG_PIOB_IFSR (*(__I uint32_t*)0x400E1028U) /**< \brief (PIOB) Glitch Input Filter Status Register */ - #define REG_PIOB_SODR (*(__O uint32_t*)0x400E1030U) /**< \brief (PIOB) Set Output Data Register */ - #define REG_PIOB_CODR (*(__O uint32_t*)0x400E1034U) /**< \brief (PIOB) Clear Output Data Register */ - #define REG_PIOB_ODSR (*(__IO uint32_t*)0x400E1038U) /**< \brief (PIOB) Output Data Status Register */ - #define REG_PIOB_PDSR (*(__I uint32_t*)0x400E103CU) /**< \brief (PIOB) Pin Data Status Register */ - #define REG_PIOB_IER (*(__O uint32_t*)0x400E1040U) /**< \brief (PIOB) Interrupt Enable Register */ - #define REG_PIOB_IDR (*(__O uint32_t*)0x400E1044U) /**< \brief (PIOB) Interrupt Disable Register */ - #define REG_PIOB_IMR (*(__I uint32_t*)0x400E1048U) /**< \brief (PIOB) Interrupt Mask Register */ - #define REG_PIOB_ISR (*(__I uint32_t*)0x400E104CU) /**< \brief (PIOB) Interrupt Status Register */ - #define REG_PIOB_MDER (*(__O uint32_t*)0x400E1050U) /**< \brief (PIOB) Multi-driver Enable Register */ - #define REG_PIOB_MDDR (*(__O uint32_t*)0x400E1054U) /**< \brief (PIOB) Multi-driver Disable Register */ - #define REG_PIOB_MDSR (*(__I uint32_t*)0x400E1058U) /**< \brief (PIOB) Multi-driver Status Register */ - #define REG_PIOB_PUDR (*(__O uint32_t*)0x400E1060U) /**< \brief (PIOB) Pull-up Disable Register */ - #define REG_PIOB_PUER (*(__O uint32_t*)0x400E1064U) /**< \brief (PIOB) Pull-up Enable Register */ - #define REG_PIOB_PUSR (*(__I uint32_t*)0x400E1068U) /**< \brief (PIOB) Pad Pull-up Status Register */ - #define REG_PIOB_ABCDSR (*(__IO uint32_t*)0x400E1070U) /**< \brief (PIOB) Peripheral Select Register */ - #define REG_PIOB_IFSCDR (*(__O uint32_t*)0x400E1080U) /**< \brief (PIOB) Input Filter Slow Clock Disable Register */ - #define REG_PIOB_IFSCER (*(__O uint32_t*)0x400E1084U) /**< \brief (PIOB) Input Filter Slow Clock Enable Register */ - #define REG_PIOB_IFSCSR (*(__I uint32_t*)0x400E1088U) /**< \brief (PIOB) Input Filter Slow Clock Status Register */ - #define REG_PIOB_SCDR (*(__IO uint32_t*)0x400E108CU) /**< \brief (PIOB) Slow Clock Divider Debouncing Register */ - #define REG_PIOB_PPDDR (*(__O uint32_t*)0x400E1090U) /**< \brief (PIOB) Pad Pull-down Disable Register */ - #define REG_PIOB_PPDER (*(__O uint32_t*)0x400E1094U) /**< \brief (PIOB) Pad Pull-down Enable Register */ - #define REG_PIOB_PPDSR (*(__I uint32_t*)0x400E1098U) /**< \brief (PIOB) Pad Pull-down Status Register */ - #define REG_PIOB_OWER (*(__O uint32_t*)0x400E10A0U) /**< \brief (PIOB) Output Write Enable */ - #define REG_PIOB_OWDR (*(__O uint32_t*)0x400E10A4U) /**< \brief (PIOB) Output Write Disable */ - #define REG_PIOB_OWSR (*(__I uint32_t*)0x400E10A8U) /**< \brief (PIOB) Output Write Status Register */ - #define REG_PIOB_AIMER (*(__O uint32_t*)0x400E10B0U) /**< \brief (PIOB) Additional Interrupt Modes Enable Register */ - #define REG_PIOB_AIMDR (*(__O uint32_t*)0x400E10B4U) /**< \brief (PIOB) Additional Interrupt Modes Disable Register */ - #define REG_PIOB_AIMMR (*(__I uint32_t*)0x400E10B8U) /**< \brief (PIOB) Additional Interrupt Modes Mask Register */ - #define REG_PIOB_ESR (*(__O uint32_t*)0x400E10C0U) /**< \brief (PIOB) Edge Select Register */ - #define REG_PIOB_LSR (*(__O uint32_t*)0x400E10C4U) /**< \brief (PIOB) Level Select Register */ - #define REG_PIOB_ELSR (*(__I uint32_t*)0x400E10C8U) /**< \brief (PIOB) Edge/Level Status Register */ - #define REG_PIOB_FELLSR (*(__O uint32_t*)0x400E10D0U) /**< \brief (PIOB) Falling Edge/Low-Level Select Register */ - #define REG_PIOB_REHLSR (*(__O uint32_t*)0x400E10D4U) /**< \brief (PIOB) Rising Edge/High-Level Select Register */ - #define REG_PIOB_FRLHSR (*(__I uint32_t*)0x400E10D8U) /**< \brief (PIOB) Fall/Rise - Low/High Status Register */ - #define REG_PIOB_LOCKSR (*(__I uint32_t*)0x400E10E0U) /**< \brief (PIOB) Lock Status */ - #define REG_PIOB_WPMR (*(__IO uint32_t*)0x400E10E4U) /**< \brief (PIOB) Write Protection Mode Register */ - #define REG_PIOB_WPSR (*(__I uint32_t*)0x400E10E8U) /**< \brief (PIOB) Write Protection Status Register */ - #define REG_PIOB_SCHMITT (*(__IO uint32_t*)0x400E1100U) /**< \brief (PIOB) Schmitt Trigger Register */ - #define REG_PIOB_DRIVER (*(__IO uint32_t*)0x400E1118U) /**< \brief (PIOB) PIO I/O Drive Register */ - #define REG_PIOB_KER (*(__IO uint32_t*)0x400E1120U) /**< \brief (PIOB) Keypad Controller Enable Register */ - #define REG_PIOB_KRCR (*(__IO uint32_t*)0x400E1124U) /**< \brief (PIOB) Keypad Controller Row Column Register */ - #define REG_PIOB_KDR (*(__IO uint32_t*)0x400E1128U) /**< \brief (PIOB) Keypad Controller Debouncing Register */ - #define REG_PIOB_KIER (*(__O uint32_t*)0x400E1130U) /**< \brief (PIOB) Keypad Controller Interrupt Enable Register */ - #define REG_PIOB_KIDR (*(__O uint32_t*)0x400E1134U) /**< \brief (PIOB) Keypad Controller Interrupt Disable Register */ - #define REG_PIOB_KIMR (*(__I uint32_t*)0x400E1138U) /**< \brief (PIOB) Keypad Controller Interrupt Mask Register */ - #define REG_PIOB_KSR (*(__I uint32_t*)0x400E113CU) /**< \brief (PIOB) Keypad Controller Status Register */ - #define REG_PIOB_KKPR (*(__I uint32_t*)0x400E1140U) /**< \brief (PIOB) Keypad Controller Key Press Register */ - #define REG_PIOB_KKRR (*(__I uint32_t*)0x400E1144U) /**< \brief (PIOB) Keypad Controller Key Release Register */ - #define REG_PIOB_PCMR (*(__IO uint32_t*)0x400E1150U) /**< \brief (PIOB) Parallel Capture Mode Register */ - #define REG_PIOB_PCIER (*(__O uint32_t*)0x400E1154U) /**< \brief (PIOB) Parallel Capture Interrupt Enable Register */ - #define REG_PIOB_PCIDR (*(__O uint32_t*)0x400E1158U) /**< \brief (PIOB) Parallel Capture Interrupt Disable Register */ - #define REG_PIOB_PCIMR (*(__I uint32_t*)0x400E115CU) /**< \brief (PIOB) Parallel Capture Interrupt Mask Register */ - #define REG_PIOB_PCISR (*(__I uint32_t*)0x400E1160U) /**< \brief (PIOB) Parallel Capture Interrupt Status Register */ - #define REG_PIOB_PCRHR (*(__I uint32_t*)0x400E1164U) /**< \brief (PIOB) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOB_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h deleted file mode 100644 index 6d0d928..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOC_INSTANCE_ -#define _SAMS70_PIOC_INSTANCE_ - -/* ========== Register definition for PIOC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOC_PER (0x400E1200U) /**< \brief (PIOC) PIO Enable Register */ - #define REG_PIOC_PDR (0x400E1204U) /**< \brief (PIOC) PIO Disable Register */ - #define REG_PIOC_PSR (0x400E1208U) /**< \brief (PIOC) PIO Status Register */ - #define REG_PIOC_OER (0x400E1210U) /**< \brief (PIOC) Output Enable Register */ - #define REG_PIOC_ODR (0x400E1214U) /**< \brief (PIOC) Output Disable Register */ - #define REG_PIOC_OSR (0x400E1218U) /**< \brief (PIOC) Output Status Register */ - #define REG_PIOC_IFER (0x400E1220U) /**< \brief (PIOC) Glitch Input Filter Enable Register */ - #define REG_PIOC_IFDR (0x400E1224U) /**< \brief (PIOC) Glitch Input Filter Disable Register */ - #define REG_PIOC_IFSR (0x400E1228U) /**< \brief (PIOC) Glitch Input Filter Status Register */ - #define REG_PIOC_SODR (0x400E1230U) /**< \brief (PIOC) Set Output Data Register */ - #define REG_PIOC_CODR (0x400E1234U) /**< \brief (PIOC) Clear Output Data Register */ - #define REG_PIOC_ODSR (0x400E1238U) /**< \brief (PIOC) Output Data Status Register */ - #define REG_PIOC_PDSR (0x400E123CU) /**< \brief (PIOC) Pin Data Status Register */ - #define REG_PIOC_IER (0x400E1240U) /**< \brief (PIOC) Interrupt Enable Register */ - #define REG_PIOC_IDR (0x400E1244U) /**< \brief (PIOC) Interrupt Disable Register */ - #define REG_PIOC_IMR (0x400E1248U) /**< \brief (PIOC) Interrupt Mask Register */ - #define REG_PIOC_ISR (0x400E124CU) /**< \brief (PIOC) Interrupt Status Register */ - #define REG_PIOC_MDER (0x400E1250U) /**< \brief (PIOC) Multi-driver Enable Register */ - #define REG_PIOC_MDDR (0x400E1254U) /**< \brief (PIOC) Multi-driver Disable Register */ - #define REG_PIOC_MDSR (0x400E1258U) /**< \brief (PIOC) Multi-driver Status Register */ - #define REG_PIOC_PUDR (0x400E1260U) /**< \brief (PIOC) Pull-up Disable Register */ - #define REG_PIOC_PUER (0x400E1264U) /**< \brief (PIOC) Pull-up Enable Register */ - #define REG_PIOC_PUSR (0x400E1268U) /**< \brief (PIOC) Pad Pull-up Status Register */ - #define REG_PIOC_ABCDSR (0x400E1270U) /**< \brief (PIOC) Peripheral Select Register */ - #define REG_PIOC_IFSCDR (0x400E1280U) /**< \brief (PIOC) Input Filter Slow Clock Disable Register */ - #define REG_PIOC_IFSCER (0x400E1284U) /**< \brief (PIOC) Input Filter Slow Clock Enable Register */ - #define REG_PIOC_IFSCSR (0x400E1288U) /**< \brief (PIOC) Input Filter Slow Clock Status Register */ - #define REG_PIOC_SCDR (0x400E128CU) /**< \brief (PIOC) Slow Clock Divider Debouncing Register */ - #define REG_PIOC_PPDDR (0x400E1290U) /**< \brief (PIOC) Pad Pull-down Disable Register */ - #define REG_PIOC_PPDER (0x400E1294U) /**< \brief (PIOC) Pad Pull-down Enable Register */ - #define REG_PIOC_PPDSR (0x400E1298U) /**< \brief (PIOC) Pad Pull-down Status Register */ - #define REG_PIOC_OWER (0x400E12A0U) /**< \brief (PIOC) Output Write Enable */ - #define REG_PIOC_OWDR (0x400E12A4U) /**< \brief (PIOC) Output Write Disable */ - #define REG_PIOC_OWSR (0x400E12A8U) /**< \brief (PIOC) Output Write Status Register */ - #define REG_PIOC_AIMER (0x400E12B0U) /**< \brief (PIOC) Additional Interrupt Modes Enable Register */ - #define REG_PIOC_AIMDR (0x400E12B4U) /**< \brief (PIOC) Additional Interrupt Modes Disable Register */ - #define REG_PIOC_AIMMR (0x400E12B8U) /**< \brief (PIOC) Additional Interrupt Modes Mask Register */ - #define REG_PIOC_ESR (0x400E12C0U) /**< \brief (PIOC) Edge Select Register */ - #define REG_PIOC_LSR (0x400E12C4U) /**< \brief (PIOC) Level Select Register */ - #define REG_PIOC_ELSR (0x400E12C8U) /**< \brief (PIOC) Edge/Level Status Register */ - #define REG_PIOC_FELLSR (0x400E12D0U) /**< \brief (PIOC) Falling Edge/Low-Level Select Register */ - #define REG_PIOC_REHLSR (0x400E12D4U) /**< \brief (PIOC) Rising Edge/High-Level Select Register */ - #define REG_PIOC_FRLHSR (0x400E12D8U) /**< \brief (PIOC) Fall/Rise - Low/High Status Register */ - #define REG_PIOC_LOCKSR (0x400E12E0U) /**< \brief (PIOC) Lock Status */ - #define REG_PIOC_WPMR (0x400E12E4U) /**< \brief (PIOC) Write Protection Mode Register */ - #define REG_PIOC_WPSR (0x400E12E8U) /**< \brief (PIOC) Write Protection Status Register */ - #define REG_PIOC_SCHMITT (0x400E1300U) /**< \brief (PIOC) Schmitt Trigger Register */ - #define REG_PIOC_DRIVER (0x400E1318U) /**< \brief (PIOC) PIO I/O Drive Register */ - #define REG_PIOC_KER (0x400E1320U) /**< \brief (PIOC) Keypad Controller Enable Register */ - #define REG_PIOC_KRCR (0x400E1324U) /**< \brief (PIOC) Keypad Controller Row Column Register */ - #define REG_PIOC_KDR (0x400E1328U) /**< \brief (PIOC) Keypad Controller Debouncing Register */ - #define REG_PIOC_KIER (0x400E1330U) /**< \brief (PIOC) Keypad Controller Interrupt Enable Register */ - #define REG_PIOC_KIDR (0x400E1334U) /**< \brief (PIOC) Keypad Controller Interrupt Disable Register */ - #define REG_PIOC_KIMR (0x400E1338U) /**< \brief (PIOC) Keypad Controller Interrupt Mask Register */ - #define REG_PIOC_KSR (0x400E133CU) /**< \brief (PIOC) Keypad Controller Status Register */ - #define REG_PIOC_KKPR (0x400E1340U) /**< \brief (PIOC) Keypad Controller Key Press Register */ - #define REG_PIOC_KKRR (0x400E1344U) /**< \brief (PIOC) Keypad Controller Key Release Register */ - #define REG_PIOC_PCMR (0x400E1350U) /**< \brief (PIOC) Parallel Capture Mode Register */ - #define REG_PIOC_PCIER (0x400E1354U) /**< \brief (PIOC) Parallel Capture Interrupt Enable Register */ - #define REG_PIOC_PCIDR (0x400E1358U) /**< \brief (PIOC) Parallel Capture Interrupt Disable Register */ - #define REG_PIOC_PCIMR (0x400E135CU) /**< \brief (PIOC) Parallel Capture Interrupt Mask Register */ - #define REG_PIOC_PCISR (0x400E1360U) /**< \brief (PIOC) Parallel Capture Interrupt Status Register */ - #define REG_PIOC_PCRHR (0x400E1364U) /**< \brief (PIOC) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOC_PER (*(__O uint32_t*)0x400E1200U) /**< \brief (PIOC) PIO Enable Register */ - #define REG_PIOC_PDR (*(__O uint32_t*)0x400E1204U) /**< \brief (PIOC) PIO Disable Register */ - #define REG_PIOC_PSR (*(__I uint32_t*)0x400E1208U) /**< \brief (PIOC) PIO Status Register */ - #define REG_PIOC_OER (*(__O uint32_t*)0x400E1210U) /**< \brief (PIOC) Output Enable Register */ - #define REG_PIOC_ODR (*(__O uint32_t*)0x400E1214U) /**< \brief (PIOC) Output Disable Register */ - #define REG_PIOC_OSR (*(__I uint32_t*)0x400E1218U) /**< \brief (PIOC) Output Status Register */ - #define REG_PIOC_IFER (*(__O uint32_t*)0x400E1220U) /**< \brief (PIOC) Glitch Input Filter Enable Register */ - #define REG_PIOC_IFDR (*(__O uint32_t*)0x400E1224U) /**< \brief (PIOC) Glitch Input Filter Disable Register */ - #define REG_PIOC_IFSR (*(__I uint32_t*)0x400E1228U) /**< \brief (PIOC) Glitch Input Filter Status Register */ - #define REG_PIOC_SODR (*(__O uint32_t*)0x400E1230U) /**< \brief (PIOC) Set Output Data Register */ - #define REG_PIOC_CODR (*(__O uint32_t*)0x400E1234U) /**< \brief (PIOC) Clear Output Data Register */ - #define REG_PIOC_ODSR (*(__IO uint32_t*)0x400E1238U) /**< \brief (PIOC) Output Data Status Register */ - #define REG_PIOC_PDSR (*(__I uint32_t*)0x400E123CU) /**< \brief (PIOC) Pin Data Status Register */ - #define REG_PIOC_IER (*(__O uint32_t*)0x400E1240U) /**< \brief (PIOC) Interrupt Enable Register */ - #define REG_PIOC_IDR (*(__O uint32_t*)0x400E1244U) /**< \brief (PIOC) Interrupt Disable Register */ - #define REG_PIOC_IMR (*(__I uint32_t*)0x400E1248U) /**< \brief (PIOC) Interrupt Mask Register */ - #define REG_PIOC_ISR (*(__I uint32_t*)0x400E124CU) /**< \brief (PIOC) Interrupt Status Register */ - #define REG_PIOC_MDER (*(__O uint32_t*)0x400E1250U) /**< \brief (PIOC) Multi-driver Enable Register */ - #define REG_PIOC_MDDR (*(__O uint32_t*)0x400E1254U) /**< \brief (PIOC) Multi-driver Disable Register */ - #define REG_PIOC_MDSR (*(__I uint32_t*)0x400E1258U) /**< \brief (PIOC) Multi-driver Status Register */ - #define REG_PIOC_PUDR (*(__O uint32_t*)0x400E1260U) /**< \brief (PIOC) Pull-up Disable Register */ - #define REG_PIOC_PUER (*(__O uint32_t*)0x400E1264U) /**< \brief (PIOC) Pull-up Enable Register */ - #define REG_PIOC_PUSR (*(__I uint32_t*)0x400E1268U) /**< \brief (PIOC) Pad Pull-up Status Register */ - #define REG_PIOC_ABCDSR (*(__IO uint32_t*)0x400E1270U) /**< \brief (PIOC) Peripheral Select Register */ - #define REG_PIOC_IFSCDR (*(__O uint32_t*)0x400E1280U) /**< \brief (PIOC) Input Filter Slow Clock Disable Register */ - #define REG_PIOC_IFSCER (*(__O uint32_t*)0x400E1284U) /**< \brief (PIOC) Input Filter Slow Clock Enable Register */ - #define REG_PIOC_IFSCSR (*(__I uint32_t*)0x400E1288U) /**< \brief (PIOC) Input Filter Slow Clock Status Register */ - #define REG_PIOC_SCDR (*(__IO uint32_t*)0x400E128CU) /**< \brief (PIOC) Slow Clock Divider Debouncing Register */ - #define REG_PIOC_PPDDR (*(__O uint32_t*)0x400E1290U) /**< \brief (PIOC) Pad Pull-down Disable Register */ - #define REG_PIOC_PPDER (*(__O uint32_t*)0x400E1294U) /**< \brief (PIOC) Pad Pull-down Enable Register */ - #define REG_PIOC_PPDSR (*(__I uint32_t*)0x400E1298U) /**< \brief (PIOC) Pad Pull-down Status Register */ - #define REG_PIOC_OWER (*(__O uint32_t*)0x400E12A0U) /**< \brief (PIOC) Output Write Enable */ - #define REG_PIOC_OWDR (*(__O uint32_t*)0x400E12A4U) /**< \brief (PIOC) Output Write Disable */ - #define REG_PIOC_OWSR (*(__I uint32_t*)0x400E12A8U) /**< \brief (PIOC) Output Write Status Register */ - #define REG_PIOC_AIMER (*(__O uint32_t*)0x400E12B0U) /**< \brief (PIOC) Additional Interrupt Modes Enable Register */ - #define REG_PIOC_AIMDR (*(__O uint32_t*)0x400E12B4U) /**< \brief (PIOC) Additional Interrupt Modes Disable Register */ - #define REG_PIOC_AIMMR (*(__I uint32_t*)0x400E12B8U) /**< \brief (PIOC) Additional Interrupt Modes Mask Register */ - #define REG_PIOC_ESR (*(__O uint32_t*)0x400E12C0U) /**< \brief (PIOC) Edge Select Register */ - #define REG_PIOC_LSR (*(__O uint32_t*)0x400E12C4U) /**< \brief (PIOC) Level Select Register */ - #define REG_PIOC_ELSR (*(__I uint32_t*)0x400E12C8U) /**< \brief (PIOC) Edge/Level Status Register */ - #define REG_PIOC_FELLSR (*(__O uint32_t*)0x400E12D0U) /**< \brief (PIOC) Falling Edge/Low-Level Select Register */ - #define REG_PIOC_REHLSR (*(__O uint32_t*)0x400E12D4U) /**< \brief (PIOC) Rising Edge/High-Level Select Register */ - #define REG_PIOC_FRLHSR (*(__I uint32_t*)0x400E12D8U) /**< \brief (PIOC) Fall/Rise - Low/High Status Register */ - #define REG_PIOC_LOCKSR (*(__I uint32_t*)0x400E12E0U) /**< \brief (PIOC) Lock Status */ - #define REG_PIOC_WPMR (*(__IO uint32_t*)0x400E12E4U) /**< \brief (PIOC) Write Protection Mode Register */ - #define REG_PIOC_WPSR (*(__I uint32_t*)0x400E12E8U) /**< \brief (PIOC) Write Protection Status Register */ - #define REG_PIOC_SCHMITT (*(__IO uint32_t*)0x400E1300U) /**< \brief (PIOC) Schmitt Trigger Register */ - #define REG_PIOC_DRIVER (*(__IO uint32_t*)0x400E1318U) /**< \brief (PIOC) PIO I/O Drive Register */ - #define REG_PIOC_KER (*(__IO uint32_t*)0x400E1320U) /**< \brief (PIOC) Keypad Controller Enable Register */ - #define REG_PIOC_KRCR (*(__IO uint32_t*)0x400E1324U) /**< \brief (PIOC) Keypad Controller Row Column Register */ - #define REG_PIOC_KDR (*(__IO uint32_t*)0x400E1328U) /**< \brief (PIOC) Keypad Controller Debouncing Register */ - #define REG_PIOC_KIER (*(__O uint32_t*)0x400E1330U) /**< \brief (PIOC) Keypad Controller Interrupt Enable Register */ - #define REG_PIOC_KIDR (*(__O uint32_t*)0x400E1334U) /**< \brief (PIOC) Keypad Controller Interrupt Disable Register */ - #define REG_PIOC_KIMR (*(__I uint32_t*)0x400E1338U) /**< \brief (PIOC) Keypad Controller Interrupt Mask Register */ - #define REG_PIOC_KSR (*(__I uint32_t*)0x400E133CU) /**< \brief (PIOC) Keypad Controller Status Register */ - #define REG_PIOC_KKPR (*(__I uint32_t*)0x400E1340U) /**< \brief (PIOC) Keypad Controller Key Press Register */ - #define REG_PIOC_KKRR (*(__I uint32_t*)0x400E1344U) /**< \brief (PIOC) Keypad Controller Key Release Register */ - #define REG_PIOC_PCMR (*(__IO uint32_t*)0x400E1350U) /**< \brief (PIOC) Parallel Capture Mode Register */ - #define REG_PIOC_PCIER (*(__O uint32_t*)0x400E1354U) /**< \brief (PIOC) Parallel Capture Interrupt Enable Register */ - #define REG_PIOC_PCIDR (*(__O uint32_t*)0x400E1358U) /**< \brief (PIOC) Parallel Capture Interrupt Disable Register */ - #define REG_PIOC_PCIMR (*(__I uint32_t*)0x400E135CU) /**< \brief (PIOC) Parallel Capture Interrupt Mask Register */ - #define REG_PIOC_PCISR (*(__I uint32_t*)0x400E1360U) /**< \brief (PIOC) Parallel Capture Interrupt Status Register */ - #define REG_PIOC_PCRHR (*(__I uint32_t*)0x400E1364U) /**< \brief (PIOC) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h deleted file mode 100644 index 46d6f11..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOD_INSTANCE_ -#define _SAMS70_PIOD_INSTANCE_ - -/* ========== Register definition for PIOD peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOD_PER (0x400E1400U) /**< \brief (PIOD) PIO Enable Register */ - #define REG_PIOD_PDR (0x400E1404U) /**< \brief (PIOD) PIO Disable Register */ - #define REG_PIOD_PSR (0x400E1408U) /**< \brief (PIOD) PIO Status Register */ - #define REG_PIOD_OER (0x400E1410U) /**< \brief (PIOD) Output Enable Register */ - #define REG_PIOD_ODR (0x400E1414U) /**< \brief (PIOD) Output Disable Register */ - #define REG_PIOD_OSR (0x400E1418U) /**< \brief (PIOD) Output Status Register */ - #define REG_PIOD_IFER (0x400E1420U) /**< \brief (PIOD) Glitch Input Filter Enable Register */ - #define REG_PIOD_IFDR (0x400E1424U) /**< \brief (PIOD) Glitch Input Filter Disable Register */ - #define REG_PIOD_IFSR (0x400E1428U) /**< \brief (PIOD) Glitch Input Filter Status Register */ - #define REG_PIOD_SODR (0x400E1430U) /**< \brief (PIOD) Set Output Data Register */ - #define REG_PIOD_CODR (0x400E1434U) /**< \brief (PIOD) Clear Output Data Register */ - #define REG_PIOD_ODSR (0x400E1438U) /**< \brief (PIOD) Output Data Status Register */ - #define REG_PIOD_PDSR (0x400E143CU) /**< \brief (PIOD) Pin Data Status Register */ - #define REG_PIOD_IER (0x400E1440U) /**< \brief (PIOD) Interrupt Enable Register */ - #define REG_PIOD_IDR (0x400E1444U) /**< \brief (PIOD) Interrupt Disable Register */ - #define REG_PIOD_IMR (0x400E1448U) /**< \brief (PIOD) Interrupt Mask Register */ - #define REG_PIOD_ISR (0x400E144CU) /**< \brief (PIOD) Interrupt Status Register */ - #define REG_PIOD_MDER (0x400E1450U) /**< \brief (PIOD) Multi-driver Enable Register */ - #define REG_PIOD_MDDR (0x400E1454U) /**< \brief (PIOD) Multi-driver Disable Register */ - #define REG_PIOD_MDSR (0x400E1458U) /**< \brief (PIOD) Multi-driver Status Register */ - #define REG_PIOD_PUDR (0x400E1460U) /**< \brief (PIOD) Pull-up Disable Register */ - #define REG_PIOD_PUER (0x400E1464U) /**< \brief (PIOD) Pull-up Enable Register */ - #define REG_PIOD_PUSR (0x400E1468U) /**< \brief (PIOD) Pad Pull-up Status Register */ - #define REG_PIOD_ABCDSR (0x400E1470U) /**< \brief (PIOD) Peripheral Select Register */ - #define REG_PIOD_IFSCDR (0x400E1480U) /**< \brief (PIOD) Input Filter Slow Clock Disable Register */ - #define REG_PIOD_IFSCER (0x400E1484U) /**< \brief (PIOD) Input Filter Slow Clock Enable Register */ - #define REG_PIOD_IFSCSR (0x400E1488U) /**< \brief (PIOD) Input Filter Slow Clock Status Register */ - #define REG_PIOD_SCDR (0x400E148CU) /**< \brief (PIOD) Slow Clock Divider Debouncing Register */ - #define REG_PIOD_PPDDR (0x400E1490U) /**< \brief (PIOD) Pad Pull-down Disable Register */ - #define REG_PIOD_PPDER (0x400E1494U) /**< \brief (PIOD) Pad Pull-down Enable Register */ - #define REG_PIOD_PPDSR (0x400E1498U) /**< \brief (PIOD) Pad Pull-down Status Register */ - #define REG_PIOD_OWER (0x400E14A0U) /**< \brief (PIOD) Output Write Enable */ - #define REG_PIOD_OWDR (0x400E14A4U) /**< \brief (PIOD) Output Write Disable */ - #define REG_PIOD_OWSR (0x400E14A8U) /**< \brief (PIOD) Output Write Status Register */ - #define REG_PIOD_AIMER (0x400E14B0U) /**< \brief (PIOD) Additional Interrupt Modes Enable Register */ - #define REG_PIOD_AIMDR (0x400E14B4U) /**< \brief (PIOD) Additional Interrupt Modes Disable Register */ - #define REG_PIOD_AIMMR (0x400E14B8U) /**< \brief (PIOD) Additional Interrupt Modes Mask Register */ - #define REG_PIOD_ESR (0x400E14C0U) /**< \brief (PIOD) Edge Select Register */ - #define REG_PIOD_LSR (0x400E14C4U) /**< \brief (PIOD) Level Select Register */ - #define REG_PIOD_ELSR (0x400E14C8U) /**< \brief (PIOD) Edge/Level Status Register */ - #define REG_PIOD_FELLSR (0x400E14D0U) /**< \brief (PIOD) Falling Edge/Low-Level Select Register */ - #define REG_PIOD_REHLSR (0x400E14D4U) /**< \brief (PIOD) Rising Edge/High-Level Select Register */ - #define REG_PIOD_FRLHSR (0x400E14D8U) /**< \brief (PIOD) Fall/Rise - Low/High Status Register */ - #define REG_PIOD_LOCKSR (0x400E14E0U) /**< \brief (PIOD) Lock Status */ - #define REG_PIOD_WPMR (0x400E14E4U) /**< \brief (PIOD) Write Protection Mode Register */ - #define REG_PIOD_WPSR (0x400E14E8U) /**< \brief (PIOD) Write Protection Status Register */ - #define REG_PIOD_SCHMITT (0x400E1500U) /**< \brief (PIOD) Schmitt Trigger Register */ - #define REG_PIOD_DRIVER (0x400E1518U) /**< \brief (PIOD) PIO I/O Drive Register */ - #define REG_PIOD_KER (0x400E1520U) /**< \brief (PIOD) Keypad Controller Enable Register */ - #define REG_PIOD_KRCR (0x400E1524U) /**< \brief (PIOD) Keypad Controller Row Column Register */ - #define REG_PIOD_KDR (0x400E1528U) /**< \brief (PIOD) Keypad Controller Debouncing Register */ - #define REG_PIOD_KIER (0x400E1530U) /**< \brief (PIOD) Keypad Controller Interrupt Enable Register */ - #define REG_PIOD_KIDR (0x400E1534U) /**< \brief (PIOD) Keypad Controller Interrupt Disable Register */ - #define REG_PIOD_KIMR (0x400E1538U) /**< \brief (PIOD) Keypad Controller Interrupt Mask Register */ - #define REG_PIOD_KSR (0x400E153CU) /**< \brief (PIOD) Keypad Controller Status Register */ - #define REG_PIOD_KKPR (0x400E1540U) /**< \brief (PIOD) Keypad Controller Key Press Register */ - #define REG_PIOD_KKRR (0x400E1544U) /**< \brief (PIOD) Keypad Controller Key Release Register */ - #define REG_PIOD_PCMR (0x400E1550U) /**< \brief (PIOD) Parallel Capture Mode Register */ - #define REG_PIOD_PCIER (0x400E1554U) /**< \brief (PIOD) Parallel Capture Interrupt Enable Register */ - #define REG_PIOD_PCIDR (0x400E1558U) /**< \brief (PIOD) Parallel Capture Interrupt Disable Register */ - #define REG_PIOD_PCIMR (0x400E155CU) /**< \brief (PIOD) Parallel Capture Interrupt Mask Register */ - #define REG_PIOD_PCISR (0x400E1560U) /**< \brief (PIOD) Parallel Capture Interrupt Status Register */ - #define REG_PIOD_PCRHR (0x400E1564U) /**< \brief (PIOD) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOD_PER (*(__O uint32_t*)0x400E1400U) /**< \brief (PIOD) PIO Enable Register */ - #define REG_PIOD_PDR (*(__O uint32_t*)0x400E1404U) /**< \brief (PIOD) PIO Disable Register */ - #define REG_PIOD_PSR (*(__I uint32_t*)0x400E1408U) /**< \brief (PIOD) PIO Status Register */ - #define REG_PIOD_OER (*(__O uint32_t*)0x400E1410U) /**< \brief (PIOD) Output Enable Register */ - #define REG_PIOD_ODR (*(__O uint32_t*)0x400E1414U) /**< \brief (PIOD) Output Disable Register */ - #define REG_PIOD_OSR (*(__I uint32_t*)0x400E1418U) /**< \brief (PIOD) Output Status Register */ - #define REG_PIOD_IFER (*(__O uint32_t*)0x400E1420U) /**< \brief (PIOD) Glitch Input Filter Enable Register */ - #define REG_PIOD_IFDR (*(__O uint32_t*)0x400E1424U) /**< \brief (PIOD) Glitch Input Filter Disable Register */ - #define REG_PIOD_IFSR (*(__I uint32_t*)0x400E1428U) /**< \brief (PIOD) Glitch Input Filter Status Register */ - #define REG_PIOD_SODR (*(__O uint32_t*)0x400E1430U) /**< \brief (PIOD) Set Output Data Register */ - #define REG_PIOD_CODR (*(__O uint32_t*)0x400E1434U) /**< \brief (PIOD) Clear Output Data Register */ - #define REG_PIOD_ODSR (*(__IO uint32_t*)0x400E1438U) /**< \brief (PIOD) Output Data Status Register */ - #define REG_PIOD_PDSR (*(__I uint32_t*)0x400E143CU) /**< \brief (PIOD) Pin Data Status Register */ - #define REG_PIOD_IER (*(__O uint32_t*)0x400E1440U) /**< \brief (PIOD) Interrupt Enable Register */ - #define REG_PIOD_IDR (*(__O uint32_t*)0x400E1444U) /**< \brief (PIOD) Interrupt Disable Register */ - #define REG_PIOD_IMR (*(__I uint32_t*)0x400E1448U) /**< \brief (PIOD) Interrupt Mask Register */ - #define REG_PIOD_ISR (*(__I uint32_t*)0x400E144CU) /**< \brief (PIOD) Interrupt Status Register */ - #define REG_PIOD_MDER (*(__O uint32_t*)0x400E1450U) /**< \brief (PIOD) Multi-driver Enable Register */ - #define REG_PIOD_MDDR (*(__O uint32_t*)0x400E1454U) /**< \brief (PIOD) Multi-driver Disable Register */ - #define REG_PIOD_MDSR (*(__I uint32_t*)0x400E1458U) /**< \brief (PIOD) Multi-driver Status Register */ - #define REG_PIOD_PUDR (*(__O uint32_t*)0x400E1460U) /**< \brief (PIOD) Pull-up Disable Register */ - #define REG_PIOD_PUER (*(__O uint32_t*)0x400E1464U) /**< \brief (PIOD) Pull-up Enable Register */ - #define REG_PIOD_PUSR (*(__I uint32_t*)0x400E1468U) /**< \brief (PIOD) Pad Pull-up Status Register */ - #define REG_PIOD_ABCDSR (*(__IO uint32_t*)0x400E1470U) /**< \brief (PIOD) Peripheral Select Register */ - #define REG_PIOD_IFSCDR (*(__O uint32_t*)0x400E1480U) /**< \brief (PIOD) Input Filter Slow Clock Disable Register */ - #define REG_PIOD_IFSCER (*(__O uint32_t*)0x400E1484U) /**< \brief (PIOD) Input Filter Slow Clock Enable Register */ - #define REG_PIOD_IFSCSR (*(__I uint32_t*)0x400E1488U) /**< \brief (PIOD) Input Filter Slow Clock Status Register */ - #define REG_PIOD_SCDR (*(__IO uint32_t*)0x400E148CU) /**< \brief (PIOD) Slow Clock Divider Debouncing Register */ - #define REG_PIOD_PPDDR (*(__O uint32_t*)0x400E1490U) /**< \brief (PIOD) Pad Pull-down Disable Register */ - #define REG_PIOD_PPDER (*(__O uint32_t*)0x400E1494U) /**< \brief (PIOD) Pad Pull-down Enable Register */ - #define REG_PIOD_PPDSR (*(__I uint32_t*)0x400E1498U) /**< \brief (PIOD) Pad Pull-down Status Register */ - #define REG_PIOD_OWER (*(__O uint32_t*)0x400E14A0U) /**< \brief (PIOD) Output Write Enable */ - #define REG_PIOD_OWDR (*(__O uint32_t*)0x400E14A4U) /**< \brief (PIOD) Output Write Disable */ - #define REG_PIOD_OWSR (*(__I uint32_t*)0x400E14A8U) /**< \brief (PIOD) Output Write Status Register */ - #define REG_PIOD_AIMER (*(__O uint32_t*)0x400E14B0U) /**< \brief (PIOD) Additional Interrupt Modes Enable Register */ - #define REG_PIOD_AIMDR (*(__O uint32_t*)0x400E14B4U) /**< \brief (PIOD) Additional Interrupt Modes Disable Register */ - #define REG_PIOD_AIMMR (*(__I uint32_t*)0x400E14B8U) /**< \brief (PIOD) Additional Interrupt Modes Mask Register */ - #define REG_PIOD_ESR (*(__O uint32_t*)0x400E14C0U) /**< \brief (PIOD) Edge Select Register */ - #define REG_PIOD_LSR (*(__O uint32_t*)0x400E14C4U) /**< \brief (PIOD) Level Select Register */ - #define REG_PIOD_ELSR (*(__I uint32_t*)0x400E14C8U) /**< \brief (PIOD) Edge/Level Status Register */ - #define REG_PIOD_FELLSR (*(__O uint32_t*)0x400E14D0U) /**< \brief (PIOD) Falling Edge/Low-Level Select Register */ - #define REG_PIOD_REHLSR (*(__O uint32_t*)0x400E14D4U) /**< \brief (PIOD) Rising Edge/High-Level Select Register */ - #define REG_PIOD_FRLHSR (*(__I uint32_t*)0x400E14D8U) /**< \brief (PIOD) Fall/Rise - Low/High Status Register */ - #define REG_PIOD_LOCKSR (*(__I uint32_t*)0x400E14E0U) /**< \brief (PIOD) Lock Status */ - #define REG_PIOD_WPMR (*(__IO uint32_t*)0x400E14E4U) /**< \brief (PIOD) Write Protection Mode Register */ - #define REG_PIOD_WPSR (*(__I uint32_t*)0x400E14E8U) /**< \brief (PIOD) Write Protection Status Register */ - #define REG_PIOD_SCHMITT (*(__IO uint32_t*)0x400E1500U) /**< \brief (PIOD) Schmitt Trigger Register */ - #define REG_PIOD_DRIVER (*(__IO uint32_t*)0x400E1518U) /**< \brief (PIOD) PIO I/O Drive Register */ - #define REG_PIOD_KER (*(__IO uint32_t*)0x400E1520U) /**< \brief (PIOD) Keypad Controller Enable Register */ - #define REG_PIOD_KRCR (*(__IO uint32_t*)0x400E1524U) /**< \brief (PIOD) Keypad Controller Row Column Register */ - #define REG_PIOD_KDR (*(__IO uint32_t*)0x400E1528U) /**< \brief (PIOD) Keypad Controller Debouncing Register */ - #define REG_PIOD_KIER (*(__O uint32_t*)0x400E1530U) /**< \brief (PIOD) Keypad Controller Interrupt Enable Register */ - #define REG_PIOD_KIDR (*(__O uint32_t*)0x400E1534U) /**< \brief (PIOD) Keypad Controller Interrupt Disable Register */ - #define REG_PIOD_KIMR (*(__I uint32_t*)0x400E1538U) /**< \brief (PIOD) Keypad Controller Interrupt Mask Register */ - #define REG_PIOD_KSR (*(__I uint32_t*)0x400E153CU) /**< \brief (PIOD) Keypad Controller Status Register */ - #define REG_PIOD_KKPR (*(__I uint32_t*)0x400E1540U) /**< \brief (PIOD) Keypad Controller Key Press Register */ - #define REG_PIOD_KKRR (*(__I uint32_t*)0x400E1544U) /**< \brief (PIOD) Keypad Controller Key Release Register */ - #define REG_PIOD_PCMR (*(__IO uint32_t*)0x400E1550U) /**< \brief (PIOD) Parallel Capture Mode Register */ - #define REG_PIOD_PCIER (*(__O uint32_t*)0x400E1554U) /**< \brief (PIOD) Parallel Capture Interrupt Enable Register */ - #define REG_PIOD_PCIDR (*(__O uint32_t*)0x400E1558U) /**< \brief (PIOD) Parallel Capture Interrupt Disable Register */ - #define REG_PIOD_PCIMR (*(__I uint32_t*)0x400E155CU) /**< \brief (PIOD) Parallel Capture Interrupt Mask Register */ - #define REG_PIOD_PCISR (*(__I uint32_t*)0x400E1560U) /**< \brief (PIOD) Parallel Capture Interrupt Status Register */ - #define REG_PIOD_PCRHR (*(__I uint32_t*)0x400E1564U) /**< \brief (PIOD) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOD_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h deleted file mode 100644 index 4f44c5d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOE_INSTANCE_ -#define _SAMS70_PIOE_INSTANCE_ - -/* ========== Register definition for PIOE peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOE_PER (0x400E1600U) /**< \brief (PIOE) PIO Enable Register */ - #define REG_PIOE_PDR (0x400E1604U) /**< \brief (PIOE) PIO Disable Register */ - #define REG_PIOE_PSR (0x400E1608U) /**< \brief (PIOE) PIO Status Register */ - #define REG_PIOE_OER (0x400E1610U) /**< \brief (PIOE) Output Enable Register */ - #define REG_PIOE_ODR (0x400E1614U) /**< \brief (PIOE) Output Disable Register */ - #define REG_PIOE_OSR (0x400E1618U) /**< \brief (PIOE) Output Status Register */ - #define REG_PIOE_IFER (0x400E1620U) /**< \brief (PIOE) Glitch Input Filter Enable Register */ - #define REG_PIOE_IFDR (0x400E1624U) /**< \brief (PIOE) Glitch Input Filter Disable Register */ - #define REG_PIOE_IFSR (0x400E1628U) /**< \brief (PIOE) Glitch Input Filter Status Register */ - #define REG_PIOE_SODR (0x400E1630U) /**< \brief (PIOE) Set Output Data Register */ - #define REG_PIOE_CODR (0x400E1634U) /**< \brief (PIOE) Clear Output Data Register */ - #define REG_PIOE_ODSR (0x400E1638U) /**< \brief (PIOE) Output Data Status Register */ - #define REG_PIOE_PDSR (0x400E163CU) /**< \brief (PIOE) Pin Data Status Register */ - #define REG_PIOE_IER (0x400E1640U) /**< \brief (PIOE) Interrupt Enable Register */ - #define REG_PIOE_IDR (0x400E1644U) /**< \brief (PIOE) Interrupt Disable Register */ - #define REG_PIOE_IMR (0x400E1648U) /**< \brief (PIOE) Interrupt Mask Register */ - #define REG_PIOE_ISR (0x400E164CU) /**< \brief (PIOE) Interrupt Status Register */ - #define REG_PIOE_MDER (0x400E1650U) /**< \brief (PIOE) Multi-driver Enable Register */ - #define REG_PIOE_MDDR (0x400E1654U) /**< \brief (PIOE) Multi-driver Disable Register */ - #define REG_PIOE_MDSR (0x400E1658U) /**< \brief (PIOE) Multi-driver Status Register */ - #define REG_PIOE_PUDR (0x400E1660U) /**< \brief (PIOE) Pull-up Disable Register */ - #define REG_PIOE_PUER (0x400E1664U) /**< \brief (PIOE) Pull-up Enable Register */ - #define REG_PIOE_PUSR (0x400E1668U) /**< \brief (PIOE) Pad Pull-up Status Register */ - #define REG_PIOE_ABCDSR (0x400E1670U) /**< \brief (PIOE) Peripheral Select Register */ - #define REG_PIOE_IFSCDR (0x400E1680U) /**< \brief (PIOE) Input Filter Slow Clock Disable Register */ - #define REG_PIOE_IFSCER (0x400E1684U) /**< \brief (PIOE) Input Filter Slow Clock Enable Register */ - #define REG_PIOE_IFSCSR (0x400E1688U) /**< \brief (PIOE) Input Filter Slow Clock Status Register */ - #define REG_PIOE_SCDR (0x400E168CU) /**< \brief (PIOE) Slow Clock Divider Debouncing Register */ - #define REG_PIOE_PPDDR (0x400E1690U) /**< \brief (PIOE) Pad Pull-down Disable Register */ - #define REG_PIOE_PPDER (0x400E1694U) /**< \brief (PIOE) Pad Pull-down Enable Register */ - #define REG_PIOE_PPDSR (0x400E1698U) /**< \brief (PIOE) Pad Pull-down Status Register */ - #define REG_PIOE_OWER (0x400E16A0U) /**< \brief (PIOE) Output Write Enable */ - #define REG_PIOE_OWDR (0x400E16A4U) /**< \brief (PIOE) Output Write Disable */ - #define REG_PIOE_OWSR (0x400E16A8U) /**< \brief (PIOE) Output Write Status Register */ - #define REG_PIOE_AIMER (0x400E16B0U) /**< \brief (PIOE) Additional Interrupt Modes Enable Register */ - #define REG_PIOE_AIMDR (0x400E16B4U) /**< \brief (PIOE) Additional Interrupt Modes Disable Register */ - #define REG_PIOE_AIMMR (0x400E16B8U) /**< \brief (PIOE) Additional Interrupt Modes Mask Register */ - #define REG_PIOE_ESR (0x400E16C0U) /**< \brief (PIOE) Edge Select Register */ - #define REG_PIOE_LSR (0x400E16C4U) /**< \brief (PIOE) Level Select Register */ - #define REG_PIOE_ELSR (0x400E16C8U) /**< \brief (PIOE) Edge/Level Status Register */ - #define REG_PIOE_FELLSR (0x400E16D0U) /**< \brief (PIOE) Falling Edge/Low-Level Select Register */ - #define REG_PIOE_REHLSR (0x400E16D4U) /**< \brief (PIOE) Rising Edge/High-Level Select Register */ - #define REG_PIOE_FRLHSR (0x400E16D8U) /**< \brief (PIOE) Fall/Rise - Low/High Status Register */ - #define REG_PIOE_LOCKSR (0x400E16E0U) /**< \brief (PIOE) Lock Status */ - #define REG_PIOE_WPMR (0x400E16E4U) /**< \brief (PIOE) Write Protection Mode Register */ - #define REG_PIOE_WPSR (0x400E16E8U) /**< \brief (PIOE) Write Protection Status Register */ - #define REG_PIOE_SCHMITT (0x400E1700U) /**< \brief (PIOE) Schmitt Trigger Register */ - #define REG_PIOE_DRIVER (0x400E1718U) /**< \brief (PIOE) PIO I/O Drive Register */ - #define REG_PIOE_KER (0x400E1720U) /**< \brief (PIOE) Keypad Controller Enable Register */ - #define REG_PIOE_KRCR (0x400E1724U) /**< \brief (PIOE) Keypad Controller Row Column Register */ - #define REG_PIOE_KDR (0x400E1728U) /**< \brief (PIOE) Keypad Controller Debouncing Register */ - #define REG_PIOE_KIER (0x400E1730U) /**< \brief (PIOE) Keypad Controller Interrupt Enable Register */ - #define REG_PIOE_KIDR (0x400E1734U) /**< \brief (PIOE) Keypad Controller Interrupt Disable Register */ - #define REG_PIOE_KIMR (0x400E1738U) /**< \brief (PIOE) Keypad Controller Interrupt Mask Register */ - #define REG_PIOE_KSR (0x400E173CU) /**< \brief (PIOE) Keypad Controller Status Register */ - #define REG_PIOE_KKPR (0x400E1740U) /**< \brief (PIOE) Keypad Controller Key Press Register */ - #define REG_PIOE_KKRR (0x400E1744U) /**< \brief (PIOE) Keypad Controller Key Release Register */ - #define REG_PIOE_PCMR (0x400E1750U) /**< \brief (PIOE) Parallel Capture Mode Register */ - #define REG_PIOE_PCIER (0x400E1754U) /**< \brief (PIOE) Parallel Capture Interrupt Enable Register */ - #define REG_PIOE_PCIDR (0x400E1758U) /**< \brief (PIOE) Parallel Capture Interrupt Disable Register */ - #define REG_PIOE_PCIMR (0x400E175CU) /**< \brief (PIOE) Parallel Capture Interrupt Mask Register */ - #define REG_PIOE_PCISR (0x400E1760U) /**< \brief (PIOE) Parallel Capture Interrupt Status Register */ - #define REG_PIOE_PCRHR (0x400E1764U) /**< \brief (PIOE) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOE_PER (*(__O uint32_t*)0x400E1600U) /**< \brief (PIOE) PIO Enable Register */ - #define REG_PIOE_PDR (*(__O uint32_t*)0x400E1604U) /**< \brief (PIOE) PIO Disable Register */ - #define REG_PIOE_PSR (*(__I uint32_t*)0x400E1608U) /**< \brief (PIOE) PIO Status Register */ - #define REG_PIOE_OER (*(__O uint32_t*)0x400E1610U) /**< \brief (PIOE) Output Enable Register */ - #define REG_PIOE_ODR (*(__O uint32_t*)0x400E1614U) /**< \brief (PIOE) Output Disable Register */ - #define REG_PIOE_OSR (*(__I uint32_t*)0x400E1618U) /**< \brief (PIOE) Output Status Register */ - #define REG_PIOE_IFER (*(__O uint32_t*)0x400E1620U) /**< \brief (PIOE) Glitch Input Filter Enable Register */ - #define REG_PIOE_IFDR (*(__O uint32_t*)0x400E1624U) /**< \brief (PIOE) Glitch Input Filter Disable Register */ - #define REG_PIOE_IFSR (*(__I uint32_t*)0x400E1628U) /**< \brief (PIOE) Glitch Input Filter Status Register */ - #define REG_PIOE_SODR (*(__O uint32_t*)0x400E1630U) /**< \brief (PIOE) Set Output Data Register */ - #define REG_PIOE_CODR (*(__O uint32_t*)0x400E1634U) /**< \brief (PIOE) Clear Output Data Register */ - #define REG_PIOE_ODSR (*(__IO uint32_t*)0x400E1638U) /**< \brief (PIOE) Output Data Status Register */ - #define REG_PIOE_PDSR (*(__I uint32_t*)0x400E163CU) /**< \brief (PIOE) Pin Data Status Register */ - #define REG_PIOE_IER (*(__O uint32_t*)0x400E1640U) /**< \brief (PIOE) Interrupt Enable Register */ - #define REG_PIOE_IDR (*(__O uint32_t*)0x400E1644U) /**< \brief (PIOE) Interrupt Disable Register */ - #define REG_PIOE_IMR (*(__I uint32_t*)0x400E1648U) /**< \brief (PIOE) Interrupt Mask Register */ - #define REG_PIOE_ISR (*(__I uint32_t*)0x400E164CU) /**< \brief (PIOE) Interrupt Status Register */ - #define REG_PIOE_MDER (*(__O uint32_t*)0x400E1650U) /**< \brief (PIOE) Multi-driver Enable Register */ - #define REG_PIOE_MDDR (*(__O uint32_t*)0x400E1654U) /**< \brief (PIOE) Multi-driver Disable Register */ - #define REG_PIOE_MDSR (*(__I uint32_t*)0x400E1658U) /**< \brief (PIOE) Multi-driver Status Register */ - #define REG_PIOE_PUDR (*(__O uint32_t*)0x400E1660U) /**< \brief (PIOE) Pull-up Disable Register */ - #define REG_PIOE_PUER (*(__O uint32_t*)0x400E1664U) /**< \brief (PIOE) Pull-up Enable Register */ - #define REG_PIOE_PUSR (*(__I uint32_t*)0x400E1668U) /**< \brief (PIOE) Pad Pull-up Status Register */ - #define REG_PIOE_ABCDSR (*(__IO uint32_t*)0x400E1670U) /**< \brief (PIOE) Peripheral Select Register */ - #define REG_PIOE_IFSCDR (*(__O uint32_t*)0x400E1680U) /**< \brief (PIOE) Input Filter Slow Clock Disable Register */ - #define REG_PIOE_IFSCER (*(__O uint32_t*)0x400E1684U) /**< \brief (PIOE) Input Filter Slow Clock Enable Register */ - #define REG_PIOE_IFSCSR (*(__I uint32_t*)0x400E1688U) /**< \brief (PIOE) Input Filter Slow Clock Status Register */ - #define REG_PIOE_SCDR (*(__IO uint32_t*)0x400E168CU) /**< \brief (PIOE) Slow Clock Divider Debouncing Register */ - #define REG_PIOE_PPDDR (*(__O uint32_t*)0x400E1690U) /**< \brief (PIOE) Pad Pull-down Disable Register */ - #define REG_PIOE_PPDER (*(__O uint32_t*)0x400E1694U) /**< \brief (PIOE) Pad Pull-down Enable Register */ - #define REG_PIOE_PPDSR (*(__I uint32_t*)0x400E1698U) /**< \brief (PIOE) Pad Pull-down Status Register */ - #define REG_PIOE_OWER (*(__O uint32_t*)0x400E16A0U) /**< \brief (PIOE) Output Write Enable */ - #define REG_PIOE_OWDR (*(__O uint32_t*)0x400E16A4U) /**< \brief (PIOE) Output Write Disable */ - #define REG_PIOE_OWSR (*(__I uint32_t*)0x400E16A8U) /**< \brief (PIOE) Output Write Status Register */ - #define REG_PIOE_AIMER (*(__O uint32_t*)0x400E16B0U) /**< \brief (PIOE) Additional Interrupt Modes Enable Register */ - #define REG_PIOE_AIMDR (*(__O uint32_t*)0x400E16B4U) /**< \brief (PIOE) Additional Interrupt Modes Disable Register */ - #define REG_PIOE_AIMMR (*(__I uint32_t*)0x400E16B8U) /**< \brief (PIOE) Additional Interrupt Modes Mask Register */ - #define REG_PIOE_ESR (*(__O uint32_t*)0x400E16C0U) /**< \brief (PIOE) Edge Select Register */ - #define REG_PIOE_LSR (*(__O uint32_t*)0x400E16C4U) /**< \brief (PIOE) Level Select Register */ - #define REG_PIOE_ELSR (*(__I uint32_t*)0x400E16C8U) /**< \brief (PIOE) Edge/Level Status Register */ - #define REG_PIOE_FELLSR (*(__O uint32_t*)0x400E16D0U) /**< \brief (PIOE) Falling Edge/Low-Level Select Register */ - #define REG_PIOE_REHLSR (*(__O uint32_t*)0x400E16D4U) /**< \brief (PIOE) Rising Edge/High-Level Select Register */ - #define REG_PIOE_FRLHSR (*(__I uint32_t*)0x400E16D8U) /**< \brief (PIOE) Fall/Rise - Low/High Status Register */ - #define REG_PIOE_LOCKSR (*(__I uint32_t*)0x400E16E0U) /**< \brief (PIOE) Lock Status */ - #define REG_PIOE_WPMR (*(__IO uint32_t*)0x400E16E4U) /**< \brief (PIOE) Write Protection Mode Register */ - #define REG_PIOE_WPSR (*(__I uint32_t*)0x400E16E8U) /**< \brief (PIOE) Write Protection Status Register */ - #define REG_PIOE_SCHMITT (*(__IO uint32_t*)0x400E1700U) /**< \brief (PIOE) Schmitt Trigger Register */ - #define REG_PIOE_DRIVER (*(__IO uint32_t*)0x400E1718U) /**< \brief (PIOE) PIO I/O Drive Register */ - #define REG_PIOE_KER (*(__IO uint32_t*)0x400E1720U) /**< \brief (PIOE) Keypad Controller Enable Register */ - #define REG_PIOE_KRCR (*(__IO uint32_t*)0x400E1724U) /**< \brief (PIOE) Keypad Controller Row Column Register */ - #define REG_PIOE_KDR (*(__IO uint32_t*)0x400E1728U) /**< \brief (PIOE) Keypad Controller Debouncing Register */ - #define REG_PIOE_KIER (*(__O uint32_t*)0x400E1730U) /**< \brief (PIOE) Keypad Controller Interrupt Enable Register */ - #define REG_PIOE_KIDR (*(__O uint32_t*)0x400E1734U) /**< \brief (PIOE) Keypad Controller Interrupt Disable Register */ - #define REG_PIOE_KIMR (*(__I uint32_t*)0x400E1738U) /**< \brief (PIOE) Keypad Controller Interrupt Mask Register */ - #define REG_PIOE_KSR (*(__I uint32_t*)0x400E173CU) /**< \brief (PIOE) Keypad Controller Status Register */ - #define REG_PIOE_KKPR (*(__I uint32_t*)0x400E1740U) /**< \brief (PIOE) Keypad Controller Key Press Register */ - #define REG_PIOE_KKRR (*(__I uint32_t*)0x400E1744U) /**< \brief (PIOE) Keypad Controller Key Release Register */ - #define REG_PIOE_PCMR (*(__IO uint32_t*)0x400E1750U) /**< \brief (PIOE) Parallel Capture Mode Register */ - #define REG_PIOE_PCIER (*(__O uint32_t*)0x400E1754U) /**< \brief (PIOE) Parallel Capture Interrupt Enable Register */ - #define REG_PIOE_PCIDR (*(__O uint32_t*)0x400E1758U) /**< \brief (PIOE) Parallel Capture Interrupt Disable Register */ - #define REG_PIOE_PCIMR (*(__I uint32_t*)0x400E175CU) /**< \brief (PIOE) Parallel Capture Interrupt Mask Register */ - #define REG_PIOE_PCISR (*(__I uint32_t*)0x400E1760U) /**< \brief (PIOE) Parallel Capture Interrupt Status Register */ - #define REG_PIOE_PCRHR (*(__I uint32_t*)0x400E1764U) /**< \brief (PIOE) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOE_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h deleted file mode 100644 index 2a2ade3..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h +++ /dev/null @@ -1,125 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PMC_INSTANCE_ -#define _SAMS70_PMC_INSTANCE_ - -/* ========== Register definition for PMC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PMC_SCER (0x400E0600U) /**< \brief (PMC) System Clock Enable Register */ - #define REG_PMC_SCDR (0x400E0604U) /**< \brief (PMC) System Clock Disable Register */ - #define REG_PMC_SCSR (0x400E0608U) /**< \brief (PMC) System Clock Status Register */ - #define REG_PMC_PCER0 (0x400E0610U) /**< \brief (PMC) Peripheral Clock Enable Register 0 */ - #define REG_PMC_PCDR0 (0x400E0614U) /**< \brief (PMC) Peripheral Clock Disable Register 0 */ - #define REG_PMC_PCSR0 (0x400E0618U) /**< \brief (PMC) Peripheral Clock Status Register 0 */ - #define REG_CKGR_UCKR (0x400E061CU) /**< \brief (PMC) UTMI Clock Register */ - #define REG_CKGR_MOR (0x400E0620U) /**< \brief (PMC) Main Oscillator Register */ - #define REG_CKGR_MCFR (0x400E0624U) /**< \brief (PMC) Main Clock Frequency Register */ - #define REG_CKGR_PLLAR (0x400E0628U) /**< \brief (PMC) PLLA Register */ - #define REG_PMC_MCKR (0x400E0630U) /**< \brief (PMC) Master Clock Register */ - #define REG_PMC_USB (0x400E0638U) /**< \brief (PMC) USB Clock Register */ - #define REG_PMC_PCK (0x400E0640U) /**< \brief (PMC) Programmable Clock 0 Register */ - #define REG_PMC_IER (0x400E0660U) /**< \brief (PMC) Interrupt Enable Register */ - #define REG_PMC_IDR (0x400E0664U) /**< \brief (PMC) Interrupt Disable Register */ - #define REG_PMC_SR (0x400E0668U) /**< \brief (PMC) Status Register */ - #define REG_PMC_IMR (0x400E066CU) /**< \brief (PMC) Interrupt Mask Register */ - #define REG_PMC_FSMR (0x400E0670U) /**< \brief (PMC) Fast Startup Mode Register */ - #define REG_PMC_FSPR (0x400E0674U) /**< \brief (PMC) Fast Startup Polarity Register */ - #define REG_PMC_FOCR (0x400E0678U) /**< \brief (PMC) Fault Output Clear Register */ - #define REG_PMC_WPMR (0x400E06E4U) /**< \brief (PMC) Write Protection Mode Register */ - #define REG_PMC_WPSR (0x400E06E8U) /**< \brief (PMC) Write Protection Status Register */ - #define REG_PMC_PCER1 (0x400E0700U) /**< \brief (PMC) Peripheral Clock Enable Register 1 */ - #define REG_PMC_PCDR1 (0x400E0704U) /**< \brief (PMC) Peripheral Clock Disable Register 1 */ - #define REG_PMC_PCSR1 (0x400E0708U) /**< \brief (PMC) Peripheral Clock Status Register 1 */ - #define REG_PMC_PCR (0x400E070CU) /**< \brief (PMC) Peripheral Control Register */ - #define REG_PMC_OCR (0x400E0710U) /**< \brief (PMC) Oscillator Calibration Register */ - #define REG_PMC_SLPWK_ER0 (0x400E0714U) /**< \brief (PMC) SleepWalking Enable Register 0 */ - #define REG_PMC_SLPWK_DR0 (0x400E0718U) /**< \brief (PMC) SleepWalking Disable Register 0 */ - #define REG_PMC_SLPWK_SR0 (0x400E071CU) /**< \brief (PMC) SleepWalking Status Register 0 */ - #define REG_PMC_SLPWK_ASR0 (0x400E0720U) /**< \brief (PMC) SleepWalking Activity Status Register 0 */ - #define REG_PMC_SLPWK_ER1 (0x400E0734U) /**< \brief (PMC) SleepWalking Enable Register 1 */ - #define REG_PMC_SLPWK_DR1 (0x400E0738U) /**< \brief (PMC) SleepWalking Disable Register 1 */ - #define REG_PMC_SLPWK_SR1 (0x400E073CU) /**< \brief (PMC) SleepWalking Status Register 1 */ - #define REG_PMC_SLPWK_ASR1 (0x400E0740U) /**< \brief (PMC) SleepWalking Activity Status Register 1 */ - #define REG_PMC_SLPWK_AIPR (0x400E0744U) /**< \brief (PMC) SleepWalking Activity In Progress Register */ -#else - #define REG_PMC_SCER (*(__O uint32_t*)0x400E0600U) /**< \brief (PMC) System Clock Enable Register */ - #define REG_PMC_SCDR (*(__O uint32_t*)0x400E0604U) /**< \brief (PMC) System Clock Disable Register */ - #define REG_PMC_SCSR (*(__I uint32_t*)0x400E0608U) /**< \brief (PMC) System Clock Status Register */ - #define REG_PMC_PCER0 (*(__O uint32_t*)0x400E0610U) /**< \brief (PMC) Peripheral Clock Enable Register 0 */ - #define REG_PMC_PCDR0 (*(__O uint32_t*)0x400E0614U) /**< \brief (PMC) Peripheral Clock Disable Register 0 */ - #define REG_PMC_PCSR0 (*(__I uint32_t*)0x400E0618U) /**< \brief (PMC) Peripheral Clock Status Register 0 */ - #define REG_CKGR_UCKR (*(__IO uint32_t*)0x400E061CU) /**< \brief (PMC) UTMI Clock Register */ - #define REG_CKGR_MOR (*(__IO uint32_t*)0x400E0620U) /**< \brief (PMC) Main Oscillator Register */ - #define REG_CKGR_MCFR (*(__IO uint32_t*)0x400E0624U) /**< \brief (PMC) Main Clock Frequency Register */ - #define REG_CKGR_PLLAR (*(__IO uint32_t*)0x400E0628U) /**< \brief (PMC) PLLA Register */ - #define REG_PMC_MCKR (*(__IO uint32_t*)0x400E0630U) /**< \brief (PMC) Master Clock Register */ - #define REG_PMC_USB (*(__IO uint32_t*)0x400E0638U) /**< \brief (PMC) USB Clock Register */ - #define REG_PMC_PCK (*(__IO uint32_t*)0x400E0640U) /**< \brief (PMC) Programmable Clock 0 Register */ - #define REG_PMC_IER (*(__O uint32_t*)0x400E0660U) /**< \brief (PMC) Interrupt Enable Register */ - #define REG_PMC_IDR (*(__O uint32_t*)0x400E0664U) /**< \brief (PMC) Interrupt Disable Register */ - #define REG_PMC_SR (*(__I uint32_t*)0x400E0668U) /**< \brief (PMC) Status Register */ - #define REG_PMC_IMR (*(__I uint32_t*)0x400E066CU) /**< \brief (PMC) Interrupt Mask Register */ - #define REG_PMC_FSMR (*(__IO uint32_t*)0x400E0670U) /**< \brief (PMC) Fast Startup Mode Register */ - #define REG_PMC_FSPR (*(__IO uint32_t*)0x400E0674U) /**< \brief (PMC) Fast Startup Polarity Register */ - #define REG_PMC_FOCR (*(__O uint32_t*)0x400E0678U) /**< \brief (PMC) Fault Output Clear Register */ - #define REG_PMC_WPMR (*(__IO uint32_t*)0x400E06E4U) /**< \brief (PMC) Write Protection Mode Register */ - #define REG_PMC_WPSR (*(__I uint32_t*)0x400E06E8U) /**< \brief (PMC) Write Protection Status Register */ - #define REG_PMC_PCER1 (*(__O uint32_t*)0x400E0700U) /**< \brief (PMC) Peripheral Clock Enable Register 1 */ - #define REG_PMC_PCDR1 (*(__O uint32_t*)0x400E0704U) /**< \brief (PMC) Peripheral Clock Disable Register 1 */ - #define REG_PMC_PCSR1 (*(__I uint32_t*)0x400E0708U) /**< \brief (PMC) Peripheral Clock Status Register 1 */ - #define REG_PMC_PCR (*(__IO uint32_t*)0x400E070CU) /**< \brief (PMC) Peripheral Control Register */ - #define REG_PMC_OCR (*(__IO uint32_t*)0x400E0710U) /**< \brief (PMC) Oscillator Calibration Register */ - #define REG_PMC_SLPWK_ER0 (*(__O uint32_t*)0x400E0714U) /**< \brief (PMC) SleepWalking Enable Register 0 */ - #define REG_PMC_SLPWK_DR0 (*(__O uint32_t*)0x400E0718U) /**< \brief (PMC) SleepWalking Disable Register 0 */ - #define REG_PMC_SLPWK_SR0 (*(__I uint32_t*)0x400E071CU) /**< \brief (PMC) SleepWalking Status Register 0 */ - #define REG_PMC_SLPWK_ASR0 (*(__I uint32_t*)0x400E0720U) /**< \brief (PMC) SleepWalking Activity Status Register 0 */ - #define REG_PMC_SLPWK_ER1 (*(__O uint32_t*)0x400E0734U) /**< \brief (PMC) SleepWalking Enable Register 1 */ - #define REG_PMC_SLPWK_DR1 (*(__O uint32_t*)0x400E0738U) /**< \brief (PMC) SleepWalking Disable Register 1 */ - #define REG_PMC_SLPWK_SR1 (*(__I uint32_t*)0x400E073CU) /**< \brief (PMC) SleepWalking Status Register 1 */ - #define REG_PMC_SLPWK_ASR1 (*(__I uint32_t*)0x400E0740U) /**< \brief (PMC) SleepWalking Activity Status Register 1 */ - #define REG_PMC_SLPWK_AIPR (*(__I uint32_t*)0x400E0744U) /**< \brief (PMC) SleepWalking Activity In Progress Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PMC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h deleted file mode 100644 index 908e462..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h +++ /dev/null @@ -1,275 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PWM0_INSTANCE_ -#define _SAMS70_PWM0_INSTANCE_ - -/* ========== Register definition for PWM0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PWM0_CLK (0x40020000U) /**< \brief (PWM0) PWM Clock Register */ - #define REG_PWM0_ENA (0x40020004U) /**< \brief (PWM0) PWM Enable Register */ - #define REG_PWM0_DIS (0x40020008U) /**< \brief (PWM0) PWM Disable Register */ - #define REG_PWM0_SR (0x4002000CU) /**< \brief (PWM0) PWM Status Register */ - #define REG_PWM0_IER1 (0x40020010U) /**< \brief (PWM0) PWM Interrupt Enable Register 1 */ - #define REG_PWM0_IDR1 (0x40020014U) /**< \brief (PWM0) PWM Interrupt Disable Register 1 */ - #define REG_PWM0_IMR1 (0x40020018U) /**< \brief (PWM0) PWM Interrupt Mask Register 1 */ - #define REG_PWM0_ISR1 (0x4002001CU) /**< \brief (PWM0) PWM Interrupt Status Register 1 */ - #define REG_PWM0_SCM (0x40020020U) /**< \brief (PWM0) PWM Sync Channels Mode Register */ - #define REG_PWM0_DMAR (0x40020024U) /**< \brief (PWM0) PWM DMA Register */ - #define REG_PWM0_SCUC (0x40020028U) /**< \brief (PWM0) PWM Sync Channels Update Control Register */ - #define REG_PWM0_SCUP (0x4002002CU) /**< \brief (PWM0) PWM Sync Channels Update Period Register */ - #define REG_PWM0_SCUPUPD (0x40020030U) /**< \brief (PWM0) PWM Sync Channels Update Period Update Register */ - #define REG_PWM0_IER2 (0x40020034U) /**< \brief (PWM0) PWM Interrupt Enable Register 2 */ - #define REG_PWM0_IDR2 (0x40020038U) /**< \brief (PWM0) PWM Interrupt Disable Register 2 */ - #define REG_PWM0_IMR2 (0x4002003CU) /**< \brief (PWM0) PWM Interrupt Mask Register 2 */ - #define REG_PWM0_ISR2 (0x40020040U) /**< \brief (PWM0) PWM Interrupt Status Register 2 */ - #define REG_PWM0_OOV (0x40020044U) /**< \brief (PWM0) PWM Output Override Value Register */ - #define REG_PWM0_OS (0x40020048U) /**< \brief (PWM0) PWM Output Selection Register */ - #define REG_PWM0_OSS (0x4002004CU) /**< \brief (PWM0) PWM Output Selection Set Register */ - #define REG_PWM0_OSC (0x40020050U) /**< \brief (PWM0) PWM Output Selection Clear Register */ - #define REG_PWM0_OSSUPD (0x40020054U) /**< \brief (PWM0) PWM Output Selection Set Update Register */ - #define REG_PWM0_OSCUPD (0x40020058U) /**< \brief (PWM0) PWM Output Selection Clear Update Register */ - #define REG_PWM0_FMR (0x4002005CU) /**< \brief (PWM0) PWM Fault Mode Register */ - #define REG_PWM0_FSR (0x40020060U) /**< \brief (PWM0) PWM Fault Status Register */ - #define REG_PWM0_FCR (0x40020064U) /**< \brief (PWM0) PWM Fault Clear Register */ - #define REG_PWM0_FPV1 (0x40020068U) /**< \brief (PWM0) PWM Fault Protection Value Register 1 */ - #define REG_PWM0_FPE (0x4002006CU) /**< \brief (PWM0) PWM Fault Protection Enable Register */ - #define REG_PWM0_ELMR (0x4002007CU) /**< \brief (PWM0) PWM Event Line 0 Mode Register */ - #define REG_PWM0_SSPR (0x400200A0U) /**< \brief (PWM0) PWM Spread Spectrum Register */ - #define REG_PWM0_SSPUP (0x400200A4U) /**< \brief (PWM0) PWM Spread Spectrum Update Register */ - #define REG_PWM0_SMMR (0x400200B0U) /**< \brief (PWM0) PWM Stepper Motor Mode Register */ - #define REG_PWM0_FPV2 (0x400200C0U) /**< \brief (PWM0) PWM Fault Protection Value 2 Register */ - #define REG_PWM0_WPCR (0x400200E4U) /**< \brief (PWM0) PWM Write Protection Control Register */ - #define REG_PWM0_WPSR (0x400200E8U) /**< \brief (PWM0) PWM Write Protection Status Register */ - #define REG_PWM0_CMPV0 (0x40020130U) /**< \brief (PWM0) PWM Comparison 0 Value Register */ - #define REG_PWM0_CMPVUPD0 (0x40020134U) /**< \brief (PWM0) PWM Comparison 0 Value Update Register */ - #define REG_PWM0_CMPM0 (0x40020138U) /**< \brief (PWM0) PWM Comparison 0 Mode Register */ - #define REG_PWM0_CMPMUPD0 (0x4002013CU) /**< \brief (PWM0) PWM Comparison 0 Mode Update Register */ - #define REG_PWM0_CMPV1 (0x40020140U) /**< \brief (PWM0) PWM Comparison 1 Value Register */ - #define REG_PWM0_CMPVUPD1 (0x40020144U) /**< \brief (PWM0) PWM Comparison 1 Value Update Register */ - #define REG_PWM0_CMPM1 (0x40020148U) /**< \brief (PWM0) PWM Comparison 1 Mode Register */ - #define REG_PWM0_CMPMUPD1 (0x4002014CU) /**< \brief (PWM0) PWM Comparison 1 Mode Update Register */ - #define REG_PWM0_CMPV2 (0x40020150U) /**< \brief (PWM0) PWM Comparison 2 Value Register */ - #define REG_PWM0_CMPVUPD2 (0x40020154U) /**< \brief (PWM0) PWM Comparison 2 Value Update Register */ - #define REG_PWM0_CMPM2 (0x40020158U) /**< \brief (PWM0) PWM Comparison 2 Mode Register */ - #define REG_PWM0_CMPMUPD2 (0x4002015CU) /**< \brief (PWM0) PWM Comparison 2 Mode Update Register */ - #define REG_PWM0_CMPV3 (0x40020160U) /**< \brief (PWM0) PWM Comparison 3 Value Register */ - #define REG_PWM0_CMPVUPD3 (0x40020164U) /**< \brief (PWM0) PWM Comparison 3 Value Update Register */ - #define REG_PWM0_CMPM3 (0x40020168U) /**< \brief (PWM0) PWM Comparison 3 Mode Register */ - #define REG_PWM0_CMPMUPD3 (0x4002016CU) /**< \brief (PWM0) PWM Comparison 3 Mode Update Register */ - #define REG_PWM0_CMPV4 (0x40020170U) /**< \brief (PWM0) PWM Comparison 4 Value Register */ - #define REG_PWM0_CMPVUPD4 (0x40020174U) /**< \brief (PWM0) PWM Comparison 4 Value Update Register */ - #define REG_PWM0_CMPM4 (0x40020178U) /**< \brief (PWM0) PWM Comparison 4 Mode Register */ - #define REG_PWM0_CMPMUPD4 (0x4002017CU) /**< \brief (PWM0) PWM Comparison 4 Mode Update Register */ - #define REG_PWM0_CMPV5 (0x40020180U) /**< \brief (PWM0) PWM Comparison 5 Value Register */ - #define REG_PWM0_CMPVUPD5 (0x40020184U) /**< \brief (PWM0) PWM Comparison 5 Value Update Register */ - #define REG_PWM0_CMPM5 (0x40020188U) /**< \brief (PWM0) PWM Comparison 5 Mode Register */ - #define REG_PWM0_CMPMUPD5 (0x4002018CU) /**< \brief (PWM0) PWM Comparison 5 Mode Update Register */ - #define REG_PWM0_CMPV6 (0x40020190U) /**< \brief (PWM0) PWM Comparison 6 Value Register */ - #define REG_PWM0_CMPVUPD6 (0x40020194U) /**< \brief (PWM0) PWM Comparison 6 Value Update Register */ - #define REG_PWM0_CMPM6 (0x40020198U) /**< \brief (PWM0) PWM Comparison 6 Mode Register */ - #define REG_PWM0_CMPMUPD6 (0x4002019CU) /**< \brief (PWM0) PWM Comparison 6 Mode Update Register */ - #define REG_PWM0_CMPV7 (0x400201A0U) /**< \brief (PWM0) PWM Comparison 7 Value Register */ - #define REG_PWM0_CMPVUPD7 (0x400201A4U) /**< \brief (PWM0) PWM Comparison 7 Value Update Register */ - #define REG_PWM0_CMPM7 (0x400201A8U) /**< \brief (PWM0) PWM Comparison 7 Mode Register */ - #define REG_PWM0_CMPMUPD7 (0x400201ACU) /**< \brief (PWM0) PWM Comparison 7 Mode Update Register */ - #define REG_PWM0_CMR0 (0x40020200U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM0_CDTY0 (0x40020204U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM0_CDTYUPD0 (0x40020208U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM0_CPRD0 (0x4002020CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM0_CPRDUPD0 (0x40020210U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM0_CCNT0 (0x40020214U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM0_DT0 (0x40020218U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM0_DTUPD0 (0x4002021CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM0_CMR1 (0x40020220U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM0_CDTY1 (0x40020224U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM0_CDTYUPD1 (0x40020228U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM0_CPRD1 (0x4002022CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM0_CPRDUPD1 (0x40020230U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM0_CCNT1 (0x40020234U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM0_DT1 (0x40020238U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM0_DTUPD1 (0x4002023CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM0_CMR2 (0x40020240U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM0_CDTY2 (0x40020244U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM0_CDTYUPD2 (0x40020248U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM0_CPRD2 (0x4002024CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM0_CPRDUPD2 (0x40020250U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM0_CCNT2 (0x40020254U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM0_DT2 (0x40020258U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM0_DTUPD2 (0x4002025CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM0_CMR3 (0x40020260U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM0_CDTY3 (0x40020264U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM0_CDTYUPD3 (0x40020268U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM0_CPRD3 (0x4002026CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM0_CPRDUPD3 (0x40020270U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM0_CCNT3 (0x40020274U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM0_DT3 (0x40020278U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM0_DTUPD3 (0x4002027CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM0_CMUPD0 (0x40020400U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM0_CMUPD1 (0x40020420U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM0_ETRG1 (0x4002042CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM0_LEBR1 (0x40020430U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM0_CMUPD2 (0x40020440U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM0_ETRG2 (0x4002044CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM0_LEBR2 (0x40020450U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM0_CMUPD3 (0x40020460U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM0_ETRG3 (0x4002046CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM0_LEBR3 (0x40020470U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM0_ETRG4 (0x4002048CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM0_LEBR4 (0x40020490U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#else - #define REG_PWM0_CLK (*(__IO uint32_t*)0x40020000U) /**< \brief (PWM0) PWM Clock Register */ - #define REG_PWM0_ENA (*(__O uint32_t*)0x40020004U) /**< \brief (PWM0) PWM Enable Register */ - #define REG_PWM0_DIS (*(__O uint32_t*)0x40020008U) /**< \brief (PWM0) PWM Disable Register */ - #define REG_PWM0_SR (*(__I uint32_t*)0x4002000CU) /**< \brief (PWM0) PWM Status Register */ - #define REG_PWM0_IER1 (*(__O uint32_t*)0x40020010U) /**< \brief (PWM0) PWM Interrupt Enable Register 1 */ - #define REG_PWM0_IDR1 (*(__O uint32_t*)0x40020014U) /**< \brief (PWM0) PWM Interrupt Disable Register 1 */ - #define REG_PWM0_IMR1 (*(__I uint32_t*)0x40020018U) /**< \brief (PWM0) PWM Interrupt Mask Register 1 */ - #define REG_PWM0_ISR1 (*(__I uint32_t*)0x4002001CU) /**< \brief (PWM0) PWM Interrupt Status Register 1 */ - #define REG_PWM0_SCM (*(__IO uint32_t*)0x40020020U) /**< \brief (PWM0) PWM Sync Channels Mode Register */ - #define REG_PWM0_DMAR (*(__O uint32_t*)0x40020024U) /**< \brief (PWM0) PWM DMA Register */ - #define REG_PWM0_SCUC (*(__IO uint32_t*)0x40020028U) /**< \brief (PWM0) PWM Sync Channels Update Control Register */ - #define REG_PWM0_SCUP (*(__IO uint32_t*)0x4002002CU) /**< \brief (PWM0) PWM Sync Channels Update Period Register */ - #define REG_PWM0_SCUPUPD (*(__O uint32_t*)0x40020030U) /**< \brief (PWM0) PWM Sync Channels Update Period Update Register */ - #define REG_PWM0_IER2 (*(__O uint32_t*)0x40020034U) /**< \brief (PWM0) PWM Interrupt Enable Register 2 */ - #define REG_PWM0_IDR2 (*(__O uint32_t*)0x40020038U) /**< \brief (PWM0) PWM Interrupt Disable Register 2 */ - #define REG_PWM0_IMR2 (*(__I uint32_t*)0x4002003CU) /**< \brief (PWM0) PWM Interrupt Mask Register 2 */ - #define REG_PWM0_ISR2 (*(__I uint32_t*)0x40020040U) /**< \brief (PWM0) PWM Interrupt Status Register 2 */ - #define REG_PWM0_OOV (*(__IO uint32_t*)0x40020044U) /**< \brief (PWM0) PWM Output Override Value Register */ - #define REG_PWM0_OS (*(__IO uint32_t*)0x40020048U) /**< \brief (PWM0) PWM Output Selection Register */ - #define REG_PWM0_OSS (*(__O uint32_t*)0x4002004CU) /**< \brief (PWM0) PWM Output Selection Set Register */ - #define REG_PWM0_OSC (*(__O uint32_t*)0x40020050U) /**< \brief (PWM0) PWM Output Selection Clear Register */ - #define REG_PWM0_OSSUPD (*(__O uint32_t*)0x40020054U) /**< \brief (PWM0) PWM Output Selection Set Update Register */ - #define REG_PWM0_OSCUPD (*(__O uint32_t*)0x40020058U) /**< \brief (PWM0) PWM Output Selection Clear Update Register */ - #define REG_PWM0_FMR (*(__IO uint32_t*)0x4002005CU) /**< \brief (PWM0) PWM Fault Mode Register */ - #define REG_PWM0_FSR (*(__I uint32_t*)0x40020060U) /**< \brief (PWM0) PWM Fault Status Register */ - #define REG_PWM0_FCR (*(__O uint32_t*)0x40020064U) /**< \brief (PWM0) PWM Fault Clear Register */ - #define REG_PWM0_FPV1 (*(__IO uint32_t*)0x40020068U) /**< \brief (PWM0) PWM Fault Protection Value Register 1 */ - #define REG_PWM0_FPE (*(__IO uint32_t*)0x4002006CU) /**< \brief (PWM0) PWM Fault Protection Enable Register */ - #define REG_PWM0_ELMR (*(__IO uint32_t*)0x4002007CU) /**< \brief (PWM0) PWM Event Line 0 Mode Register */ - #define REG_PWM0_SSPR (*(__IO uint32_t*)0x400200A0U) /**< \brief (PWM0) PWM Spread Spectrum Register */ - #define REG_PWM0_SSPUP (*(__O uint32_t*)0x400200A4U) /**< \brief (PWM0) PWM Spread Spectrum Update Register */ - #define REG_PWM0_SMMR (*(__IO uint32_t*)0x400200B0U) /**< \brief (PWM0) PWM Stepper Motor Mode Register */ - #define REG_PWM0_FPV2 (*(__IO uint32_t*)0x400200C0U) /**< \brief (PWM0) PWM Fault Protection Value 2 Register */ - #define REG_PWM0_WPCR (*(__O uint32_t*)0x400200E4U) /**< \brief (PWM0) PWM Write Protection Control Register */ - #define REG_PWM0_WPSR (*(__I uint32_t*)0x400200E8U) /**< \brief (PWM0) PWM Write Protection Status Register */ - #define REG_PWM0_CMPV0 (*(__IO uint32_t*)0x40020130U) /**< \brief (PWM0) PWM Comparison 0 Value Register */ - #define REG_PWM0_CMPVUPD0 (*(__O uint32_t*)0x40020134U) /**< \brief (PWM0) PWM Comparison 0 Value Update Register */ - #define REG_PWM0_CMPM0 (*(__IO uint32_t*)0x40020138U) /**< \brief (PWM0) PWM Comparison 0 Mode Register */ - #define REG_PWM0_CMPMUPD0 (*(__O uint32_t*)0x4002013CU) /**< \brief (PWM0) PWM Comparison 0 Mode Update Register */ - #define REG_PWM0_CMPV1 (*(__IO uint32_t*)0x40020140U) /**< \brief (PWM0) PWM Comparison 1 Value Register */ - #define REG_PWM0_CMPVUPD1 (*(__O uint32_t*)0x40020144U) /**< \brief (PWM0) PWM Comparison 1 Value Update Register */ - #define REG_PWM0_CMPM1 (*(__IO uint32_t*)0x40020148U) /**< \brief (PWM0) PWM Comparison 1 Mode Register */ - #define REG_PWM0_CMPMUPD1 (*(__O uint32_t*)0x4002014CU) /**< \brief (PWM0) PWM Comparison 1 Mode Update Register */ - #define REG_PWM0_CMPV2 (*(__IO uint32_t*)0x40020150U) /**< \brief (PWM0) PWM Comparison 2 Value Register */ - #define REG_PWM0_CMPVUPD2 (*(__O uint32_t*)0x40020154U) /**< \brief (PWM0) PWM Comparison 2 Value Update Register */ - #define REG_PWM0_CMPM2 (*(__IO uint32_t*)0x40020158U) /**< \brief (PWM0) PWM Comparison 2 Mode Register */ - #define REG_PWM0_CMPMUPD2 (*(__O uint32_t*)0x4002015CU) /**< \brief (PWM0) PWM Comparison 2 Mode Update Register */ - #define REG_PWM0_CMPV3 (*(__IO uint32_t*)0x40020160U) /**< \brief (PWM0) PWM Comparison 3 Value Register */ - #define REG_PWM0_CMPVUPD3 (*(__O uint32_t*)0x40020164U) /**< \brief (PWM0) PWM Comparison 3 Value Update Register */ - #define REG_PWM0_CMPM3 (*(__IO uint32_t*)0x40020168U) /**< \brief (PWM0) PWM Comparison 3 Mode Register */ - #define REG_PWM0_CMPMUPD3 (*(__O uint32_t*)0x4002016CU) /**< \brief (PWM0) PWM Comparison 3 Mode Update Register */ - #define REG_PWM0_CMPV4 (*(__IO uint32_t*)0x40020170U) /**< \brief (PWM0) PWM Comparison 4 Value Register */ - #define REG_PWM0_CMPVUPD4 (*(__O uint32_t*)0x40020174U) /**< \brief (PWM0) PWM Comparison 4 Value Update Register */ - #define REG_PWM0_CMPM4 (*(__IO uint32_t*)0x40020178U) /**< \brief (PWM0) PWM Comparison 4 Mode Register */ - #define REG_PWM0_CMPMUPD4 (*(__O uint32_t*)0x4002017CU) /**< \brief (PWM0) PWM Comparison 4 Mode Update Register */ - #define REG_PWM0_CMPV5 (*(__IO uint32_t*)0x40020180U) /**< \brief (PWM0) PWM Comparison 5 Value Register */ - #define REG_PWM0_CMPVUPD5 (*(__O uint32_t*)0x40020184U) /**< \brief (PWM0) PWM Comparison 5 Value Update Register */ - #define REG_PWM0_CMPM5 (*(__IO uint32_t*)0x40020188U) /**< \brief (PWM0) PWM Comparison 5 Mode Register */ - #define REG_PWM0_CMPMUPD5 (*(__O uint32_t*)0x4002018CU) /**< \brief (PWM0) PWM Comparison 5 Mode Update Register */ - #define REG_PWM0_CMPV6 (*(__IO uint32_t*)0x40020190U) /**< \brief (PWM0) PWM Comparison 6 Value Register */ - #define REG_PWM0_CMPVUPD6 (*(__O uint32_t*)0x40020194U) /**< \brief (PWM0) PWM Comparison 6 Value Update Register */ - #define REG_PWM0_CMPM6 (*(__IO uint32_t*)0x40020198U) /**< \brief (PWM0) PWM Comparison 6 Mode Register */ - #define REG_PWM0_CMPMUPD6 (*(__O uint32_t*)0x4002019CU) /**< \brief (PWM0) PWM Comparison 6 Mode Update Register */ - #define REG_PWM0_CMPV7 (*(__IO uint32_t*)0x400201A0U) /**< \brief (PWM0) PWM Comparison 7 Value Register */ - #define REG_PWM0_CMPVUPD7 (*(__O uint32_t*)0x400201A4U) /**< \brief (PWM0) PWM Comparison 7 Value Update Register */ - #define REG_PWM0_CMPM7 (*(__IO uint32_t*)0x400201A8U) /**< \brief (PWM0) PWM Comparison 7 Mode Register */ - #define REG_PWM0_CMPMUPD7 (*(__O uint32_t*)0x400201ACU) /**< \brief (PWM0) PWM Comparison 7 Mode Update Register */ - #define REG_PWM0_CMR0 (*(__IO uint32_t*)0x40020200U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM0_CDTY0 (*(__IO uint32_t*)0x40020204U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM0_CDTYUPD0 (*(__O uint32_t*)0x40020208U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM0_CPRD0 (*(__IO uint32_t*)0x4002020CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM0_CPRDUPD0 (*(__O uint32_t*)0x40020210U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM0_CCNT0 (*(__I uint32_t*)0x40020214U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM0_DT0 (*(__IO uint32_t*)0x40020218U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM0_DTUPD0 (*(__O uint32_t*)0x4002021CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM0_CMR1 (*(__IO uint32_t*)0x40020220U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM0_CDTY1 (*(__IO uint32_t*)0x40020224U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM0_CDTYUPD1 (*(__O uint32_t*)0x40020228U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM0_CPRD1 (*(__IO uint32_t*)0x4002022CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM0_CPRDUPD1 (*(__O uint32_t*)0x40020230U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM0_CCNT1 (*(__I uint32_t*)0x40020234U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM0_DT1 (*(__IO uint32_t*)0x40020238U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM0_DTUPD1 (*(__O uint32_t*)0x4002023CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM0_CMR2 (*(__IO uint32_t*)0x40020240U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM0_CDTY2 (*(__IO uint32_t*)0x40020244U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM0_CDTYUPD2 (*(__O uint32_t*)0x40020248U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM0_CPRD2 (*(__IO uint32_t*)0x4002024CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM0_CPRDUPD2 (*(__O uint32_t*)0x40020250U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM0_CCNT2 (*(__I uint32_t*)0x40020254U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM0_DT2 (*(__IO uint32_t*)0x40020258U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM0_DTUPD2 (*(__O uint32_t*)0x4002025CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM0_CMR3 (*(__IO uint32_t*)0x40020260U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM0_CDTY3 (*(__IO uint32_t*)0x40020264U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM0_CDTYUPD3 (*(__O uint32_t*)0x40020268U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM0_CPRD3 (*(__IO uint32_t*)0x4002026CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM0_CPRDUPD3 (*(__O uint32_t*)0x40020270U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM0_CCNT3 (*(__I uint32_t*)0x40020274U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM0_DT3 (*(__IO uint32_t*)0x40020278U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM0_DTUPD3 (*(__O uint32_t*)0x4002027CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM0_CMUPD0 (*(__O uint32_t*)0x40020400U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM0_CMUPD1 (*(__O uint32_t*)0x40020420U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM0_ETRG1 (*(__IO uint32_t*)0x4002042CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM0_LEBR1 (*(__IO uint32_t*)0x40020430U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM0_CMUPD2 (*(__O uint32_t*)0x40020440U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM0_ETRG2 (*(__IO uint32_t*)0x4002044CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM0_LEBR2 (*(__IO uint32_t*)0x40020450U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM0_CMUPD3 (*(__O uint32_t*)0x40020460U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM0_ETRG3 (*(__IO uint32_t*)0x4002046CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM0_LEBR3 (*(__IO uint32_t*)0x40020470U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM0_ETRG4 (*(__IO uint32_t*)0x4002048CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM0_LEBR4 (*(__IO uint32_t*)0x40020490U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PWM0_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h deleted file mode 100644 index 0f4dcf7..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h +++ /dev/null @@ -1,275 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PWM1_INSTANCE_ -#define _SAMS70_PWM1_INSTANCE_ - -/* ========== Register definition for PWM1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PWM1_CLK (0x4005C000U) /**< \brief (PWM1) PWM Clock Register */ - #define REG_PWM1_ENA (0x4005C004U) /**< \brief (PWM1) PWM Enable Register */ - #define REG_PWM1_DIS (0x4005C008U) /**< \brief (PWM1) PWM Disable Register */ - #define REG_PWM1_SR (0x4005C00CU) /**< \brief (PWM1) PWM Status Register */ - #define REG_PWM1_IER1 (0x4005C010U) /**< \brief (PWM1) PWM Interrupt Enable Register 1 */ - #define REG_PWM1_IDR1 (0x4005C014U) /**< \brief (PWM1) PWM Interrupt Disable Register 1 */ - #define REG_PWM1_IMR1 (0x4005C018U) /**< \brief (PWM1) PWM Interrupt Mask Register 1 */ - #define REG_PWM1_ISR1 (0x4005C01CU) /**< \brief (PWM1) PWM Interrupt Status Register 1 */ - #define REG_PWM1_SCM (0x4005C020U) /**< \brief (PWM1) PWM Sync Channels Mode Register */ - #define REG_PWM1_DMAR (0x4005C024U) /**< \brief (PWM1) PWM DMA Register */ - #define REG_PWM1_SCUC (0x4005C028U) /**< \brief (PWM1) PWM Sync Channels Update Control Register */ - #define REG_PWM1_SCUP (0x4005C02CU) /**< \brief (PWM1) PWM Sync Channels Update Period Register */ - #define REG_PWM1_SCUPUPD (0x4005C030U) /**< \brief (PWM1) PWM Sync Channels Update Period Update Register */ - #define REG_PWM1_IER2 (0x4005C034U) /**< \brief (PWM1) PWM Interrupt Enable Register 2 */ - #define REG_PWM1_IDR2 (0x4005C038U) /**< \brief (PWM1) PWM Interrupt Disable Register 2 */ - #define REG_PWM1_IMR2 (0x4005C03CU) /**< \brief (PWM1) PWM Interrupt Mask Register 2 */ - #define REG_PWM1_ISR2 (0x4005C040U) /**< \brief (PWM1) PWM Interrupt Status Register 2 */ - #define REG_PWM1_OOV (0x4005C044U) /**< \brief (PWM1) PWM Output Override Value Register */ - #define REG_PWM1_OS (0x4005C048U) /**< \brief (PWM1) PWM Output Selection Register */ - #define REG_PWM1_OSS (0x4005C04CU) /**< \brief (PWM1) PWM Output Selection Set Register */ - #define REG_PWM1_OSC (0x4005C050U) /**< \brief (PWM1) PWM Output Selection Clear Register */ - #define REG_PWM1_OSSUPD (0x4005C054U) /**< \brief (PWM1) PWM Output Selection Set Update Register */ - #define REG_PWM1_OSCUPD (0x4005C058U) /**< \brief (PWM1) PWM Output Selection Clear Update Register */ - #define REG_PWM1_FMR (0x4005C05CU) /**< \brief (PWM1) PWM Fault Mode Register */ - #define REG_PWM1_FSR (0x4005C060U) /**< \brief (PWM1) PWM Fault Status Register */ - #define REG_PWM1_FCR (0x4005C064U) /**< \brief (PWM1) PWM Fault Clear Register */ - #define REG_PWM1_FPV1 (0x4005C068U) /**< \brief (PWM1) PWM Fault Protection Value Register 1 */ - #define REG_PWM1_FPE (0x4005C06CU) /**< \brief (PWM1) PWM Fault Protection Enable Register */ - #define REG_PWM1_ELMR (0x4005C07CU) /**< \brief (PWM1) PWM Event Line 0 Mode Register */ - #define REG_PWM1_SSPR (0x4005C0A0U) /**< \brief (PWM1) PWM Spread Spectrum Register */ - #define REG_PWM1_SSPUP (0x4005C0A4U) /**< \brief (PWM1) PWM Spread Spectrum Update Register */ - #define REG_PWM1_SMMR (0x4005C0B0U) /**< \brief (PWM1) PWM Stepper Motor Mode Register */ - #define REG_PWM1_FPV2 (0x4005C0C0U) /**< \brief (PWM1) PWM Fault Protection Value 2 Register */ - #define REG_PWM1_WPCR (0x4005C0E4U) /**< \brief (PWM1) PWM Write Protection Control Register */ - #define REG_PWM1_WPSR (0x4005C0E8U) /**< \brief (PWM1) PWM Write Protection Status Register */ - #define REG_PWM1_CMPV0 (0x4005C130U) /**< \brief (PWM1) PWM Comparison 0 Value Register */ - #define REG_PWM1_CMPVUPD0 (0x4005C134U) /**< \brief (PWM1) PWM Comparison 0 Value Update Register */ - #define REG_PWM1_CMPM0 (0x4005C138U) /**< \brief (PWM1) PWM Comparison 0 Mode Register */ - #define REG_PWM1_CMPMUPD0 (0x4005C13CU) /**< \brief (PWM1) PWM Comparison 0 Mode Update Register */ - #define REG_PWM1_CMPV1 (0x4005C140U) /**< \brief (PWM1) PWM Comparison 1 Value Register */ - #define REG_PWM1_CMPVUPD1 (0x4005C144U) /**< \brief (PWM1) PWM Comparison 1 Value Update Register */ - #define REG_PWM1_CMPM1 (0x4005C148U) /**< \brief (PWM1) PWM Comparison 1 Mode Register */ - #define REG_PWM1_CMPMUPD1 (0x4005C14CU) /**< \brief (PWM1) PWM Comparison 1 Mode Update Register */ - #define REG_PWM1_CMPV2 (0x4005C150U) /**< \brief (PWM1) PWM Comparison 2 Value Register */ - #define REG_PWM1_CMPVUPD2 (0x4005C154U) /**< \brief (PWM1) PWM Comparison 2 Value Update Register */ - #define REG_PWM1_CMPM2 (0x4005C158U) /**< \brief (PWM1) PWM Comparison 2 Mode Register */ - #define REG_PWM1_CMPMUPD2 (0x4005C15CU) /**< \brief (PWM1) PWM Comparison 2 Mode Update Register */ - #define REG_PWM1_CMPV3 (0x4005C160U) /**< \brief (PWM1) PWM Comparison 3 Value Register */ - #define REG_PWM1_CMPVUPD3 (0x4005C164U) /**< \brief (PWM1) PWM Comparison 3 Value Update Register */ - #define REG_PWM1_CMPM3 (0x4005C168U) /**< \brief (PWM1) PWM Comparison 3 Mode Register */ - #define REG_PWM1_CMPMUPD3 (0x4005C16CU) /**< \brief (PWM1) PWM Comparison 3 Mode Update Register */ - #define REG_PWM1_CMPV4 (0x4005C170U) /**< \brief (PWM1) PWM Comparison 4 Value Register */ - #define REG_PWM1_CMPVUPD4 (0x4005C174U) /**< \brief (PWM1) PWM Comparison 4 Value Update Register */ - #define REG_PWM1_CMPM4 (0x4005C178U) /**< \brief (PWM1) PWM Comparison 4 Mode Register */ - #define REG_PWM1_CMPMUPD4 (0x4005C17CU) /**< \brief (PWM1) PWM Comparison 4 Mode Update Register */ - #define REG_PWM1_CMPV5 (0x4005C180U) /**< \brief (PWM1) PWM Comparison 5 Value Register */ - #define REG_PWM1_CMPVUPD5 (0x4005C184U) /**< \brief (PWM1) PWM Comparison 5 Value Update Register */ - #define REG_PWM1_CMPM5 (0x4005C188U) /**< \brief (PWM1) PWM Comparison 5 Mode Register */ - #define REG_PWM1_CMPMUPD5 (0x4005C18CU) /**< \brief (PWM1) PWM Comparison 5 Mode Update Register */ - #define REG_PWM1_CMPV6 (0x4005C190U) /**< \brief (PWM1) PWM Comparison 6 Value Register */ - #define REG_PWM1_CMPVUPD6 (0x4005C194U) /**< \brief (PWM1) PWM Comparison 6 Value Update Register */ - #define REG_PWM1_CMPM6 (0x4005C198U) /**< \brief (PWM1) PWM Comparison 6 Mode Register */ - #define REG_PWM1_CMPMUPD6 (0x4005C19CU) /**< \brief (PWM1) PWM Comparison 6 Mode Update Register */ - #define REG_PWM1_CMPV7 (0x4005C1A0U) /**< \brief (PWM1) PWM Comparison 7 Value Register */ - #define REG_PWM1_CMPVUPD7 (0x4005C1A4U) /**< \brief (PWM1) PWM Comparison 7 Value Update Register */ - #define REG_PWM1_CMPM7 (0x4005C1A8U) /**< \brief (PWM1) PWM Comparison 7 Mode Register */ - #define REG_PWM1_CMPMUPD7 (0x4005C1ACU) /**< \brief (PWM1) PWM Comparison 7 Mode Update Register */ - #define REG_PWM1_CMR0 (0x4005C200U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM1_CDTY0 (0x4005C204U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM1_CDTYUPD0 (0x4005C208U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM1_CPRD0 (0x4005C20CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM1_CPRDUPD0 (0x4005C210U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM1_CCNT0 (0x4005C214U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM1_DT0 (0x4005C218U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM1_DTUPD0 (0x4005C21CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM1_CMR1 (0x4005C220U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM1_CDTY1 (0x4005C224U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM1_CDTYUPD1 (0x4005C228U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM1_CPRD1 (0x4005C22CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM1_CPRDUPD1 (0x4005C230U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM1_CCNT1 (0x4005C234U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM1_DT1 (0x4005C238U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM1_DTUPD1 (0x4005C23CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM1_CMR2 (0x4005C240U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM1_CDTY2 (0x4005C244U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM1_CDTYUPD2 (0x4005C248U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM1_CPRD2 (0x4005C24CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM1_CPRDUPD2 (0x4005C250U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM1_CCNT2 (0x4005C254U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM1_DT2 (0x4005C258U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM1_DTUPD2 (0x4005C25CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM1_CMR3 (0x4005C260U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM1_CDTY3 (0x4005C264U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM1_CDTYUPD3 (0x4005C268U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM1_CPRD3 (0x4005C26CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM1_CPRDUPD3 (0x4005C270U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM1_CCNT3 (0x4005C274U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM1_DT3 (0x4005C278U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM1_DTUPD3 (0x4005C27CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM1_CMUPD0 (0x4005C400U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM1_CMUPD1 (0x4005C420U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM1_ETRG1 (0x4005C42CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM1_LEBR1 (0x4005C430U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM1_CMUPD2 (0x4005C440U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM1_ETRG2 (0x4005C44CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM1_LEBR2 (0x4005C450U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM1_CMUPD3 (0x4005C460U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM1_ETRG3 (0x4005C46CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM1_LEBR3 (0x4005C470U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM1_ETRG4 (0x4005C48CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM1_LEBR4 (0x4005C490U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#else - #define REG_PWM1_CLK (*(__IO uint32_t*)0x4005C000U) /**< \brief (PWM1) PWM Clock Register */ - #define REG_PWM1_ENA (*(__O uint32_t*)0x4005C004U) /**< \brief (PWM1) PWM Enable Register */ - #define REG_PWM1_DIS (*(__O uint32_t*)0x4005C008U) /**< \brief (PWM1) PWM Disable Register */ - #define REG_PWM1_SR (*(__I uint32_t*)0x4005C00CU) /**< \brief (PWM1) PWM Status Register */ - #define REG_PWM1_IER1 (*(__O uint32_t*)0x4005C010U) /**< \brief (PWM1) PWM Interrupt Enable Register 1 */ - #define REG_PWM1_IDR1 (*(__O uint32_t*)0x4005C014U) /**< \brief (PWM1) PWM Interrupt Disable Register 1 */ - #define REG_PWM1_IMR1 (*(__I uint32_t*)0x4005C018U) /**< \brief (PWM1) PWM Interrupt Mask Register 1 */ - #define REG_PWM1_ISR1 (*(__I uint32_t*)0x4005C01CU) /**< \brief (PWM1) PWM Interrupt Status Register 1 */ - #define REG_PWM1_SCM (*(__IO uint32_t*)0x4005C020U) /**< \brief (PWM1) PWM Sync Channels Mode Register */ - #define REG_PWM1_DMAR (*(__O uint32_t*)0x4005C024U) /**< \brief (PWM1) PWM DMA Register */ - #define REG_PWM1_SCUC (*(__IO uint32_t*)0x4005C028U) /**< \brief (PWM1) PWM Sync Channels Update Control Register */ - #define REG_PWM1_SCUP (*(__IO uint32_t*)0x4005C02CU) /**< \brief (PWM1) PWM Sync Channels Update Period Register */ - #define REG_PWM1_SCUPUPD (*(__O uint32_t*)0x4005C030U) /**< \brief (PWM1) PWM Sync Channels Update Period Update Register */ - #define REG_PWM1_IER2 (*(__O uint32_t*)0x4005C034U) /**< \brief (PWM1) PWM Interrupt Enable Register 2 */ - #define REG_PWM1_IDR2 (*(__O uint32_t*)0x4005C038U) /**< \brief (PWM1) PWM Interrupt Disable Register 2 */ - #define REG_PWM1_IMR2 (*(__I uint32_t*)0x4005C03CU) /**< \brief (PWM1) PWM Interrupt Mask Register 2 */ - #define REG_PWM1_ISR2 (*(__I uint32_t*)0x4005C040U) /**< \brief (PWM1) PWM Interrupt Status Register 2 */ - #define REG_PWM1_OOV (*(__IO uint32_t*)0x4005C044U) /**< \brief (PWM1) PWM Output Override Value Register */ - #define REG_PWM1_OS (*(__IO uint32_t*)0x4005C048U) /**< \brief (PWM1) PWM Output Selection Register */ - #define REG_PWM1_OSS (*(__O uint32_t*)0x4005C04CU) /**< \brief (PWM1) PWM Output Selection Set Register */ - #define REG_PWM1_OSC (*(__O uint32_t*)0x4005C050U) /**< \brief (PWM1) PWM Output Selection Clear Register */ - #define REG_PWM1_OSSUPD (*(__O uint32_t*)0x4005C054U) /**< \brief (PWM1) PWM Output Selection Set Update Register */ - #define REG_PWM1_OSCUPD (*(__O uint32_t*)0x4005C058U) /**< \brief (PWM1) PWM Output Selection Clear Update Register */ - #define REG_PWM1_FMR (*(__IO uint32_t*)0x4005C05CU) /**< \brief (PWM1) PWM Fault Mode Register */ - #define REG_PWM1_FSR (*(__I uint32_t*)0x4005C060U) /**< \brief (PWM1) PWM Fault Status Register */ - #define REG_PWM1_FCR (*(__O uint32_t*)0x4005C064U) /**< \brief (PWM1) PWM Fault Clear Register */ - #define REG_PWM1_FPV1 (*(__IO uint32_t*)0x4005C068U) /**< \brief (PWM1) PWM Fault Protection Value Register 1 */ - #define REG_PWM1_FPE (*(__IO uint32_t*)0x4005C06CU) /**< \brief (PWM1) PWM Fault Protection Enable Register */ - #define REG_PWM1_ELMR (*(__IO uint32_t*)0x4005C07CU) /**< \brief (PWM1) PWM Event Line 0 Mode Register */ - #define REG_PWM1_SSPR (*(__IO uint32_t*)0x4005C0A0U) /**< \brief (PWM1) PWM Spread Spectrum Register */ - #define REG_PWM1_SSPUP (*(__O uint32_t*)0x4005C0A4U) /**< \brief (PWM1) PWM Spread Spectrum Update Register */ - #define REG_PWM1_SMMR (*(__IO uint32_t*)0x4005C0B0U) /**< \brief (PWM1) PWM Stepper Motor Mode Register */ - #define REG_PWM1_FPV2 (*(__IO uint32_t*)0x4005C0C0U) /**< \brief (PWM1) PWM Fault Protection Value 2 Register */ - #define REG_PWM1_WPCR (*(__O uint32_t*)0x4005C0E4U) /**< \brief (PWM1) PWM Write Protection Control Register */ - #define REG_PWM1_WPSR (*(__I uint32_t*)0x4005C0E8U) /**< \brief (PWM1) PWM Write Protection Status Register */ - #define REG_PWM1_CMPV0 (*(__IO uint32_t*)0x4005C130U) /**< \brief (PWM1) PWM Comparison 0 Value Register */ - #define REG_PWM1_CMPVUPD0 (*(__O uint32_t*)0x4005C134U) /**< \brief (PWM1) PWM Comparison 0 Value Update Register */ - #define REG_PWM1_CMPM0 (*(__IO uint32_t*)0x4005C138U) /**< \brief (PWM1) PWM Comparison 0 Mode Register */ - #define REG_PWM1_CMPMUPD0 (*(__O uint32_t*)0x4005C13CU) /**< \brief (PWM1) PWM Comparison 0 Mode Update Register */ - #define REG_PWM1_CMPV1 (*(__IO uint32_t*)0x4005C140U) /**< \brief (PWM1) PWM Comparison 1 Value Register */ - #define REG_PWM1_CMPVUPD1 (*(__O uint32_t*)0x4005C144U) /**< \brief (PWM1) PWM Comparison 1 Value Update Register */ - #define REG_PWM1_CMPM1 (*(__IO uint32_t*)0x4005C148U) /**< \brief (PWM1) PWM Comparison 1 Mode Register */ - #define REG_PWM1_CMPMUPD1 (*(__O uint32_t*)0x4005C14CU) /**< \brief (PWM1) PWM Comparison 1 Mode Update Register */ - #define REG_PWM1_CMPV2 (*(__IO uint32_t*)0x4005C150U) /**< \brief (PWM1) PWM Comparison 2 Value Register */ - #define REG_PWM1_CMPVUPD2 (*(__O uint32_t*)0x4005C154U) /**< \brief (PWM1) PWM Comparison 2 Value Update Register */ - #define REG_PWM1_CMPM2 (*(__IO uint32_t*)0x4005C158U) /**< \brief (PWM1) PWM Comparison 2 Mode Register */ - #define REG_PWM1_CMPMUPD2 (*(__O uint32_t*)0x4005C15CU) /**< \brief (PWM1) PWM Comparison 2 Mode Update Register */ - #define REG_PWM1_CMPV3 (*(__IO uint32_t*)0x4005C160U) /**< \brief (PWM1) PWM Comparison 3 Value Register */ - #define REG_PWM1_CMPVUPD3 (*(__O uint32_t*)0x4005C164U) /**< \brief (PWM1) PWM Comparison 3 Value Update Register */ - #define REG_PWM1_CMPM3 (*(__IO uint32_t*)0x4005C168U) /**< \brief (PWM1) PWM Comparison 3 Mode Register */ - #define REG_PWM1_CMPMUPD3 (*(__O uint32_t*)0x4005C16CU) /**< \brief (PWM1) PWM Comparison 3 Mode Update Register */ - #define REG_PWM1_CMPV4 (*(__IO uint32_t*)0x4005C170U) /**< \brief (PWM1) PWM Comparison 4 Value Register */ - #define REG_PWM1_CMPVUPD4 (*(__O uint32_t*)0x4005C174U) /**< \brief (PWM1) PWM Comparison 4 Value Update Register */ - #define REG_PWM1_CMPM4 (*(__IO uint32_t*)0x4005C178U) /**< \brief (PWM1) PWM Comparison 4 Mode Register */ - #define REG_PWM1_CMPMUPD4 (*(__O uint32_t*)0x4005C17CU) /**< \brief (PWM1) PWM Comparison 4 Mode Update Register */ - #define REG_PWM1_CMPV5 (*(__IO uint32_t*)0x4005C180U) /**< \brief (PWM1) PWM Comparison 5 Value Register */ - #define REG_PWM1_CMPVUPD5 (*(__O uint32_t*)0x4005C184U) /**< \brief (PWM1) PWM Comparison 5 Value Update Register */ - #define REG_PWM1_CMPM5 (*(__IO uint32_t*)0x4005C188U) /**< \brief (PWM1) PWM Comparison 5 Mode Register */ - #define REG_PWM1_CMPMUPD5 (*(__O uint32_t*)0x4005C18CU) /**< \brief (PWM1) PWM Comparison 5 Mode Update Register */ - #define REG_PWM1_CMPV6 (*(__IO uint32_t*)0x4005C190U) /**< \brief (PWM1) PWM Comparison 6 Value Register */ - #define REG_PWM1_CMPVUPD6 (*(__O uint32_t*)0x4005C194U) /**< \brief (PWM1) PWM Comparison 6 Value Update Register */ - #define REG_PWM1_CMPM6 (*(__IO uint32_t*)0x4005C198U) /**< \brief (PWM1) PWM Comparison 6 Mode Register */ - #define REG_PWM1_CMPMUPD6 (*(__O uint32_t*)0x4005C19CU) /**< \brief (PWM1) PWM Comparison 6 Mode Update Register */ - #define REG_PWM1_CMPV7 (*(__IO uint32_t*)0x4005C1A0U) /**< \brief (PWM1) PWM Comparison 7 Value Register */ - #define REG_PWM1_CMPVUPD7 (*(__O uint32_t*)0x4005C1A4U) /**< \brief (PWM1) PWM Comparison 7 Value Update Register */ - #define REG_PWM1_CMPM7 (*(__IO uint32_t*)0x4005C1A8U) /**< \brief (PWM1) PWM Comparison 7 Mode Register */ - #define REG_PWM1_CMPMUPD7 (*(__O uint32_t*)0x4005C1ACU) /**< \brief (PWM1) PWM Comparison 7 Mode Update Register */ - #define REG_PWM1_CMR0 (*(__IO uint32_t*)0x4005C200U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM1_CDTY0 (*(__IO uint32_t*)0x4005C204U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM1_CDTYUPD0 (*(__O uint32_t*)0x4005C208U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM1_CPRD0 (*(__IO uint32_t*)0x4005C20CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM1_CPRDUPD0 (*(__O uint32_t*)0x4005C210U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM1_CCNT0 (*(__I uint32_t*)0x4005C214U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM1_DT0 (*(__IO uint32_t*)0x4005C218U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM1_DTUPD0 (*(__O uint32_t*)0x4005C21CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM1_CMR1 (*(__IO uint32_t*)0x4005C220U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM1_CDTY1 (*(__IO uint32_t*)0x4005C224U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM1_CDTYUPD1 (*(__O uint32_t*)0x4005C228U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM1_CPRD1 (*(__IO uint32_t*)0x4005C22CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM1_CPRDUPD1 (*(__O uint32_t*)0x4005C230U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM1_CCNT1 (*(__I uint32_t*)0x4005C234U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM1_DT1 (*(__IO uint32_t*)0x4005C238U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM1_DTUPD1 (*(__O uint32_t*)0x4005C23CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM1_CMR2 (*(__IO uint32_t*)0x4005C240U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM1_CDTY2 (*(__IO uint32_t*)0x4005C244U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM1_CDTYUPD2 (*(__O uint32_t*)0x4005C248U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM1_CPRD2 (*(__IO uint32_t*)0x4005C24CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM1_CPRDUPD2 (*(__O uint32_t*)0x4005C250U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM1_CCNT2 (*(__I uint32_t*)0x4005C254U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM1_DT2 (*(__IO uint32_t*)0x4005C258U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM1_DTUPD2 (*(__O uint32_t*)0x4005C25CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM1_CMR3 (*(__IO uint32_t*)0x4005C260U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM1_CDTY3 (*(__IO uint32_t*)0x4005C264U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM1_CDTYUPD3 (*(__O uint32_t*)0x4005C268U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM1_CPRD3 (*(__IO uint32_t*)0x4005C26CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM1_CPRDUPD3 (*(__O uint32_t*)0x4005C270U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM1_CCNT3 (*(__I uint32_t*)0x4005C274U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM1_DT3 (*(__IO uint32_t*)0x4005C278U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM1_DTUPD3 (*(__O uint32_t*)0x4005C27CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM1_CMUPD0 (*(__O uint32_t*)0x4005C400U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM1_CMUPD1 (*(__O uint32_t*)0x4005C420U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM1_ETRG1 (*(__IO uint32_t*)0x4005C42CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM1_LEBR1 (*(__IO uint32_t*)0x4005C430U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM1_CMUPD2 (*(__O uint32_t*)0x4005C440U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM1_ETRG2 (*(__IO uint32_t*)0x4005C44CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM1_LEBR2 (*(__IO uint32_t*)0x4005C450U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM1_CMUPD3 (*(__O uint32_t*)0x4005C460U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM1_ETRG3 (*(__IO uint32_t*)0x4005C46CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM1_LEBR3 (*(__IO uint32_t*)0x4005C470U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM1_ETRG4 (*(__IO uint32_t*)0x4005C48CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM1_LEBR4 (*(__IO uint32_t*)0x4005C490U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PWM1_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h deleted file mode 100644 index 2009f77..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_QSPI_INSTANCE_ -#define _SAMS70_QSPI_INSTANCE_ - -/* ========== Register definition for QSPI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_QSPI_CR (0x4007C000U) /**< \brief (QSPI) Control Register */ - #define REG_QSPI_MR (0x4007C004U) /**< \brief (QSPI) Mode Register */ - #define REG_QSPI_RDR (0x4007C008U) /**< \brief (QSPI) Receive Data Register */ - #define REG_QSPI_TDR (0x4007C00CU) /**< \brief (QSPI) Transmit Data Register */ - #define REG_QSPI_SR (0x4007C010U) /**< \brief (QSPI) Status Register */ - #define REG_QSPI_IER (0x4007C014U) /**< \brief (QSPI) Interrupt Enable Register */ - #define REG_QSPI_IDR (0x4007C018U) /**< \brief (QSPI) Interrupt Disable Register */ - #define REG_QSPI_IMR (0x4007C01CU) /**< \brief (QSPI) Interrupt Mask Register */ - #define REG_QSPI_SCR (0x4007C020U) /**< \brief (QSPI) Serial Clock Register */ - #define REG_QSPI_IAR (0x4007C030U) /**< \brief (QSPI) Instruction Address Register */ - #define REG_QSPI_ICR (0x4007C034U) /**< \brief (QSPI) Instruction Code Register */ - #define REG_QSPI_IFR (0x4007C038U) /**< \brief (QSPI) Instruction Frame Register */ - #define REG_QSPI_SMR (0x4007C040U) /**< \brief (QSPI) Scrambling Mode Register */ - #define REG_QSPI_SKR (0x4007C044U) /**< \brief (QSPI) Scrambling Key Register */ - #define REG_QSPI_WPMR (0x4007C0E4U) /**< \brief (QSPI) Write Protection Mode Register */ - #define REG_QSPI_WPSR (0x4007C0E8U) /**< \brief (QSPI) Write Protection Status Register */ -#else - #define REG_QSPI_CR (*(__O uint32_t*)0x4007C000U) /**< \brief (QSPI) Control Register */ - #define REG_QSPI_MR (*(__IO uint32_t*)0x4007C004U) /**< \brief (QSPI) Mode Register */ - #define REG_QSPI_RDR (*(__I uint32_t*)0x4007C008U) /**< \brief (QSPI) Receive Data Register */ - #define REG_QSPI_TDR (*(__O uint32_t*)0x4007C00CU) /**< \brief (QSPI) Transmit Data Register */ - #define REG_QSPI_SR (*(__I uint32_t*)0x4007C010U) /**< \brief (QSPI) Status Register */ - #define REG_QSPI_IER (*(__O uint32_t*)0x4007C014U) /**< \brief (QSPI) Interrupt Enable Register */ - #define REG_QSPI_IDR (*(__O uint32_t*)0x4007C018U) /**< \brief (QSPI) Interrupt Disable Register */ - #define REG_QSPI_IMR (*(__I uint32_t*)0x4007C01CU) /**< \brief (QSPI) Interrupt Mask Register */ - #define REG_QSPI_SCR (*(__IO uint32_t*)0x4007C020U) /**< \brief (QSPI) Serial Clock Register */ - #define REG_QSPI_IAR (*(__IO uint32_t*)0x4007C030U) /**< \brief (QSPI) Instruction Address Register */ - #define REG_QSPI_ICR (*(__IO uint32_t*)0x4007C034U) /**< \brief (QSPI) Instruction Code Register */ - #define REG_QSPI_IFR (*(__IO uint32_t*)0x4007C038U) /**< \brief (QSPI) Instruction Frame Register */ - #define REG_QSPI_SMR (*(__IO uint32_t*)0x4007C040U) /**< \brief (QSPI) Scrambling Mode Register */ - #define REG_QSPI_SKR (*(__O uint32_t*)0x4007C044U) /**< \brief (QSPI) Scrambling Key Register */ - #define REG_QSPI_WPMR (*(__IO uint32_t*)0x4007C0E4U) /**< \brief (QSPI) Write Protection Mode Register */ - #define REG_QSPI_WPSR (*(__I uint32_t*)0x4007C0E8U) /**< \brief (QSPI) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_QSPI_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h deleted file mode 100644 index 8278615..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSTC_INSTANCE_ -#define _SAMS70_RSTC_INSTANCE_ - -/* ========== Register definition for RSTC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RSTC_CR (0x400E1800U) /**< \brief (RSTC) Control Register */ - #define REG_RSTC_SR (0x400E1804U) /**< \brief (RSTC) Status Register */ - #define REG_RSTC_MR (0x400E1808U) /**< \brief (RSTC) Mode Register */ -#else - #define REG_RSTC_CR (*(__O uint32_t*)0x400E1800U) /**< \brief (RSTC) Control Register */ - #define REG_RSTC_SR (*(__I uint32_t*)0x400E1804U) /**< \brief (RSTC) Status Register */ - #define REG_RSTC_MR (*(__IO uint32_t*)0x400E1808U) /**< \brief (RSTC) Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RSTC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h deleted file mode 100644 index 903cd16..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSWDT_INSTANCE_ -#define _SAMS70_RSWDT_INSTANCE_ - -/* ========== Register definition for RSWDT peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RSWDT_CR (0x400E1900U) /**< \brief (RSWDT) Control Register */ - #define REG_RSWDT_MR (0x400E1904U) /**< \brief (RSWDT) Mode Register */ - #define REG_RSWDT_SR (0x400E1908U) /**< \brief (RSWDT) Status Register */ -#else - #define REG_RSWDT_CR (*(__O uint32_t*)0x400E1900U) /**< \brief (RSWDT) Control Register */ - #define REG_RSWDT_MR (*(__IO uint32_t*)0x400E1904U) /**< \brief (RSWDT) Mode Register */ - #define REG_RSWDT_SR (*(__I uint32_t*)0x400E1908U) /**< \brief (RSWDT) Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RSWDT_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h deleted file mode 100644 index c44c036..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h +++ /dev/null @@ -1,77 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTC_INSTANCE_ -#define _SAMS70_RTC_INSTANCE_ - -/* ========== Register definition for RTC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RTC_CR (0x400E1860U) /**< \brief (RTC) Control Register */ - #define REG_RTC_MR (0x400E1864U) /**< \brief (RTC) Mode Register */ - #define REG_RTC_TIMR (0x400E1868U) /**< \brief (RTC) Time Register */ - #define REG_RTC_CALR (0x400E186CU) /**< \brief (RTC) Calendar Register */ - #define REG_RTC_TIMALR (0x400E1870U) /**< \brief (RTC) Time Alarm Register */ - #define REG_RTC_CALALR (0x400E1874U) /**< \brief (RTC) Calendar Alarm Register */ - #define REG_RTC_SR (0x400E1878U) /**< \brief (RTC) Status Register */ - #define REG_RTC_SCCR (0x400E187CU) /**< \brief (RTC) Status Clear Command Register */ - #define REG_RTC_IER (0x400E1880U) /**< \brief (RTC) Interrupt Enable Register */ - #define REG_RTC_IDR (0x400E1884U) /**< \brief (RTC) Interrupt Disable Register */ - #define REG_RTC_IMR (0x400E1888U) /**< \brief (RTC) Interrupt Mask Register */ - #define REG_RTC_VER (0x400E188CU) /**< \brief (RTC) Valid Entry Register */ -#else - #define REG_RTC_CR (*(__IO uint32_t*)0x400E1860U) /**< \brief (RTC) Control Register */ - #define REG_RTC_MR (*(__IO uint32_t*)0x400E1864U) /**< \brief (RTC) Mode Register */ - #define REG_RTC_TIMR (*(__IO uint32_t*)0x400E1868U) /**< \brief (RTC) Time Register */ - #define REG_RTC_CALR (*(__IO uint32_t*)0x400E186CU) /**< \brief (RTC) Calendar Register */ - #define REG_RTC_TIMALR (*(__IO uint32_t*)0x400E1870U) /**< \brief (RTC) Time Alarm Register */ - #define REG_RTC_CALALR (*(__IO uint32_t*)0x400E1874U) /**< \brief (RTC) Calendar Alarm Register */ - #define REG_RTC_SR (*(__I uint32_t*)0x400E1878U) /**< \brief (RTC) Status Register */ - #define REG_RTC_SCCR (*(__O uint32_t*)0x400E187CU) /**< \brief (RTC) Status Clear Command Register */ - #define REG_RTC_IER (*(__O uint32_t*)0x400E1880U) /**< \brief (RTC) Interrupt Enable Register */ - #define REG_RTC_IDR (*(__O uint32_t*)0x400E1884U) /**< \brief (RTC) Interrupt Disable Register */ - #define REG_RTC_IMR (*(__I uint32_t*)0x400E1888U) /**< \brief (RTC) Interrupt Mask Register */ - #define REG_RTC_VER (*(__I uint32_t*)0x400E188CU) /**< \brief (RTC) Valid Entry Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RTC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h deleted file mode 100644 index 79b313d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTT_INSTANCE_ -#define _SAMS70_RTT_INSTANCE_ - -/* ========== Register definition for RTT peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RTT_MR (0x400E1830U) /**< \brief (RTT) Mode Register */ - #define REG_RTT_AR (0x400E1834U) /**< \brief (RTT) Alarm Register */ - #define REG_RTT_VR (0x400E1838U) /**< \brief (RTT) Value Register */ - #define REG_RTT_SR (0x400E183CU) /**< \brief (RTT) Status Register */ -#else - #define REG_RTT_MR (*(__IO uint32_t*)0x400E1830U) /**< \brief (RTT) Mode Register */ - #define REG_RTT_AR (*(__IO uint32_t*)0x400E1834U) /**< \brief (RTT) Alarm Register */ - #define REG_RTT_VR (*(__I uint32_t*)0x400E1838U) /**< \brief (RTT) Value Register */ - #define REG_RTT_SR (*(__I uint32_t*)0x400E183CU) /**< \brief (RTT) Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RTT_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h deleted file mode 100644 index 7febe8d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h +++ /dev/null @@ -1,79 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SDRAMC_INSTANCE_ -#define _SAMS70_SDRAMC_INSTANCE_ - -/* ========== Register definition for SDRAMC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SDRAMC_MR (0x40084000U) /**< \brief (SDRAMC) SDRAMC Mode Register */ - #define REG_SDRAMC_TR (0x40084004U) /**< \brief (SDRAMC) SDRAMC Refresh Timer Register */ - #define REG_SDRAMC_CR (0x40084008U) /**< \brief (SDRAMC) SDRAMC Configuration Register */ - #define REG_SDRAMC_LPR (0x40084010U) /**< \brief (SDRAMC) SDRAMC Low Power Register */ - #define REG_SDRAMC_IER (0x40084014U) /**< \brief (SDRAMC) SDRAMC Interrupt Enable Register */ - #define REG_SDRAMC_IDR (0x40084018U) /**< \brief (SDRAMC) SDRAMC Interrupt Disable Register */ - #define REG_SDRAMC_IMR (0x4008401CU) /**< \brief (SDRAMC) SDRAMC Interrupt Mask Register */ - #define REG_SDRAMC_ISR (0x40084020U) /**< \brief (SDRAMC) SDRAMC Interrupt Status Register */ - #define REG_SDRAMC_MDR (0x40084024U) /**< \brief (SDRAMC) SDRAMC Memory Device Register */ - #define REG_SDRAMC_CFR1 (0x40084028U) /**< \brief (SDRAMC) SDRAMC Configuration Register 1 */ - #define REG_SDRAMC_OCMS (0x4008402CU) /**< \brief (SDRAMC) SDRAMC OCMS Register */ - #define REG_SDRAMC_OCMS_KEY1 (0x40084030U) /**< \brief (SDRAMC) SDRAMC OCMS KEY1 Register */ - #define REG_SDRAMC_OCMS_KEY2 (0x40084034U) /**< \brief (SDRAMC) SDRAMC OCMS KEY2 Register */ -#else - #define REG_SDRAMC_MR (*(__IO uint32_t*)0x40084000U) /**< \brief (SDRAMC) SDRAMC Mode Register */ - #define REG_SDRAMC_TR (*(__IO uint32_t*)0x40084004U) /**< \brief (SDRAMC) SDRAMC Refresh Timer Register */ - #define REG_SDRAMC_CR (*(__IO uint32_t*)0x40084008U) /**< \brief (SDRAMC) SDRAMC Configuration Register */ - #define REG_SDRAMC_LPR (*(__IO uint32_t*)0x40084010U) /**< \brief (SDRAMC) SDRAMC Low Power Register */ - #define REG_SDRAMC_IER (*(__O uint32_t*)0x40084014U) /**< \brief (SDRAMC) SDRAMC Interrupt Enable Register */ - #define REG_SDRAMC_IDR (*(__O uint32_t*)0x40084018U) /**< \brief (SDRAMC) SDRAMC Interrupt Disable Register */ - #define REG_SDRAMC_IMR (*(__I uint32_t*)0x4008401CU) /**< \brief (SDRAMC) SDRAMC Interrupt Mask Register */ - #define REG_SDRAMC_ISR (*(__I uint32_t*)0x40084020U) /**< \brief (SDRAMC) SDRAMC Interrupt Status Register */ - #define REG_SDRAMC_MDR (*(__IO uint32_t*)0x40084024U) /**< \brief (SDRAMC) SDRAMC Memory Device Register */ - #define REG_SDRAMC_CFR1 (*(__IO uint32_t*)0x40084028U) /**< \brief (SDRAMC) SDRAMC Configuration Register 1 */ - #define REG_SDRAMC_OCMS (*(__IO uint32_t*)0x4008402CU) /**< \brief (SDRAMC) SDRAMC OCMS Register */ - #define REG_SDRAMC_OCMS_KEY1 (*(__O uint32_t*)0x40084030U) /**< \brief (SDRAMC) SDRAMC OCMS KEY1 Register */ - #define REG_SDRAMC_OCMS_KEY2 (*(__O uint32_t*)0x40084034U) /**< \brief (SDRAMC) SDRAMC OCMS KEY2 Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SDRAMC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h deleted file mode 100644 index e4cde22..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h +++ /dev/null @@ -1,95 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SMC_INSTANCE_ -#define _SAMS70_SMC_INSTANCE_ - -/* ========== Register definition for SMC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SMC_SETUP0 (0x40080000U) /**< \brief (SMC) SMC Setup Register (CS_number = 0) */ - #define REG_SMC_PULSE0 (0x40080004U) /**< \brief (SMC) SMC Pulse Register (CS_number = 0) */ - #define REG_SMC_CYCLE0 (0x40080008U) /**< \brief (SMC) SMC Cycle Register (CS_number = 0) */ - #define REG_SMC_MODE0 (0x4008000CU) /**< \brief (SMC) SMC MODE Register (CS_number = 0) */ - #define REG_SMC_SETUP1 (0x40080010U) /**< \brief (SMC) SMC Setup Register (CS_number = 1) */ - #define REG_SMC_PULSE1 (0x40080014U) /**< \brief (SMC) SMC Pulse Register (CS_number = 1) */ - #define REG_SMC_CYCLE1 (0x40080018U) /**< \brief (SMC) SMC Cycle Register (CS_number = 1) */ - #define REG_SMC_MODE1 (0x4008001CU) /**< \brief (SMC) SMC MODE Register (CS_number = 1) */ - #define REG_SMC_SETUP2 (0x40080020U) /**< \brief (SMC) SMC Setup Register (CS_number = 2) */ - #define REG_SMC_PULSE2 (0x40080024U) /**< \brief (SMC) SMC Pulse Register (CS_number = 2) */ - #define REG_SMC_CYCLE2 (0x40080028U) /**< \brief (SMC) SMC Cycle Register (CS_number = 2) */ - #define REG_SMC_MODE2 (0x4008002CU) /**< \brief (SMC) SMC MODE Register (CS_number = 2) */ - #define REG_SMC_SETUP3 (0x40080030U) /**< \brief (SMC) SMC Setup Register (CS_number = 3) */ - #define REG_SMC_PULSE3 (0x40080034U) /**< \brief (SMC) SMC Pulse Register (CS_number = 3) */ - #define REG_SMC_CYCLE3 (0x40080038U) /**< \brief (SMC) SMC Cycle Register (CS_number = 3) */ - #define REG_SMC_MODE3 (0x4008003CU) /**< \brief (SMC) SMC MODE Register (CS_number = 3) */ - #define REG_SMC_OCMS (0x40080080U) /**< \brief (SMC) SMC OCMS MODE Register */ - #define REG_SMC_KEY1 (0x40080084U) /**< \brief (SMC) SMC OCMS KEY1 Register */ - #define REG_SMC_KEY2 (0x40080088U) /**< \brief (SMC) SMC OCMS KEY2 Register */ - #define REG_SMC_WPMR (0x400800E4U) /**< \brief (SMC) SMC Write Protection Mode Register */ - #define REG_SMC_WPSR (0x400800E8U) /**< \brief (SMC) SMC Write Protection Status Register */ -#else - #define REG_SMC_SETUP0 (*(__IO uint32_t*)0x40080000U) /**< \brief (SMC) SMC Setup Register (CS_number = 0) */ - #define REG_SMC_PULSE0 (*(__IO uint32_t*)0x40080004U) /**< \brief (SMC) SMC Pulse Register (CS_number = 0) */ - #define REG_SMC_CYCLE0 (*(__IO uint32_t*)0x40080008U) /**< \brief (SMC) SMC Cycle Register (CS_number = 0) */ - #define REG_SMC_MODE0 (*(__IO uint32_t*)0x4008000CU) /**< \brief (SMC) SMC MODE Register (CS_number = 0) */ - #define REG_SMC_SETUP1 (*(__IO uint32_t*)0x40080010U) /**< \brief (SMC) SMC Setup Register (CS_number = 1) */ - #define REG_SMC_PULSE1 (*(__IO uint32_t*)0x40080014U) /**< \brief (SMC) SMC Pulse Register (CS_number = 1) */ - #define REG_SMC_CYCLE1 (*(__IO uint32_t*)0x40080018U) /**< \brief (SMC) SMC Cycle Register (CS_number = 1) */ - #define REG_SMC_MODE1 (*(__IO uint32_t*)0x4008001CU) /**< \brief (SMC) SMC MODE Register (CS_number = 1) */ - #define REG_SMC_SETUP2 (*(__IO uint32_t*)0x40080020U) /**< \brief (SMC) SMC Setup Register (CS_number = 2) */ - #define REG_SMC_PULSE2 (*(__IO uint32_t*)0x40080024U) /**< \brief (SMC) SMC Pulse Register (CS_number = 2) */ - #define REG_SMC_CYCLE2 (*(__IO uint32_t*)0x40080028U) /**< \brief (SMC) SMC Cycle Register (CS_number = 2) */ - #define REG_SMC_MODE2 (*(__IO uint32_t*)0x4008002CU) /**< \brief (SMC) SMC MODE Register (CS_number = 2) */ - #define REG_SMC_SETUP3 (*(__IO uint32_t*)0x40080030U) /**< \brief (SMC) SMC Setup Register (CS_number = 3) */ - #define REG_SMC_PULSE3 (*(__IO uint32_t*)0x40080034U) /**< \brief (SMC) SMC Pulse Register (CS_number = 3) */ - #define REG_SMC_CYCLE3 (*(__IO uint32_t*)0x40080038U) /**< \brief (SMC) SMC Cycle Register (CS_number = 3) */ - #define REG_SMC_MODE3 (*(__IO uint32_t*)0x4008003CU) /**< \brief (SMC) SMC MODE Register (CS_number = 3) */ - #define REG_SMC_OCMS (*(__IO uint32_t*)0x40080080U) /**< \brief (SMC) SMC OCMS MODE Register */ - #define REG_SMC_KEY1 (*(__O uint32_t*)0x40080084U) /**< \brief (SMC) SMC OCMS KEY1 Register */ - #define REG_SMC_KEY2 (*(__O uint32_t*)0x40080088U) /**< \brief (SMC) SMC OCMS KEY2 Register */ - #define REG_SMC_WPMR (*(__IO uint32_t*)0x400800E4U) /**< \brief (SMC) SMC Write Protection Mode Register */ - #define REG_SMC_WPSR (*(__I uint32_t*)0x400800E8U) /**< \brief (SMC) SMC Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SMC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h deleted file mode 100644 index 5e7a8cc..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SPI0_INSTANCE_ -#define _SAMS70_SPI0_INSTANCE_ - -/* ========== Register definition for SPI0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SPI0_CR (0x40008000U) /**< \brief (SPI0) Control Register */ - #define REG_SPI0_MR (0x40008004U) /**< \brief (SPI0) Mode Register */ - #define REG_SPI0_RDR (0x40008008U) /**< \brief (SPI0) Receive Data Register */ - #define REG_SPI0_TDR (0x4000800CU) /**< \brief (SPI0) Transmit Data Register */ - #define REG_SPI0_SR (0x40008010U) /**< \brief (SPI0) Status Register */ - #define REG_SPI0_IER (0x40008014U) /**< \brief (SPI0) Interrupt Enable Register */ - #define REG_SPI0_IDR (0x40008018U) /**< \brief (SPI0) Interrupt Disable Register */ - #define REG_SPI0_IMR (0x4000801CU) /**< \brief (SPI0) Interrupt Mask Register */ - #define REG_SPI0_CSR (0x40008030U) /**< \brief (SPI0) Chip Select Register */ - #define REG_SPI0_WPMR (0x400080E4U) /**< \brief (SPI0) Write Protection Mode Register */ - #define REG_SPI0_WPSR (0x400080E8U) /**< \brief (SPI0) Write Protection Status Register */ -#else - #define REG_SPI0_CR (*(__O uint32_t*)0x40008000U) /**< \brief (SPI0) Control Register */ - #define REG_SPI0_MR (*(__IO uint32_t*)0x40008004U) /**< \brief (SPI0) Mode Register */ - #define REG_SPI0_RDR (*(__I uint32_t*)0x40008008U) /**< \brief (SPI0) Receive Data Register */ - #define REG_SPI0_TDR (*(__O uint32_t*)0x4000800CU) /**< \brief (SPI0) Transmit Data Register */ - #define REG_SPI0_SR (*(__I uint32_t*)0x40008010U) /**< \brief (SPI0) Status Register */ - #define REG_SPI0_IER (*(__O uint32_t*)0x40008014U) /**< \brief (SPI0) Interrupt Enable Register */ - #define REG_SPI0_IDR (*(__O uint32_t*)0x40008018U) /**< \brief (SPI0) Interrupt Disable Register */ - #define REG_SPI0_IMR (*(__I uint32_t*)0x4000801CU) /**< \brief (SPI0) Interrupt Mask Register */ - #define REG_SPI0_CSR (*(__IO uint32_t*)0x40008030U) /**< \brief (SPI0) Chip Select Register */ - #define REG_SPI0_WPMR (*(__IO uint32_t*)0x400080E4U) /**< \brief (SPI0) Write Protection Mode Register */ - #define REG_SPI0_WPSR (*(__I uint32_t*)0x400080E8U) /**< \brief (SPI0) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SPI0_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h deleted file mode 100644 index dbd26f0..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SPI1_INSTANCE_ -#define _SAMS70_SPI1_INSTANCE_ - -/* ========== Register definition for SPI1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SPI1_CR (0x40058000U) /**< \brief (SPI1) Control Register */ - #define REG_SPI1_MR (0x40058004U) /**< \brief (SPI1) Mode Register */ - #define REG_SPI1_RDR (0x40058008U) /**< \brief (SPI1) Receive Data Register */ - #define REG_SPI1_TDR (0x4005800CU) /**< \brief (SPI1) Transmit Data Register */ - #define REG_SPI1_SR (0x40058010U) /**< \brief (SPI1) Status Register */ - #define REG_SPI1_IER (0x40058014U) /**< \brief (SPI1) Interrupt Enable Register */ - #define REG_SPI1_IDR (0x40058018U) /**< \brief (SPI1) Interrupt Disable Register */ - #define REG_SPI1_IMR (0x4005801CU) /**< \brief (SPI1) Interrupt Mask Register */ - #define REG_SPI1_CSR (0x40058030U) /**< \brief (SPI1) Chip Select Register */ - #define REG_SPI1_WPMR (0x400580E4U) /**< \brief (SPI1) Write Protection Mode Register */ - #define REG_SPI1_WPSR (0x400580E8U) /**< \brief (SPI1) Write Protection Status Register */ -#else - #define REG_SPI1_CR (*(__O uint32_t*)0x40058000U) /**< \brief (SPI1) Control Register */ - #define REG_SPI1_MR (*(__IO uint32_t*)0x40058004U) /**< \brief (SPI1) Mode Register */ - #define REG_SPI1_RDR (*(__I uint32_t*)0x40058008U) /**< \brief (SPI1) Receive Data Register */ - #define REG_SPI1_TDR (*(__O uint32_t*)0x4005800CU) /**< \brief (SPI1) Transmit Data Register */ - #define REG_SPI1_SR (*(__I uint32_t*)0x40058010U) /**< \brief (SPI1) Status Register */ - #define REG_SPI1_IER (*(__O uint32_t*)0x40058014U) /**< \brief (SPI1) Interrupt Enable Register */ - #define REG_SPI1_IDR (*(__O uint32_t*)0x40058018U) /**< \brief (SPI1) Interrupt Disable Register */ - #define REG_SPI1_IMR (*(__I uint32_t*)0x4005801CU) /**< \brief (SPI1) Interrupt Mask Register */ - #define REG_SPI1_CSR (*(__IO uint32_t*)0x40058030U) /**< \brief (SPI1) Chip Select Register */ - #define REG_SPI1_WPMR (*(__IO uint32_t*)0x400580E4U) /**< \brief (SPI1) Write Protection Mode Register */ - #define REG_SPI1_WPSR (*(__I uint32_t*)0x400580E8U) /**< \brief (SPI1) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SPI1_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h deleted file mode 100644 index 3d55362..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h +++ /dev/null @@ -1,89 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SSC_INSTANCE_ -#define _SAMS70_SSC_INSTANCE_ - -/* ========== Register definition for SSC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SSC_CR (0x40004000U) /**< \brief (SSC) Control Register */ - #define REG_SSC_CMR (0x40004004U) /**< \brief (SSC) Clock Mode Register */ - #define REG_SSC_RCMR (0x40004010U) /**< \brief (SSC) Receive Clock Mode Register */ - #define REG_SSC_RFMR (0x40004014U) /**< \brief (SSC) Receive Frame Mode Register */ - #define REG_SSC_TCMR (0x40004018U) /**< \brief (SSC) Transmit Clock Mode Register */ - #define REG_SSC_TFMR (0x4000401CU) /**< \brief (SSC) Transmit Frame Mode Register */ - #define REG_SSC_RHR (0x40004020U) /**< \brief (SSC) Receive Holding Register */ - #define REG_SSC_THR (0x40004024U) /**< \brief (SSC) Transmit Holding Register */ - #define REG_SSC_RSHR (0x40004030U) /**< \brief (SSC) Receive Sync. Holding Register */ - #define REG_SSC_TSHR (0x40004034U) /**< \brief (SSC) Transmit Sync. Holding Register */ - #define REG_SSC_RC0R (0x40004038U) /**< \brief (SSC) Receive Compare 0 Register */ - #define REG_SSC_RC1R (0x4000403CU) /**< \brief (SSC) Receive Compare 1 Register */ - #define REG_SSC_SR (0x40004040U) /**< \brief (SSC) Status Register */ - #define REG_SSC_IER (0x40004044U) /**< \brief (SSC) Interrupt Enable Register */ - #define REG_SSC_IDR (0x40004048U) /**< \brief (SSC) Interrupt Disable Register */ - #define REG_SSC_IMR (0x4000404CU) /**< \brief (SSC) Interrupt Mask Register */ - #define REG_SSC_WPMR (0x400040E4U) /**< \brief (SSC) Write Protection Mode Register */ - #define REG_SSC_WPSR (0x400040E8U) /**< \brief (SSC) Write Protection Status Register */ -#else - #define REG_SSC_CR (*(__O uint32_t*)0x40004000U) /**< \brief (SSC) Control Register */ - #define REG_SSC_CMR (*(__IO uint32_t*)0x40004004U) /**< \brief (SSC) Clock Mode Register */ - #define REG_SSC_RCMR (*(__IO uint32_t*)0x40004010U) /**< \brief (SSC) Receive Clock Mode Register */ - #define REG_SSC_RFMR (*(__IO uint32_t*)0x40004014U) /**< \brief (SSC) Receive Frame Mode Register */ - #define REG_SSC_TCMR (*(__IO uint32_t*)0x40004018U) /**< \brief (SSC) Transmit Clock Mode Register */ - #define REG_SSC_TFMR (*(__IO uint32_t*)0x4000401CU) /**< \brief (SSC) Transmit Frame Mode Register */ - #define REG_SSC_RHR (*(__I uint32_t*)0x40004020U) /**< \brief (SSC) Receive Holding Register */ - #define REG_SSC_THR (*(__O uint32_t*)0x40004024U) /**< \brief (SSC) Transmit Holding Register */ - #define REG_SSC_RSHR (*(__I uint32_t*)0x40004030U) /**< \brief (SSC) Receive Sync. Holding Register */ - #define REG_SSC_TSHR (*(__IO uint32_t*)0x40004034U) /**< \brief (SSC) Transmit Sync. Holding Register */ - #define REG_SSC_RC0R (*(__IO uint32_t*)0x40004038U) /**< \brief (SSC) Receive Compare 0 Register */ - #define REG_SSC_RC1R (*(__IO uint32_t*)0x4000403CU) /**< \brief (SSC) Receive Compare 1 Register */ - #define REG_SSC_SR (*(__I uint32_t*)0x40004040U) /**< \brief (SSC) Status Register */ - #define REG_SSC_IER (*(__O uint32_t*)0x40004044U) /**< \brief (SSC) Interrupt Enable Register */ - #define REG_SSC_IDR (*(__O uint32_t*)0x40004048U) /**< \brief (SSC) Interrupt Disable Register */ - #define REG_SSC_IMR (*(__I uint32_t*)0x4000404CU) /**< \brief (SSC) Interrupt Mask Register */ - #define REG_SSC_WPMR (*(__IO uint32_t*)0x400040E4U) /**< \brief (SSC) Write Protection Mode Register */ - #define REG_SSC_WPSR (*(__I uint32_t*)0x400040E8U) /**< \brief (SSC) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SSC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h deleted file mode 100644 index 3a8ccae..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SUPC_INSTANCE_ -#define _SAMS70_SUPC_INSTANCE_ - -/* ========== Register definition for SUPC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SUPC_CR (0x400E1810U) /**< \brief (SUPC) Supply Controller Control Register */ - #define REG_SUPC_SMMR (0x400E1814U) /**< \brief (SUPC) Supply Controller Supply Monitor Mode Register */ - #define REG_SUPC_MR (0x400E1818U) /**< \brief (SUPC) Supply Controller Mode Register */ - #define REG_SUPC_WUMR (0x400E181CU) /**< \brief (SUPC) Supply Controller Wake-up Mode Register */ - #define REG_SUPC_WUIR (0x400E1820U) /**< \brief (SUPC) Supply Controller Wake-up Inputs Register */ - #define REG_SUPC_SR (0x400E1824U) /**< \brief (SUPC) Supply Controller Status Register */ -#else - #define REG_SUPC_CR (*(__O uint32_t*)0x400E1810U) /**< \brief (SUPC) Supply Controller Control Register */ - #define REG_SUPC_SMMR (*(__IO uint32_t*)0x400E1814U) /**< \brief (SUPC) Supply Controller Supply Monitor Mode Register */ - #define REG_SUPC_MR (*(__IO uint32_t*)0x400E1818U) /**< \brief (SUPC) Supply Controller Mode Register */ - #define REG_SUPC_WUMR (*(__IO uint32_t*)0x400E181CU) /**< \brief (SUPC) Supply Controller Wake-up Mode Register */ - #define REG_SUPC_WUIR (*(__IO uint32_t*)0x400E1820U) /**< \brief (SUPC) Supply Controller Wake-up Inputs Register */ - #define REG_SUPC_SR (*(__I uint32_t*)0x400E1824U) /**< \brief (SUPC) Supply Controller Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SUPC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h deleted file mode 100644 index 35b9687..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC0_INSTANCE_ -#define _SAMS70_TC0_INSTANCE_ - -/* ========== Register definition for TC0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC0_CCR0 (0x4000C000U) /**< \brief (TC0) Channel Control Register (channel = 0) */ - #define REG_TC0_CMR0 (0x4000C004U) /**< \brief (TC0) Channel Mode Register (channel = 0) */ - #define REG_TC0_SMMR0 (0x4000C008U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC0_RAB0 (0x4000C00CU) /**< \brief (TC0) Register AB (channel = 0) */ - #define REG_TC0_CV0 (0x4000C010U) /**< \brief (TC0) Counter Value (channel = 0) */ - #define REG_TC0_RA0 (0x4000C014U) /**< \brief (TC0) Register A (channel = 0) */ - #define REG_TC0_RB0 (0x4000C018U) /**< \brief (TC0) Register B (channel = 0) */ - #define REG_TC0_RC0 (0x4000C01CU) /**< \brief (TC0) Register C (channel = 0) */ - #define REG_TC0_SR0 (0x4000C020U) /**< \brief (TC0) Status Register (channel = 0) */ - #define REG_TC0_IER0 (0x4000C024U) /**< \brief (TC0) Interrupt Enable Register (channel = 0) */ - #define REG_TC0_IDR0 (0x4000C028U) /**< \brief (TC0) Interrupt Disable Register (channel = 0) */ - #define REG_TC0_IMR0 (0x4000C02CU) /**< \brief (TC0) Interrupt Mask Register (channel = 0) */ - #define REG_TC0_EMR0 (0x4000C030U) /**< \brief (TC0) Extended Mode Register (channel = 0) */ - #define REG_TC0_CCR1 (0x4000C040U) /**< \brief (TC0) Channel Control Register (channel = 1) */ - #define REG_TC0_CMR1 (0x4000C044U) /**< \brief (TC0) Channel Mode Register (channel = 1) */ - #define REG_TC0_SMMR1 (0x4000C048U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC0_RAB1 (0x4000C04CU) /**< \brief (TC0) Register AB (channel = 1) */ - #define REG_TC0_CV1 (0x4000C050U) /**< \brief (TC0) Counter Value (channel = 1) */ - #define REG_TC0_RA1 (0x4000C054U) /**< \brief (TC0) Register A (channel = 1) */ - #define REG_TC0_RB1 (0x4000C058U) /**< \brief (TC0) Register B (channel = 1) */ - #define REG_TC0_RC1 (0x4000C05CU) /**< \brief (TC0) Register C (channel = 1) */ - #define REG_TC0_SR1 (0x4000C060U) /**< \brief (TC0) Status Register (channel = 1) */ - #define REG_TC0_IER1 (0x4000C064U) /**< \brief (TC0) Interrupt Enable Register (channel = 1) */ - #define REG_TC0_IDR1 (0x4000C068U) /**< \brief (TC0) Interrupt Disable Register (channel = 1) */ - #define REG_TC0_IMR1 (0x4000C06CU) /**< \brief (TC0) Interrupt Mask Register (channel = 1) */ - #define REG_TC0_EMR1 (0x4000C070U) /**< \brief (TC0) Extended Mode Register (channel = 1) */ - #define REG_TC0_CCR2 (0x4000C080U) /**< \brief (TC0) Channel Control Register (channel = 2) */ - #define REG_TC0_CMR2 (0x4000C084U) /**< \brief (TC0) Channel Mode Register (channel = 2) */ - #define REG_TC0_SMMR2 (0x4000C088U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC0_RAB2 (0x4000C08CU) /**< \brief (TC0) Register AB (channel = 2) */ - #define REG_TC0_CV2 (0x4000C090U) /**< \brief (TC0) Counter Value (channel = 2) */ - #define REG_TC0_RA2 (0x4000C094U) /**< \brief (TC0) Register A (channel = 2) */ - #define REG_TC0_RB2 (0x4000C098U) /**< \brief (TC0) Register B (channel = 2) */ - #define REG_TC0_RC2 (0x4000C09CU) /**< \brief (TC0) Register C (channel = 2) */ - #define REG_TC0_SR2 (0x4000C0A0U) /**< \brief (TC0) Status Register (channel = 2) */ - #define REG_TC0_IER2 (0x4000C0A4U) /**< \brief (TC0) Interrupt Enable Register (channel = 2) */ - #define REG_TC0_IDR2 (0x4000C0A8U) /**< \brief (TC0) Interrupt Disable Register (channel = 2) */ - #define REG_TC0_IMR2 (0x4000C0ACU) /**< \brief (TC0) Interrupt Mask Register (channel = 2) */ - #define REG_TC0_EMR2 (0x4000C0B0U) /**< \brief (TC0) Extended Mode Register (channel = 2) */ - #define REG_TC0_BCR (0x4000C0C0U) /**< \brief (TC0) Block Control Register */ - #define REG_TC0_BMR (0x4000C0C4U) /**< \brief (TC0) Block Mode Register */ - #define REG_TC0_QIER (0x4000C0C8U) /**< \brief (TC0) QDEC Interrupt Enable Register */ - #define REG_TC0_QIDR (0x4000C0CCU) /**< \brief (TC0) QDEC Interrupt Disable Register */ - #define REG_TC0_QIMR (0x4000C0D0U) /**< \brief (TC0) QDEC Interrupt Mask Register */ - #define REG_TC0_QISR (0x4000C0D4U) /**< \brief (TC0) QDEC Interrupt Status Register */ - #define REG_TC0_FMR (0x4000C0D8U) /**< \brief (TC0) Fault Mode Register */ - #define REG_TC0_WPMR (0x4000C0E4U) /**< \brief (TC0) Write Protection Mode Register */ -#else - #define REG_TC0_CCR0 (*(__O uint32_t*)0x4000C000U) /**< \brief (TC0) Channel Control Register (channel = 0) */ - #define REG_TC0_CMR0 (*(__IO uint32_t*)0x4000C004U) /**< \brief (TC0) Channel Mode Register (channel = 0) */ - #define REG_TC0_SMMR0 (*(__IO uint32_t*)0x4000C008U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC0_RAB0 (*(__I uint32_t*)0x4000C00CU) /**< \brief (TC0) Register AB (channel = 0) */ - #define REG_TC0_CV0 (*(__I uint32_t*)0x4000C010U) /**< \brief (TC0) Counter Value (channel = 0) */ - #define REG_TC0_RA0 (*(__IO uint32_t*)0x4000C014U) /**< \brief (TC0) Register A (channel = 0) */ - #define REG_TC0_RB0 (*(__IO uint32_t*)0x4000C018U) /**< \brief (TC0) Register B (channel = 0) */ - #define REG_TC0_RC0 (*(__IO uint32_t*)0x4000C01CU) /**< \brief (TC0) Register C (channel = 0) */ - #define REG_TC0_SR0 (*(__I uint32_t*)0x4000C020U) /**< \brief (TC0) Status Register (channel = 0) */ - #define REG_TC0_IER0 (*(__O uint32_t*)0x4000C024U) /**< \brief (TC0) Interrupt Enable Register (channel = 0) */ - #define REG_TC0_IDR0 (*(__O uint32_t*)0x4000C028U) /**< \brief (TC0) Interrupt Disable Register (channel = 0) */ - #define REG_TC0_IMR0 (*(__I uint32_t*)0x4000C02CU) /**< \brief (TC0) Interrupt Mask Register (channel = 0) */ - #define REG_TC0_EMR0 (*(__IO uint32_t*)0x4000C030U) /**< \brief (TC0) Extended Mode Register (channel = 0) */ - #define REG_TC0_CCR1 (*(__O uint32_t*)0x4000C040U) /**< \brief (TC0) Channel Control Register (channel = 1) */ - #define REG_TC0_CMR1 (*(__IO uint32_t*)0x4000C044U) /**< \brief (TC0) Channel Mode Register (channel = 1) */ - #define REG_TC0_SMMR1 (*(__IO uint32_t*)0x4000C048U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC0_RAB1 (*(__I uint32_t*)0x4000C04CU) /**< \brief (TC0) Register AB (channel = 1) */ - #define REG_TC0_CV1 (*(__I uint32_t*)0x4000C050U) /**< \brief (TC0) Counter Value (channel = 1) */ - #define REG_TC0_RA1 (*(__IO uint32_t*)0x4000C054U) /**< \brief (TC0) Register A (channel = 1) */ - #define REG_TC0_RB1 (*(__IO uint32_t*)0x4000C058U) /**< \brief (TC0) Register B (channel = 1) */ - #define REG_TC0_RC1 (*(__IO uint32_t*)0x4000C05CU) /**< \brief (TC0) Register C (channel = 1) */ - #define REG_TC0_SR1 (*(__I uint32_t*)0x4000C060U) /**< \brief (TC0) Status Register (channel = 1) */ - #define REG_TC0_IER1 (*(__O uint32_t*)0x4000C064U) /**< \brief (TC0) Interrupt Enable Register (channel = 1) */ - #define REG_TC0_IDR1 (*(__O uint32_t*)0x4000C068U) /**< \brief (TC0) Interrupt Disable Register (channel = 1) */ - #define REG_TC0_IMR1 (*(__I uint32_t*)0x4000C06CU) /**< \brief (TC0) Interrupt Mask Register (channel = 1) */ - #define REG_TC0_EMR1 (*(__IO uint32_t*)0x4000C070U) /**< \brief (TC0) Extended Mode Register (channel = 1) */ - #define REG_TC0_CCR2 (*(__O uint32_t*)0x4000C080U) /**< \brief (TC0) Channel Control Register (channel = 2) */ - #define REG_TC0_CMR2 (*(__IO uint32_t*)0x4000C084U) /**< \brief (TC0) Channel Mode Register (channel = 2) */ - #define REG_TC0_SMMR2 (*(__IO uint32_t*)0x4000C088U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC0_RAB2 (*(__I uint32_t*)0x4000C08CU) /**< \brief (TC0) Register AB (channel = 2) */ - #define REG_TC0_CV2 (*(__I uint32_t*)0x4000C090U) /**< \brief (TC0) Counter Value (channel = 2) */ - #define REG_TC0_RA2 (*(__IO uint32_t*)0x4000C094U) /**< \brief (TC0) Register A (channel = 2) */ - #define REG_TC0_RB2 (*(__IO uint32_t*)0x4000C098U) /**< \brief (TC0) Register B (channel = 2) */ - #define REG_TC0_RC2 (*(__IO uint32_t*)0x4000C09CU) /**< \brief (TC0) Register C (channel = 2) */ - #define REG_TC0_SR2 (*(__I uint32_t*)0x4000C0A0U) /**< \brief (TC0) Status Register (channel = 2) */ - #define REG_TC0_IER2 (*(__O uint32_t*)0x4000C0A4U) /**< \brief (TC0) Interrupt Enable Register (channel = 2) */ - #define REG_TC0_IDR2 (*(__O uint32_t*)0x4000C0A8U) /**< \brief (TC0) Interrupt Disable Register (channel = 2) */ - #define REG_TC0_IMR2 (*(__I uint32_t*)0x4000C0ACU) /**< \brief (TC0) Interrupt Mask Register (channel = 2) */ - #define REG_TC0_EMR2 (*(__IO uint32_t*)0x4000C0B0U) /**< \brief (TC0) Extended Mode Register (channel = 2) */ - #define REG_TC0_BCR (*(__O uint32_t*)0x4000C0C0U) /**< \brief (TC0) Block Control Register */ - #define REG_TC0_BMR (*(__IO uint32_t*)0x4000C0C4U) /**< \brief (TC0) Block Mode Register */ - #define REG_TC0_QIER (*(__O uint32_t*)0x4000C0C8U) /**< \brief (TC0) QDEC Interrupt Enable Register */ - #define REG_TC0_QIDR (*(__O uint32_t*)0x4000C0CCU) /**< \brief (TC0) QDEC Interrupt Disable Register */ - #define REG_TC0_QIMR (*(__I uint32_t*)0x4000C0D0U) /**< \brief (TC0) QDEC Interrupt Mask Register */ - #define REG_TC0_QISR (*(__I uint32_t*)0x4000C0D4U) /**< \brief (TC0) QDEC Interrupt Status Register */ - #define REG_TC0_FMR (*(__IO uint32_t*)0x4000C0D8U) /**< \brief (TC0) Fault Mode Register */ - #define REG_TC0_WPMR (*(__IO uint32_t*)0x4000C0E4U) /**< \brief (TC0) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC0_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h deleted file mode 100644 index 0f1bc18..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC1_INSTANCE_ -#define _SAMS70_TC1_INSTANCE_ - -/* ========== Register definition for TC1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC1_CCR0 (0x40010000U) /**< \brief (TC1) Channel Control Register (channel = 0) */ - #define REG_TC1_CMR0 (0x40010004U) /**< \brief (TC1) Channel Mode Register (channel = 0) */ - #define REG_TC1_SMMR0 (0x40010008U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC1_RAB0 (0x4001000CU) /**< \brief (TC1) Register AB (channel = 0) */ - #define REG_TC1_CV0 (0x40010010U) /**< \brief (TC1) Counter Value (channel = 0) */ - #define REG_TC1_RA0 (0x40010014U) /**< \brief (TC1) Register A (channel = 0) */ - #define REG_TC1_RB0 (0x40010018U) /**< \brief (TC1) Register B (channel = 0) */ - #define REG_TC1_RC0 (0x4001001CU) /**< \brief (TC1) Register C (channel = 0) */ - #define REG_TC1_SR0 (0x40010020U) /**< \brief (TC1) Status Register (channel = 0) */ - #define REG_TC1_IER0 (0x40010024U) /**< \brief (TC1) Interrupt Enable Register (channel = 0) */ - #define REG_TC1_IDR0 (0x40010028U) /**< \brief (TC1) Interrupt Disable Register (channel = 0) */ - #define REG_TC1_IMR0 (0x4001002CU) /**< \brief (TC1) Interrupt Mask Register (channel = 0) */ - #define REG_TC1_EMR0 (0x40010030U) /**< \brief (TC1) Extended Mode Register (channel = 0) */ - #define REG_TC1_CCR1 (0x40010040U) /**< \brief (TC1) Channel Control Register (channel = 1) */ - #define REG_TC1_CMR1 (0x40010044U) /**< \brief (TC1) Channel Mode Register (channel = 1) */ - #define REG_TC1_SMMR1 (0x40010048U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC1_RAB1 (0x4001004CU) /**< \brief (TC1) Register AB (channel = 1) */ - #define REG_TC1_CV1 (0x40010050U) /**< \brief (TC1) Counter Value (channel = 1) */ - #define REG_TC1_RA1 (0x40010054U) /**< \brief (TC1) Register A (channel = 1) */ - #define REG_TC1_RB1 (0x40010058U) /**< \brief (TC1) Register B (channel = 1) */ - #define REG_TC1_RC1 (0x4001005CU) /**< \brief (TC1) Register C (channel = 1) */ - #define REG_TC1_SR1 (0x40010060U) /**< \brief (TC1) Status Register (channel = 1) */ - #define REG_TC1_IER1 (0x40010064U) /**< \brief (TC1) Interrupt Enable Register (channel = 1) */ - #define REG_TC1_IDR1 (0x40010068U) /**< \brief (TC1) Interrupt Disable Register (channel = 1) */ - #define REG_TC1_IMR1 (0x4001006CU) /**< \brief (TC1) Interrupt Mask Register (channel = 1) */ - #define REG_TC1_EMR1 (0x40010070U) /**< \brief (TC1) Extended Mode Register (channel = 1) */ - #define REG_TC1_CCR2 (0x40010080U) /**< \brief (TC1) Channel Control Register (channel = 2) */ - #define REG_TC1_CMR2 (0x40010084U) /**< \brief (TC1) Channel Mode Register (channel = 2) */ - #define REG_TC1_SMMR2 (0x40010088U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC1_RAB2 (0x4001008CU) /**< \brief (TC1) Register AB (channel = 2) */ - #define REG_TC1_CV2 (0x40010090U) /**< \brief (TC1) Counter Value (channel = 2) */ - #define REG_TC1_RA2 (0x40010094U) /**< \brief (TC1) Register A (channel = 2) */ - #define REG_TC1_RB2 (0x40010098U) /**< \brief (TC1) Register B (channel = 2) */ - #define REG_TC1_RC2 (0x4001009CU) /**< \brief (TC1) Register C (channel = 2) */ - #define REG_TC1_SR2 (0x400100A0U) /**< \brief (TC1) Status Register (channel = 2) */ - #define REG_TC1_IER2 (0x400100A4U) /**< \brief (TC1) Interrupt Enable Register (channel = 2) */ - #define REG_TC1_IDR2 (0x400100A8U) /**< \brief (TC1) Interrupt Disable Register (channel = 2) */ - #define REG_TC1_IMR2 (0x400100ACU) /**< \brief (TC1) Interrupt Mask Register (channel = 2) */ - #define REG_TC1_EMR2 (0x400100B0U) /**< \brief (TC1) Extended Mode Register (channel = 2) */ - #define REG_TC1_BCR (0x400100C0U) /**< \brief (TC1) Block Control Register */ - #define REG_TC1_BMR (0x400100C4U) /**< \brief (TC1) Block Mode Register */ - #define REG_TC1_QIER (0x400100C8U) /**< \brief (TC1) QDEC Interrupt Enable Register */ - #define REG_TC1_QIDR (0x400100CCU) /**< \brief (TC1) QDEC Interrupt Disable Register */ - #define REG_TC1_QIMR (0x400100D0U) /**< \brief (TC1) QDEC Interrupt Mask Register */ - #define REG_TC1_QISR (0x400100D4U) /**< \brief (TC1) QDEC Interrupt Status Register */ - #define REG_TC1_FMR (0x400100D8U) /**< \brief (TC1) Fault Mode Register */ - #define REG_TC1_WPMR (0x400100E4U) /**< \brief (TC1) Write Protection Mode Register */ -#else - #define REG_TC1_CCR0 (*(__O uint32_t*)0x40010000U) /**< \brief (TC1) Channel Control Register (channel = 0) */ - #define REG_TC1_CMR0 (*(__IO uint32_t*)0x40010004U) /**< \brief (TC1) Channel Mode Register (channel = 0) */ - #define REG_TC1_SMMR0 (*(__IO uint32_t*)0x40010008U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC1_RAB0 (*(__I uint32_t*)0x4001000CU) /**< \brief (TC1) Register AB (channel = 0) */ - #define REG_TC1_CV0 (*(__I uint32_t*)0x40010010U) /**< \brief (TC1) Counter Value (channel = 0) */ - #define REG_TC1_RA0 (*(__IO uint32_t*)0x40010014U) /**< \brief (TC1) Register A (channel = 0) */ - #define REG_TC1_RB0 (*(__IO uint32_t*)0x40010018U) /**< \brief (TC1) Register B (channel = 0) */ - #define REG_TC1_RC0 (*(__IO uint32_t*)0x4001001CU) /**< \brief (TC1) Register C (channel = 0) */ - #define REG_TC1_SR0 (*(__I uint32_t*)0x40010020U) /**< \brief (TC1) Status Register (channel = 0) */ - #define REG_TC1_IER0 (*(__O uint32_t*)0x40010024U) /**< \brief (TC1) Interrupt Enable Register (channel = 0) */ - #define REG_TC1_IDR0 (*(__O uint32_t*)0x40010028U) /**< \brief (TC1) Interrupt Disable Register (channel = 0) */ - #define REG_TC1_IMR0 (*(__I uint32_t*)0x4001002CU) /**< \brief (TC1) Interrupt Mask Register (channel = 0) */ - #define REG_TC1_EMR0 (*(__IO uint32_t*)0x40010030U) /**< \brief (TC1) Extended Mode Register (channel = 0) */ - #define REG_TC1_CCR1 (*(__O uint32_t*)0x40010040U) /**< \brief (TC1) Channel Control Register (channel = 1) */ - #define REG_TC1_CMR1 (*(__IO uint32_t*)0x40010044U) /**< \brief (TC1) Channel Mode Register (channel = 1) */ - #define REG_TC1_SMMR1 (*(__IO uint32_t*)0x40010048U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC1_RAB1 (*(__I uint32_t*)0x4001004CU) /**< \brief (TC1) Register AB (channel = 1) */ - #define REG_TC1_CV1 (*(__I uint32_t*)0x40010050U) /**< \brief (TC1) Counter Value (channel = 1) */ - #define REG_TC1_RA1 (*(__IO uint32_t*)0x40010054U) /**< \brief (TC1) Register A (channel = 1) */ - #define REG_TC1_RB1 (*(__IO uint32_t*)0x40010058U) /**< \brief (TC1) Register B (channel = 1) */ - #define REG_TC1_RC1 (*(__IO uint32_t*)0x4001005CU) /**< \brief (TC1) Register C (channel = 1) */ - #define REG_TC1_SR1 (*(__I uint32_t*)0x40010060U) /**< \brief (TC1) Status Register (channel = 1) */ - #define REG_TC1_IER1 (*(__O uint32_t*)0x40010064U) /**< \brief (TC1) Interrupt Enable Register (channel = 1) */ - #define REG_TC1_IDR1 (*(__O uint32_t*)0x40010068U) /**< \brief (TC1) Interrupt Disable Register (channel = 1) */ - #define REG_TC1_IMR1 (*(__I uint32_t*)0x4001006CU) /**< \brief (TC1) Interrupt Mask Register (channel = 1) */ - #define REG_TC1_EMR1 (*(__IO uint32_t*)0x40010070U) /**< \brief (TC1) Extended Mode Register (channel = 1) */ - #define REG_TC1_CCR2 (*(__O uint32_t*)0x40010080U) /**< \brief (TC1) Channel Control Register (channel = 2) */ - #define REG_TC1_CMR2 (*(__IO uint32_t*)0x40010084U) /**< \brief (TC1) Channel Mode Register (channel = 2) */ - #define REG_TC1_SMMR2 (*(__IO uint32_t*)0x40010088U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC1_RAB2 (*(__I uint32_t*)0x4001008CU) /**< \brief (TC1) Register AB (channel = 2) */ - #define REG_TC1_CV2 (*(__I uint32_t*)0x40010090U) /**< \brief (TC1) Counter Value (channel = 2) */ - #define REG_TC1_RA2 (*(__IO uint32_t*)0x40010094U) /**< \brief (TC1) Register A (channel = 2) */ - #define REG_TC1_RB2 (*(__IO uint32_t*)0x40010098U) /**< \brief (TC1) Register B (channel = 2) */ - #define REG_TC1_RC2 (*(__IO uint32_t*)0x4001009CU) /**< \brief (TC1) Register C (channel = 2) */ - #define REG_TC1_SR2 (*(__I uint32_t*)0x400100A0U) /**< \brief (TC1) Status Register (channel = 2) */ - #define REG_TC1_IER2 (*(__O uint32_t*)0x400100A4U) /**< \brief (TC1) Interrupt Enable Register (channel = 2) */ - #define REG_TC1_IDR2 (*(__O uint32_t*)0x400100A8U) /**< \brief (TC1) Interrupt Disable Register (channel = 2) */ - #define REG_TC1_IMR2 (*(__I uint32_t*)0x400100ACU) /**< \brief (TC1) Interrupt Mask Register (channel = 2) */ - #define REG_TC1_EMR2 (*(__IO uint32_t*)0x400100B0U) /**< \brief (TC1) Extended Mode Register (channel = 2) */ - #define REG_TC1_BCR (*(__O uint32_t*)0x400100C0U) /**< \brief (TC1) Block Control Register */ - #define REG_TC1_BMR (*(__IO uint32_t*)0x400100C4U) /**< \brief (TC1) Block Mode Register */ - #define REG_TC1_QIER (*(__O uint32_t*)0x400100C8U) /**< \brief (TC1) QDEC Interrupt Enable Register */ - #define REG_TC1_QIDR (*(__O uint32_t*)0x400100CCU) /**< \brief (TC1) QDEC Interrupt Disable Register */ - #define REG_TC1_QIMR (*(__I uint32_t*)0x400100D0U) /**< \brief (TC1) QDEC Interrupt Mask Register */ - #define REG_TC1_QISR (*(__I uint32_t*)0x400100D4U) /**< \brief (TC1) QDEC Interrupt Status Register */ - #define REG_TC1_FMR (*(__IO uint32_t*)0x400100D8U) /**< \brief (TC1) Fault Mode Register */ - #define REG_TC1_WPMR (*(__IO uint32_t*)0x400100E4U) /**< \brief (TC1) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC1_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h deleted file mode 100644 index 6a7e0b9..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC2_INSTANCE_ -#define _SAMS70_TC2_INSTANCE_ - -/* ========== Register definition for TC2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC2_CCR0 (0x40014000U) /**< \brief (TC2) Channel Control Register (channel = 0) */ - #define REG_TC2_CMR0 (0x40014004U) /**< \brief (TC2) Channel Mode Register (channel = 0) */ - #define REG_TC2_SMMR0 (0x40014008U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC2_RAB0 (0x4001400CU) /**< \brief (TC2) Register AB (channel = 0) */ - #define REG_TC2_CV0 (0x40014010U) /**< \brief (TC2) Counter Value (channel = 0) */ - #define REG_TC2_RA0 (0x40014014U) /**< \brief (TC2) Register A (channel = 0) */ - #define REG_TC2_RB0 (0x40014018U) /**< \brief (TC2) Register B (channel = 0) */ - #define REG_TC2_RC0 (0x4001401CU) /**< \brief (TC2) Register C (channel = 0) */ - #define REG_TC2_SR0 (0x40014020U) /**< \brief (TC2) Status Register (channel = 0) */ - #define REG_TC2_IER0 (0x40014024U) /**< \brief (TC2) Interrupt Enable Register (channel = 0) */ - #define REG_TC2_IDR0 (0x40014028U) /**< \brief (TC2) Interrupt Disable Register (channel = 0) */ - #define REG_TC2_IMR0 (0x4001402CU) /**< \brief (TC2) Interrupt Mask Register (channel = 0) */ - #define REG_TC2_EMR0 (0x40014030U) /**< \brief (TC2) Extended Mode Register (channel = 0) */ - #define REG_TC2_CCR1 (0x40014040U) /**< \brief (TC2) Channel Control Register (channel = 1) */ - #define REG_TC2_CMR1 (0x40014044U) /**< \brief (TC2) Channel Mode Register (channel = 1) */ - #define REG_TC2_SMMR1 (0x40014048U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC2_RAB1 (0x4001404CU) /**< \brief (TC2) Register AB (channel = 1) */ - #define REG_TC2_CV1 (0x40014050U) /**< \brief (TC2) Counter Value (channel = 1) */ - #define REG_TC2_RA1 (0x40014054U) /**< \brief (TC2) Register A (channel = 1) */ - #define REG_TC2_RB1 (0x40014058U) /**< \brief (TC2) Register B (channel = 1) */ - #define REG_TC2_RC1 (0x4001405CU) /**< \brief (TC2) Register C (channel = 1) */ - #define REG_TC2_SR1 (0x40014060U) /**< \brief (TC2) Status Register (channel = 1) */ - #define REG_TC2_IER1 (0x40014064U) /**< \brief (TC2) Interrupt Enable Register (channel = 1) */ - #define REG_TC2_IDR1 (0x40014068U) /**< \brief (TC2) Interrupt Disable Register (channel = 1) */ - #define REG_TC2_IMR1 (0x4001406CU) /**< \brief (TC2) Interrupt Mask Register (channel = 1) */ - #define REG_TC2_EMR1 (0x40014070U) /**< \brief (TC2) Extended Mode Register (channel = 1) */ - #define REG_TC2_CCR2 (0x40014080U) /**< \brief (TC2) Channel Control Register (channel = 2) */ - #define REG_TC2_CMR2 (0x40014084U) /**< \brief (TC2) Channel Mode Register (channel = 2) */ - #define REG_TC2_SMMR2 (0x40014088U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC2_RAB2 (0x4001408CU) /**< \brief (TC2) Register AB (channel = 2) */ - #define REG_TC2_CV2 (0x40014090U) /**< \brief (TC2) Counter Value (channel = 2) */ - #define REG_TC2_RA2 (0x40014094U) /**< \brief (TC2) Register A (channel = 2) */ - #define REG_TC2_RB2 (0x40014098U) /**< \brief (TC2) Register B (channel = 2) */ - #define REG_TC2_RC2 (0x4001409CU) /**< \brief (TC2) Register C (channel = 2) */ - #define REG_TC2_SR2 (0x400140A0U) /**< \brief (TC2) Status Register (channel = 2) */ - #define REG_TC2_IER2 (0x400140A4U) /**< \brief (TC2) Interrupt Enable Register (channel = 2) */ - #define REG_TC2_IDR2 (0x400140A8U) /**< \brief (TC2) Interrupt Disable Register (channel = 2) */ - #define REG_TC2_IMR2 (0x400140ACU) /**< \brief (TC2) Interrupt Mask Register (channel = 2) */ - #define REG_TC2_EMR2 (0x400140B0U) /**< \brief (TC2) Extended Mode Register (channel = 2) */ - #define REG_TC2_BCR (0x400140C0U) /**< \brief (TC2) Block Control Register */ - #define REG_TC2_BMR (0x400140C4U) /**< \brief (TC2) Block Mode Register */ - #define REG_TC2_QIER (0x400140C8U) /**< \brief (TC2) QDEC Interrupt Enable Register */ - #define REG_TC2_QIDR (0x400140CCU) /**< \brief (TC2) QDEC Interrupt Disable Register */ - #define REG_TC2_QIMR (0x400140D0U) /**< \brief (TC2) QDEC Interrupt Mask Register */ - #define REG_TC2_QISR (0x400140D4U) /**< \brief (TC2) QDEC Interrupt Status Register */ - #define REG_TC2_FMR (0x400140D8U) /**< \brief (TC2) Fault Mode Register */ - #define REG_TC2_WPMR (0x400140E4U) /**< \brief (TC2) Write Protection Mode Register */ -#else - #define REG_TC2_CCR0 (*(__O uint32_t*)0x40014000U) /**< \brief (TC2) Channel Control Register (channel = 0) */ - #define REG_TC2_CMR0 (*(__IO uint32_t*)0x40014004U) /**< \brief (TC2) Channel Mode Register (channel = 0) */ - #define REG_TC2_SMMR0 (*(__IO uint32_t*)0x40014008U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC2_RAB0 (*(__I uint32_t*)0x4001400CU) /**< \brief (TC2) Register AB (channel = 0) */ - #define REG_TC2_CV0 (*(__I uint32_t*)0x40014010U) /**< \brief (TC2) Counter Value (channel = 0) */ - #define REG_TC2_RA0 (*(__IO uint32_t*)0x40014014U) /**< \brief (TC2) Register A (channel = 0) */ - #define REG_TC2_RB0 (*(__IO uint32_t*)0x40014018U) /**< \brief (TC2) Register B (channel = 0) */ - #define REG_TC2_RC0 (*(__IO uint32_t*)0x4001401CU) /**< \brief (TC2) Register C (channel = 0) */ - #define REG_TC2_SR0 (*(__I uint32_t*)0x40014020U) /**< \brief (TC2) Status Register (channel = 0) */ - #define REG_TC2_IER0 (*(__O uint32_t*)0x40014024U) /**< \brief (TC2) Interrupt Enable Register (channel = 0) */ - #define REG_TC2_IDR0 (*(__O uint32_t*)0x40014028U) /**< \brief (TC2) Interrupt Disable Register (channel = 0) */ - #define REG_TC2_IMR0 (*(__I uint32_t*)0x4001402CU) /**< \brief (TC2) Interrupt Mask Register (channel = 0) */ - #define REG_TC2_EMR0 (*(__IO uint32_t*)0x40014030U) /**< \brief (TC2) Extended Mode Register (channel = 0) */ - #define REG_TC2_CCR1 (*(__O uint32_t*)0x40014040U) /**< \brief (TC2) Channel Control Register (channel = 1) */ - #define REG_TC2_CMR1 (*(__IO uint32_t*)0x40014044U) /**< \brief (TC2) Channel Mode Register (channel = 1) */ - #define REG_TC2_SMMR1 (*(__IO uint32_t*)0x40014048U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC2_RAB1 (*(__I uint32_t*)0x4001404CU) /**< \brief (TC2) Register AB (channel = 1) */ - #define REG_TC2_CV1 (*(__I uint32_t*)0x40014050U) /**< \brief (TC2) Counter Value (channel = 1) */ - #define REG_TC2_RA1 (*(__IO uint32_t*)0x40014054U) /**< \brief (TC2) Register A (channel = 1) */ - #define REG_TC2_RB1 (*(__IO uint32_t*)0x40014058U) /**< \brief (TC2) Register B (channel = 1) */ - #define REG_TC2_RC1 (*(__IO uint32_t*)0x4001405CU) /**< \brief (TC2) Register C (channel = 1) */ - #define REG_TC2_SR1 (*(__I uint32_t*)0x40014060U) /**< \brief (TC2) Status Register (channel = 1) */ - #define REG_TC2_IER1 (*(__O uint32_t*)0x40014064U) /**< \brief (TC2) Interrupt Enable Register (channel = 1) */ - #define REG_TC2_IDR1 (*(__O uint32_t*)0x40014068U) /**< \brief (TC2) Interrupt Disable Register (channel = 1) */ - #define REG_TC2_IMR1 (*(__I uint32_t*)0x4001406CU) /**< \brief (TC2) Interrupt Mask Register (channel = 1) */ - #define REG_TC2_EMR1 (*(__IO uint32_t*)0x40014070U) /**< \brief (TC2) Extended Mode Register (channel = 1) */ - #define REG_TC2_CCR2 (*(__O uint32_t*)0x40014080U) /**< \brief (TC2) Channel Control Register (channel = 2) */ - #define REG_TC2_CMR2 (*(__IO uint32_t*)0x40014084U) /**< \brief (TC2) Channel Mode Register (channel = 2) */ - #define REG_TC2_SMMR2 (*(__IO uint32_t*)0x40014088U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC2_RAB2 (*(__I uint32_t*)0x4001408CU) /**< \brief (TC2) Register AB (channel = 2) */ - #define REG_TC2_CV2 (*(__I uint32_t*)0x40014090U) /**< \brief (TC2) Counter Value (channel = 2) */ - #define REG_TC2_RA2 (*(__IO uint32_t*)0x40014094U) /**< \brief (TC2) Register A (channel = 2) */ - #define REG_TC2_RB2 (*(__IO uint32_t*)0x40014098U) /**< \brief (TC2) Register B (channel = 2) */ - #define REG_TC2_RC2 (*(__IO uint32_t*)0x4001409CU) /**< \brief (TC2) Register C (channel = 2) */ - #define REG_TC2_SR2 (*(__I uint32_t*)0x400140A0U) /**< \brief (TC2) Status Register (channel = 2) */ - #define REG_TC2_IER2 (*(__O uint32_t*)0x400140A4U) /**< \brief (TC2) Interrupt Enable Register (channel = 2) */ - #define REG_TC2_IDR2 (*(__O uint32_t*)0x400140A8U) /**< \brief (TC2) Interrupt Disable Register (channel = 2) */ - #define REG_TC2_IMR2 (*(__I uint32_t*)0x400140ACU) /**< \brief (TC2) Interrupt Mask Register (channel = 2) */ - #define REG_TC2_EMR2 (*(__IO uint32_t*)0x400140B0U) /**< \brief (TC2) Extended Mode Register (channel = 2) */ - #define REG_TC2_BCR (*(__O uint32_t*)0x400140C0U) /**< \brief (TC2) Block Control Register */ - #define REG_TC2_BMR (*(__IO uint32_t*)0x400140C4U) /**< \brief (TC2) Block Mode Register */ - #define REG_TC2_QIER (*(__O uint32_t*)0x400140C8U) /**< \brief (TC2) QDEC Interrupt Enable Register */ - #define REG_TC2_QIDR (*(__O uint32_t*)0x400140CCU) /**< \brief (TC2) QDEC Interrupt Disable Register */ - #define REG_TC2_QIMR (*(__I uint32_t*)0x400140D0U) /**< \brief (TC2) QDEC Interrupt Mask Register */ - #define REG_TC2_QISR (*(__I uint32_t*)0x400140D4U) /**< \brief (TC2) QDEC Interrupt Status Register */ - #define REG_TC2_FMR (*(__IO uint32_t*)0x400140D8U) /**< \brief (TC2) Fault Mode Register */ - #define REG_TC2_WPMR (*(__IO uint32_t*)0x400140E4U) /**< \brief (TC2) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC2_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h deleted file mode 100644 index 2921bd4..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC3_INSTANCE_ -#define _SAMS70_TC3_INSTANCE_ - -/* ========== Register definition for TC3 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC3_CCR0 (0x40054000U) /**< \brief (TC3) Channel Control Register (channel = 0) */ - #define REG_TC3_CMR0 (0x40054004U) /**< \brief (TC3) Channel Mode Register (channel = 0) */ - #define REG_TC3_SMMR0 (0x40054008U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC3_RAB0 (0x4005400CU) /**< \brief (TC3) Register AB (channel = 0) */ - #define REG_TC3_CV0 (0x40054010U) /**< \brief (TC3) Counter Value (channel = 0) */ - #define REG_TC3_RA0 (0x40054014U) /**< \brief (TC3) Register A (channel = 0) */ - #define REG_TC3_RB0 (0x40054018U) /**< \brief (TC3) Register B (channel = 0) */ - #define REG_TC3_RC0 (0x4005401CU) /**< \brief (TC3) Register C (channel = 0) */ - #define REG_TC3_SR0 (0x40054020U) /**< \brief (TC3) Status Register (channel = 0) */ - #define REG_TC3_IER0 (0x40054024U) /**< \brief (TC3) Interrupt Enable Register (channel = 0) */ - #define REG_TC3_IDR0 (0x40054028U) /**< \brief (TC3) Interrupt Disable Register (channel = 0) */ - #define REG_TC3_IMR0 (0x4005402CU) /**< \brief (TC3) Interrupt Mask Register (channel = 0) */ - #define REG_TC3_EMR0 (0x40054030U) /**< \brief (TC3) Extended Mode Register (channel = 0) */ - #define REG_TC3_CCR1 (0x40054040U) /**< \brief (TC3) Channel Control Register (channel = 1) */ - #define REG_TC3_CMR1 (0x40054044U) /**< \brief (TC3) Channel Mode Register (channel = 1) */ - #define REG_TC3_SMMR1 (0x40054048U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC3_RAB1 (0x4005404CU) /**< \brief (TC3) Register AB (channel = 1) */ - #define REG_TC3_CV1 (0x40054050U) /**< \brief (TC3) Counter Value (channel = 1) */ - #define REG_TC3_RA1 (0x40054054U) /**< \brief (TC3) Register A (channel = 1) */ - #define REG_TC3_RB1 (0x40054058U) /**< \brief (TC3) Register B (channel = 1) */ - #define REG_TC3_RC1 (0x4005405CU) /**< \brief (TC3) Register C (channel = 1) */ - #define REG_TC3_SR1 (0x40054060U) /**< \brief (TC3) Status Register (channel = 1) */ - #define REG_TC3_IER1 (0x40054064U) /**< \brief (TC3) Interrupt Enable Register (channel = 1) */ - #define REG_TC3_IDR1 (0x40054068U) /**< \brief (TC3) Interrupt Disable Register (channel = 1) */ - #define REG_TC3_IMR1 (0x4005406CU) /**< \brief (TC3) Interrupt Mask Register (channel = 1) */ - #define REG_TC3_EMR1 (0x40054070U) /**< \brief (TC3) Extended Mode Register (channel = 1) */ - #define REG_TC3_CCR2 (0x40054080U) /**< \brief (TC3) Channel Control Register (channel = 2) */ - #define REG_TC3_CMR2 (0x40054084U) /**< \brief (TC3) Channel Mode Register (channel = 2) */ - #define REG_TC3_SMMR2 (0x40054088U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC3_RAB2 (0x4005408CU) /**< \brief (TC3) Register AB (channel = 2) */ - #define REG_TC3_CV2 (0x40054090U) /**< \brief (TC3) Counter Value (channel = 2) */ - #define REG_TC3_RA2 (0x40054094U) /**< \brief (TC3) Register A (channel = 2) */ - #define REG_TC3_RB2 (0x40054098U) /**< \brief (TC3) Register B (channel = 2) */ - #define REG_TC3_RC2 (0x4005409CU) /**< \brief (TC3) Register C (channel = 2) */ - #define REG_TC3_SR2 (0x400540A0U) /**< \brief (TC3) Status Register (channel = 2) */ - #define REG_TC3_IER2 (0x400540A4U) /**< \brief (TC3) Interrupt Enable Register (channel = 2) */ - #define REG_TC3_IDR2 (0x400540A8U) /**< \brief (TC3) Interrupt Disable Register (channel = 2) */ - #define REG_TC3_IMR2 (0x400540ACU) /**< \brief (TC3) Interrupt Mask Register (channel = 2) */ - #define REG_TC3_EMR2 (0x400540B0U) /**< \brief (TC3) Extended Mode Register (channel = 2) */ - #define REG_TC3_BCR (0x400540C0U) /**< \brief (TC3) Block Control Register */ - #define REG_TC3_BMR (0x400540C4U) /**< \brief (TC3) Block Mode Register */ - #define REG_TC3_QIER (0x400540C8U) /**< \brief (TC3) QDEC Interrupt Enable Register */ - #define REG_TC3_QIDR (0x400540CCU) /**< \brief (TC3) QDEC Interrupt Disable Register */ - #define REG_TC3_QIMR (0x400540D0U) /**< \brief (TC3) QDEC Interrupt Mask Register */ - #define REG_TC3_QISR (0x400540D4U) /**< \brief (TC3) QDEC Interrupt Status Register */ - #define REG_TC3_FMR (0x400540D8U) /**< \brief (TC3) Fault Mode Register */ - #define REG_TC3_WPMR (0x400540E4U) /**< \brief (TC3) Write Protection Mode Register */ -#else - #define REG_TC3_CCR0 (*(__O uint32_t*)0x40054000U) /**< \brief (TC3) Channel Control Register (channel = 0) */ - #define REG_TC3_CMR0 (*(__IO uint32_t*)0x40054004U) /**< \brief (TC3) Channel Mode Register (channel = 0) */ - #define REG_TC3_SMMR0 (*(__IO uint32_t*)0x40054008U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC3_RAB0 (*(__I uint32_t*)0x4005400CU) /**< \brief (TC3) Register AB (channel = 0) */ - #define REG_TC3_CV0 (*(__I uint32_t*)0x40054010U) /**< \brief (TC3) Counter Value (channel = 0) */ - #define REG_TC3_RA0 (*(__IO uint32_t*)0x40054014U) /**< \brief (TC3) Register A (channel = 0) */ - #define REG_TC3_RB0 (*(__IO uint32_t*)0x40054018U) /**< \brief (TC3) Register B (channel = 0) */ - #define REG_TC3_RC0 (*(__IO uint32_t*)0x4005401CU) /**< \brief (TC3) Register C (channel = 0) */ - #define REG_TC3_SR0 (*(__I uint32_t*)0x40054020U) /**< \brief (TC3) Status Register (channel = 0) */ - #define REG_TC3_IER0 (*(__O uint32_t*)0x40054024U) /**< \brief (TC3) Interrupt Enable Register (channel = 0) */ - #define REG_TC3_IDR0 (*(__O uint32_t*)0x40054028U) /**< \brief (TC3) Interrupt Disable Register (channel = 0) */ - #define REG_TC3_IMR0 (*(__I uint32_t*)0x4005402CU) /**< \brief (TC3) Interrupt Mask Register (channel = 0) */ - #define REG_TC3_EMR0 (*(__IO uint32_t*)0x40054030U) /**< \brief (TC3) Extended Mode Register (channel = 0) */ - #define REG_TC3_CCR1 (*(__O uint32_t*)0x40054040U) /**< \brief (TC3) Channel Control Register (channel = 1) */ - #define REG_TC3_CMR1 (*(__IO uint32_t*)0x40054044U) /**< \brief (TC3) Channel Mode Register (channel = 1) */ - #define REG_TC3_SMMR1 (*(__IO uint32_t*)0x40054048U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC3_RAB1 (*(__I uint32_t*)0x4005404CU) /**< \brief (TC3) Register AB (channel = 1) */ - #define REG_TC3_CV1 (*(__I uint32_t*)0x40054050U) /**< \brief (TC3) Counter Value (channel = 1) */ - #define REG_TC3_RA1 (*(__IO uint32_t*)0x40054054U) /**< \brief (TC3) Register A (channel = 1) */ - #define REG_TC3_RB1 (*(__IO uint32_t*)0x40054058U) /**< \brief (TC3) Register B (channel = 1) */ - #define REG_TC3_RC1 (*(__IO uint32_t*)0x4005405CU) /**< \brief (TC3) Register C (channel = 1) */ - #define REG_TC3_SR1 (*(__I uint32_t*)0x40054060U) /**< \brief (TC3) Status Register (channel = 1) */ - #define REG_TC3_IER1 (*(__O uint32_t*)0x40054064U) /**< \brief (TC3) Interrupt Enable Register (channel = 1) */ - #define REG_TC3_IDR1 (*(__O uint32_t*)0x40054068U) /**< \brief (TC3) Interrupt Disable Register (channel = 1) */ - #define REG_TC3_IMR1 (*(__I uint32_t*)0x4005406CU) /**< \brief (TC3) Interrupt Mask Register (channel = 1) */ - #define REG_TC3_EMR1 (*(__IO uint32_t*)0x40054070U) /**< \brief (TC3) Extended Mode Register (channel = 1) */ - #define REG_TC3_CCR2 (*(__O uint32_t*)0x40054080U) /**< \brief (TC3) Channel Control Register (channel = 2) */ - #define REG_TC3_CMR2 (*(__IO uint32_t*)0x40054084U) /**< \brief (TC3) Channel Mode Register (channel = 2) */ - #define REG_TC3_SMMR2 (*(__IO uint32_t*)0x40054088U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC3_RAB2 (*(__I uint32_t*)0x4005408CU) /**< \brief (TC3) Register AB (channel = 2) */ - #define REG_TC3_CV2 (*(__I uint32_t*)0x40054090U) /**< \brief (TC3) Counter Value (channel = 2) */ - #define REG_TC3_RA2 (*(__IO uint32_t*)0x40054094U) /**< \brief (TC3) Register A (channel = 2) */ - #define REG_TC3_RB2 (*(__IO uint32_t*)0x40054098U) /**< \brief (TC3) Register B (channel = 2) */ - #define REG_TC3_RC2 (*(__IO uint32_t*)0x4005409CU) /**< \brief (TC3) Register C (channel = 2) */ - #define REG_TC3_SR2 (*(__I uint32_t*)0x400540A0U) /**< \brief (TC3) Status Register (channel = 2) */ - #define REG_TC3_IER2 (*(__O uint32_t*)0x400540A4U) /**< \brief (TC3) Interrupt Enable Register (channel = 2) */ - #define REG_TC3_IDR2 (*(__O uint32_t*)0x400540A8U) /**< \brief (TC3) Interrupt Disable Register (channel = 2) */ - #define REG_TC3_IMR2 (*(__I uint32_t*)0x400540ACU) /**< \brief (TC3) Interrupt Mask Register (channel = 2) */ - #define REG_TC3_EMR2 (*(__IO uint32_t*)0x400540B0U) /**< \brief (TC3) Extended Mode Register (channel = 2) */ - #define REG_TC3_BCR (*(__O uint32_t*)0x400540C0U) /**< \brief (TC3) Block Control Register */ - #define REG_TC3_BMR (*(__IO uint32_t*)0x400540C4U) /**< \brief (TC3) Block Mode Register */ - #define REG_TC3_QIER (*(__O uint32_t*)0x400540C8U) /**< \brief (TC3) QDEC Interrupt Enable Register */ - #define REG_TC3_QIDR (*(__O uint32_t*)0x400540CCU) /**< \brief (TC3) QDEC Interrupt Disable Register */ - #define REG_TC3_QIMR (*(__I uint32_t*)0x400540D0U) /**< \brief (TC3) QDEC Interrupt Mask Register */ - #define REG_TC3_QISR (*(__I uint32_t*)0x400540D4U) /**< \brief (TC3) QDEC Interrupt Status Register */ - #define REG_TC3_FMR (*(__IO uint32_t*)0x400540D8U) /**< \brief (TC3) Fault Mode Register */ - #define REG_TC3_WPMR (*(__IO uint32_t*)0x400540E4U) /**< \brief (TC3) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC3_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h deleted file mode 100644 index aa70ee0..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TRNG_INSTANCE_ -#define _SAMS70_TRNG_INSTANCE_ - -/* ========== Register definition for TRNG peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TRNG_CR (0x40070000U) /**< \brief (TRNG) Control Register */ - #define REG_TRNG_IER (0x40070010U) /**< \brief (TRNG) Interrupt Enable Register */ - #define REG_TRNG_IDR (0x40070014U) /**< \brief (TRNG) Interrupt Disable Register */ - #define REG_TRNG_IMR (0x40070018U) /**< \brief (TRNG) Interrupt Mask Register */ - #define REG_TRNG_ISR (0x4007001CU) /**< \brief (TRNG) Interrupt Status Register */ - #define REG_TRNG_ODATA (0x40070050U) /**< \brief (TRNG) Output Data Register */ -#else - #define REG_TRNG_CR (*(__O uint32_t*)0x40070000U) /**< \brief (TRNG) Control Register */ - #define REG_TRNG_IER (*(__O uint32_t*)0x40070010U) /**< \brief (TRNG) Interrupt Enable Register */ - #define REG_TRNG_IDR (*(__O uint32_t*)0x40070014U) /**< \brief (TRNG) Interrupt Disable Register */ - #define REG_TRNG_IMR (*(__I uint32_t*)0x40070018U) /**< \brief (TRNG) Interrupt Mask Register */ - #define REG_TRNG_ISR (*(__I uint32_t*)0x4007001CU) /**< \brief (TRNG) Interrupt Status Register */ - #define REG_TRNG_ODATA (*(__I uint32_t*)0x40070050U) /**< \brief (TRNG) Output Data Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TRNG_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h deleted file mode 100644 index 8fc2286..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS0_INSTANCE_ -#define _SAMS70_TWIHS0_INSTANCE_ - -/* ========== Register definition for TWIHS0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TWIHS0_CR (0x40018000U) /**< \brief (TWIHS0) Control Register */ - #define REG_TWIHS0_MMR (0x40018004U) /**< \brief (TWIHS0) Master Mode Register */ - #define REG_TWIHS0_SMR (0x40018008U) /**< \brief (TWIHS0) Slave Mode Register */ - #define REG_TWIHS0_IADR (0x4001800CU) /**< \brief (TWIHS0) Internal Address Register */ - #define REG_TWIHS0_CWGR (0x40018010U) /**< \brief (TWIHS0) Clock Waveform Generator Register */ - #define REG_TWIHS0_SR (0x40018020U) /**< \brief (TWIHS0) Status Register */ - #define REG_TWIHS0_IER (0x40018024U) /**< \brief (TWIHS0) Interrupt Enable Register */ - #define REG_TWIHS0_IDR (0x40018028U) /**< \brief (TWIHS0) Interrupt Disable Register */ - #define REG_TWIHS0_IMR (0x4001802CU) /**< \brief (TWIHS0) Interrupt Mask Register */ - #define REG_TWIHS0_RHR (0x40018030U) /**< \brief (TWIHS0) Receive Holding Register */ - #define REG_TWIHS0_THR (0x40018034U) /**< \brief (TWIHS0) Transmit Holding Register */ - #define REG_TWIHS0_SMBTR (0x40018038U) /**< \brief (TWIHS0) SMBus Timing Register */ - #define REG_TWIHS0_FILTR (0x40018044U) /**< \brief (TWIHS0) Filter Register */ - #define REG_TWIHS0_SWMR (0x4001804CU) /**< \brief (TWIHS0) SleepWalking Matching Register */ - #define REG_TWIHS0_WPMR (0x400180E4U) /**< \brief (TWIHS0) Write Protection Mode Register */ - #define REG_TWIHS0_WPSR (0x400180E8U) /**< \brief (TWIHS0) Write Protection Status Register */ -#else - #define REG_TWIHS0_CR (*(__O uint32_t*)0x40018000U) /**< \brief (TWIHS0) Control Register */ - #define REG_TWIHS0_MMR (*(__IO uint32_t*)0x40018004U) /**< \brief (TWIHS0) Master Mode Register */ - #define REG_TWIHS0_SMR (*(__IO uint32_t*)0x40018008U) /**< \brief (TWIHS0) Slave Mode Register */ - #define REG_TWIHS0_IADR (*(__IO uint32_t*)0x4001800CU) /**< \brief (TWIHS0) Internal Address Register */ - #define REG_TWIHS0_CWGR (*(__IO uint32_t*)0x40018010U) /**< \brief (TWIHS0) Clock Waveform Generator Register */ - #define REG_TWIHS0_SR (*(__I uint32_t*)0x40018020U) /**< \brief (TWIHS0) Status Register */ - #define REG_TWIHS0_IER (*(__O uint32_t*)0x40018024U) /**< \brief (TWIHS0) Interrupt Enable Register */ - #define REG_TWIHS0_IDR (*(__O uint32_t*)0x40018028U) /**< \brief (TWIHS0) Interrupt Disable Register */ - #define REG_TWIHS0_IMR (*(__I uint32_t*)0x4001802CU) /**< \brief (TWIHS0) Interrupt Mask Register */ - #define REG_TWIHS0_RHR (*(__I uint32_t*)0x40018030U) /**< \brief (TWIHS0) Receive Holding Register */ - #define REG_TWIHS0_THR (*(__O uint32_t*)0x40018034U) /**< \brief (TWIHS0) Transmit Holding Register */ - #define REG_TWIHS0_SMBTR (*(__IO uint32_t*)0x40018038U) /**< \brief (TWIHS0) SMBus Timing Register */ - #define REG_TWIHS0_FILTR (*(__IO uint32_t*)0x40018044U) /**< \brief (TWIHS0) Filter Register */ - #define REG_TWIHS0_SWMR (*(__IO uint32_t*)0x4001804CU) /**< \brief (TWIHS0) SleepWalking Matching Register */ - #define REG_TWIHS0_WPMR (*(__IO uint32_t*)0x400180E4U) /**< \brief (TWIHS0) Write Protection Mode Register */ - #define REG_TWIHS0_WPSR (*(__I uint32_t*)0x400180E8U) /**< \brief (TWIHS0) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TWIHS0_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h deleted file mode 100644 index ca179cc..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS1_INSTANCE_ -#define _SAMS70_TWIHS1_INSTANCE_ - -/* ========== Register definition for TWIHS1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TWIHS1_CR (0x4001C000U) /**< \brief (TWIHS1) Control Register */ - #define REG_TWIHS1_MMR (0x4001C004U) /**< \brief (TWIHS1) Master Mode Register */ - #define REG_TWIHS1_SMR (0x4001C008U) /**< \brief (TWIHS1) Slave Mode Register */ - #define REG_TWIHS1_IADR (0x4001C00CU) /**< \brief (TWIHS1) Internal Address Register */ - #define REG_TWIHS1_CWGR (0x4001C010U) /**< \brief (TWIHS1) Clock Waveform Generator Register */ - #define REG_TWIHS1_SR (0x4001C020U) /**< \brief (TWIHS1) Status Register */ - #define REG_TWIHS1_IER (0x4001C024U) /**< \brief (TWIHS1) Interrupt Enable Register */ - #define REG_TWIHS1_IDR (0x4001C028U) /**< \brief (TWIHS1) Interrupt Disable Register */ - #define REG_TWIHS1_IMR (0x4001C02CU) /**< \brief (TWIHS1) Interrupt Mask Register */ - #define REG_TWIHS1_RHR (0x4001C030U) /**< \brief (TWIHS1) Receive Holding Register */ - #define REG_TWIHS1_THR (0x4001C034U) /**< \brief (TWIHS1) Transmit Holding Register */ - #define REG_TWIHS1_SMBTR (0x4001C038U) /**< \brief (TWIHS1) SMBus Timing Register */ - #define REG_TWIHS1_FILTR (0x4001C044U) /**< \brief (TWIHS1) Filter Register */ - #define REG_TWIHS1_SWMR (0x4001C04CU) /**< \brief (TWIHS1) SleepWalking Matching Register */ - #define REG_TWIHS1_WPMR (0x4001C0E4U) /**< \brief (TWIHS1) Write Protection Mode Register */ - #define REG_TWIHS1_WPSR (0x4001C0E8U) /**< \brief (TWIHS1) Write Protection Status Register */ -#else - #define REG_TWIHS1_CR (*(__O uint32_t*)0x4001C000U) /**< \brief (TWIHS1) Control Register */ - #define REG_TWIHS1_MMR (*(__IO uint32_t*)0x4001C004U) /**< \brief (TWIHS1) Master Mode Register */ - #define REG_TWIHS1_SMR (*(__IO uint32_t*)0x4001C008U) /**< \brief (TWIHS1) Slave Mode Register */ - #define REG_TWIHS1_IADR (*(__IO uint32_t*)0x4001C00CU) /**< \brief (TWIHS1) Internal Address Register */ - #define REG_TWIHS1_CWGR (*(__IO uint32_t*)0x4001C010U) /**< \brief (TWIHS1) Clock Waveform Generator Register */ - #define REG_TWIHS1_SR (*(__I uint32_t*)0x4001C020U) /**< \brief (TWIHS1) Status Register */ - #define REG_TWIHS1_IER (*(__O uint32_t*)0x4001C024U) /**< \brief (TWIHS1) Interrupt Enable Register */ - #define REG_TWIHS1_IDR (*(__O uint32_t*)0x4001C028U) /**< \brief (TWIHS1) Interrupt Disable Register */ - #define REG_TWIHS1_IMR (*(__I uint32_t*)0x4001C02CU) /**< \brief (TWIHS1) Interrupt Mask Register */ - #define REG_TWIHS1_RHR (*(__I uint32_t*)0x4001C030U) /**< \brief (TWIHS1) Receive Holding Register */ - #define REG_TWIHS1_THR (*(__O uint32_t*)0x4001C034U) /**< \brief (TWIHS1) Transmit Holding Register */ - #define REG_TWIHS1_SMBTR (*(__IO uint32_t*)0x4001C038U) /**< \brief (TWIHS1) SMBus Timing Register */ - #define REG_TWIHS1_FILTR (*(__IO uint32_t*)0x4001C044U) /**< \brief (TWIHS1) Filter Register */ - #define REG_TWIHS1_SWMR (*(__IO uint32_t*)0x4001C04CU) /**< \brief (TWIHS1) SleepWalking Matching Register */ - #define REG_TWIHS1_WPMR (*(__IO uint32_t*)0x4001C0E4U) /**< \brief (TWIHS1) Write Protection Mode Register */ - #define REG_TWIHS1_WPSR (*(__I uint32_t*)0x4001C0E8U) /**< \brief (TWIHS1) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TWIHS1_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h deleted file mode 100644 index d67cbf3..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS2_INSTANCE_ -#define _SAMS70_TWIHS2_INSTANCE_ - -/* ========== Register definition for TWIHS2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TWIHS2_CR (0x40060000U) /**< \brief (TWIHS2) Control Register */ - #define REG_TWIHS2_MMR (0x40060004U) /**< \brief (TWIHS2) Master Mode Register */ - #define REG_TWIHS2_SMR (0x40060008U) /**< \brief (TWIHS2) Slave Mode Register */ - #define REG_TWIHS2_IADR (0x4006000CU) /**< \brief (TWIHS2) Internal Address Register */ - #define REG_TWIHS2_CWGR (0x40060010U) /**< \brief (TWIHS2) Clock Waveform Generator Register */ - #define REG_TWIHS2_SR (0x40060020U) /**< \brief (TWIHS2) Status Register */ - #define REG_TWIHS2_IER (0x40060024U) /**< \brief (TWIHS2) Interrupt Enable Register */ - #define REG_TWIHS2_IDR (0x40060028U) /**< \brief (TWIHS2) Interrupt Disable Register */ - #define REG_TWIHS2_IMR (0x4006002CU) /**< \brief (TWIHS2) Interrupt Mask Register */ - #define REG_TWIHS2_RHR (0x40060030U) /**< \brief (TWIHS2) Receive Holding Register */ - #define REG_TWIHS2_THR (0x40060034U) /**< \brief (TWIHS2) Transmit Holding Register */ - #define REG_TWIHS2_SMBTR (0x40060038U) /**< \brief (TWIHS2) SMBus Timing Register */ - #define REG_TWIHS2_FILTR (0x40060044U) /**< \brief (TWIHS2) Filter Register */ - #define REG_TWIHS2_SWMR (0x4006004CU) /**< \brief (TWIHS2) SleepWalking Matching Register */ - #define REG_TWIHS2_WPMR (0x400600E4U) /**< \brief (TWIHS2) Write Protection Mode Register */ - #define REG_TWIHS2_WPSR (0x400600E8U) /**< \brief (TWIHS2) Write Protection Status Register */ -#else - #define REG_TWIHS2_CR (*(__O uint32_t*)0x40060000U) /**< \brief (TWIHS2) Control Register */ - #define REG_TWIHS2_MMR (*(__IO uint32_t*)0x40060004U) /**< \brief (TWIHS2) Master Mode Register */ - #define REG_TWIHS2_SMR (*(__IO uint32_t*)0x40060008U) /**< \brief (TWIHS2) Slave Mode Register */ - #define REG_TWIHS2_IADR (*(__IO uint32_t*)0x4006000CU) /**< \brief (TWIHS2) Internal Address Register */ - #define REG_TWIHS2_CWGR (*(__IO uint32_t*)0x40060010U) /**< \brief (TWIHS2) Clock Waveform Generator Register */ - #define REG_TWIHS2_SR (*(__I uint32_t*)0x40060020U) /**< \brief (TWIHS2) Status Register */ - #define REG_TWIHS2_IER (*(__O uint32_t*)0x40060024U) /**< \brief (TWIHS2) Interrupt Enable Register */ - #define REG_TWIHS2_IDR (*(__O uint32_t*)0x40060028U) /**< \brief (TWIHS2) Interrupt Disable Register */ - #define REG_TWIHS2_IMR (*(__I uint32_t*)0x4006002CU) /**< \brief (TWIHS2) Interrupt Mask Register */ - #define REG_TWIHS2_RHR (*(__I uint32_t*)0x40060030U) /**< \brief (TWIHS2) Receive Holding Register */ - #define REG_TWIHS2_THR (*(__O uint32_t*)0x40060034U) /**< \brief (TWIHS2) Transmit Holding Register */ - #define REG_TWIHS2_SMBTR (*(__IO uint32_t*)0x40060038U) /**< \brief (TWIHS2) SMBus Timing Register */ - #define REG_TWIHS2_FILTR (*(__IO uint32_t*)0x40060044U) /**< \brief (TWIHS2) Filter Register */ - #define REG_TWIHS2_SWMR (*(__IO uint32_t*)0x4006004CU) /**< \brief (TWIHS2) SleepWalking Matching Register */ - #define REG_TWIHS2_WPMR (*(__IO uint32_t*)0x400600E4U) /**< \brief (TWIHS2) Write Protection Mode Register */ - #define REG_TWIHS2_WPSR (*(__I uint32_t*)0x400600E8U) /**< \brief (TWIHS2) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TWIHS2_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h deleted file mode 100644 index f03845e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART0_INSTANCE_ -#define _SAMS70_UART0_INSTANCE_ - -/* ========== Register definition for UART0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART0_CR (0x400E0800U) /**< \brief (UART0) Control Register */ - #define REG_UART0_MR (0x400E0804U) /**< \brief (UART0) Mode Register */ - #define REG_UART0_IER (0x400E0808U) /**< \brief (UART0) Interrupt Enable Register */ - #define REG_UART0_IDR (0x400E080CU) /**< \brief (UART0) Interrupt Disable Register */ - #define REG_UART0_IMR (0x400E0810U) /**< \brief (UART0) Interrupt Mask Register */ - #define REG_UART0_SR (0x400E0814U) /**< \brief (UART0) Status Register */ - #define REG_UART0_RHR (0x400E0818U) /**< \brief (UART0) Receive Holding Register */ - #define REG_UART0_THR (0x400E081CU) /**< \brief (UART0) Transmit Holding Register */ - #define REG_UART0_BRGR (0x400E0820U) /**< \brief (UART0) Baud Rate Generator Register */ - #define REG_UART0_CMPR (0x400E0824U) /**< \brief (UART0) Comparison Register */ - #define REG_UART0_WPMR (0x400E08E4U) /**< \brief (UART0) Write Protection Mode Register */ -#else - #define REG_UART0_CR (*(__O uint32_t*)0x400E0800U) /**< \brief (UART0) Control Register */ - #define REG_UART0_MR (*(__IO uint32_t*)0x400E0804U) /**< \brief (UART0) Mode Register */ - #define REG_UART0_IER (*(__O uint32_t*)0x400E0808U) /**< \brief (UART0) Interrupt Enable Register */ - #define REG_UART0_IDR (*(__O uint32_t*)0x400E080CU) /**< \brief (UART0) Interrupt Disable Register */ - #define REG_UART0_IMR (*(__I uint32_t*)0x400E0810U) /**< \brief (UART0) Interrupt Mask Register */ - #define REG_UART0_SR (*(__I uint32_t*)0x400E0814U) /**< \brief (UART0) Status Register */ - #define REG_UART0_RHR (*(__I uint32_t*)0x400E0818U) /**< \brief (UART0) Receive Holding Register */ - #define REG_UART0_THR (*(__O uint32_t*)0x400E081CU) /**< \brief (UART0) Transmit Holding Register */ - #define REG_UART0_BRGR (*(__IO uint32_t*)0x400E0820U) /**< \brief (UART0) Baud Rate Generator Register */ - #define REG_UART0_CMPR (*(__IO uint32_t*)0x400E0824U) /**< \brief (UART0) Comparison Register */ - #define REG_UART0_WPMR (*(__IO uint32_t*)0x400E08E4U) /**< \brief (UART0) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART0_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h deleted file mode 100644 index f88ca7f..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART1_INSTANCE_ -#define _SAMS70_UART1_INSTANCE_ - -/* ========== Register definition for UART1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART1_CR (0x400E0A00U) /**< \brief (UART1) Control Register */ - #define REG_UART1_MR (0x400E0A04U) /**< \brief (UART1) Mode Register */ - #define REG_UART1_IER (0x400E0A08U) /**< \brief (UART1) Interrupt Enable Register */ - #define REG_UART1_IDR (0x400E0A0CU) /**< \brief (UART1) Interrupt Disable Register */ - #define REG_UART1_IMR (0x400E0A10U) /**< \brief (UART1) Interrupt Mask Register */ - #define REG_UART1_SR (0x400E0A14U) /**< \brief (UART1) Status Register */ - #define REG_UART1_RHR (0x400E0A18U) /**< \brief (UART1) Receive Holding Register */ - #define REG_UART1_THR (0x400E0A1CU) /**< \brief (UART1) Transmit Holding Register */ - #define REG_UART1_BRGR (0x400E0A20U) /**< \brief (UART1) Baud Rate Generator Register */ - #define REG_UART1_CMPR (0x400E0A24U) /**< \brief (UART1) Comparison Register */ - #define REG_UART1_WPMR (0x400E0AE4U) /**< \brief (UART1) Write Protection Mode Register */ -#else - #define REG_UART1_CR (*(__O uint32_t*)0x400E0A00U) /**< \brief (UART1) Control Register */ - #define REG_UART1_MR (*(__IO uint32_t*)0x400E0A04U) /**< \brief (UART1) Mode Register */ - #define REG_UART1_IER (*(__O uint32_t*)0x400E0A08U) /**< \brief (UART1) Interrupt Enable Register */ - #define REG_UART1_IDR (*(__O uint32_t*)0x400E0A0CU) /**< \brief (UART1) Interrupt Disable Register */ - #define REG_UART1_IMR (*(__I uint32_t*)0x400E0A10U) /**< \brief (UART1) Interrupt Mask Register */ - #define REG_UART1_SR (*(__I uint32_t*)0x400E0A14U) /**< \brief (UART1) Status Register */ - #define REG_UART1_RHR (*(__I uint32_t*)0x400E0A18U) /**< \brief (UART1) Receive Holding Register */ - #define REG_UART1_THR (*(__O uint32_t*)0x400E0A1CU) /**< \brief (UART1) Transmit Holding Register */ - #define REG_UART1_BRGR (*(__IO uint32_t*)0x400E0A20U) /**< \brief (UART1) Baud Rate Generator Register */ - #define REG_UART1_CMPR (*(__IO uint32_t*)0x400E0A24U) /**< \brief (UART1) Comparison Register */ - #define REG_UART1_WPMR (*(__IO uint32_t*)0x400E0AE4U) /**< \brief (UART1) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART1_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h deleted file mode 100644 index 68d5c0e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART2_INSTANCE_ -#define _SAMS70_UART2_INSTANCE_ - -/* ========== Register definition for UART2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART2_CR (0x400E1A00U) /**< \brief (UART2) Control Register */ - #define REG_UART2_MR (0x400E1A04U) /**< \brief (UART2) Mode Register */ - #define REG_UART2_IER (0x400E1A08U) /**< \brief (UART2) Interrupt Enable Register */ - #define REG_UART2_IDR (0x400E1A0CU) /**< \brief (UART2) Interrupt Disable Register */ - #define REG_UART2_IMR (0x400E1A10U) /**< \brief (UART2) Interrupt Mask Register */ - #define REG_UART2_SR (0x400E1A14U) /**< \brief (UART2) Status Register */ - #define REG_UART2_RHR (0x400E1A18U) /**< \brief (UART2) Receive Holding Register */ - #define REG_UART2_THR (0x400E1A1CU) /**< \brief (UART2) Transmit Holding Register */ - #define REG_UART2_BRGR (0x400E1A20U) /**< \brief (UART2) Baud Rate Generator Register */ - #define REG_UART2_CMPR (0x400E1A24U) /**< \brief (UART2) Comparison Register */ - #define REG_UART2_WPMR (0x400E1AE4U) /**< \brief (UART2) Write Protection Mode Register */ -#else - #define REG_UART2_CR (*(__O uint32_t*)0x400E1A00U) /**< \brief (UART2) Control Register */ - #define REG_UART2_MR (*(__IO uint32_t*)0x400E1A04U) /**< \brief (UART2) Mode Register */ - #define REG_UART2_IER (*(__O uint32_t*)0x400E1A08U) /**< \brief (UART2) Interrupt Enable Register */ - #define REG_UART2_IDR (*(__O uint32_t*)0x400E1A0CU) /**< \brief (UART2) Interrupt Disable Register */ - #define REG_UART2_IMR (*(__I uint32_t*)0x400E1A10U) /**< \brief (UART2) Interrupt Mask Register */ - #define REG_UART2_SR (*(__I uint32_t*)0x400E1A14U) /**< \brief (UART2) Status Register */ - #define REG_UART2_RHR (*(__I uint32_t*)0x400E1A18U) /**< \brief (UART2) Receive Holding Register */ - #define REG_UART2_THR (*(__O uint32_t*)0x400E1A1CU) /**< \brief (UART2) Transmit Holding Register */ - #define REG_UART2_BRGR (*(__IO uint32_t*)0x400E1A20U) /**< \brief (UART2) Baud Rate Generator Register */ - #define REG_UART2_CMPR (*(__IO uint32_t*)0x400E1A24U) /**< \brief (UART2) Comparison Register */ - #define REG_UART2_WPMR (*(__IO uint32_t*)0x400E1AE4U) /**< \brief (UART2) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART2_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h deleted file mode 100644 index b519395..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART3_INSTANCE_ -#define _SAMS70_UART3_INSTANCE_ - -/* ========== Register definition for UART3 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART3_CR (0x400E1C00U) /**< \brief (UART3) Control Register */ - #define REG_UART3_MR (0x400E1C04U) /**< \brief (UART3) Mode Register */ - #define REG_UART3_IER (0x400E1C08U) /**< \brief (UART3) Interrupt Enable Register */ - #define REG_UART3_IDR (0x400E1C0CU) /**< \brief (UART3) Interrupt Disable Register */ - #define REG_UART3_IMR (0x400E1C10U) /**< \brief (UART3) Interrupt Mask Register */ - #define REG_UART3_SR (0x400E1C14U) /**< \brief (UART3) Status Register */ - #define REG_UART3_RHR (0x400E1C18U) /**< \brief (UART3) Receive Holding Register */ - #define REG_UART3_THR (0x400E1C1CU) /**< \brief (UART3) Transmit Holding Register */ - #define REG_UART3_BRGR (0x400E1C20U) /**< \brief (UART3) Baud Rate Generator Register */ - #define REG_UART3_CMPR (0x400E1C24U) /**< \brief (UART3) Comparison Register */ - #define REG_UART3_WPMR (0x400E1CE4U) /**< \brief (UART3) Write Protection Mode Register */ -#else - #define REG_UART3_CR (*(__O uint32_t*)0x400E1C00U) /**< \brief (UART3) Control Register */ - #define REG_UART3_MR (*(__IO uint32_t*)0x400E1C04U) /**< \brief (UART3) Mode Register */ - #define REG_UART3_IER (*(__O uint32_t*)0x400E1C08U) /**< \brief (UART3) Interrupt Enable Register */ - #define REG_UART3_IDR (*(__O uint32_t*)0x400E1C0CU) /**< \brief (UART3) Interrupt Disable Register */ - #define REG_UART3_IMR (*(__I uint32_t*)0x400E1C10U) /**< \brief (UART3) Interrupt Mask Register */ - #define REG_UART3_SR (*(__I uint32_t*)0x400E1C14U) /**< \brief (UART3) Status Register */ - #define REG_UART3_RHR (*(__I uint32_t*)0x400E1C18U) /**< \brief (UART3) Receive Holding Register */ - #define REG_UART3_THR (*(__O uint32_t*)0x400E1C1CU) /**< \brief (UART3) Transmit Holding Register */ - #define REG_UART3_BRGR (*(__IO uint32_t*)0x400E1C20U) /**< \brief (UART3) Baud Rate Generator Register */ - #define REG_UART3_CMPR (*(__IO uint32_t*)0x400E1C24U) /**< \brief (UART3) Comparison Register */ - #define REG_UART3_WPMR (*(__IO uint32_t*)0x400E1CE4U) /**< \brief (UART3) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART3_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h deleted file mode 100644 index c96331c..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART4_INSTANCE_ -#define _SAMS70_UART4_INSTANCE_ - -/* ========== Register definition for UART4 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART4_CR (0x400E1E00U) /**< \brief (UART4) Control Register */ - #define REG_UART4_MR (0x400E1E04U) /**< \brief (UART4) Mode Register */ - #define REG_UART4_IER (0x400E1E08U) /**< \brief (UART4) Interrupt Enable Register */ - #define REG_UART4_IDR (0x400E1E0CU) /**< \brief (UART4) Interrupt Disable Register */ - #define REG_UART4_IMR (0x400E1E10U) /**< \brief (UART4) Interrupt Mask Register */ - #define REG_UART4_SR (0x400E1E14U) /**< \brief (UART4) Status Register */ - #define REG_UART4_RHR (0x400E1E18U) /**< \brief (UART4) Receive Holding Register */ - #define REG_UART4_THR (0x400E1E1CU) /**< \brief (UART4) Transmit Holding Register */ - #define REG_UART4_BRGR (0x400E1E20U) /**< \brief (UART4) Baud Rate Generator Register */ - #define REG_UART4_CMPR (0x400E1E24U) /**< \brief (UART4) Comparison Register */ - #define REG_UART4_WPMR (0x400E1EE4U) /**< \brief (UART4) Write Protection Mode Register */ -#else - #define REG_UART4_CR (*(__O uint32_t*)0x400E1E00U) /**< \brief (UART4) Control Register */ - #define REG_UART4_MR (*(__IO uint32_t*)0x400E1E04U) /**< \brief (UART4) Mode Register */ - #define REG_UART4_IER (*(__O uint32_t*)0x400E1E08U) /**< \brief (UART4) Interrupt Enable Register */ - #define REG_UART4_IDR (*(__O uint32_t*)0x400E1E0CU) /**< \brief (UART4) Interrupt Disable Register */ - #define REG_UART4_IMR (*(__I uint32_t*)0x400E1E10U) /**< \brief (UART4) Interrupt Mask Register */ - #define REG_UART4_SR (*(__I uint32_t*)0x400E1E14U) /**< \brief (UART4) Status Register */ - #define REG_UART4_RHR (*(__I uint32_t*)0x400E1E18U) /**< \brief (UART4) Receive Holding Register */ - #define REG_UART4_THR (*(__O uint32_t*)0x400E1E1CU) /**< \brief (UART4) Transmit Holding Register */ - #define REG_UART4_BRGR (*(__IO uint32_t*)0x400E1E20U) /**< \brief (UART4) Baud Rate Generator Register */ - #define REG_UART4_CMPR (*(__IO uint32_t*)0x400E1E24U) /**< \brief (UART4) Comparison Register */ - #define REG_UART4_WPMR (*(__IO uint32_t*)0x400E1EE4U) /**< \brief (UART4) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART4_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h deleted file mode 100644 index 2715694..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h +++ /dev/null @@ -1,109 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART0_INSTANCE_ -#define _SAMS70_USART0_INSTANCE_ - -/* ========== Register definition for USART0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USART0_CR (0x40024000U) /**< \brief (USART0) Control Register */ - #define REG_USART0_MR (0x40024004U) /**< \brief (USART0) Mode Register */ - #define REG_USART0_IER (0x40024008U) /**< \brief (USART0) Interrupt Enable Register */ - #define REG_USART0_IDR (0x4002400CU) /**< \brief (USART0) Interrupt Disable Register */ - #define REG_USART0_IMR (0x40024010U) /**< \brief (USART0) Interrupt Mask Register */ - #define REG_USART0_CSR (0x40024014U) /**< \brief (USART0) Channel Status Register */ - #define REG_USART0_RHR (0x40024018U) /**< \brief (USART0) Receive Holding Register */ - #define REG_USART0_THR (0x4002401CU) /**< \brief (USART0) Transmit Holding Register */ - #define REG_USART0_BRGR (0x40024020U) /**< \brief (USART0) Baud Rate Generator Register */ - #define REG_USART0_RTOR (0x40024024U) /**< \brief (USART0) Receiver Time-out Register */ - #define REG_USART0_TTGR (0x40024028U) /**< \brief (USART0) Transmitter Timeguard Register */ - #define REG_USART0_MAN (0x40024050U) /**< \brief (USART0) Manchester Configuration Register */ - #define REG_USART0_LINMR (0x40024054U) /**< \brief (USART0) LIN Mode Register */ - #define REG_USART0_LINIR (0x40024058U) /**< \brief (USART0) LIN Identifier Register */ - #define REG_USART0_LINBRR (0x4002405CU) /**< \brief (USART0) LIN Baud Rate Register */ - #define REG_USART0_LONMR (0x40024060U) /**< \brief (USART0) LON Mode Register */ - #define REG_USART0_LONPR (0x40024064U) /**< \brief (USART0) LON Preamble Register */ - #define REG_USART0_LONDL (0x40024068U) /**< \brief (USART0) LON Data Length Register */ - #define REG_USART0_LONL2HDR (0x4002406CU) /**< \brief (USART0) LON L2HDR Register */ - #define REG_USART0_LONBL (0x40024070U) /**< \brief (USART0) LON Backlog Register */ - #define REG_USART0_LONB1TX (0x40024074U) /**< \brief (USART0) LON Beta1 Tx Register */ - #define REG_USART0_LONB1RX (0x40024078U) /**< \brief (USART0) LON Beta1 Rx Register */ - #define REG_USART0_LONPRIO (0x4002407CU) /**< \brief (USART0) LON Priority Register */ - #define REG_USART0_IDTTX (0x40024080U) /**< \brief (USART0) LON IDT Tx Register */ - #define REG_USART0_IDTRX (0x40024084U) /**< \brief (USART0) LON IDT Rx Register */ - #define REG_USART0_ICDIFF (0x40024088U) /**< \brief (USART0) IC DIFF Register */ - #define REG_USART0_WPMR (0x400240E4U) /**< \brief (USART0) Write Protection Mode Register */ - #define REG_USART0_WPSR (0x400240E8U) /**< \brief (USART0) Write Protection Status Register */ -#else - #define REG_USART0_CR (*(__O uint32_t*)0x40024000U) /**< \brief (USART0) Control Register */ - #define REG_USART0_MR (*(__IO uint32_t*)0x40024004U) /**< \brief (USART0) Mode Register */ - #define REG_USART0_IER (*(__O uint32_t*)0x40024008U) /**< \brief (USART0) Interrupt Enable Register */ - #define REG_USART0_IDR (*(__O uint32_t*)0x4002400CU) /**< \brief (USART0) Interrupt Disable Register */ - #define REG_USART0_IMR (*(__I uint32_t*)0x40024010U) /**< \brief (USART0) Interrupt Mask Register */ - #define REG_USART0_CSR (*(__I uint32_t*)0x40024014U) /**< \brief (USART0) Channel Status Register */ - #define REG_USART0_RHR (*(__I uint32_t*)0x40024018U) /**< \brief (USART0) Receive Holding Register */ - #define REG_USART0_THR (*(__O uint32_t*)0x4002401CU) /**< \brief (USART0) Transmit Holding Register */ - #define REG_USART0_BRGR (*(__IO uint32_t*)0x40024020U) /**< \brief (USART0) Baud Rate Generator Register */ - #define REG_USART0_RTOR (*(__IO uint32_t*)0x40024024U) /**< \brief (USART0) Receiver Time-out Register */ - #define REG_USART0_TTGR (*(__IO uint32_t*)0x40024028U) /**< \brief (USART0) Transmitter Timeguard Register */ - #define REG_USART0_MAN (*(__IO uint32_t*)0x40024050U) /**< \brief (USART0) Manchester Configuration Register */ - #define REG_USART0_LINMR (*(__IO uint32_t*)0x40024054U) /**< \brief (USART0) LIN Mode Register */ - #define REG_USART0_LINIR (*(__IO uint32_t*)0x40024058U) /**< \brief (USART0) LIN Identifier Register */ - #define REG_USART0_LINBRR (*(__I uint32_t*)0x4002405CU) /**< \brief (USART0) LIN Baud Rate Register */ - #define REG_USART0_LONMR (*(__IO uint32_t*)0x40024060U) /**< \brief (USART0) LON Mode Register */ - #define REG_USART0_LONPR (*(__IO uint32_t*)0x40024064U) /**< \brief (USART0) LON Preamble Register */ - #define REG_USART0_LONDL (*(__IO uint32_t*)0x40024068U) /**< \brief (USART0) LON Data Length Register */ - #define REG_USART0_LONL2HDR (*(__IO uint32_t*)0x4002406CU) /**< \brief (USART0) LON L2HDR Register */ - #define REG_USART0_LONBL (*(__I uint32_t*)0x40024070U) /**< \brief (USART0) LON Backlog Register */ - #define REG_USART0_LONB1TX (*(__IO uint32_t*)0x40024074U) /**< \brief (USART0) LON Beta1 Tx Register */ - #define REG_USART0_LONB1RX (*(__IO uint32_t*)0x40024078U) /**< \brief (USART0) LON Beta1 Rx Register */ - #define REG_USART0_LONPRIO (*(__IO uint32_t*)0x4002407CU) /**< \brief (USART0) LON Priority Register */ - #define REG_USART0_IDTTX (*(__IO uint32_t*)0x40024080U) /**< \brief (USART0) LON IDT Tx Register */ - #define REG_USART0_IDTRX (*(__IO uint32_t*)0x40024084U) /**< \brief (USART0) LON IDT Rx Register */ - #define REG_USART0_ICDIFF (*(__IO uint32_t*)0x40024088U) /**< \brief (USART0) IC DIFF Register */ - #define REG_USART0_WPMR (*(__IO uint32_t*)0x400240E4U) /**< \brief (USART0) Write Protection Mode Register */ - #define REG_USART0_WPSR (*(__I uint32_t*)0x400240E8U) /**< \brief (USART0) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USART0_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h deleted file mode 100644 index 067f32e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h +++ /dev/null @@ -1,109 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART1_INSTANCE_ -#define _SAMS70_USART1_INSTANCE_ - -/* ========== Register definition for USART1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USART1_CR (0x40028000U) /**< \brief (USART1) Control Register */ - #define REG_USART1_MR (0x40028004U) /**< \brief (USART1) Mode Register */ - #define REG_USART1_IER (0x40028008U) /**< \brief (USART1) Interrupt Enable Register */ - #define REG_USART1_IDR (0x4002800CU) /**< \brief (USART1) Interrupt Disable Register */ - #define REG_USART1_IMR (0x40028010U) /**< \brief (USART1) Interrupt Mask Register */ - #define REG_USART1_CSR (0x40028014U) /**< \brief (USART1) Channel Status Register */ - #define REG_USART1_RHR (0x40028018U) /**< \brief (USART1) Receive Holding Register */ - #define REG_USART1_THR (0x4002801CU) /**< \brief (USART1) Transmit Holding Register */ - #define REG_USART1_BRGR (0x40028020U) /**< \brief (USART1) Baud Rate Generator Register */ - #define REG_USART1_RTOR (0x40028024U) /**< \brief (USART1) Receiver Time-out Register */ - #define REG_USART1_TTGR (0x40028028U) /**< \brief (USART1) Transmitter Timeguard Register */ - #define REG_USART1_MAN (0x40028050U) /**< \brief (USART1) Manchester Configuration Register */ - #define REG_USART1_LINMR (0x40028054U) /**< \brief (USART1) LIN Mode Register */ - #define REG_USART1_LINIR (0x40028058U) /**< \brief (USART1) LIN Identifier Register */ - #define REG_USART1_LINBRR (0x4002805CU) /**< \brief (USART1) LIN Baud Rate Register */ - #define REG_USART1_LONMR (0x40028060U) /**< \brief (USART1) LON Mode Register */ - #define REG_USART1_LONPR (0x40028064U) /**< \brief (USART1) LON Preamble Register */ - #define REG_USART1_LONDL (0x40028068U) /**< \brief (USART1) LON Data Length Register */ - #define REG_USART1_LONL2HDR (0x4002806CU) /**< \brief (USART1) LON L2HDR Register */ - #define REG_USART1_LONBL (0x40028070U) /**< \brief (USART1) LON Backlog Register */ - #define REG_USART1_LONB1TX (0x40028074U) /**< \brief (USART1) LON Beta1 Tx Register */ - #define REG_USART1_LONB1RX (0x40028078U) /**< \brief (USART1) LON Beta1 Rx Register */ - #define REG_USART1_LONPRIO (0x4002807CU) /**< \brief (USART1) LON Priority Register */ - #define REG_USART1_IDTTX (0x40028080U) /**< \brief (USART1) LON IDT Tx Register */ - #define REG_USART1_IDTRX (0x40028084U) /**< \brief (USART1) LON IDT Rx Register */ - #define REG_USART1_ICDIFF (0x40028088U) /**< \brief (USART1) IC DIFF Register */ - #define REG_USART1_WPMR (0x400280E4U) /**< \brief (USART1) Write Protection Mode Register */ - #define REG_USART1_WPSR (0x400280E8U) /**< \brief (USART1) Write Protection Status Register */ -#else - #define REG_USART1_CR (*(__O uint32_t*)0x40028000U) /**< \brief (USART1) Control Register */ - #define REG_USART1_MR (*(__IO uint32_t*)0x40028004U) /**< \brief (USART1) Mode Register */ - #define REG_USART1_IER (*(__O uint32_t*)0x40028008U) /**< \brief (USART1) Interrupt Enable Register */ - #define REG_USART1_IDR (*(__O uint32_t*)0x4002800CU) /**< \brief (USART1) Interrupt Disable Register */ - #define REG_USART1_IMR (*(__I uint32_t*)0x40028010U) /**< \brief (USART1) Interrupt Mask Register */ - #define REG_USART1_CSR (*(__I uint32_t*)0x40028014U) /**< \brief (USART1) Channel Status Register */ - #define REG_USART1_RHR (*(__I uint32_t*)0x40028018U) /**< \brief (USART1) Receive Holding Register */ - #define REG_USART1_THR (*(__O uint32_t*)0x4002801CU) /**< \brief (USART1) Transmit Holding Register */ - #define REG_USART1_BRGR (*(__IO uint32_t*)0x40028020U) /**< \brief (USART1) Baud Rate Generator Register */ - #define REG_USART1_RTOR (*(__IO uint32_t*)0x40028024U) /**< \brief (USART1) Receiver Time-out Register */ - #define REG_USART1_TTGR (*(__IO uint32_t*)0x40028028U) /**< \brief (USART1) Transmitter Timeguard Register */ - #define REG_USART1_MAN (*(__IO uint32_t*)0x40028050U) /**< \brief (USART1) Manchester Configuration Register */ - #define REG_USART1_LINMR (*(__IO uint32_t*)0x40028054U) /**< \brief (USART1) LIN Mode Register */ - #define REG_USART1_LINIR (*(__IO uint32_t*)0x40028058U) /**< \brief (USART1) LIN Identifier Register */ - #define REG_USART1_LINBRR (*(__I uint32_t*)0x4002805CU) /**< \brief (USART1) LIN Baud Rate Register */ - #define REG_USART1_LONMR (*(__IO uint32_t*)0x40028060U) /**< \brief (USART1) LON Mode Register */ - #define REG_USART1_LONPR (*(__IO uint32_t*)0x40028064U) /**< \brief (USART1) LON Preamble Register */ - #define REG_USART1_LONDL (*(__IO uint32_t*)0x40028068U) /**< \brief (USART1) LON Data Length Register */ - #define REG_USART1_LONL2HDR (*(__IO uint32_t*)0x4002806CU) /**< \brief (USART1) LON L2HDR Register */ - #define REG_USART1_LONBL (*(__I uint32_t*)0x40028070U) /**< \brief (USART1) LON Backlog Register */ - #define REG_USART1_LONB1TX (*(__IO uint32_t*)0x40028074U) /**< \brief (USART1) LON Beta1 Tx Register */ - #define REG_USART1_LONB1RX (*(__IO uint32_t*)0x40028078U) /**< \brief (USART1) LON Beta1 Rx Register */ - #define REG_USART1_LONPRIO (*(__IO uint32_t*)0x4002807CU) /**< \brief (USART1) LON Priority Register */ - #define REG_USART1_IDTTX (*(__IO uint32_t*)0x40028080U) /**< \brief (USART1) LON IDT Tx Register */ - #define REG_USART1_IDTRX (*(__IO uint32_t*)0x40028084U) /**< \brief (USART1) LON IDT Rx Register */ - #define REG_USART1_ICDIFF (*(__IO uint32_t*)0x40028088U) /**< \brief (USART1) IC DIFF Register */ - #define REG_USART1_WPMR (*(__IO uint32_t*)0x400280E4U) /**< \brief (USART1) Write Protection Mode Register */ - #define REG_USART1_WPSR (*(__I uint32_t*)0x400280E8U) /**< \brief (USART1) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USART1_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h deleted file mode 100644 index 88c8ce8..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h +++ /dev/null @@ -1,109 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART2_INSTANCE_ -#define _SAMS70_USART2_INSTANCE_ - -/* ========== Register definition for USART2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USART2_CR (0x4002C000U) /**< \brief (USART2) Control Register */ - #define REG_USART2_MR (0x4002C004U) /**< \brief (USART2) Mode Register */ - #define REG_USART2_IER (0x4002C008U) /**< \brief (USART2) Interrupt Enable Register */ - #define REG_USART2_IDR (0x4002C00CU) /**< \brief (USART2) Interrupt Disable Register */ - #define REG_USART2_IMR (0x4002C010U) /**< \brief (USART2) Interrupt Mask Register */ - #define REG_USART2_CSR (0x4002C014U) /**< \brief (USART2) Channel Status Register */ - #define REG_USART2_RHR (0x4002C018U) /**< \brief (USART2) Receive Holding Register */ - #define REG_USART2_THR (0x4002C01CU) /**< \brief (USART2) Transmit Holding Register */ - #define REG_USART2_BRGR (0x4002C020U) /**< \brief (USART2) Baud Rate Generator Register */ - #define REG_USART2_RTOR (0x4002C024U) /**< \brief (USART2) Receiver Time-out Register */ - #define REG_USART2_TTGR (0x4002C028U) /**< \brief (USART2) Transmitter Timeguard Register */ - #define REG_USART2_MAN (0x4002C050U) /**< \brief (USART2) Manchester Configuration Register */ - #define REG_USART2_LINMR (0x4002C054U) /**< \brief (USART2) LIN Mode Register */ - #define REG_USART2_LINIR (0x4002C058U) /**< \brief (USART2) LIN Identifier Register */ - #define REG_USART2_LINBRR (0x4002C05CU) /**< \brief (USART2) LIN Baud Rate Register */ - #define REG_USART2_LONMR (0x4002C060U) /**< \brief (USART2) LON Mode Register */ - #define REG_USART2_LONPR (0x4002C064U) /**< \brief (USART2) LON Preamble Register */ - #define REG_USART2_LONDL (0x4002C068U) /**< \brief (USART2) LON Data Length Register */ - #define REG_USART2_LONL2HDR (0x4002C06CU) /**< \brief (USART2) LON L2HDR Register */ - #define REG_USART2_LONBL (0x4002C070U) /**< \brief (USART2) LON Backlog Register */ - #define REG_USART2_LONB1TX (0x4002C074U) /**< \brief (USART2) LON Beta1 Tx Register */ - #define REG_USART2_LONB1RX (0x4002C078U) /**< \brief (USART2) LON Beta1 Rx Register */ - #define REG_USART2_LONPRIO (0x4002C07CU) /**< \brief (USART2) LON Priority Register */ - #define REG_USART2_IDTTX (0x4002C080U) /**< \brief (USART2) LON IDT Tx Register */ - #define REG_USART2_IDTRX (0x4002C084U) /**< \brief (USART2) LON IDT Rx Register */ - #define REG_USART2_ICDIFF (0x4002C088U) /**< \brief (USART2) IC DIFF Register */ - #define REG_USART2_WPMR (0x4002C0E4U) /**< \brief (USART2) Write Protection Mode Register */ - #define REG_USART2_WPSR (0x4002C0E8U) /**< \brief (USART2) Write Protection Status Register */ -#else - #define REG_USART2_CR (*(__O uint32_t*)0x4002C000U) /**< \brief (USART2) Control Register */ - #define REG_USART2_MR (*(__IO uint32_t*)0x4002C004U) /**< \brief (USART2) Mode Register */ - #define REG_USART2_IER (*(__O uint32_t*)0x4002C008U) /**< \brief (USART2) Interrupt Enable Register */ - #define REG_USART2_IDR (*(__O uint32_t*)0x4002C00CU) /**< \brief (USART2) Interrupt Disable Register */ - #define REG_USART2_IMR (*(__I uint32_t*)0x4002C010U) /**< \brief (USART2) Interrupt Mask Register */ - #define REG_USART2_CSR (*(__I uint32_t*)0x4002C014U) /**< \brief (USART2) Channel Status Register */ - #define REG_USART2_RHR (*(__I uint32_t*)0x4002C018U) /**< \brief (USART2) Receive Holding Register */ - #define REG_USART2_THR (*(__O uint32_t*)0x4002C01CU) /**< \brief (USART2) Transmit Holding Register */ - #define REG_USART2_BRGR (*(__IO uint32_t*)0x4002C020U) /**< \brief (USART2) Baud Rate Generator Register */ - #define REG_USART2_RTOR (*(__IO uint32_t*)0x4002C024U) /**< \brief (USART2) Receiver Time-out Register */ - #define REG_USART2_TTGR (*(__IO uint32_t*)0x4002C028U) /**< \brief (USART2) Transmitter Timeguard Register */ - #define REG_USART2_MAN (*(__IO uint32_t*)0x4002C050U) /**< \brief (USART2) Manchester Configuration Register */ - #define REG_USART2_LINMR (*(__IO uint32_t*)0x4002C054U) /**< \brief (USART2) LIN Mode Register */ - #define REG_USART2_LINIR (*(__IO uint32_t*)0x4002C058U) /**< \brief (USART2) LIN Identifier Register */ - #define REG_USART2_LINBRR (*(__I uint32_t*)0x4002C05CU) /**< \brief (USART2) LIN Baud Rate Register */ - #define REG_USART2_LONMR (*(__IO uint32_t*)0x4002C060U) /**< \brief (USART2) LON Mode Register */ - #define REG_USART2_LONPR (*(__IO uint32_t*)0x4002C064U) /**< \brief (USART2) LON Preamble Register */ - #define REG_USART2_LONDL (*(__IO uint32_t*)0x4002C068U) /**< \brief (USART2) LON Data Length Register */ - #define REG_USART2_LONL2HDR (*(__IO uint32_t*)0x4002C06CU) /**< \brief (USART2) LON L2HDR Register */ - #define REG_USART2_LONBL (*(__I uint32_t*)0x4002C070U) /**< \brief (USART2) LON Backlog Register */ - #define REG_USART2_LONB1TX (*(__IO uint32_t*)0x4002C074U) /**< \brief (USART2) LON Beta1 Tx Register */ - #define REG_USART2_LONB1RX (*(__IO uint32_t*)0x4002C078U) /**< \brief (USART2) LON Beta1 Rx Register */ - #define REG_USART2_LONPRIO (*(__IO uint32_t*)0x4002C07CU) /**< \brief (USART2) LON Priority Register */ - #define REG_USART2_IDTTX (*(__IO uint32_t*)0x4002C080U) /**< \brief (USART2) LON IDT Tx Register */ - #define REG_USART2_IDTRX (*(__IO uint32_t*)0x4002C084U) /**< \brief (USART2) LON IDT Rx Register */ - #define REG_USART2_ICDIFF (*(__IO uint32_t*)0x4002C088U) /**< \brief (USART2) IC DIFF Register */ - #define REG_USART2_WPMR (*(__IO uint32_t*)0x4002C0E4U) /**< \brief (USART2) Write Protection Mode Register */ - #define REG_USART2_WPSR (*(__I uint32_t*)0x4002C0E8U) /**< \brief (USART2) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USART2_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h deleted file mode 100644 index 39b7629..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h +++ /dev/null @@ -1,255 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USBHS_INSTANCE_ -#define _SAMS70_USBHS_INSTANCE_ - -/* ========== Register definition for USBHS peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USBHS_DEVCTRL (0x40038000U) /**< \brief (USBHS) Device General Control Register */ - #define REG_USBHS_DEVISR (0x40038004U) /**< \brief (USBHS) Device Global Interrupt Status Register */ - #define REG_USBHS_DEVICR (0x40038008U) /**< \brief (USBHS) Device Global Interrupt Clear Register */ - #define REG_USBHS_DEVIFR (0x4003800CU) /**< \brief (USBHS) Device Global Interrupt Set Register */ - #define REG_USBHS_DEVIMR (0x40038010U) /**< \brief (USBHS) Device Global Interrupt Mask Register */ - #define REG_USBHS_DEVIDR (0x40038014U) /**< \brief (USBHS) Device Global Interrupt Disable Register */ - #define REG_USBHS_DEVIER (0x40038018U) /**< \brief (USBHS) Device Global Interrupt Enable Register */ - #define REG_USBHS_DEVEPT (0x4003801CU) /**< \brief (USBHS) Device Endpoint Register */ - #define REG_USBHS_DEVFNUM (0x40038020U) /**< \brief (USBHS) Device Frame Number Register */ - #define REG_USBHS_DEVEPTCFG (0x40038100U) /**< \brief (USBHS) Device Endpoint Configuration Register (n = 0) */ - #define REG_USBHS_DEVEPTISR (0x40038130U) /**< \brief (USBHS) Device Endpoint Status Register (n = 0) */ - #define REG_USBHS_DEVEPTICR (0x40038160U) /**< \brief (USBHS) Device Endpoint Clear Register (n = 0) */ - #define REG_USBHS_DEVEPTIFR (0x40038190U) /**< \brief (USBHS) Device Endpoint Set Register (n = 0) */ - #define REG_USBHS_DEVEPTIMR (0x400381C0U) /**< \brief (USBHS) Device Endpoint Mask Register (n = 0) */ - #define REG_USBHS_DEVEPTIER (0x400381F0U) /**< \brief (USBHS) Device Endpoint Enable Register (n = 0) */ - #define REG_USBHS_DEVEPTIDR (0x40038220U) /**< \brief (USBHS) Device Endpoint Disable Register (n = 0) */ - #define REG_USBHS_DEVDMANXTDSC1 (0x40038310U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_DEVDMAADDRESS1 (0x40038314U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 1) */ - #define REG_USBHS_DEVDMACONTROL1 (0x40038318U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 1) */ - #define REG_USBHS_DEVDMASTATUS1 (0x4003831CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 1) */ - #define REG_USBHS_DEVDMANXTDSC2 (0x40038320U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_DEVDMAADDRESS2 (0x40038324U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 2) */ - #define REG_USBHS_DEVDMACONTROL2 (0x40038328U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 2) */ - #define REG_USBHS_DEVDMASTATUS2 (0x4003832CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 2) */ - #define REG_USBHS_DEVDMANXTDSC3 (0x40038330U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_DEVDMAADDRESS3 (0x40038334U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 3) */ - #define REG_USBHS_DEVDMACONTROL3 (0x40038338U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 3) */ - #define REG_USBHS_DEVDMASTATUS3 (0x4003833CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 3) */ - #define REG_USBHS_DEVDMANXTDSC4 (0x40038340U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_DEVDMAADDRESS4 (0x40038344U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 4) */ - #define REG_USBHS_DEVDMACONTROL4 (0x40038348U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 4) */ - #define REG_USBHS_DEVDMASTATUS4 (0x4003834CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 4) */ - #define REG_USBHS_DEVDMANXTDSC5 (0x40038350U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_DEVDMAADDRESS5 (0x40038354U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 5) */ - #define REG_USBHS_DEVDMACONTROL5 (0x40038358U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 5) */ - #define REG_USBHS_DEVDMASTATUS5 (0x4003835CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 5) */ - #define REG_USBHS_DEVDMANXTDSC6 (0x40038360U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_DEVDMAADDRESS6 (0x40038364U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 6) */ - #define REG_USBHS_DEVDMACONTROL6 (0x40038368U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 6) */ - #define REG_USBHS_DEVDMASTATUS6 (0x4003836CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 6) */ - #define REG_USBHS_DEVDMANXTDSC7 (0x40038370U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_DEVDMAADDRESS7 (0x40038374U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 7) */ - #define REG_USBHS_DEVDMACONTROL7 (0x40038378U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 7) */ - #define REG_USBHS_DEVDMASTATUS7 (0x4003837CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 7) */ - #define REG_USBHS_HSTCTRL (0x40038400U) /**< \brief (USBHS) Host General Control Register */ - #define REG_USBHS_HSTISR (0x40038404U) /**< \brief (USBHS) Host Global Interrupt Status Register */ - #define REG_USBHS_HSTICR (0x40038408U) /**< \brief (USBHS) Host Global Interrupt Clear Register */ - #define REG_USBHS_HSTIFR (0x4003840CU) /**< \brief (USBHS) Host Global Interrupt Set Register */ - #define REG_USBHS_HSTIMR (0x40038410U) /**< \brief (USBHS) Host Global Interrupt Mask Register */ - #define REG_USBHS_HSTIDR (0x40038414U) /**< \brief (USBHS) Host Global Interrupt Disable Register */ - #define REG_USBHS_HSTIER (0x40038418U) /**< \brief (USBHS) Host Global Interrupt Enable Register */ - #define REG_USBHS_HSTPIP (0x4003841CU) /**< \brief (USBHS) Host Pipe Register */ - #define REG_USBHS_HSTFNUM (0x40038420U) /**< \brief (USBHS) Host Frame Number Register */ - #define REG_USBHS_HSTADDR1 (0x40038424U) /**< \brief (USBHS) Host Address 1 Register */ - #define REG_USBHS_HSTADDR2 (0x40038428U) /**< \brief (USBHS) Host Address 2 Register */ - #define REG_USBHS_HSTADDR3 (0x4003842CU) /**< \brief (USBHS) Host Address 3 Register */ - #define REG_USBHS_HSTPIPCFG (0x40038500U) /**< \brief (USBHS) Host Pipe Configuration Register (n = 0) */ - #define REG_USBHS_HSTPIPISR (0x40038530U) /**< \brief (USBHS) Host Pipe Status Register (n = 0) */ - #define REG_USBHS_HSTPIPICR (0x40038560U) /**< \brief (USBHS) Host Pipe Clear Register (n = 0) */ - #define REG_USBHS_HSTPIPIFR (0x40038590U) /**< \brief (USBHS) Host Pipe Set Register (n = 0) */ - #define REG_USBHS_HSTPIPIMR (0x400385C0U) /**< \brief (USBHS) Host Pipe Mask Register (n = 0) */ - #define REG_USBHS_HSTPIPIER (0x400385F0U) /**< \brief (USBHS) Host Pipe Enable Register (n = 0) */ - #define REG_USBHS_HSTPIPIDR (0x40038620U) /**< \brief (USBHS) Host Pipe Disable Register (n = 0) */ - #define REG_USBHS_HSTPIPINRQ (0x40038650U) /**< \brief (USBHS) Host Pipe IN Request Register (n = 0) */ - #define REG_USBHS_HSTPIPERR (0x40038680U) /**< \brief (USBHS) Host Pipe Error Register (n = 0) */ - #define REG_USBHS_HSTDMANXTDSC1 (0x40038710U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_HSTDMAADDRESS1 (0x40038714U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 1) */ - #define REG_USBHS_HSTDMACONTROL1 (0x40038718U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 1) */ - #define REG_USBHS_HSTDMASTATUS1 (0x4003871CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 1) */ - #define REG_USBHS_HSTDMANXTDSC2 (0x40038720U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_HSTDMAADDRESS2 (0x40038724U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 2) */ - #define REG_USBHS_HSTDMACONTROL2 (0x40038728U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 2) */ - #define REG_USBHS_HSTDMASTATUS2 (0x4003872CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 2) */ - #define REG_USBHS_HSTDMANXTDSC3 (0x40038730U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_HSTDMAADDRESS3 (0x40038734U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 3) */ - #define REG_USBHS_HSTDMACONTROL3 (0x40038738U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 3) */ - #define REG_USBHS_HSTDMASTATUS3 (0x4003873CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 3) */ - #define REG_USBHS_HSTDMANXTDSC4 (0x40038740U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_HSTDMAADDRESS4 (0x40038744U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 4) */ - #define REG_USBHS_HSTDMACONTROL4 (0x40038748U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 4) */ - #define REG_USBHS_HSTDMASTATUS4 (0x4003874CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 4) */ - #define REG_USBHS_HSTDMANXTDSC5 (0x40038750U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_HSTDMAADDRESS5 (0x40038754U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 5) */ - #define REG_USBHS_HSTDMACONTROL5 (0x40038758U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 5) */ - #define REG_USBHS_HSTDMASTATUS5 (0x4003875CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 5) */ - #define REG_USBHS_HSTDMANXTDSC6 (0x40038760U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_HSTDMAADDRESS6 (0x40038764U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 6) */ - #define REG_USBHS_HSTDMACONTROL6 (0x40038768U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 6) */ - #define REG_USBHS_HSTDMASTATUS6 (0x4003876CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 6) */ - #define REG_USBHS_HSTDMANXTDSC7 (0x40038770U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_HSTDMAADDRESS7 (0x40038774U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 7) */ - #define REG_USBHS_HSTDMACONTROL7 (0x40038778U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 7) */ - #define REG_USBHS_HSTDMASTATUS7 (0x4003877CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 7) */ - #define REG_USBHS_CTRL (0x40038800U) /**< \brief (USBHS) General Control Register */ - #define REG_USBHS_SR (0x40038804U) /**< \brief (USBHS) General Status Register */ - #define REG_USBHS_SCR (0x40038808U) /**< \brief (USBHS) General Status Clear Register */ - #define REG_USBHS_SFR (0x4003880CU) /**< \brief (USBHS) General Status Set Register */ - #define REG_USBHS_TSTA1 (0x40038810U) /**< \brief (USBHS) General Test A1 Register */ - #define REG_USBHS_TSTA2 (0x40038814U) /**< \brief (USBHS) General Test A2 Register */ - #define REG_USBHS_VERSION (0x40038818U) /**< \brief (USBHS) General Version Register */ - #define REG_USBHS_FSM (0x4003882CU) /**< \brief (USBHS) General Finite State Machine Register */ -#else - #define REG_USBHS_DEVCTRL (*(__IO uint32_t*)0x40038000U) /**< \brief (USBHS) Device General Control Register */ - #define REG_USBHS_DEVISR (*(__I uint32_t*)0x40038004U) /**< \brief (USBHS) Device Global Interrupt Status Register */ - #define REG_USBHS_DEVICR (*(__O uint32_t*)0x40038008U) /**< \brief (USBHS) Device Global Interrupt Clear Register */ - #define REG_USBHS_DEVIFR (*(__O uint32_t*)0x4003800CU) /**< \brief (USBHS) Device Global Interrupt Set Register */ - #define REG_USBHS_DEVIMR (*(__I uint32_t*)0x40038010U) /**< \brief (USBHS) Device Global Interrupt Mask Register */ - #define REG_USBHS_DEVIDR (*(__O uint32_t*)0x40038014U) /**< \brief (USBHS) Device Global Interrupt Disable Register */ - #define REG_USBHS_DEVIER (*(__O uint32_t*)0x40038018U) /**< \brief (USBHS) Device Global Interrupt Enable Register */ - #define REG_USBHS_DEVEPT (*(__IO uint32_t*)0x4003801CU) /**< \brief (USBHS) Device Endpoint Register */ - #define REG_USBHS_DEVFNUM (*(__I uint32_t*)0x40038020U) /**< \brief (USBHS) Device Frame Number Register */ - #define REG_USBHS_DEVEPTCFG (*(__IO uint32_t*)0x40038100U) /**< \brief (USBHS) Device Endpoint Configuration Register (n = 0) */ - #define REG_USBHS_DEVEPTISR (*(__I uint32_t*)0x40038130U) /**< \brief (USBHS) Device Endpoint Status Register (n = 0) */ - #define REG_USBHS_DEVEPTICR (*(__O uint32_t*)0x40038160U) /**< \brief (USBHS) Device Endpoint Clear Register (n = 0) */ - #define REG_USBHS_DEVEPTIFR (*(__O uint32_t*)0x40038190U) /**< \brief (USBHS) Device Endpoint Set Register (n = 0) */ - #define REG_USBHS_DEVEPTIMR (*(__I uint32_t*)0x400381C0U) /**< \brief (USBHS) Device Endpoint Mask Register (n = 0) */ - #define REG_USBHS_DEVEPTIER (*(__O uint32_t*)0x400381F0U) /**< \brief (USBHS) Device Endpoint Enable Register (n = 0) */ - #define REG_USBHS_DEVEPTIDR (*(__O uint32_t*)0x40038220U) /**< \brief (USBHS) Device Endpoint Disable Register (n = 0) */ - #define REG_USBHS_DEVDMANXTDSC1 (*(__IO uint32_t*)0x40038310U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_DEVDMAADDRESS1 (*(__IO uint32_t*)0x40038314U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 1) */ - #define REG_USBHS_DEVDMACONTROL1 (*(__IO uint32_t*)0x40038318U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 1) */ - #define REG_USBHS_DEVDMASTATUS1 (*(__IO uint32_t*)0x4003831CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 1) */ - #define REG_USBHS_DEVDMANXTDSC2 (*(__IO uint32_t*)0x40038320U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_DEVDMAADDRESS2 (*(__IO uint32_t*)0x40038324U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 2) */ - #define REG_USBHS_DEVDMACONTROL2 (*(__IO uint32_t*)0x40038328U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 2) */ - #define REG_USBHS_DEVDMASTATUS2 (*(__IO uint32_t*)0x4003832CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 2) */ - #define REG_USBHS_DEVDMANXTDSC3 (*(__IO uint32_t*)0x40038330U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_DEVDMAADDRESS3 (*(__IO uint32_t*)0x40038334U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 3) */ - #define REG_USBHS_DEVDMACONTROL3 (*(__IO uint32_t*)0x40038338U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 3) */ - #define REG_USBHS_DEVDMASTATUS3 (*(__IO uint32_t*)0x4003833CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 3) */ - #define REG_USBHS_DEVDMANXTDSC4 (*(__IO uint32_t*)0x40038340U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_DEVDMAADDRESS4 (*(__IO uint32_t*)0x40038344U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 4) */ - #define REG_USBHS_DEVDMACONTROL4 (*(__IO uint32_t*)0x40038348U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 4) */ - #define REG_USBHS_DEVDMASTATUS4 (*(__IO uint32_t*)0x4003834CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 4) */ - #define REG_USBHS_DEVDMANXTDSC5 (*(__IO uint32_t*)0x40038350U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_DEVDMAADDRESS5 (*(__IO uint32_t*)0x40038354U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 5) */ - #define REG_USBHS_DEVDMACONTROL5 (*(__IO uint32_t*)0x40038358U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 5) */ - #define REG_USBHS_DEVDMASTATUS5 (*(__IO uint32_t*)0x4003835CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 5) */ - #define REG_USBHS_DEVDMANXTDSC6 (*(__IO uint32_t*)0x40038360U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_DEVDMAADDRESS6 (*(__IO uint32_t*)0x40038364U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 6) */ - #define REG_USBHS_DEVDMACONTROL6 (*(__IO uint32_t*)0x40038368U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 6) */ - #define REG_USBHS_DEVDMASTATUS6 (*(__IO uint32_t*)0x4003836CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 6) */ - #define REG_USBHS_DEVDMANXTDSC7 (*(__IO uint32_t*)0x40038370U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_DEVDMAADDRESS7 (*(__IO uint32_t*)0x40038374U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 7) */ - #define REG_USBHS_DEVDMACONTROL7 (*(__IO uint32_t*)0x40038378U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 7) */ - #define REG_USBHS_DEVDMASTATUS7 (*(__IO uint32_t*)0x4003837CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 7) */ - #define REG_USBHS_HSTCTRL (*(__IO uint32_t*)0x40038400U) /**< \brief (USBHS) Host General Control Register */ - #define REG_USBHS_HSTISR (*(__I uint32_t*)0x40038404U) /**< \brief (USBHS) Host Global Interrupt Status Register */ - #define REG_USBHS_HSTICR (*(__O uint32_t*)0x40038408U) /**< \brief (USBHS) Host Global Interrupt Clear Register */ - #define REG_USBHS_HSTIFR (*(__O uint32_t*)0x4003840CU) /**< \brief (USBHS) Host Global Interrupt Set Register */ - #define REG_USBHS_HSTIMR (*(__I uint32_t*)0x40038410U) /**< \brief (USBHS) Host Global Interrupt Mask Register */ - #define REG_USBHS_HSTIDR (*(__O uint32_t*)0x40038414U) /**< \brief (USBHS) Host Global Interrupt Disable Register */ - #define REG_USBHS_HSTIER (*(__O uint32_t*)0x40038418U) /**< \brief (USBHS) Host Global Interrupt Enable Register */ - #define REG_USBHS_HSTPIP (*(__IO uint32_t*)0x4003841CU) /**< \brief (USBHS) Host Pipe Register */ - #define REG_USBHS_HSTFNUM (*(__IO uint32_t*)0x40038420U) /**< \brief (USBHS) Host Frame Number Register */ - #define REG_USBHS_HSTADDR1 (*(__IO uint32_t*)0x40038424U) /**< \brief (USBHS) Host Address 1 Register */ - #define REG_USBHS_HSTADDR2 (*(__IO uint32_t*)0x40038428U) /**< \brief (USBHS) Host Address 2 Register */ - #define REG_USBHS_HSTADDR3 (*(__IO uint32_t*)0x4003842CU) /**< \brief (USBHS) Host Address 3 Register */ - #define REG_USBHS_HSTPIPCFG (*(__IO uint32_t*)0x40038500U) /**< \brief (USBHS) Host Pipe Configuration Register (n = 0) */ - #define REG_USBHS_HSTPIPISR (*(__I uint32_t*)0x40038530U) /**< \brief (USBHS) Host Pipe Status Register (n = 0) */ - #define REG_USBHS_HSTPIPICR (*(__O uint32_t*)0x40038560U) /**< \brief (USBHS) Host Pipe Clear Register (n = 0) */ - #define REG_USBHS_HSTPIPIFR (*(__O uint32_t*)0x40038590U) /**< \brief (USBHS) Host Pipe Set Register (n = 0) */ - #define REG_USBHS_HSTPIPIMR (*(__I uint32_t*)0x400385C0U) /**< \brief (USBHS) Host Pipe Mask Register (n = 0) */ - #define REG_USBHS_HSTPIPIER (*(__O uint32_t*)0x400385F0U) /**< \brief (USBHS) Host Pipe Enable Register (n = 0) */ - #define REG_USBHS_HSTPIPIDR (*(__O uint32_t*)0x40038620U) /**< \brief (USBHS) Host Pipe Disable Register (n = 0) */ - #define REG_USBHS_HSTPIPINRQ (*(__IO uint32_t*)0x40038650U) /**< \brief (USBHS) Host Pipe IN Request Register (n = 0) */ - #define REG_USBHS_HSTPIPERR (*(__IO uint32_t*)0x40038680U) /**< \brief (USBHS) Host Pipe Error Register (n = 0) */ - #define REG_USBHS_HSTDMANXTDSC1 (*(__IO uint32_t*)0x40038710U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_HSTDMAADDRESS1 (*(__IO uint32_t*)0x40038714U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 1) */ - #define REG_USBHS_HSTDMACONTROL1 (*(__IO uint32_t*)0x40038718U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 1) */ - #define REG_USBHS_HSTDMASTATUS1 (*(__IO uint32_t*)0x4003871CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 1) */ - #define REG_USBHS_HSTDMANXTDSC2 (*(__IO uint32_t*)0x40038720U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_HSTDMAADDRESS2 (*(__IO uint32_t*)0x40038724U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 2) */ - #define REG_USBHS_HSTDMACONTROL2 (*(__IO uint32_t*)0x40038728U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 2) */ - #define REG_USBHS_HSTDMASTATUS2 (*(__IO uint32_t*)0x4003872CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 2) */ - #define REG_USBHS_HSTDMANXTDSC3 (*(__IO uint32_t*)0x40038730U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_HSTDMAADDRESS3 (*(__IO uint32_t*)0x40038734U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 3) */ - #define REG_USBHS_HSTDMACONTROL3 (*(__IO uint32_t*)0x40038738U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 3) */ - #define REG_USBHS_HSTDMASTATUS3 (*(__IO uint32_t*)0x4003873CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 3) */ - #define REG_USBHS_HSTDMANXTDSC4 (*(__IO uint32_t*)0x40038740U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_HSTDMAADDRESS4 (*(__IO uint32_t*)0x40038744U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 4) */ - #define REG_USBHS_HSTDMACONTROL4 (*(__IO uint32_t*)0x40038748U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 4) */ - #define REG_USBHS_HSTDMASTATUS4 (*(__IO uint32_t*)0x4003874CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 4) */ - #define REG_USBHS_HSTDMANXTDSC5 (*(__IO uint32_t*)0x40038750U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_HSTDMAADDRESS5 (*(__IO uint32_t*)0x40038754U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 5) */ - #define REG_USBHS_HSTDMACONTROL5 (*(__IO uint32_t*)0x40038758U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 5) */ - #define REG_USBHS_HSTDMASTATUS5 (*(__IO uint32_t*)0x4003875CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 5) */ - #define REG_USBHS_HSTDMANXTDSC6 (*(__IO uint32_t*)0x40038760U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_HSTDMAADDRESS6 (*(__IO uint32_t*)0x40038764U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 6) */ - #define REG_USBHS_HSTDMACONTROL6 (*(__IO uint32_t*)0x40038768U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 6) */ - #define REG_USBHS_HSTDMASTATUS6 (*(__IO uint32_t*)0x4003876CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 6) */ - #define REG_USBHS_HSTDMANXTDSC7 (*(__IO uint32_t*)0x40038770U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_HSTDMAADDRESS7 (*(__IO uint32_t*)0x40038774U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 7) */ - #define REG_USBHS_HSTDMACONTROL7 (*(__IO uint32_t*)0x40038778U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 7) */ - #define REG_USBHS_HSTDMASTATUS7 (*(__IO uint32_t*)0x4003877CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 7) */ - #define REG_USBHS_CTRL (*(__IO uint32_t*)0x40038800U) /**< \brief (USBHS) General Control Register */ - #define REG_USBHS_SR (*(__I uint32_t*)0x40038804U) /**< \brief (USBHS) General Status Register */ - #define REG_USBHS_SCR (*(__O uint32_t*)0x40038808U) /**< \brief (USBHS) General Status Clear Register */ - #define REG_USBHS_SFR (*(__O uint32_t*)0x4003880CU) /**< \brief (USBHS) General Status Set Register */ - #define REG_USBHS_TSTA1 (*(__IO uint32_t*)0x40038810U) /**< \brief (USBHS) General Test A1 Register */ - #define REG_USBHS_TSTA2 (*(__IO uint32_t*)0x40038814U) /**< \brief (USBHS) General Test A2 Register */ - #define REG_USBHS_VERSION (*(__I uint32_t*)0x40038818U) /**< \brief (USBHS) General Version Register */ - #define REG_USBHS_FSM (*(__I uint32_t*)0x4003882CU) /**< \brief (USBHS) General Finite State Machine Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USBHS_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h deleted file mode 100644 index daf3766..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h +++ /dev/null @@ -1,57 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UTMI_INSTANCE_ -#define _SAMS70_UTMI_INSTANCE_ - -/* ========== Register definition for UTMI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UTMI_OHCIICR (0x400E0410U) /**< \brief (UTMI) OHCI Interrupt Configuration Register */ - #define REG_UTMI_CKTRIM (0x400E0430U) /**< \brief (UTMI) UTMI Clock Trimming Register */ -#else - #define REG_UTMI_OHCIICR (*(__IO uint32_t*)0x400E0410U) /**< \brief (UTMI) OHCI Interrupt Configuration Register */ - #define REG_UTMI_CKTRIM (*(__IO uint32_t*)0x400E0430U) /**< \brief (UTMI) UTMI Clock Trimming Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UTMI_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h deleted file mode 100644 index 963c644..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_WDT_INSTANCE_ -#define _SAMS70_WDT_INSTANCE_ - -/* ========== Register definition for WDT peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_WDT_CR (0x400E1850U) /**< \brief (WDT) Control Register */ - #define REG_WDT_MR (0x400E1854U) /**< \brief (WDT) Mode Register */ - #define REG_WDT_SR (0x400E1858U) /**< \brief (WDT) Status Register */ -#else - #define REG_WDT_CR (*(__O uint32_t*)0x400E1850U) /**< \brief (WDT) Control Register */ - #define REG_WDT_MR (*(__IO uint32_t*)0x400E1854U) /**< \brief (WDT) Mode Register */ - #define REG_WDT_SR (*(__I uint32_t*)0x400E1858U) /**< \brief (WDT) Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_WDT_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h deleted file mode 100644 index b6a043b..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h +++ /dev/null @@ -1,759 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_XDMAC_INSTANCE_ -#define _SAMS70_XDMAC_INSTANCE_ - -/* ========== Register definition for XDMAC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_XDMAC_GTYPE (0x40078000U) /**< \brief (XDMAC) Global Type Register */ - #define REG_XDMAC_GCFG (0x40078004U) /**< \brief (XDMAC) Global Configuration Register */ - #define REG_XDMAC_GWAC (0x40078008U) /**< \brief (XDMAC) Global Weighted Arbiter Configuration Register */ - #define REG_XDMAC_GIE (0x4007800CU) /**< \brief (XDMAC) Global Interrupt Enable Register */ - #define REG_XDMAC_GID (0x40078010U) /**< \brief (XDMAC) Global Interrupt Disable Register */ - #define REG_XDMAC_GIM (0x40078014U) /**< \brief (XDMAC) Global Interrupt Mask Register */ - #define REG_XDMAC_GIS (0x40078018U) /**< \brief (XDMAC) Global Interrupt Status Register */ - #define REG_XDMAC_GE (0x4007801CU) /**< \brief (XDMAC) Global Channel Enable Register */ - #define REG_XDMAC_GD (0x40078020U) /**< \brief (XDMAC) Global Channel Disable Register */ - #define REG_XDMAC_GS (0x40078024U) /**< \brief (XDMAC) Global Channel Status Register */ - #define REG_XDMAC_GRS (0x40078028U) /**< \brief (XDMAC) Global Channel Read Suspend Register */ - #define REG_XDMAC_GWS (0x4007802CU) /**< \brief (XDMAC) Global Channel Write Suspend Register */ - #define REG_XDMAC_GRWS (0x40078030U) /**< \brief (XDMAC) Global Channel Read Write Suspend Register */ - #define REG_XDMAC_GRWR (0x40078034U) /**< \brief (XDMAC) Global Channel Read Write Resume Register */ - #define REG_XDMAC_GSWR (0x40078038U) /**< \brief (XDMAC) Global Channel Software Request Register */ - #define REG_XDMAC_GSWS (0x4007803CU) /**< \brief (XDMAC) Global Channel Software Request Status Register */ - #define REG_XDMAC_GSWF (0x40078040U) /**< \brief (XDMAC) Global Channel Software Flush Request Register */ - #define REG_XDMAC_CIE0 (0x40078050U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 0) */ - #define REG_XDMAC_CID0 (0x40078054U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 0) */ - #define REG_XDMAC_CIM0 (0x40078058U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 0) */ - #define REG_XDMAC_CIS0 (0x4007805CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 0) */ - #define REG_XDMAC_CSA0 (0x40078060U) /**< \brief (XDMAC) Channel Source Address Register (chid = 0) */ - #define REG_XDMAC_CDA0 (0x40078064U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 0) */ - #define REG_XDMAC_CNDA0 (0x40078068U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 0) */ - #define REG_XDMAC_CNDC0 (0x4007806CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 0) */ - #define REG_XDMAC_CUBC0 (0x40078070U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 0) */ - #define REG_XDMAC_CBC0 (0x40078074U) /**< \brief (XDMAC) Channel Block Control Register (chid = 0) */ - #define REG_XDMAC_CC0 (0x40078078U) /**< \brief (XDMAC) Channel Configuration Register (chid = 0) */ - #define REG_XDMAC_CDS_MSP0 (0x4007807CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 0) */ - #define REG_XDMAC_CSUS0 (0x40078080U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 0) */ - #define REG_XDMAC_CDUS0 (0x40078084U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 0) */ - #define REG_XDMAC_CIE1 (0x40078090U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 1) */ - #define REG_XDMAC_CID1 (0x40078094U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 1) */ - #define REG_XDMAC_CIM1 (0x40078098U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 1) */ - #define REG_XDMAC_CIS1 (0x4007809CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 1) */ - #define REG_XDMAC_CSA1 (0x400780A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 1) */ - #define REG_XDMAC_CDA1 (0x400780A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 1) */ - #define REG_XDMAC_CNDA1 (0x400780A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 1) */ - #define REG_XDMAC_CNDC1 (0x400780ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 1) */ - #define REG_XDMAC_CUBC1 (0x400780B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 1) */ - #define REG_XDMAC_CBC1 (0x400780B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 1) */ - #define REG_XDMAC_CC1 (0x400780B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 1) */ - #define REG_XDMAC_CDS_MSP1 (0x400780BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 1) */ - #define REG_XDMAC_CSUS1 (0x400780C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 1) */ - #define REG_XDMAC_CDUS1 (0x400780C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 1) */ - #define REG_XDMAC_CIE2 (0x400780D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 2) */ - #define REG_XDMAC_CID2 (0x400780D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 2) */ - #define REG_XDMAC_CIM2 (0x400780D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 2) */ - #define REG_XDMAC_CIS2 (0x400780DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 2) */ - #define REG_XDMAC_CSA2 (0x400780E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 2) */ - #define REG_XDMAC_CDA2 (0x400780E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 2) */ - #define REG_XDMAC_CNDA2 (0x400780E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 2) */ - #define REG_XDMAC_CNDC2 (0x400780ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 2) */ - #define REG_XDMAC_CUBC2 (0x400780F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 2) */ - #define REG_XDMAC_CBC2 (0x400780F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 2) */ - #define REG_XDMAC_CC2 (0x400780F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 2) */ - #define REG_XDMAC_CDS_MSP2 (0x400780FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 2) */ - #define REG_XDMAC_CSUS2 (0x40078100U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 2) */ - #define REG_XDMAC_CDUS2 (0x40078104U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 2) */ - #define REG_XDMAC_CIE3 (0x40078110U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 3) */ - #define REG_XDMAC_CID3 (0x40078114U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 3) */ - #define REG_XDMAC_CIM3 (0x40078118U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 3) */ - #define REG_XDMAC_CIS3 (0x4007811CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 3) */ - #define REG_XDMAC_CSA3 (0x40078120U) /**< \brief (XDMAC) Channel Source Address Register (chid = 3) */ - #define REG_XDMAC_CDA3 (0x40078124U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 3) */ - #define REG_XDMAC_CNDA3 (0x40078128U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 3) */ - #define REG_XDMAC_CNDC3 (0x4007812CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 3) */ - #define REG_XDMAC_CUBC3 (0x40078130U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 3) */ - #define REG_XDMAC_CBC3 (0x40078134U) /**< \brief (XDMAC) Channel Block Control Register (chid = 3) */ - #define REG_XDMAC_CC3 (0x40078138U) /**< \brief (XDMAC) Channel Configuration Register (chid = 3) */ - #define REG_XDMAC_CDS_MSP3 (0x4007813CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 3) */ - #define REG_XDMAC_CSUS3 (0x40078140U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 3) */ - #define REG_XDMAC_CDUS3 (0x40078144U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 3) */ - #define REG_XDMAC_CIE4 (0x40078150U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 4) */ - #define REG_XDMAC_CID4 (0x40078154U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 4) */ - #define REG_XDMAC_CIM4 (0x40078158U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 4) */ - #define REG_XDMAC_CIS4 (0x4007815CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 4) */ - #define REG_XDMAC_CSA4 (0x40078160U) /**< \brief (XDMAC) Channel Source Address Register (chid = 4) */ - #define REG_XDMAC_CDA4 (0x40078164U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 4) */ - #define REG_XDMAC_CNDA4 (0x40078168U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 4) */ - #define REG_XDMAC_CNDC4 (0x4007816CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 4) */ - #define REG_XDMAC_CUBC4 (0x40078170U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 4) */ - #define REG_XDMAC_CBC4 (0x40078174U) /**< \brief (XDMAC) Channel Block Control Register (chid = 4) */ - #define REG_XDMAC_CC4 (0x40078178U) /**< \brief (XDMAC) Channel Configuration Register (chid = 4) */ - #define REG_XDMAC_CDS_MSP4 (0x4007817CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 4) */ - #define REG_XDMAC_CSUS4 (0x40078180U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 4) */ - #define REG_XDMAC_CDUS4 (0x40078184U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 4) */ - #define REG_XDMAC_CIE5 (0x40078190U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 5) */ - #define REG_XDMAC_CID5 (0x40078194U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 5) */ - #define REG_XDMAC_CIM5 (0x40078198U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 5) */ - #define REG_XDMAC_CIS5 (0x4007819CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 5) */ - #define REG_XDMAC_CSA5 (0x400781A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 5) */ - #define REG_XDMAC_CDA5 (0x400781A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 5) */ - #define REG_XDMAC_CNDA5 (0x400781A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 5) */ - #define REG_XDMAC_CNDC5 (0x400781ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 5) */ - #define REG_XDMAC_CUBC5 (0x400781B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 5) */ - #define REG_XDMAC_CBC5 (0x400781B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 5) */ - #define REG_XDMAC_CC5 (0x400781B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 5) */ - #define REG_XDMAC_CDS_MSP5 (0x400781BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 5) */ - #define REG_XDMAC_CSUS5 (0x400781C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 5) */ - #define REG_XDMAC_CDUS5 (0x400781C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 5) */ - #define REG_XDMAC_CIE6 (0x400781D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 6) */ - #define REG_XDMAC_CID6 (0x400781D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 6) */ - #define REG_XDMAC_CIM6 (0x400781D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 6) */ - #define REG_XDMAC_CIS6 (0x400781DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 6) */ - #define REG_XDMAC_CSA6 (0x400781E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 6) */ - #define REG_XDMAC_CDA6 (0x400781E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 6) */ - #define REG_XDMAC_CNDA6 (0x400781E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 6) */ - #define REG_XDMAC_CNDC6 (0x400781ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 6) */ - #define REG_XDMAC_CUBC6 (0x400781F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 6) */ - #define REG_XDMAC_CBC6 (0x400781F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 6) */ - #define REG_XDMAC_CC6 (0x400781F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 6) */ - #define REG_XDMAC_CDS_MSP6 (0x400781FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 6) */ - #define REG_XDMAC_CSUS6 (0x40078200U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 6) */ - #define REG_XDMAC_CDUS6 (0x40078204U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 6) */ - #define REG_XDMAC_CIE7 (0x40078210U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 7) */ - #define REG_XDMAC_CID7 (0x40078214U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 7) */ - #define REG_XDMAC_CIM7 (0x40078218U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 7) */ - #define REG_XDMAC_CIS7 (0x4007821CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 7) */ - #define REG_XDMAC_CSA7 (0x40078220U) /**< \brief (XDMAC) Channel Source Address Register (chid = 7) */ - #define REG_XDMAC_CDA7 (0x40078224U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 7) */ - #define REG_XDMAC_CNDA7 (0x40078228U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 7) */ - #define REG_XDMAC_CNDC7 (0x4007822CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 7) */ - #define REG_XDMAC_CUBC7 (0x40078230U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 7) */ - #define REG_XDMAC_CBC7 (0x40078234U) /**< \brief (XDMAC) Channel Block Control Register (chid = 7) */ - #define REG_XDMAC_CC7 (0x40078238U) /**< \brief (XDMAC) Channel Configuration Register (chid = 7) */ - #define REG_XDMAC_CDS_MSP7 (0x4007823CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 7) */ - #define REG_XDMAC_CSUS7 (0x40078240U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 7) */ - #define REG_XDMAC_CDUS7 (0x40078244U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 7) */ - #define REG_XDMAC_CIE8 (0x40078250U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 8) */ - #define REG_XDMAC_CID8 (0x40078254U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 8) */ - #define REG_XDMAC_CIM8 (0x40078258U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 8) */ - #define REG_XDMAC_CIS8 (0x4007825CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 8) */ - #define REG_XDMAC_CSA8 (0x40078260U) /**< \brief (XDMAC) Channel Source Address Register (chid = 8) */ - #define REG_XDMAC_CDA8 (0x40078264U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 8) */ - #define REG_XDMAC_CNDA8 (0x40078268U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 8) */ - #define REG_XDMAC_CNDC8 (0x4007826CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 8) */ - #define REG_XDMAC_CUBC8 (0x40078270U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 8) */ - #define REG_XDMAC_CBC8 (0x40078274U) /**< \brief (XDMAC) Channel Block Control Register (chid = 8) */ - #define REG_XDMAC_CC8 (0x40078278U) /**< \brief (XDMAC) Channel Configuration Register (chid = 8) */ - #define REG_XDMAC_CDS_MSP8 (0x4007827CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 8) */ - #define REG_XDMAC_CSUS8 (0x40078280U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 8) */ - #define REG_XDMAC_CDUS8 (0x40078284U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 8) */ - #define REG_XDMAC_CIE9 (0x40078290U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 9) */ - #define REG_XDMAC_CID9 (0x40078294U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 9) */ - #define REG_XDMAC_CIM9 (0x40078298U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 9) */ - #define REG_XDMAC_CIS9 (0x4007829CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 9) */ - #define REG_XDMAC_CSA9 (0x400782A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 9) */ - #define REG_XDMAC_CDA9 (0x400782A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 9) */ - #define REG_XDMAC_CNDA9 (0x400782A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 9) */ - #define REG_XDMAC_CNDC9 (0x400782ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 9) */ - #define REG_XDMAC_CUBC9 (0x400782B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 9) */ - #define REG_XDMAC_CBC9 (0x400782B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 9) */ - #define REG_XDMAC_CC9 (0x400782B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 9) */ - #define REG_XDMAC_CDS_MSP9 (0x400782BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 9) */ - #define REG_XDMAC_CSUS9 (0x400782C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 9) */ - #define REG_XDMAC_CDUS9 (0x400782C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 9) */ - #define REG_XDMAC_CIE10 (0x400782D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 10) */ - #define REG_XDMAC_CID10 (0x400782D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 10) */ - #define REG_XDMAC_CIM10 (0x400782D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 10) */ - #define REG_XDMAC_CIS10 (0x400782DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 10) */ - #define REG_XDMAC_CSA10 (0x400782E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 10) */ - #define REG_XDMAC_CDA10 (0x400782E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 10) */ - #define REG_XDMAC_CNDA10 (0x400782E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 10) */ - #define REG_XDMAC_CNDC10 (0x400782ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 10) */ - #define REG_XDMAC_CUBC10 (0x400782F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 10) */ - #define REG_XDMAC_CBC10 (0x400782F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 10) */ - #define REG_XDMAC_CC10 (0x400782F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 10) */ - #define REG_XDMAC_CDS_MSP10 (0x400782FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 10) */ - #define REG_XDMAC_CSUS10 (0x40078300U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 10) */ - #define REG_XDMAC_CDUS10 (0x40078304U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 10) */ - #define REG_XDMAC_CIE11 (0x40078310U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 11) */ - #define REG_XDMAC_CID11 (0x40078314U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 11) */ - #define REG_XDMAC_CIM11 (0x40078318U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 11) */ - #define REG_XDMAC_CIS11 (0x4007831CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 11) */ - #define REG_XDMAC_CSA11 (0x40078320U) /**< \brief (XDMAC) Channel Source Address Register (chid = 11) */ - #define REG_XDMAC_CDA11 (0x40078324U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 11) */ - #define REG_XDMAC_CNDA11 (0x40078328U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 11) */ - #define REG_XDMAC_CNDC11 (0x4007832CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 11) */ - #define REG_XDMAC_CUBC11 (0x40078330U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 11) */ - #define REG_XDMAC_CBC11 (0x40078334U) /**< \brief (XDMAC) Channel Block Control Register (chid = 11) */ - #define REG_XDMAC_CC11 (0x40078338U) /**< \brief (XDMAC) Channel Configuration Register (chid = 11) */ - #define REG_XDMAC_CDS_MSP11 (0x4007833CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 11) */ - #define REG_XDMAC_CSUS11 (0x40078340U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 11) */ - #define REG_XDMAC_CDUS11 (0x40078344U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 11) */ - #define REG_XDMAC_CIE12 (0x40078350U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 12) */ - #define REG_XDMAC_CID12 (0x40078354U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 12) */ - #define REG_XDMAC_CIM12 (0x40078358U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 12) */ - #define REG_XDMAC_CIS12 (0x4007835CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 12) */ - #define REG_XDMAC_CSA12 (0x40078360U) /**< \brief (XDMAC) Channel Source Address Register (chid = 12) */ - #define REG_XDMAC_CDA12 (0x40078364U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 12) */ - #define REG_XDMAC_CNDA12 (0x40078368U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 12) */ - #define REG_XDMAC_CNDC12 (0x4007836CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 12) */ - #define REG_XDMAC_CUBC12 (0x40078370U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 12) */ - #define REG_XDMAC_CBC12 (0x40078374U) /**< \brief (XDMAC) Channel Block Control Register (chid = 12) */ - #define REG_XDMAC_CC12 (0x40078378U) /**< \brief (XDMAC) Channel Configuration Register (chid = 12) */ - #define REG_XDMAC_CDS_MSP12 (0x4007837CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 12) */ - #define REG_XDMAC_CSUS12 (0x40078380U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 12) */ - #define REG_XDMAC_CDUS12 (0x40078384U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 12) */ - #define REG_XDMAC_CIE13 (0x40078390U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 13) */ - #define REG_XDMAC_CID13 (0x40078394U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 13) */ - #define REG_XDMAC_CIM13 (0x40078398U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 13) */ - #define REG_XDMAC_CIS13 (0x4007839CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 13) */ - #define REG_XDMAC_CSA13 (0x400783A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 13) */ - #define REG_XDMAC_CDA13 (0x400783A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 13) */ - #define REG_XDMAC_CNDA13 (0x400783A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 13) */ - #define REG_XDMAC_CNDC13 (0x400783ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 13) */ - #define REG_XDMAC_CUBC13 (0x400783B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 13) */ - #define REG_XDMAC_CBC13 (0x400783B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 13) */ - #define REG_XDMAC_CC13 (0x400783B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 13) */ - #define REG_XDMAC_CDS_MSP13 (0x400783BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 13) */ - #define REG_XDMAC_CSUS13 (0x400783C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 13) */ - #define REG_XDMAC_CDUS13 (0x400783C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 13) */ - #define REG_XDMAC_CIE14 (0x400783D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 14) */ - #define REG_XDMAC_CID14 (0x400783D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 14) */ - #define REG_XDMAC_CIM14 (0x400783D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 14) */ - #define REG_XDMAC_CIS14 (0x400783DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 14) */ - #define REG_XDMAC_CSA14 (0x400783E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 14) */ - #define REG_XDMAC_CDA14 (0x400783E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 14) */ - #define REG_XDMAC_CNDA14 (0x400783E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 14) */ - #define REG_XDMAC_CNDC14 (0x400783ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 14) */ - #define REG_XDMAC_CUBC14 (0x400783F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 14) */ - #define REG_XDMAC_CBC14 (0x400783F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 14) */ - #define REG_XDMAC_CC14 (0x400783F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 14) */ - #define REG_XDMAC_CDS_MSP14 (0x400783FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 14) */ - #define REG_XDMAC_CSUS14 (0x40078400U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 14) */ - #define REG_XDMAC_CDUS14 (0x40078404U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 14) */ - #define REG_XDMAC_CIE15 (0x40078410U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 15) */ - #define REG_XDMAC_CID15 (0x40078414U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 15) */ - #define REG_XDMAC_CIM15 (0x40078418U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 15) */ - #define REG_XDMAC_CIS15 (0x4007841CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 15) */ - #define REG_XDMAC_CSA15 (0x40078420U) /**< \brief (XDMAC) Channel Source Address Register (chid = 15) */ - #define REG_XDMAC_CDA15 (0x40078424U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 15) */ - #define REG_XDMAC_CNDA15 (0x40078428U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 15) */ - #define REG_XDMAC_CNDC15 (0x4007842CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 15) */ - #define REG_XDMAC_CUBC15 (0x40078430U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 15) */ - #define REG_XDMAC_CBC15 (0x40078434U) /**< \brief (XDMAC) Channel Block Control Register (chid = 15) */ - #define REG_XDMAC_CC15 (0x40078438U) /**< \brief (XDMAC) Channel Configuration Register (chid = 15) */ - #define REG_XDMAC_CDS_MSP15 (0x4007843CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 15) */ - #define REG_XDMAC_CSUS15 (0x40078440U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 15) */ - #define REG_XDMAC_CDUS15 (0x40078444U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 15) */ - #define REG_XDMAC_CIE16 (0x40078450U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 16) */ - #define REG_XDMAC_CID16 (0x40078454U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 16) */ - #define REG_XDMAC_CIM16 (0x40078458U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 16) */ - #define REG_XDMAC_CIS16 (0x4007845CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 16) */ - #define REG_XDMAC_CSA16 (0x40078460U) /**< \brief (XDMAC) Channel Source Address Register (chid = 16) */ - #define REG_XDMAC_CDA16 (0x40078464U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 16) */ - #define REG_XDMAC_CNDA16 (0x40078468U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 16) */ - #define REG_XDMAC_CNDC16 (0x4007846CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 16) */ - #define REG_XDMAC_CUBC16 (0x40078470U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 16) */ - #define REG_XDMAC_CBC16 (0x40078474U) /**< \brief (XDMAC) Channel Block Control Register (chid = 16) */ - #define REG_XDMAC_CC16 (0x40078478U) /**< \brief (XDMAC) Channel Configuration Register (chid = 16) */ - #define REG_XDMAC_CDS_MSP16 (0x4007847CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 16) */ - #define REG_XDMAC_CSUS16 (0x40078480U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 16) */ - #define REG_XDMAC_CDUS16 (0x40078484U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 16) */ - #define REG_XDMAC_CIE17 (0x40078490U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 17) */ - #define REG_XDMAC_CID17 (0x40078494U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 17) */ - #define REG_XDMAC_CIM17 (0x40078498U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 17) */ - #define REG_XDMAC_CIS17 (0x4007849CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 17) */ - #define REG_XDMAC_CSA17 (0x400784A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 17) */ - #define REG_XDMAC_CDA17 (0x400784A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 17) */ - #define REG_XDMAC_CNDA17 (0x400784A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 17) */ - #define REG_XDMAC_CNDC17 (0x400784ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 17) */ - #define REG_XDMAC_CUBC17 (0x400784B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 17) */ - #define REG_XDMAC_CBC17 (0x400784B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 17) */ - #define REG_XDMAC_CC17 (0x400784B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 17) */ - #define REG_XDMAC_CDS_MSP17 (0x400784BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 17) */ - #define REG_XDMAC_CSUS17 (0x400784C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 17) */ - #define REG_XDMAC_CDUS17 (0x400784C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 17) */ - #define REG_XDMAC_CIE18 (0x400784D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 18) */ - #define REG_XDMAC_CID18 (0x400784D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 18) */ - #define REG_XDMAC_CIM18 (0x400784D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 18) */ - #define REG_XDMAC_CIS18 (0x400784DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 18) */ - #define REG_XDMAC_CSA18 (0x400784E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 18) */ - #define REG_XDMAC_CDA18 (0x400784E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 18) */ - #define REG_XDMAC_CNDA18 (0x400784E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 18) */ - #define REG_XDMAC_CNDC18 (0x400784ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 18) */ - #define REG_XDMAC_CUBC18 (0x400784F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 18) */ - #define REG_XDMAC_CBC18 (0x400784F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 18) */ - #define REG_XDMAC_CC18 (0x400784F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 18) */ - #define REG_XDMAC_CDS_MSP18 (0x400784FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 18) */ - #define REG_XDMAC_CSUS18 (0x40078500U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 18) */ - #define REG_XDMAC_CDUS18 (0x40078504U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 18) */ - #define REG_XDMAC_CIE19 (0x40078510U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 19) */ - #define REG_XDMAC_CID19 (0x40078514U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 19) */ - #define REG_XDMAC_CIM19 (0x40078518U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 19) */ - #define REG_XDMAC_CIS19 (0x4007851CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 19) */ - #define REG_XDMAC_CSA19 (0x40078520U) /**< \brief (XDMAC) Channel Source Address Register (chid = 19) */ - #define REG_XDMAC_CDA19 (0x40078524U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 19) */ - #define REG_XDMAC_CNDA19 (0x40078528U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 19) */ - #define REG_XDMAC_CNDC19 (0x4007852CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 19) */ - #define REG_XDMAC_CUBC19 (0x40078530U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 19) */ - #define REG_XDMAC_CBC19 (0x40078534U) /**< \brief (XDMAC) Channel Block Control Register (chid = 19) */ - #define REG_XDMAC_CC19 (0x40078538U) /**< \brief (XDMAC) Channel Configuration Register (chid = 19) */ - #define REG_XDMAC_CDS_MSP19 (0x4007853CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 19) */ - #define REG_XDMAC_CSUS19 (0x40078540U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 19) */ - #define REG_XDMAC_CDUS19 (0x40078544U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 19) */ - #define REG_XDMAC_CIE20 (0x40078550U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 20) */ - #define REG_XDMAC_CID20 (0x40078554U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 20) */ - #define REG_XDMAC_CIM20 (0x40078558U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 20) */ - #define REG_XDMAC_CIS20 (0x4007855CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 20) */ - #define REG_XDMAC_CSA20 (0x40078560U) /**< \brief (XDMAC) Channel Source Address Register (chid = 20) */ - #define REG_XDMAC_CDA20 (0x40078564U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 20) */ - #define REG_XDMAC_CNDA20 (0x40078568U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 20) */ - #define REG_XDMAC_CNDC20 (0x4007856CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 20) */ - #define REG_XDMAC_CUBC20 (0x40078570U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 20) */ - #define REG_XDMAC_CBC20 (0x40078574U) /**< \brief (XDMAC) Channel Block Control Register (chid = 20) */ - #define REG_XDMAC_CC20 (0x40078578U) /**< \brief (XDMAC) Channel Configuration Register (chid = 20) */ - #define REG_XDMAC_CDS_MSP20 (0x4007857CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 20) */ - #define REG_XDMAC_CSUS20 (0x40078580U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 20) */ - #define REG_XDMAC_CDUS20 (0x40078584U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 20) */ - #define REG_XDMAC_CIE21 (0x40078590U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 21) */ - #define REG_XDMAC_CID21 (0x40078594U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 21) */ - #define REG_XDMAC_CIM21 (0x40078598U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 21) */ - #define REG_XDMAC_CIS21 (0x4007859CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 21) */ - #define REG_XDMAC_CSA21 (0x400785A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 21) */ - #define REG_XDMAC_CDA21 (0x400785A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 21) */ - #define REG_XDMAC_CNDA21 (0x400785A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 21) */ - #define REG_XDMAC_CNDC21 (0x400785ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 21) */ - #define REG_XDMAC_CUBC21 (0x400785B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 21) */ - #define REG_XDMAC_CBC21 (0x400785B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 21) */ - #define REG_XDMAC_CC21 (0x400785B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 21) */ - #define REG_XDMAC_CDS_MSP21 (0x400785BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 21) */ - #define REG_XDMAC_CSUS21 (0x400785C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 21) */ - #define REG_XDMAC_CDUS21 (0x400785C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 21) */ - #define REG_XDMAC_CIE22 (0x400785D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 22) */ - #define REG_XDMAC_CID22 (0x400785D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 22) */ - #define REG_XDMAC_CIM22 (0x400785D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 22) */ - #define REG_XDMAC_CIS22 (0x400785DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 22) */ - #define REG_XDMAC_CSA22 (0x400785E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 22) */ - #define REG_XDMAC_CDA22 (0x400785E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 22) */ - #define REG_XDMAC_CNDA22 (0x400785E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 22) */ - #define REG_XDMAC_CNDC22 (0x400785ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 22) */ - #define REG_XDMAC_CUBC22 (0x400785F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 22) */ - #define REG_XDMAC_CBC22 (0x400785F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 22) */ - #define REG_XDMAC_CC22 (0x400785F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 22) */ - #define REG_XDMAC_CDS_MSP22 (0x400785FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 22) */ - #define REG_XDMAC_CSUS22 (0x40078600U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 22) */ - #define REG_XDMAC_CDUS22 (0x40078604U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 22) */ - #define REG_XDMAC_CIE23 (0x40078610U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 23) */ - #define REG_XDMAC_CID23 (0x40078614U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 23) */ - #define REG_XDMAC_CIM23 (0x40078618U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 23) */ - #define REG_XDMAC_CIS23 (0x4007861CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 23) */ - #define REG_XDMAC_CSA23 (0x40078620U) /**< \brief (XDMAC) Channel Source Address Register (chid = 23) */ - #define REG_XDMAC_CDA23 (0x40078624U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 23) */ - #define REG_XDMAC_CNDA23 (0x40078628U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 23) */ - #define REG_XDMAC_CNDC23 (0x4007862CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 23) */ - #define REG_XDMAC_CUBC23 (0x40078630U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 23) */ - #define REG_XDMAC_CBC23 (0x40078634U) /**< \brief (XDMAC) Channel Block Control Register (chid = 23) */ - #define REG_XDMAC_CC23 (0x40078638U) /**< \brief (XDMAC) Channel Configuration Register (chid = 23) */ - #define REG_XDMAC_CDS_MSP23 (0x4007863CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 23) */ - #define REG_XDMAC_CSUS23 (0x40078640U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 23) */ - #define REG_XDMAC_CDUS23 (0x40078644U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 23) */ -#else - #define REG_XDMAC_GTYPE (*(__IO uint32_t*)0x40078000U) /**< \brief (XDMAC) Global Type Register */ - #define REG_XDMAC_GCFG (*(__I uint32_t*)0x40078004U) /**< \brief (XDMAC) Global Configuration Register */ - #define REG_XDMAC_GWAC (*(__IO uint32_t*)0x40078008U) /**< \brief (XDMAC) Global Weighted Arbiter Configuration Register */ - #define REG_XDMAC_GIE (*(__O uint32_t*)0x4007800CU) /**< \brief (XDMAC) Global Interrupt Enable Register */ - #define REG_XDMAC_GID (*(__O uint32_t*)0x40078010U) /**< \brief (XDMAC) Global Interrupt Disable Register */ - #define REG_XDMAC_GIM (*(__I uint32_t*)0x40078014U) /**< \brief (XDMAC) Global Interrupt Mask Register */ - #define REG_XDMAC_GIS (*(__I uint32_t*)0x40078018U) /**< \brief (XDMAC) Global Interrupt Status Register */ - #define REG_XDMAC_GE (*(__O uint32_t*)0x4007801CU) /**< \brief (XDMAC) Global Channel Enable Register */ - #define REG_XDMAC_GD (*(__O uint32_t*)0x40078020U) /**< \brief (XDMAC) Global Channel Disable Register */ - #define REG_XDMAC_GS (*(__I uint32_t*)0x40078024U) /**< \brief (XDMAC) Global Channel Status Register */ - #define REG_XDMAC_GRS (*(__IO uint32_t*)0x40078028U) /**< \brief (XDMAC) Global Channel Read Suspend Register */ - #define REG_XDMAC_GWS (*(__IO uint32_t*)0x4007802CU) /**< \brief (XDMAC) Global Channel Write Suspend Register */ - #define REG_XDMAC_GRWS (*(__O uint32_t*)0x40078030U) /**< \brief (XDMAC) Global Channel Read Write Suspend Register */ - #define REG_XDMAC_GRWR (*(__O uint32_t*)0x40078034U) /**< \brief (XDMAC) Global Channel Read Write Resume Register */ - #define REG_XDMAC_GSWR (*(__O uint32_t*)0x40078038U) /**< \brief (XDMAC) Global Channel Software Request Register */ - #define REG_XDMAC_GSWS (*(__I uint32_t*)0x4007803CU) /**< \brief (XDMAC) Global Channel Software Request Status Register */ - #define REG_XDMAC_GSWF (*(__O uint32_t*)0x40078040U) /**< \brief (XDMAC) Global Channel Software Flush Request Register */ - #define REG_XDMAC_CIE0 (*(__O uint32_t*)0x40078050U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 0) */ - #define REG_XDMAC_CID0 (*(__O uint32_t*)0x40078054U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 0) */ - #define REG_XDMAC_CIM0 (*(__O uint32_t*)0x40078058U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 0) */ - #define REG_XDMAC_CIS0 (*(__I uint32_t*)0x4007805CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 0) */ - #define REG_XDMAC_CSA0 (*(__IO uint32_t*)0x40078060U) /**< \brief (XDMAC) Channel Source Address Register (chid = 0) */ - #define REG_XDMAC_CDA0 (*(__IO uint32_t*)0x40078064U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 0) */ - #define REG_XDMAC_CNDA0 (*(__IO uint32_t*)0x40078068U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 0) */ - #define REG_XDMAC_CNDC0 (*(__IO uint32_t*)0x4007806CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 0) */ - #define REG_XDMAC_CUBC0 (*(__IO uint32_t*)0x40078070U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 0) */ - #define REG_XDMAC_CBC0 (*(__IO uint32_t*)0x40078074U) /**< \brief (XDMAC) Channel Block Control Register (chid = 0) */ - #define REG_XDMAC_CC0 (*(__IO uint32_t*)0x40078078U) /**< \brief (XDMAC) Channel Configuration Register (chid = 0) */ - #define REG_XDMAC_CDS_MSP0 (*(__IO uint32_t*)0x4007807CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 0) */ - #define REG_XDMAC_CSUS0 (*(__IO uint32_t*)0x40078080U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 0) */ - #define REG_XDMAC_CDUS0 (*(__IO uint32_t*)0x40078084U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 0) */ - #define REG_XDMAC_CIE1 (*(__O uint32_t*)0x40078090U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 1) */ - #define REG_XDMAC_CID1 (*(__O uint32_t*)0x40078094U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 1) */ - #define REG_XDMAC_CIM1 (*(__O uint32_t*)0x40078098U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 1) */ - #define REG_XDMAC_CIS1 (*(__I uint32_t*)0x4007809CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 1) */ - #define REG_XDMAC_CSA1 (*(__IO uint32_t*)0x400780A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 1) */ - #define REG_XDMAC_CDA1 (*(__IO uint32_t*)0x400780A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 1) */ - #define REG_XDMAC_CNDA1 (*(__IO uint32_t*)0x400780A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 1) */ - #define REG_XDMAC_CNDC1 (*(__IO uint32_t*)0x400780ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 1) */ - #define REG_XDMAC_CUBC1 (*(__IO uint32_t*)0x400780B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 1) */ - #define REG_XDMAC_CBC1 (*(__IO uint32_t*)0x400780B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 1) */ - #define REG_XDMAC_CC1 (*(__IO uint32_t*)0x400780B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 1) */ - #define REG_XDMAC_CDS_MSP1 (*(__IO uint32_t*)0x400780BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 1) */ - #define REG_XDMAC_CSUS1 (*(__IO uint32_t*)0x400780C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 1) */ - #define REG_XDMAC_CDUS1 (*(__IO uint32_t*)0x400780C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 1) */ - #define REG_XDMAC_CIE2 (*(__O uint32_t*)0x400780D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 2) */ - #define REG_XDMAC_CID2 (*(__O uint32_t*)0x400780D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 2) */ - #define REG_XDMAC_CIM2 (*(__O uint32_t*)0x400780D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 2) */ - #define REG_XDMAC_CIS2 (*(__I uint32_t*)0x400780DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 2) */ - #define REG_XDMAC_CSA2 (*(__IO uint32_t*)0x400780E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 2) */ - #define REG_XDMAC_CDA2 (*(__IO uint32_t*)0x400780E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 2) */ - #define REG_XDMAC_CNDA2 (*(__IO uint32_t*)0x400780E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 2) */ - #define REG_XDMAC_CNDC2 (*(__IO uint32_t*)0x400780ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 2) */ - #define REG_XDMAC_CUBC2 (*(__IO uint32_t*)0x400780F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 2) */ - #define REG_XDMAC_CBC2 (*(__IO uint32_t*)0x400780F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 2) */ - #define REG_XDMAC_CC2 (*(__IO uint32_t*)0x400780F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 2) */ - #define REG_XDMAC_CDS_MSP2 (*(__IO uint32_t*)0x400780FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 2) */ - #define REG_XDMAC_CSUS2 (*(__IO uint32_t*)0x40078100U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 2) */ - #define REG_XDMAC_CDUS2 (*(__IO uint32_t*)0x40078104U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 2) */ - #define REG_XDMAC_CIE3 (*(__O uint32_t*)0x40078110U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 3) */ - #define REG_XDMAC_CID3 (*(__O uint32_t*)0x40078114U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 3) */ - #define REG_XDMAC_CIM3 (*(__O uint32_t*)0x40078118U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 3) */ - #define REG_XDMAC_CIS3 (*(__I uint32_t*)0x4007811CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 3) */ - #define REG_XDMAC_CSA3 (*(__IO uint32_t*)0x40078120U) /**< \brief (XDMAC) Channel Source Address Register (chid = 3) */ - #define REG_XDMAC_CDA3 (*(__IO uint32_t*)0x40078124U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 3) */ - #define REG_XDMAC_CNDA3 (*(__IO uint32_t*)0x40078128U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 3) */ - #define REG_XDMAC_CNDC3 (*(__IO uint32_t*)0x4007812CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 3) */ - #define REG_XDMAC_CUBC3 (*(__IO uint32_t*)0x40078130U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 3) */ - #define REG_XDMAC_CBC3 (*(__IO uint32_t*)0x40078134U) /**< \brief (XDMAC) Channel Block Control Register (chid = 3) */ - #define REG_XDMAC_CC3 (*(__IO uint32_t*)0x40078138U) /**< \brief (XDMAC) Channel Configuration Register (chid = 3) */ - #define REG_XDMAC_CDS_MSP3 (*(__IO uint32_t*)0x4007813CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 3) */ - #define REG_XDMAC_CSUS3 (*(__IO uint32_t*)0x40078140U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 3) */ - #define REG_XDMAC_CDUS3 (*(__IO uint32_t*)0x40078144U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 3) */ - #define REG_XDMAC_CIE4 (*(__O uint32_t*)0x40078150U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 4) */ - #define REG_XDMAC_CID4 (*(__O uint32_t*)0x40078154U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 4) */ - #define REG_XDMAC_CIM4 (*(__O uint32_t*)0x40078158U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 4) */ - #define REG_XDMAC_CIS4 (*(__I uint32_t*)0x4007815CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 4) */ - #define REG_XDMAC_CSA4 (*(__IO uint32_t*)0x40078160U) /**< \brief (XDMAC) Channel Source Address Register (chid = 4) */ - #define REG_XDMAC_CDA4 (*(__IO uint32_t*)0x40078164U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 4) */ - #define REG_XDMAC_CNDA4 (*(__IO uint32_t*)0x40078168U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 4) */ - #define REG_XDMAC_CNDC4 (*(__IO uint32_t*)0x4007816CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 4) */ - #define REG_XDMAC_CUBC4 (*(__IO uint32_t*)0x40078170U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 4) */ - #define REG_XDMAC_CBC4 (*(__IO uint32_t*)0x40078174U) /**< \brief (XDMAC) Channel Block Control Register (chid = 4) */ - #define REG_XDMAC_CC4 (*(__IO uint32_t*)0x40078178U) /**< \brief (XDMAC) Channel Configuration Register (chid = 4) */ - #define REG_XDMAC_CDS_MSP4 (*(__IO uint32_t*)0x4007817CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 4) */ - #define REG_XDMAC_CSUS4 (*(__IO uint32_t*)0x40078180U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 4) */ - #define REG_XDMAC_CDUS4 (*(__IO uint32_t*)0x40078184U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 4) */ - #define REG_XDMAC_CIE5 (*(__O uint32_t*)0x40078190U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 5) */ - #define REG_XDMAC_CID5 (*(__O uint32_t*)0x40078194U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 5) */ - #define REG_XDMAC_CIM5 (*(__O uint32_t*)0x40078198U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 5) */ - #define REG_XDMAC_CIS5 (*(__I uint32_t*)0x4007819CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 5) */ - #define REG_XDMAC_CSA5 (*(__IO uint32_t*)0x400781A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 5) */ - #define REG_XDMAC_CDA5 (*(__IO uint32_t*)0x400781A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 5) */ - #define REG_XDMAC_CNDA5 (*(__IO uint32_t*)0x400781A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 5) */ - #define REG_XDMAC_CNDC5 (*(__IO uint32_t*)0x400781ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 5) */ - #define REG_XDMAC_CUBC5 (*(__IO uint32_t*)0x400781B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 5) */ - #define REG_XDMAC_CBC5 (*(__IO uint32_t*)0x400781B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 5) */ - #define REG_XDMAC_CC5 (*(__IO uint32_t*)0x400781B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 5) */ - #define REG_XDMAC_CDS_MSP5 (*(__IO uint32_t*)0x400781BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 5) */ - #define REG_XDMAC_CSUS5 (*(__IO uint32_t*)0x400781C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 5) */ - #define REG_XDMAC_CDUS5 (*(__IO uint32_t*)0x400781C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 5) */ - #define REG_XDMAC_CIE6 (*(__O uint32_t*)0x400781D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 6) */ - #define REG_XDMAC_CID6 (*(__O uint32_t*)0x400781D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 6) */ - #define REG_XDMAC_CIM6 (*(__O uint32_t*)0x400781D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 6) */ - #define REG_XDMAC_CIS6 (*(__I uint32_t*)0x400781DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 6) */ - #define REG_XDMAC_CSA6 (*(__IO uint32_t*)0x400781E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 6) */ - #define REG_XDMAC_CDA6 (*(__IO uint32_t*)0x400781E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 6) */ - #define REG_XDMAC_CNDA6 (*(__IO uint32_t*)0x400781E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 6) */ - #define REG_XDMAC_CNDC6 (*(__IO uint32_t*)0x400781ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 6) */ - #define REG_XDMAC_CUBC6 (*(__IO uint32_t*)0x400781F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 6) */ - #define REG_XDMAC_CBC6 (*(__IO uint32_t*)0x400781F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 6) */ - #define REG_XDMAC_CC6 (*(__IO uint32_t*)0x400781F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 6) */ - #define REG_XDMAC_CDS_MSP6 (*(__IO uint32_t*)0x400781FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 6) */ - #define REG_XDMAC_CSUS6 (*(__IO uint32_t*)0x40078200U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 6) */ - #define REG_XDMAC_CDUS6 (*(__IO uint32_t*)0x40078204U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 6) */ - #define REG_XDMAC_CIE7 (*(__O uint32_t*)0x40078210U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 7) */ - #define REG_XDMAC_CID7 (*(__O uint32_t*)0x40078214U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 7) */ - #define REG_XDMAC_CIM7 (*(__O uint32_t*)0x40078218U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 7) */ - #define REG_XDMAC_CIS7 (*(__I uint32_t*)0x4007821CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 7) */ - #define REG_XDMAC_CSA7 (*(__IO uint32_t*)0x40078220U) /**< \brief (XDMAC) Channel Source Address Register (chid = 7) */ - #define REG_XDMAC_CDA7 (*(__IO uint32_t*)0x40078224U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 7) */ - #define REG_XDMAC_CNDA7 (*(__IO uint32_t*)0x40078228U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 7) */ - #define REG_XDMAC_CNDC7 (*(__IO uint32_t*)0x4007822CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 7) */ - #define REG_XDMAC_CUBC7 (*(__IO uint32_t*)0x40078230U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 7) */ - #define REG_XDMAC_CBC7 (*(__IO uint32_t*)0x40078234U) /**< \brief (XDMAC) Channel Block Control Register (chid = 7) */ - #define REG_XDMAC_CC7 (*(__IO uint32_t*)0x40078238U) /**< \brief (XDMAC) Channel Configuration Register (chid = 7) */ - #define REG_XDMAC_CDS_MSP7 (*(__IO uint32_t*)0x4007823CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 7) */ - #define REG_XDMAC_CSUS7 (*(__IO uint32_t*)0x40078240U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 7) */ - #define REG_XDMAC_CDUS7 (*(__IO uint32_t*)0x40078244U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 7) */ - #define REG_XDMAC_CIE8 (*(__O uint32_t*)0x40078250U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 8) */ - #define REG_XDMAC_CID8 (*(__O uint32_t*)0x40078254U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 8) */ - #define REG_XDMAC_CIM8 (*(__O uint32_t*)0x40078258U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 8) */ - #define REG_XDMAC_CIS8 (*(__I uint32_t*)0x4007825CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 8) */ - #define REG_XDMAC_CSA8 (*(__IO uint32_t*)0x40078260U) /**< \brief (XDMAC) Channel Source Address Register (chid = 8) */ - #define REG_XDMAC_CDA8 (*(__IO uint32_t*)0x40078264U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 8) */ - #define REG_XDMAC_CNDA8 (*(__IO uint32_t*)0x40078268U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 8) */ - #define REG_XDMAC_CNDC8 (*(__IO uint32_t*)0x4007826CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 8) */ - #define REG_XDMAC_CUBC8 (*(__IO uint32_t*)0x40078270U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 8) */ - #define REG_XDMAC_CBC8 (*(__IO uint32_t*)0x40078274U) /**< \brief (XDMAC) Channel Block Control Register (chid = 8) */ - #define REG_XDMAC_CC8 (*(__IO uint32_t*)0x40078278U) /**< \brief (XDMAC) Channel Configuration Register (chid = 8) */ - #define REG_XDMAC_CDS_MSP8 (*(__IO uint32_t*)0x4007827CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 8) */ - #define REG_XDMAC_CSUS8 (*(__IO uint32_t*)0x40078280U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 8) */ - #define REG_XDMAC_CDUS8 (*(__IO uint32_t*)0x40078284U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 8) */ - #define REG_XDMAC_CIE9 (*(__O uint32_t*)0x40078290U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 9) */ - #define REG_XDMAC_CID9 (*(__O uint32_t*)0x40078294U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 9) */ - #define REG_XDMAC_CIM9 (*(__O uint32_t*)0x40078298U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 9) */ - #define REG_XDMAC_CIS9 (*(__I uint32_t*)0x4007829CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 9) */ - #define REG_XDMAC_CSA9 (*(__IO uint32_t*)0x400782A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 9) */ - #define REG_XDMAC_CDA9 (*(__IO uint32_t*)0x400782A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 9) */ - #define REG_XDMAC_CNDA9 (*(__IO uint32_t*)0x400782A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 9) */ - #define REG_XDMAC_CNDC9 (*(__IO uint32_t*)0x400782ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 9) */ - #define REG_XDMAC_CUBC9 (*(__IO uint32_t*)0x400782B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 9) */ - #define REG_XDMAC_CBC9 (*(__IO uint32_t*)0x400782B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 9) */ - #define REG_XDMAC_CC9 (*(__IO uint32_t*)0x400782B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 9) */ - #define REG_XDMAC_CDS_MSP9 (*(__IO uint32_t*)0x400782BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 9) */ - #define REG_XDMAC_CSUS9 (*(__IO uint32_t*)0x400782C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 9) */ - #define REG_XDMAC_CDUS9 (*(__IO uint32_t*)0x400782C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 9) */ - #define REG_XDMAC_CIE10 (*(__O uint32_t*)0x400782D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 10) */ - #define REG_XDMAC_CID10 (*(__O uint32_t*)0x400782D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 10) */ - #define REG_XDMAC_CIM10 (*(__O uint32_t*)0x400782D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 10) */ - #define REG_XDMAC_CIS10 (*(__I uint32_t*)0x400782DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 10) */ - #define REG_XDMAC_CSA10 (*(__IO uint32_t*)0x400782E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 10) */ - #define REG_XDMAC_CDA10 (*(__IO uint32_t*)0x400782E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 10) */ - #define REG_XDMAC_CNDA10 (*(__IO uint32_t*)0x400782E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 10) */ - #define REG_XDMAC_CNDC10 (*(__IO uint32_t*)0x400782ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 10) */ - #define REG_XDMAC_CUBC10 (*(__IO uint32_t*)0x400782F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 10) */ - #define REG_XDMAC_CBC10 (*(__IO uint32_t*)0x400782F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 10) */ - #define REG_XDMAC_CC10 (*(__IO uint32_t*)0x400782F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 10) */ - #define REG_XDMAC_CDS_MSP10 (*(__IO uint32_t*)0x400782FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 10) */ - #define REG_XDMAC_CSUS10 (*(__IO uint32_t*)0x40078300U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 10) */ - #define REG_XDMAC_CDUS10 (*(__IO uint32_t*)0x40078304U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 10) */ - #define REG_XDMAC_CIE11 (*(__O uint32_t*)0x40078310U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 11) */ - #define REG_XDMAC_CID11 (*(__O uint32_t*)0x40078314U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 11) */ - #define REG_XDMAC_CIM11 (*(__O uint32_t*)0x40078318U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 11) */ - #define REG_XDMAC_CIS11 (*(__I uint32_t*)0x4007831CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 11) */ - #define REG_XDMAC_CSA11 (*(__IO uint32_t*)0x40078320U) /**< \brief (XDMAC) Channel Source Address Register (chid = 11) */ - #define REG_XDMAC_CDA11 (*(__IO uint32_t*)0x40078324U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 11) */ - #define REG_XDMAC_CNDA11 (*(__IO uint32_t*)0x40078328U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 11) */ - #define REG_XDMAC_CNDC11 (*(__IO uint32_t*)0x4007832CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 11) */ - #define REG_XDMAC_CUBC11 (*(__IO uint32_t*)0x40078330U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 11) */ - #define REG_XDMAC_CBC11 (*(__IO uint32_t*)0x40078334U) /**< \brief (XDMAC) Channel Block Control Register (chid = 11) */ - #define REG_XDMAC_CC11 (*(__IO uint32_t*)0x40078338U) /**< \brief (XDMAC) Channel Configuration Register (chid = 11) */ - #define REG_XDMAC_CDS_MSP11 (*(__IO uint32_t*)0x4007833CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 11) */ - #define REG_XDMAC_CSUS11 (*(__IO uint32_t*)0x40078340U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 11) */ - #define REG_XDMAC_CDUS11 (*(__IO uint32_t*)0x40078344U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 11) */ - #define REG_XDMAC_CIE12 (*(__O uint32_t*)0x40078350U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 12) */ - #define REG_XDMAC_CID12 (*(__O uint32_t*)0x40078354U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 12) */ - #define REG_XDMAC_CIM12 (*(__O uint32_t*)0x40078358U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 12) */ - #define REG_XDMAC_CIS12 (*(__I uint32_t*)0x4007835CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 12) */ - #define REG_XDMAC_CSA12 (*(__IO uint32_t*)0x40078360U) /**< \brief (XDMAC) Channel Source Address Register (chid = 12) */ - #define REG_XDMAC_CDA12 (*(__IO uint32_t*)0x40078364U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 12) */ - #define REG_XDMAC_CNDA12 (*(__IO uint32_t*)0x40078368U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 12) */ - #define REG_XDMAC_CNDC12 (*(__IO uint32_t*)0x4007836CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 12) */ - #define REG_XDMAC_CUBC12 (*(__IO uint32_t*)0x40078370U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 12) */ - #define REG_XDMAC_CBC12 (*(__IO uint32_t*)0x40078374U) /**< \brief (XDMAC) Channel Block Control Register (chid = 12) */ - #define REG_XDMAC_CC12 (*(__IO uint32_t*)0x40078378U) /**< \brief (XDMAC) Channel Configuration Register (chid = 12) */ - #define REG_XDMAC_CDS_MSP12 (*(__IO uint32_t*)0x4007837CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 12) */ - #define REG_XDMAC_CSUS12 (*(__IO uint32_t*)0x40078380U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 12) */ - #define REG_XDMAC_CDUS12 (*(__IO uint32_t*)0x40078384U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 12) */ - #define REG_XDMAC_CIE13 (*(__O uint32_t*)0x40078390U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 13) */ - #define REG_XDMAC_CID13 (*(__O uint32_t*)0x40078394U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 13) */ - #define REG_XDMAC_CIM13 (*(__O uint32_t*)0x40078398U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 13) */ - #define REG_XDMAC_CIS13 (*(__I uint32_t*)0x4007839CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 13) */ - #define REG_XDMAC_CSA13 (*(__IO uint32_t*)0x400783A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 13) */ - #define REG_XDMAC_CDA13 (*(__IO uint32_t*)0x400783A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 13) */ - #define REG_XDMAC_CNDA13 (*(__IO uint32_t*)0x400783A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 13) */ - #define REG_XDMAC_CNDC13 (*(__IO uint32_t*)0x400783ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 13) */ - #define REG_XDMAC_CUBC13 (*(__IO uint32_t*)0x400783B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 13) */ - #define REG_XDMAC_CBC13 (*(__IO uint32_t*)0x400783B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 13) */ - #define REG_XDMAC_CC13 (*(__IO uint32_t*)0x400783B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 13) */ - #define REG_XDMAC_CDS_MSP13 (*(__IO uint32_t*)0x400783BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 13) */ - #define REG_XDMAC_CSUS13 (*(__IO uint32_t*)0x400783C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 13) */ - #define REG_XDMAC_CDUS13 (*(__IO uint32_t*)0x400783C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 13) */ - #define REG_XDMAC_CIE14 (*(__O uint32_t*)0x400783D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 14) */ - #define REG_XDMAC_CID14 (*(__O uint32_t*)0x400783D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 14) */ - #define REG_XDMAC_CIM14 (*(__O uint32_t*)0x400783D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 14) */ - #define REG_XDMAC_CIS14 (*(__I uint32_t*)0x400783DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 14) */ - #define REG_XDMAC_CSA14 (*(__IO uint32_t*)0x400783E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 14) */ - #define REG_XDMAC_CDA14 (*(__IO uint32_t*)0x400783E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 14) */ - #define REG_XDMAC_CNDA14 (*(__IO uint32_t*)0x400783E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 14) */ - #define REG_XDMAC_CNDC14 (*(__IO uint32_t*)0x400783ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 14) */ - #define REG_XDMAC_CUBC14 (*(__IO uint32_t*)0x400783F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 14) */ - #define REG_XDMAC_CBC14 (*(__IO uint32_t*)0x400783F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 14) */ - #define REG_XDMAC_CC14 (*(__IO uint32_t*)0x400783F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 14) */ - #define REG_XDMAC_CDS_MSP14 (*(__IO uint32_t*)0x400783FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 14) */ - #define REG_XDMAC_CSUS14 (*(__IO uint32_t*)0x40078400U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 14) */ - #define REG_XDMAC_CDUS14 (*(__IO uint32_t*)0x40078404U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 14) */ - #define REG_XDMAC_CIE15 (*(__O uint32_t*)0x40078410U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 15) */ - #define REG_XDMAC_CID15 (*(__O uint32_t*)0x40078414U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 15) */ - #define REG_XDMAC_CIM15 (*(__O uint32_t*)0x40078418U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 15) */ - #define REG_XDMAC_CIS15 (*(__I uint32_t*)0x4007841CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 15) */ - #define REG_XDMAC_CSA15 (*(__IO uint32_t*)0x40078420U) /**< \brief (XDMAC) Channel Source Address Register (chid = 15) */ - #define REG_XDMAC_CDA15 (*(__IO uint32_t*)0x40078424U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 15) */ - #define REG_XDMAC_CNDA15 (*(__IO uint32_t*)0x40078428U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 15) */ - #define REG_XDMAC_CNDC15 (*(__IO uint32_t*)0x4007842CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 15) */ - #define REG_XDMAC_CUBC15 (*(__IO uint32_t*)0x40078430U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 15) */ - #define REG_XDMAC_CBC15 (*(__IO uint32_t*)0x40078434U) /**< \brief (XDMAC) Channel Block Control Register (chid = 15) */ - #define REG_XDMAC_CC15 (*(__IO uint32_t*)0x40078438U) /**< \brief (XDMAC) Channel Configuration Register (chid = 15) */ - #define REG_XDMAC_CDS_MSP15 (*(__IO uint32_t*)0x4007843CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 15) */ - #define REG_XDMAC_CSUS15 (*(__IO uint32_t*)0x40078440U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 15) */ - #define REG_XDMAC_CDUS15 (*(__IO uint32_t*)0x40078444U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 15) */ - #define REG_XDMAC_CIE16 (*(__O uint32_t*)0x40078450U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 16) */ - #define REG_XDMAC_CID16 (*(__O uint32_t*)0x40078454U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 16) */ - #define REG_XDMAC_CIM16 (*(__O uint32_t*)0x40078458U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 16) */ - #define REG_XDMAC_CIS16 (*(__I uint32_t*)0x4007845CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 16) */ - #define REG_XDMAC_CSA16 (*(__IO uint32_t*)0x40078460U) /**< \brief (XDMAC) Channel Source Address Register (chid = 16) */ - #define REG_XDMAC_CDA16 (*(__IO uint32_t*)0x40078464U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 16) */ - #define REG_XDMAC_CNDA16 (*(__IO uint32_t*)0x40078468U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 16) */ - #define REG_XDMAC_CNDC16 (*(__IO uint32_t*)0x4007846CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 16) */ - #define REG_XDMAC_CUBC16 (*(__IO uint32_t*)0x40078470U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 16) */ - #define REG_XDMAC_CBC16 (*(__IO uint32_t*)0x40078474U) /**< \brief (XDMAC) Channel Block Control Register (chid = 16) */ - #define REG_XDMAC_CC16 (*(__IO uint32_t*)0x40078478U) /**< \brief (XDMAC) Channel Configuration Register (chid = 16) */ - #define REG_XDMAC_CDS_MSP16 (*(__IO uint32_t*)0x4007847CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 16) */ - #define REG_XDMAC_CSUS16 (*(__IO uint32_t*)0x40078480U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 16) */ - #define REG_XDMAC_CDUS16 (*(__IO uint32_t*)0x40078484U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 16) */ - #define REG_XDMAC_CIE17 (*(__O uint32_t*)0x40078490U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 17) */ - #define REG_XDMAC_CID17 (*(__O uint32_t*)0x40078494U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 17) */ - #define REG_XDMAC_CIM17 (*(__O uint32_t*)0x40078498U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 17) */ - #define REG_XDMAC_CIS17 (*(__I uint32_t*)0x4007849CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 17) */ - #define REG_XDMAC_CSA17 (*(__IO uint32_t*)0x400784A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 17) */ - #define REG_XDMAC_CDA17 (*(__IO uint32_t*)0x400784A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 17) */ - #define REG_XDMAC_CNDA17 (*(__IO uint32_t*)0x400784A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 17) */ - #define REG_XDMAC_CNDC17 (*(__IO uint32_t*)0x400784ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 17) */ - #define REG_XDMAC_CUBC17 (*(__IO uint32_t*)0x400784B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 17) */ - #define REG_XDMAC_CBC17 (*(__IO uint32_t*)0x400784B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 17) */ - #define REG_XDMAC_CC17 (*(__IO uint32_t*)0x400784B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 17) */ - #define REG_XDMAC_CDS_MSP17 (*(__IO uint32_t*)0x400784BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 17) */ - #define REG_XDMAC_CSUS17 (*(__IO uint32_t*)0x400784C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 17) */ - #define REG_XDMAC_CDUS17 (*(__IO uint32_t*)0x400784C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 17) */ - #define REG_XDMAC_CIE18 (*(__O uint32_t*)0x400784D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 18) */ - #define REG_XDMAC_CID18 (*(__O uint32_t*)0x400784D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 18) */ - #define REG_XDMAC_CIM18 (*(__O uint32_t*)0x400784D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 18) */ - #define REG_XDMAC_CIS18 (*(__I uint32_t*)0x400784DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 18) */ - #define REG_XDMAC_CSA18 (*(__IO uint32_t*)0x400784E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 18) */ - #define REG_XDMAC_CDA18 (*(__IO uint32_t*)0x400784E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 18) */ - #define REG_XDMAC_CNDA18 (*(__IO uint32_t*)0x400784E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 18) */ - #define REG_XDMAC_CNDC18 (*(__IO uint32_t*)0x400784ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 18) */ - #define REG_XDMAC_CUBC18 (*(__IO uint32_t*)0x400784F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 18) */ - #define REG_XDMAC_CBC18 (*(__IO uint32_t*)0x400784F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 18) */ - #define REG_XDMAC_CC18 (*(__IO uint32_t*)0x400784F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 18) */ - #define REG_XDMAC_CDS_MSP18 (*(__IO uint32_t*)0x400784FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 18) */ - #define REG_XDMAC_CSUS18 (*(__IO uint32_t*)0x40078500U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 18) */ - #define REG_XDMAC_CDUS18 (*(__IO uint32_t*)0x40078504U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 18) */ - #define REG_XDMAC_CIE19 (*(__O uint32_t*)0x40078510U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 19) */ - #define REG_XDMAC_CID19 (*(__O uint32_t*)0x40078514U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 19) */ - #define REG_XDMAC_CIM19 (*(__O uint32_t*)0x40078518U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 19) */ - #define REG_XDMAC_CIS19 (*(__I uint32_t*)0x4007851CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 19) */ - #define REG_XDMAC_CSA19 (*(__IO uint32_t*)0x40078520U) /**< \brief (XDMAC) Channel Source Address Register (chid = 19) */ - #define REG_XDMAC_CDA19 (*(__IO uint32_t*)0x40078524U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 19) */ - #define REG_XDMAC_CNDA19 (*(__IO uint32_t*)0x40078528U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 19) */ - #define REG_XDMAC_CNDC19 (*(__IO uint32_t*)0x4007852CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 19) */ - #define REG_XDMAC_CUBC19 (*(__IO uint32_t*)0x40078530U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 19) */ - #define REG_XDMAC_CBC19 (*(__IO uint32_t*)0x40078534U) /**< \brief (XDMAC) Channel Block Control Register (chid = 19) */ - #define REG_XDMAC_CC19 (*(__IO uint32_t*)0x40078538U) /**< \brief (XDMAC) Channel Configuration Register (chid = 19) */ - #define REG_XDMAC_CDS_MSP19 (*(__IO uint32_t*)0x4007853CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 19) */ - #define REG_XDMAC_CSUS19 (*(__IO uint32_t*)0x40078540U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 19) */ - #define REG_XDMAC_CDUS19 (*(__IO uint32_t*)0x40078544U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 19) */ - #define REG_XDMAC_CIE20 (*(__O uint32_t*)0x40078550U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 20) */ - #define REG_XDMAC_CID20 (*(__O uint32_t*)0x40078554U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 20) */ - #define REG_XDMAC_CIM20 (*(__O uint32_t*)0x40078558U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 20) */ - #define REG_XDMAC_CIS20 (*(__I uint32_t*)0x4007855CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 20) */ - #define REG_XDMAC_CSA20 (*(__IO uint32_t*)0x40078560U) /**< \brief (XDMAC) Channel Source Address Register (chid = 20) */ - #define REG_XDMAC_CDA20 (*(__IO uint32_t*)0x40078564U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 20) */ - #define REG_XDMAC_CNDA20 (*(__IO uint32_t*)0x40078568U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 20) */ - #define REG_XDMAC_CNDC20 (*(__IO uint32_t*)0x4007856CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 20) */ - #define REG_XDMAC_CUBC20 (*(__IO uint32_t*)0x40078570U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 20) */ - #define REG_XDMAC_CBC20 (*(__IO uint32_t*)0x40078574U) /**< \brief (XDMAC) Channel Block Control Register (chid = 20) */ - #define REG_XDMAC_CC20 (*(__IO uint32_t*)0x40078578U) /**< \brief (XDMAC) Channel Configuration Register (chid = 20) */ - #define REG_XDMAC_CDS_MSP20 (*(__IO uint32_t*)0x4007857CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 20) */ - #define REG_XDMAC_CSUS20 (*(__IO uint32_t*)0x40078580U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 20) */ - #define REG_XDMAC_CDUS20 (*(__IO uint32_t*)0x40078584U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 20) */ - #define REG_XDMAC_CIE21 (*(__O uint32_t*)0x40078590U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 21) */ - #define REG_XDMAC_CID21 (*(__O uint32_t*)0x40078594U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 21) */ - #define REG_XDMAC_CIM21 (*(__O uint32_t*)0x40078598U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 21) */ - #define REG_XDMAC_CIS21 (*(__I uint32_t*)0x4007859CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 21) */ - #define REG_XDMAC_CSA21 (*(__IO uint32_t*)0x400785A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 21) */ - #define REG_XDMAC_CDA21 (*(__IO uint32_t*)0x400785A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 21) */ - #define REG_XDMAC_CNDA21 (*(__IO uint32_t*)0x400785A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 21) */ - #define REG_XDMAC_CNDC21 (*(__IO uint32_t*)0x400785ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 21) */ - #define REG_XDMAC_CUBC21 (*(__IO uint32_t*)0x400785B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 21) */ - #define REG_XDMAC_CBC21 (*(__IO uint32_t*)0x400785B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 21) */ - #define REG_XDMAC_CC21 (*(__IO uint32_t*)0x400785B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 21) */ - #define REG_XDMAC_CDS_MSP21 (*(__IO uint32_t*)0x400785BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 21) */ - #define REG_XDMAC_CSUS21 (*(__IO uint32_t*)0x400785C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 21) */ - #define REG_XDMAC_CDUS21 (*(__IO uint32_t*)0x400785C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 21) */ - #define REG_XDMAC_CIE22 (*(__O uint32_t*)0x400785D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 22) */ - #define REG_XDMAC_CID22 (*(__O uint32_t*)0x400785D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 22) */ - #define REG_XDMAC_CIM22 (*(__O uint32_t*)0x400785D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 22) */ - #define REG_XDMAC_CIS22 (*(__I uint32_t*)0x400785DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 22) */ - #define REG_XDMAC_CSA22 (*(__IO uint32_t*)0x400785E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 22) */ - #define REG_XDMAC_CDA22 (*(__IO uint32_t*)0x400785E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 22) */ - #define REG_XDMAC_CNDA22 (*(__IO uint32_t*)0x400785E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 22) */ - #define REG_XDMAC_CNDC22 (*(__IO uint32_t*)0x400785ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 22) */ - #define REG_XDMAC_CUBC22 (*(__IO uint32_t*)0x400785F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 22) */ - #define REG_XDMAC_CBC22 (*(__IO uint32_t*)0x400785F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 22) */ - #define REG_XDMAC_CC22 (*(__IO uint32_t*)0x400785F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 22) */ - #define REG_XDMAC_CDS_MSP22 (*(__IO uint32_t*)0x400785FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 22) */ - #define REG_XDMAC_CSUS22 (*(__IO uint32_t*)0x40078600U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 22) */ - #define REG_XDMAC_CDUS22 (*(__IO uint32_t*)0x40078604U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 22) */ - #define REG_XDMAC_CIE23 (*(__O uint32_t*)0x40078610U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 23) */ - #define REG_XDMAC_CID23 (*(__O uint32_t*)0x40078614U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 23) */ - #define REG_XDMAC_CIM23 (*(__O uint32_t*)0x40078618U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 23) */ - #define REG_XDMAC_CIS23 (*(__I uint32_t*)0x4007861CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 23) */ - #define REG_XDMAC_CSA23 (*(__IO uint32_t*)0x40078620U) /**< \brief (XDMAC) Channel Source Address Register (chid = 23) */ - #define REG_XDMAC_CDA23 (*(__IO uint32_t*)0x40078624U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 23) */ - #define REG_XDMAC_CNDA23 (*(__IO uint32_t*)0x40078628U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 23) */ - #define REG_XDMAC_CNDC23 (*(__IO uint32_t*)0x4007862CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 23) */ - #define REG_XDMAC_CUBC23 (*(__IO uint32_t*)0x40078630U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 23) */ - #define REG_XDMAC_CBC23 (*(__IO uint32_t*)0x40078634U) /**< \brief (XDMAC) Channel Block Control Register (chid = 23) */ - #define REG_XDMAC_CC23 (*(__IO uint32_t*)0x40078638U) /**< \brief (XDMAC) Channel Configuration Register (chid = 23) */ - #define REG_XDMAC_CDS_MSP23 (*(__IO uint32_t*)0x4007863CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 23) */ - #define REG_XDMAC_CSUS23 (*(__IO uint32_t*)0x40078640U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 23) */ - #define REG_XDMAC_CDUS23 (*(__IO uint32_t*)0x40078644U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 23) */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_XDMAC_INSTANCE_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h deleted file mode 100644 index 786bdc6..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h +++ /dev/null @@ -1,418 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J19_PIO_ -#define _SAMS70J19_PIO_ - -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA24_IDX 24 -#define PIO_PA27_IDX 27 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70J19_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h deleted file mode 100644 index 77b1fb3..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h +++ /dev/null @@ -1,422 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J20_PIO_ -#define _SAMS70J20_PIO_ - -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA24_IDX 24 -#define PIO_PA27_IDX 27 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70J20_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h deleted file mode 100644 index eac07be..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h +++ /dev/null @@ -1,422 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J21_PIO_ -#define _SAMS70J21_PIO_ - -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA24_IDX 24 -#define PIO_PA27_IDX 27 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70J21_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h deleted file mode 100644 index fc6b03a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h +++ /dev/null @@ -1,479 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N19_PIO_ -#define _SAMS70N19_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70N19_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h deleted file mode 100644 index 844f1f7..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h +++ /dev/null @@ -1,475 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N20_PIO_ -#define _SAMS70N20_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70N20_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h deleted file mode 100644 index 1e1d83c..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h +++ /dev/null @@ -1,475 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N21_PIO_ -#define _SAMS70N21_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70N21_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h deleted file mode 100644 index d59cbc3..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h +++ /dev/null @@ -1,652 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q19_PIO_ -#define _SAMS70Q19_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA6 (1u << 6) /**< \brief Pin Controlled by PA6 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA29 (1u << 29) /**< \brief Pin Controlled by PA29 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PC0 (1u << 0) /**< \brief Pin Controlled by PC0 */ -#define PIO_PC1 (1u << 1) /**< \brief Pin Controlled by PC1 */ -#define PIO_PC2 (1u << 2) /**< \brief Pin Controlled by PC2 */ -#define PIO_PC3 (1u << 3) /**< \brief Pin Controlled by PC3 */ -#define PIO_PC4 (1u << 4) /**< \brief Pin Controlled by PC4 */ -#define PIO_PC5 (1u << 5) /**< \brief Pin Controlled by PC5 */ -#define PIO_PC6 (1u << 6) /**< \brief Pin Controlled by PC6 */ -#define PIO_PC7 (1u << 7) /**< \brief Pin Controlled by PC7 */ -#define PIO_PC8 (1u << 8) /**< \brief Pin Controlled by PC8 */ -#define PIO_PC9 (1u << 9) /**< \brief Pin Controlled by PC9 */ -#define PIO_PC10 (1u << 10) /**< \brief Pin Controlled by PC10 */ -#define PIO_PC11 (1u << 11) /**< \brief Pin Controlled by PC11 */ -#define PIO_PC12 (1u << 12) /**< \brief Pin Controlled by PC12 */ -#define PIO_PC13 (1u << 13) /**< \brief Pin Controlled by PC13 */ -#define PIO_PC14 (1u << 14) /**< \brief Pin Controlled by PC14 */ -#define PIO_PC15 (1u << 15) /**< \brief Pin Controlled by PC15 */ -#define PIO_PC16 (1u << 16) /**< \brief Pin Controlled by PC16 */ -#define PIO_PC17 (1u << 17) /**< \brief Pin Controlled by PC17 */ -#define PIO_PC18 (1u << 18) /**< \brief Pin Controlled by PC18 */ -#define PIO_PC19 (1u << 19) /**< \brief Pin Controlled by PC19 */ -#define PIO_PC20 (1u << 20) /**< \brief Pin Controlled by PC20 */ -#define PIO_PC21 (1u << 21) /**< \brief Pin Controlled by PC21 */ -#define PIO_PC22 (1u << 22) /**< \brief Pin Controlled by PC22 */ -#define PIO_PC23 (1u << 23) /**< \brief Pin Controlled by PC23 */ -#define PIO_PC24 (1u << 24) /**< \brief Pin Controlled by PC24 */ -#define PIO_PC25 (1u << 25) /**< \brief Pin Controlled by PC25 */ -#define PIO_PC26 (1u << 26) /**< \brief Pin Controlled by PC26 */ -#define PIO_PC27 (1u << 27) /**< \brief Pin Controlled by PC27 */ -#define PIO_PC28 (1u << 28) /**< \brief Pin Controlled by PC28 */ -#define PIO_PC29 (1u << 29) /**< \brief Pin Controlled by PC29 */ -#define PIO_PC30 (1u << 30) /**< \brief Pin Controlled by PC30 */ -#define PIO_PC31 (1u << 31) /**< \brief Pin Controlled by PC31 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD23 (1u << 23) /**< \brief Pin Controlled by PD23 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD29 (1u << 29) /**< \brief Pin Controlled by PD29 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -#define PIO_PE0 (1u << 0) /**< \brief Pin Controlled by PE0 */ -#define PIO_PE1 (1u << 1) /**< \brief Pin Controlled by PE1 */ -#define PIO_PE2 (1u << 2) /**< \brief Pin Controlled by PE2 */ -#define PIO_PE3 (1u << 3) /**< \brief Pin Controlled by PE3 */ -#define PIO_PE4 (1u << 4) /**< \brief Pin Controlled by PE4 */ -#define PIO_PE5 (1u << 5) /**< \brief Pin Controlled by PE5 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for EBI peripheral ========== */ -#define PIO_PC18A_A0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC18A_NBS0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC19A_A1 (1u << 19) /**< \brief Ebi signal: A1 */ -#define PIO_PC28A_A10 (1u << 28) /**< \brief Ebi signal: A10 */ -#define PIO_PC29A_A11 (1u << 29) /**< \brief Ebi signal: A11 */ -#define PIO_PC30A_A12 (1u << 30) /**< \brief Ebi signal: A12 */ -#define PIO_PC31A_A13 (1u << 31) /**< \brief Ebi signal: A13 */ -#define PIO_PA18C_A14 (1u << 18) /**< \brief Ebi signal: A14 */ -#define PIO_PA19C_A15 (1u << 19) /**< \brief Ebi signal: A15 */ -#define PIO_PA20C_A16 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA20C_BA0 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA0C_A17 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA0C_BA1 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA1C_A18 (1u << 1) /**< \brief Ebi signal: A18 */ -#define PIO_PA23C_A19 (1u << 23) /**< \brief Ebi signal: A19 */ -#define PIO_PC20A_A2 (1u << 20) /**< \brief Ebi signal: A2 */ -#define PIO_PA24C_A20 (1u << 24) /**< \brief Ebi signal: A20 */ -#define PIO_PC16A_A21 (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC16A_NANDALE (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC17A_A22 (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PC17A_NANDCLE (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PA25C_A23 (1u << 25) /**< \brief Ebi signal: A23 */ -#define PIO_PC21A_A3 (1u << 21) /**< \brief Ebi signal: A3 */ -#define PIO_PC22A_A4 (1u << 22) /**< \brief Ebi signal: A4 */ -#define PIO_PC23A_A5 (1u << 23) /**< \brief Ebi signal: A5 */ -#define PIO_PC24A_A6 (1u << 24) /**< \brief Ebi signal: A6 */ -#define PIO_PC25A_A7 (1u << 25) /**< \brief Ebi signal: A7 */ -#define PIO_PC26A_A8 (1u << 26) /**< \brief Ebi signal: A8 */ -#define PIO_PC27A_A9 (1u << 27) /**< \brief Ebi signal: A9 */ -#define PIO_PD17C_CAS (1u << 17) /**< \brief Ebi signal: CAS */ -#define PIO_PC0A_D0 (1u << 0) /**< \brief Ebi signal: D0 */ -#define PIO_PC1A_D1 (1u << 1) /**< \brief Ebi signal: D1 */ -#define PIO_PE2A_D10 (1u << 2) /**< \brief Ebi signal: D10 */ -#define PIO_PE3A_D11 (1u << 3) /**< \brief Ebi signal: D11 */ -#define PIO_PE4A_D12 (1u << 4) /**< \brief Ebi signal: D12 */ -#define PIO_PE5A_D13 (1u << 5) /**< \brief Ebi signal: D13 */ -#define PIO_PA15A_D14 (1u << 15) /**< \brief Ebi signal: D14 */ -#define PIO_PA16A_D15 (1u << 16) /**< \brief Ebi signal: D15 */ -#define PIO_PC2A_D2 (1u << 2) /**< \brief Ebi signal: D2 */ -#define PIO_PC3A_D3 (1u << 3) /**< \brief Ebi signal: D3 */ -#define PIO_PC4A_D4 (1u << 4) /**< \brief Ebi signal: D4 */ -#define PIO_PC5A_D5 (1u << 5) /**< \brief Ebi signal: D5 */ -#define PIO_PC6A_D6 (1u << 6) /**< \brief Ebi signal: D6 */ -#define PIO_PC7A_D7 (1u << 7) /**< \brief Ebi signal: D7 */ -#define PIO_PE0A_D8 (1u << 0) /**< \brief Ebi signal: D8 */ -#define PIO_PE1A_D9 (1u << 1) /**< \brief Ebi signal: D9 */ -#define PIO_PC9A_NANDOE (1u << 9) /**< \brief Ebi signal: NANDOE */ -#define PIO_PC10A_NANDWE (1u << 10) /**< \brief Ebi signal: NANDWE */ -#define PIO_PC14A_NCS0 (1u << 14) /**< \brief Ebi signal: NCS0 */ -#define PIO_PC15A_NCS1 (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PC15A_SDCS (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_NCS1 (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_SDCS (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PA22C_NCS2 (1u << 22) /**< \brief Ebi signal: NCS2 */ -#define PIO_PC12A_NCS3 (1u << 12) /**< \brief Ebi signal: NCS3 */ -#define PIO_PD19A_NCS3 (1u << 19) /**< \brief Ebi signal: NCS3 */ -#define PIO_PC11A_NRD (1u << 11) /**< \brief Ebi signal: NRD */ -#define PIO_PC13A_NWAIT (1u << 13) /**< \brief Ebi signal: NWAIT */ -#define PIO_PC8A_NWR0 (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PC8A_NWE (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PD15C_NWR1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD15C_NBS1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD16C_RAS (1u << 16) /**< \brief Ebi signal: RAS */ -#define PIO_PC13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD23C_SDCK (1u << 23) /**< \brief Ebi signal: SDCK */ -#define PIO_PD14C_SDCKE (1u << 14) /**< \brief Ebi signal: SDCKE */ -#define PIO_PD29C_SDWE (1u << 29) /**< \brief Ebi signal: SDWE */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC1 peripheral ========== */ -#define PIO_PC25B_TCLK3 (1u << 25) /**< \brief Tc1 signal: TCLK3 */ -#define PIO_PC28B_TCLK4 (1u << 28) /**< \brief Tc1 signal: TCLK4 */ -#define PIO_PC31B_TCLK5 (1u << 31) /**< \brief Tc1 signal: TCLK5 */ -#define PIO_PC23B_TIOA3 (1u << 23) /**< \brief Tc1 signal: TIOA3 */ -#define PIO_PC26B_TIOA4 (1u << 26) /**< \brief Tc1 signal: TIOA4 */ -#define PIO_PC29B_TIOA5 (1u << 29) /**< \brief Tc1 signal: TIOA5 */ -#define PIO_PC24B_TIOB3 (1u << 24) /**< \brief Tc1 signal: TIOB3 */ -#define PIO_PC27B_TIOB4 (1u << 27) /**< \brief Tc1 signal: TIOB4 */ -#define PIO_PC30B_TIOB5 (1u << 30) /**< \brief Tc1 signal: TIOB5 */ -/* ========== Pio definition for TC2 peripheral ========== */ -#define PIO_PC7B_TCLK6 (1u << 7) /**< \brief Tc2 signal: TCLK6 */ -#define PIO_PC10B_TCLK7 (1u << 10) /**< \brief Tc2 signal: TCLK7 */ -#define PIO_PC14B_TCLK8 (1u << 14) /**< \brief Tc2 signal: TCLK8 */ -#define PIO_PC5B_TIOA6 (1u << 5) /**< \brief Tc2 signal: TIOA6 */ -#define PIO_PC8B_TIOA7 (1u << 8) /**< \brief Tc2 signal: TIOA7 */ -#define PIO_PC11B_TIOA8 (1u << 11) /**< \brief Tc2 signal: TIOA8 */ -#define PIO_PC6B_TIOB6 (1u << 6) /**< \brief Tc2 signal: TIOB6 */ -#define PIO_PC9B_TIOB7 (1u << 9) /**< \brief Tc2 signal: TIOB7 */ -#define PIO_PC12B_TIOB8 (1u << 12) /**< \brief Tc2 signal: TIOB8 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA6_IDX 6 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA29_IDX 29 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PC0_IDX 64 -#define PIO_PC1_IDX 65 -#define PIO_PC2_IDX 66 -#define PIO_PC3_IDX 67 -#define PIO_PC4_IDX 68 -#define PIO_PC5_IDX 69 -#define PIO_PC6_IDX 70 -#define PIO_PC7_IDX 71 -#define PIO_PC8_IDX 72 -#define PIO_PC9_IDX 73 -#define PIO_PC10_IDX 74 -#define PIO_PC11_IDX 75 -#define PIO_PC12_IDX 76 -#define PIO_PC13_IDX 77 -#define PIO_PC14_IDX 78 -#define PIO_PC15_IDX 79 -#define PIO_PC16_IDX 80 -#define PIO_PC17_IDX 81 -#define PIO_PC18_IDX 82 -#define PIO_PC19_IDX 83 -#define PIO_PC20_IDX 84 -#define PIO_PC21_IDX 85 -#define PIO_PC22_IDX 86 -#define PIO_PC23_IDX 87 -#define PIO_PC24_IDX 88 -#define PIO_PC25_IDX 89 -#define PIO_PC26_IDX 90 -#define PIO_PC27_IDX 91 -#define PIO_PC28_IDX 92 -#define PIO_PC29_IDX 93 -#define PIO_PC30_IDX 94 -#define PIO_PC31_IDX 95 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD23_IDX 119 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD29_IDX 125 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 -#define PIO_PE0_IDX 128 -#define PIO_PE1_IDX 129 -#define PIO_PE2_IDX 130 -#define PIO_PE3_IDX 131 -#define PIO_PE4_IDX 132 -#define PIO_PE5_IDX 133 - -#endif /* _SAMS70Q19_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h deleted file mode 100644 index 38e6038..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h +++ /dev/null @@ -1,652 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q20_PIO_ -#define _SAMS70Q20_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA6 (1u << 6) /**< \brief Pin Controlled by PA6 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA29 (1u << 29) /**< \brief Pin Controlled by PA29 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PC0 (1u << 0) /**< \brief Pin Controlled by PC0 */ -#define PIO_PC1 (1u << 1) /**< \brief Pin Controlled by PC1 */ -#define PIO_PC2 (1u << 2) /**< \brief Pin Controlled by PC2 */ -#define PIO_PC3 (1u << 3) /**< \brief Pin Controlled by PC3 */ -#define PIO_PC4 (1u << 4) /**< \brief Pin Controlled by PC4 */ -#define PIO_PC5 (1u << 5) /**< \brief Pin Controlled by PC5 */ -#define PIO_PC6 (1u << 6) /**< \brief Pin Controlled by PC6 */ -#define PIO_PC7 (1u << 7) /**< \brief Pin Controlled by PC7 */ -#define PIO_PC8 (1u << 8) /**< \brief Pin Controlled by PC8 */ -#define PIO_PC9 (1u << 9) /**< \brief Pin Controlled by PC9 */ -#define PIO_PC10 (1u << 10) /**< \brief Pin Controlled by PC10 */ -#define PIO_PC11 (1u << 11) /**< \brief Pin Controlled by PC11 */ -#define PIO_PC12 (1u << 12) /**< \brief Pin Controlled by PC12 */ -#define PIO_PC13 (1u << 13) /**< \brief Pin Controlled by PC13 */ -#define PIO_PC14 (1u << 14) /**< \brief Pin Controlled by PC14 */ -#define PIO_PC15 (1u << 15) /**< \brief Pin Controlled by PC15 */ -#define PIO_PC16 (1u << 16) /**< \brief Pin Controlled by PC16 */ -#define PIO_PC17 (1u << 17) /**< \brief Pin Controlled by PC17 */ -#define PIO_PC18 (1u << 18) /**< \brief Pin Controlled by PC18 */ -#define PIO_PC19 (1u << 19) /**< \brief Pin Controlled by PC19 */ -#define PIO_PC20 (1u << 20) /**< \brief Pin Controlled by PC20 */ -#define PIO_PC21 (1u << 21) /**< \brief Pin Controlled by PC21 */ -#define PIO_PC22 (1u << 22) /**< \brief Pin Controlled by PC22 */ -#define PIO_PC23 (1u << 23) /**< \brief Pin Controlled by PC23 */ -#define PIO_PC24 (1u << 24) /**< \brief Pin Controlled by PC24 */ -#define PIO_PC25 (1u << 25) /**< \brief Pin Controlled by PC25 */ -#define PIO_PC26 (1u << 26) /**< \brief Pin Controlled by PC26 */ -#define PIO_PC27 (1u << 27) /**< \brief Pin Controlled by PC27 */ -#define PIO_PC28 (1u << 28) /**< \brief Pin Controlled by PC28 */ -#define PIO_PC29 (1u << 29) /**< \brief Pin Controlled by PC29 */ -#define PIO_PC30 (1u << 30) /**< \brief Pin Controlled by PC30 */ -#define PIO_PC31 (1u << 31) /**< \brief Pin Controlled by PC31 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD23 (1u << 23) /**< \brief Pin Controlled by PD23 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD29 (1u << 29) /**< \brief Pin Controlled by PD29 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -#define PIO_PE0 (1u << 0) /**< \brief Pin Controlled by PE0 */ -#define PIO_PE1 (1u << 1) /**< \brief Pin Controlled by PE1 */ -#define PIO_PE2 (1u << 2) /**< \brief Pin Controlled by PE2 */ -#define PIO_PE3 (1u << 3) /**< \brief Pin Controlled by PE3 */ -#define PIO_PE4 (1u << 4) /**< \brief Pin Controlled by PE4 */ -#define PIO_PE5 (1u << 5) /**< \brief Pin Controlled by PE5 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for EBI peripheral ========== */ -#define PIO_PC18A_A0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC18A_NBS0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC19A_A1 (1u << 19) /**< \brief Ebi signal: A1 */ -#define PIO_PC28A_A10 (1u << 28) /**< \brief Ebi signal: A10 */ -#define PIO_PC29A_A11 (1u << 29) /**< \brief Ebi signal: A11 */ -#define PIO_PC30A_A12 (1u << 30) /**< \brief Ebi signal: A12 */ -#define PIO_PC31A_A13 (1u << 31) /**< \brief Ebi signal: A13 */ -#define PIO_PA18C_A14 (1u << 18) /**< \brief Ebi signal: A14 */ -#define PIO_PA19C_A15 (1u << 19) /**< \brief Ebi signal: A15 */ -#define PIO_PA20C_A16 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA20C_BA0 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA0C_A17 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA0C_BA1 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA1C_A18 (1u << 1) /**< \brief Ebi signal: A18 */ -#define PIO_PA23C_A19 (1u << 23) /**< \brief Ebi signal: A19 */ -#define PIO_PC20A_A2 (1u << 20) /**< \brief Ebi signal: A2 */ -#define PIO_PA24C_A20 (1u << 24) /**< \brief Ebi signal: A20 */ -#define PIO_PC16A_A21 (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC16A_NANDALE (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC17A_A22 (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PC17A_NANDCLE (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PA25C_A23 (1u << 25) /**< \brief Ebi signal: A23 */ -#define PIO_PC21A_A3 (1u << 21) /**< \brief Ebi signal: A3 */ -#define PIO_PC22A_A4 (1u << 22) /**< \brief Ebi signal: A4 */ -#define PIO_PC23A_A5 (1u << 23) /**< \brief Ebi signal: A5 */ -#define PIO_PC24A_A6 (1u << 24) /**< \brief Ebi signal: A6 */ -#define PIO_PC25A_A7 (1u << 25) /**< \brief Ebi signal: A7 */ -#define PIO_PC26A_A8 (1u << 26) /**< \brief Ebi signal: A8 */ -#define PIO_PC27A_A9 (1u << 27) /**< \brief Ebi signal: A9 */ -#define PIO_PD17C_CAS (1u << 17) /**< \brief Ebi signal: CAS */ -#define PIO_PC0A_D0 (1u << 0) /**< \brief Ebi signal: D0 */ -#define PIO_PC1A_D1 (1u << 1) /**< \brief Ebi signal: D1 */ -#define PIO_PE2A_D10 (1u << 2) /**< \brief Ebi signal: D10 */ -#define PIO_PE3A_D11 (1u << 3) /**< \brief Ebi signal: D11 */ -#define PIO_PE4A_D12 (1u << 4) /**< \brief Ebi signal: D12 */ -#define PIO_PE5A_D13 (1u << 5) /**< \brief Ebi signal: D13 */ -#define PIO_PA15A_D14 (1u << 15) /**< \brief Ebi signal: D14 */ -#define PIO_PA16A_D15 (1u << 16) /**< \brief Ebi signal: D15 */ -#define PIO_PC2A_D2 (1u << 2) /**< \brief Ebi signal: D2 */ -#define PIO_PC3A_D3 (1u << 3) /**< \brief Ebi signal: D3 */ -#define PIO_PC4A_D4 (1u << 4) /**< \brief Ebi signal: D4 */ -#define PIO_PC5A_D5 (1u << 5) /**< \brief Ebi signal: D5 */ -#define PIO_PC6A_D6 (1u << 6) /**< \brief Ebi signal: D6 */ -#define PIO_PC7A_D7 (1u << 7) /**< \brief Ebi signal: D7 */ -#define PIO_PE0A_D8 (1u << 0) /**< \brief Ebi signal: D8 */ -#define PIO_PE1A_D9 (1u << 1) /**< \brief Ebi signal: D9 */ -#define PIO_PC9A_NANDOE (1u << 9) /**< \brief Ebi signal: NANDOE */ -#define PIO_PC10A_NANDWE (1u << 10) /**< \brief Ebi signal: NANDWE */ -#define PIO_PC14A_NCS0 (1u << 14) /**< \brief Ebi signal: NCS0 */ -#define PIO_PC15A_NCS1 (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PC15A_SDCS (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_NCS1 (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_SDCS (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PA22C_NCS2 (1u << 22) /**< \brief Ebi signal: NCS2 */ -#define PIO_PC12A_NCS3 (1u << 12) /**< \brief Ebi signal: NCS3 */ -#define PIO_PD19A_NCS3 (1u << 19) /**< \brief Ebi signal: NCS3 */ -#define PIO_PC11A_NRD (1u << 11) /**< \brief Ebi signal: NRD */ -#define PIO_PC13A_NWAIT (1u << 13) /**< \brief Ebi signal: NWAIT */ -#define PIO_PC8A_NWR0 (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PC8A_NWE (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PD15C_NWR1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD15C_NBS1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD16C_RAS (1u << 16) /**< \brief Ebi signal: RAS */ -#define PIO_PC13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD23C_SDCK (1u << 23) /**< \brief Ebi signal: SDCK */ -#define PIO_PD14C_SDCKE (1u << 14) /**< \brief Ebi signal: SDCKE */ -#define PIO_PD29C_SDWE (1u << 29) /**< \brief Ebi signal: SDWE */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC1 peripheral ========== */ -#define PIO_PC25B_TCLK3 (1u << 25) /**< \brief Tc1 signal: TCLK3 */ -#define PIO_PC28B_TCLK4 (1u << 28) /**< \brief Tc1 signal: TCLK4 */ -#define PIO_PC31B_TCLK5 (1u << 31) /**< \brief Tc1 signal: TCLK5 */ -#define PIO_PC23B_TIOA3 (1u << 23) /**< \brief Tc1 signal: TIOA3 */ -#define PIO_PC26B_TIOA4 (1u << 26) /**< \brief Tc1 signal: TIOA4 */ -#define PIO_PC29B_TIOA5 (1u << 29) /**< \brief Tc1 signal: TIOA5 */ -#define PIO_PC24B_TIOB3 (1u << 24) /**< \brief Tc1 signal: TIOB3 */ -#define PIO_PC27B_TIOB4 (1u << 27) /**< \brief Tc1 signal: TIOB4 */ -#define PIO_PC30B_TIOB5 (1u << 30) /**< \brief Tc1 signal: TIOB5 */ -/* ========== Pio definition for TC2 peripheral ========== */ -#define PIO_PC7B_TCLK6 (1u << 7) /**< \brief Tc2 signal: TCLK6 */ -#define PIO_PC10B_TCLK7 (1u << 10) /**< \brief Tc2 signal: TCLK7 */ -#define PIO_PC14B_TCLK8 (1u << 14) /**< \brief Tc2 signal: TCLK8 */ -#define PIO_PC5B_TIOA6 (1u << 5) /**< \brief Tc2 signal: TIOA6 */ -#define PIO_PC8B_TIOA7 (1u << 8) /**< \brief Tc2 signal: TIOA7 */ -#define PIO_PC11B_TIOA8 (1u << 11) /**< \brief Tc2 signal: TIOA8 */ -#define PIO_PC6B_TIOB6 (1u << 6) /**< \brief Tc2 signal: TIOB6 */ -#define PIO_PC9B_TIOB7 (1u << 9) /**< \brief Tc2 signal: TIOB7 */ -#define PIO_PC12B_TIOB8 (1u << 12) /**< \brief Tc2 signal: TIOB8 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA6_IDX 6 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA29_IDX 29 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PC0_IDX 64 -#define PIO_PC1_IDX 65 -#define PIO_PC2_IDX 66 -#define PIO_PC3_IDX 67 -#define PIO_PC4_IDX 68 -#define PIO_PC5_IDX 69 -#define PIO_PC6_IDX 70 -#define PIO_PC7_IDX 71 -#define PIO_PC8_IDX 72 -#define PIO_PC9_IDX 73 -#define PIO_PC10_IDX 74 -#define PIO_PC11_IDX 75 -#define PIO_PC12_IDX 76 -#define PIO_PC13_IDX 77 -#define PIO_PC14_IDX 78 -#define PIO_PC15_IDX 79 -#define PIO_PC16_IDX 80 -#define PIO_PC17_IDX 81 -#define PIO_PC18_IDX 82 -#define PIO_PC19_IDX 83 -#define PIO_PC20_IDX 84 -#define PIO_PC21_IDX 85 -#define PIO_PC22_IDX 86 -#define PIO_PC23_IDX 87 -#define PIO_PC24_IDX 88 -#define PIO_PC25_IDX 89 -#define PIO_PC26_IDX 90 -#define PIO_PC27_IDX 91 -#define PIO_PC28_IDX 92 -#define PIO_PC29_IDX 93 -#define PIO_PC30_IDX 94 -#define PIO_PC31_IDX 95 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD23_IDX 119 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD29_IDX 125 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 -#define PIO_PE0_IDX 128 -#define PIO_PE1_IDX 129 -#define PIO_PE2_IDX 130 -#define PIO_PE3_IDX 131 -#define PIO_PE4_IDX 132 -#define PIO_PE5_IDX 133 - -#endif /* _SAMS70Q20_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h deleted file mode 100644 index 25cb978..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h +++ /dev/null @@ -1,652 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q21_PIO_ -#define _SAMS70Q21_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA6 (1u << 6) /**< \brief Pin Controlled by PA6 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA29 (1u << 29) /**< \brief Pin Controlled by PA29 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PC0 (1u << 0) /**< \brief Pin Controlled by PC0 */ -#define PIO_PC1 (1u << 1) /**< \brief Pin Controlled by PC1 */ -#define PIO_PC2 (1u << 2) /**< \brief Pin Controlled by PC2 */ -#define PIO_PC3 (1u << 3) /**< \brief Pin Controlled by PC3 */ -#define PIO_PC4 (1u << 4) /**< \brief Pin Controlled by PC4 */ -#define PIO_PC5 (1u << 5) /**< \brief Pin Controlled by PC5 */ -#define PIO_PC6 (1u << 6) /**< \brief Pin Controlled by PC6 */ -#define PIO_PC7 (1u << 7) /**< \brief Pin Controlled by PC7 */ -#define PIO_PC8 (1u << 8) /**< \brief Pin Controlled by PC8 */ -#define PIO_PC9 (1u << 9) /**< \brief Pin Controlled by PC9 */ -#define PIO_PC10 (1u << 10) /**< \brief Pin Controlled by PC10 */ -#define PIO_PC11 (1u << 11) /**< \brief Pin Controlled by PC11 */ -#define PIO_PC12 (1u << 12) /**< \brief Pin Controlled by PC12 */ -#define PIO_PC13 (1u << 13) /**< \brief Pin Controlled by PC13 */ -#define PIO_PC14 (1u << 14) /**< \brief Pin Controlled by PC14 */ -#define PIO_PC15 (1u << 15) /**< \brief Pin Controlled by PC15 */ -#define PIO_PC16 (1u << 16) /**< \brief Pin Controlled by PC16 */ -#define PIO_PC17 (1u << 17) /**< \brief Pin Controlled by PC17 */ -#define PIO_PC18 (1u << 18) /**< \brief Pin Controlled by PC18 */ -#define PIO_PC19 (1u << 19) /**< \brief Pin Controlled by PC19 */ -#define PIO_PC20 (1u << 20) /**< \brief Pin Controlled by PC20 */ -#define PIO_PC21 (1u << 21) /**< \brief Pin Controlled by PC21 */ -#define PIO_PC22 (1u << 22) /**< \brief Pin Controlled by PC22 */ -#define PIO_PC23 (1u << 23) /**< \brief Pin Controlled by PC23 */ -#define PIO_PC24 (1u << 24) /**< \brief Pin Controlled by PC24 */ -#define PIO_PC25 (1u << 25) /**< \brief Pin Controlled by PC25 */ -#define PIO_PC26 (1u << 26) /**< \brief Pin Controlled by PC26 */ -#define PIO_PC27 (1u << 27) /**< \brief Pin Controlled by PC27 */ -#define PIO_PC28 (1u << 28) /**< \brief Pin Controlled by PC28 */ -#define PIO_PC29 (1u << 29) /**< \brief Pin Controlled by PC29 */ -#define PIO_PC30 (1u << 30) /**< \brief Pin Controlled by PC30 */ -#define PIO_PC31 (1u << 31) /**< \brief Pin Controlled by PC31 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD23 (1u << 23) /**< \brief Pin Controlled by PD23 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD29 (1u << 29) /**< \brief Pin Controlled by PD29 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -#define PIO_PE0 (1u << 0) /**< \brief Pin Controlled by PE0 */ -#define PIO_PE1 (1u << 1) /**< \brief Pin Controlled by PE1 */ -#define PIO_PE2 (1u << 2) /**< \brief Pin Controlled by PE2 */ -#define PIO_PE3 (1u << 3) /**< \brief Pin Controlled by PE3 */ -#define PIO_PE4 (1u << 4) /**< \brief Pin Controlled by PE4 */ -#define PIO_PE5 (1u << 5) /**< \brief Pin Controlled by PE5 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for EBI peripheral ========== */ -#define PIO_PC18A_A0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC18A_NBS0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC19A_A1 (1u << 19) /**< \brief Ebi signal: A1 */ -#define PIO_PC28A_A10 (1u << 28) /**< \brief Ebi signal: A10 */ -#define PIO_PC29A_A11 (1u << 29) /**< \brief Ebi signal: A11 */ -#define PIO_PC30A_A12 (1u << 30) /**< \brief Ebi signal: A12 */ -#define PIO_PC31A_A13 (1u << 31) /**< \brief Ebi signal: A13 */ -#define PIO_PA18C_A14 (1u << 18) /**< \brief Ebi signal: A14 */ -#define PIO_PA19C_A15 (1u << 19) /**< \brief Ebi signal: A15 */ -#define PIO_PA20C_A16 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA20C_BA0 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA0C_A17 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA0C_BA1 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA1C_A18 (1u << 1) /**< \brief Ebi signal: A18 */ -#define PIO_PA23C_A19 (1u << 23) /**< \brief Ebi signal: A19 */ -#define PIO_PC20A_A2 (1u << 20) /**< \brief Ebi signal: A2 */ -#define PIO_PA24C_A20 (1u << 24) /**< \brief Ebi signal: A20 */ -#define PIO_PC16A_A21 (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC16A_NANDALE (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC17A_A22 (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PC17A_NANDCLE (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PA25C_A23 (1u << 25) /**< \brief Ebi signal: A23 */ -#define PIO_PC21A_A3 (1u << 21) /**< \brief Ebi signal: A3 */ -#define PIO_PC22A_A4 (1u << 22) /**< \brief Ebi signal: A4 */ -#define PIO_PC23A_A5 (1u << 23) /**< \brief Ebi signal: A5 */ -#define PIO_PC24A_A6 (1u << 24) /**< \brief Ebi signal: A6 */ -#define PIO_PC25A_A7 (1u << 25) /**< \brief Ebi signal: A7 */ -#define PIO_PC26A_A8 (1u << 26) /**< \brief Ebi signal: A8 */ -#define PIO_PC27A_A9 (1u << 27) /**< \brief Ebi signal: A9 */ -#define PIO_PD17C_CAS (1u << 17) /**< \brief Ebi signal: CAS */ -#define PIO_PC0A_D0 (1u << 0) /**< \brief Ebi signal: D0 */ -#define PIO_PC1A_D1 (1u << 1) /**< \brief Ebi signal: D1 */ -#define PIO_PE2A_D10 (1u << 2) /**< \brief Ebi signal: D10 */ -#define PIO_PE3A_D11 (1u << 3) /**< \brief Ebi signal: D11 */ -#define PIO_PE4A_D12 (1u << 4) /**< \brief Ebi signal: D12 */ -#define PIO_PE5A_D13 (1u << 5) /**< \brief Ebi signal: D13 */ -#define PIO_PA15A_D14 (1u << 15) /**< \brief Ebi signal: D14 */ -#define PIO_PA16A_D15 (1u << 16) /**< \brief Ebi signal: D15 */ -#define PIO_PC2A_D2 (1u << 2) /**< \brief Ebi signal: D2 */ -#define PIO_PC3A_D3 (1u << 3) /**< \brief Ebi signal: D3 */ -#define PIO_PC4A_D4 (1u << 4) /**< \brief Ebi signal: D4 */ -#define PIO_PC5A_D5 (1u << 5) /**< \brief Ebi signal: D5 */ -#define PIO_PC6A_D6 (1u << 6) /**< \brief Ebi signal: D6 */ -#define PIO_PC7A_D7 (1u << 7) /**< \brief Ebi signal: D7 */ -#define PIO_PE0A_D8 (1u << 0) /**< \brief Ebi signal: D8 */ -#define PIO_PE1A_D9 (1u << 1) /**< \brief Ebi signal: D9 */ -#define PIO_PC9A_NANDOE (1u << 9) /**< \brief Ebi signal: NANDOE */ -#define PIO_PC10A_NANDWE (1u << 10) /**< \brief Ebi signal: NANDWE */ -#define PIO_PC14A_NCS0 (1u << 14) /**< \brief Ebi signal: NCS0 */ -#define PIO_PC15A_NCS1 (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PC15A_SDCS (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_NCS1 (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_SDCS (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PA22C_NCS2 (1u << 22) /**< \brief Ebi signal: NCS2 */ -#define PIO_PC12A_NCS3 (1u << 12) /**< \brief Ebi signal: NCS3 */ -#define PIO_PD19A_NCS3 (1u << 19) /**< \brief Ebi signal: NCS3 */ -#define PIO_PC11A_NRD (1u << 11) /**< \brief Ebi signal: NRD */ -#define PIO_PC13A_NWAIT (1u << 13) /**< \brief Ebi signal: NWAIT */ -#define PIO_PC8A_NWR0 (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PC8A_NWE (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PD15C_NWR1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD15C_NBS1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD16C_RAS (1u << 16) /**< \brief Ebi signal: RAS */ -#define PIO_PC13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD23C_SDCK (1u << 23) /**< \brief Ebi signal: SDCK */ -#define PIO_PD14C_SDCKE (1u << 14) /**< \brief Ebi signal: SDCKE */ -#define PIO_PD29C_SDWE (1u << 29) /**< \brief Ebi signal: SDWE */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC1 peripheral ========== */ -#define PIO_PC25B_TCLK3 (1u << 25) /**< \brief Tc1 signal: TCLK3 */ -#define PIO_PC28B_TCLK4 (1u << 28) /**< \brief Tc1 signal: TCLK4 */ -#define PIO_PC31B_TCLK5 (1u << 31) /**< \brief Tc1 signal: TCLK5 */ -#define PIO_PC23B_TIOA3 (1u << 23) /**< \brief Tc1 signal: TIOA3 */ -#define PIO_PC26B_TIOA4 (1u << 26) /**< \brief Tc1 signal: TIOA4 */ -#define PIO_PC29B_TIOA5 (1u << 29) /**< \brief Tc1 signal: TIOA5 */ -#define PIO_PC24B_TIOB3 (1u << 24) /**< \brief Tc1 signal: TIOB3 */ -#define PIO_PC27B_TIOB4 (1u << 27) /**< \brief Tc1 signal: TIOB4 */ -#define PIO_PC30B_TIOB5 (1u << 30) /**< \brief Tc1 signal: TIOB5 */ -/* ========== Pio definition for TC2 peripheral ========== */ -#define PIO_PC7B_TCLK6 (1u << 7) /**< \brief Tc2 signal: TCLK6 */ -#define PIO_PC10B_TCLK7 (1u << 10) /**< \brief Tc2 signal: TCLK7 */ -#define PIO_PC14B_TCLK8 (1u << 14) /**< \brief Tc2 signal: TCLK8 */ -#define PIO_PC5B_TIOA6 (1u << 5) /**< \brief Tc2 signal: TIOA6 */ -#define PIO_PC8B_TIOA7 (1u << 8) /**< \brief Tc2 signal: TIOA7 */ -#define PIO_PC11B_TIOA8 (1u << 11) /**< \brief Tc2 signal: TIOA8 */ -#define PIO_PC6B_TIOB6 (1u << 6) /**< \brief Tc2 signal: TIOB6 */ -#define PIO_PC9B_TIOB7 (1u << 9) /**< \brief Tc2 signal: TIOB7 */ -#define PIO_PC12B_TIOB8 (1u << 12) /**< \brief Tc2 signal: TIOB8 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA6_IDX 6 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA29_IDX 29 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PC0_IDX 64 -#define PIO_PC1_IDX 65 -#define PIO_PC2_IDX 66 -#define PIO_PC3_IDX 67 -#define PIO_PC4_IDX 68 -#define PIO_PC5_IDX 69 -#define PIO_PC6_IDX 70 -#define PIO_PC7_IDX 71 -#define PIO_PC8_IDX 72 -#define PIO_PC9_IDX 73 -#define PIO_PC10_IDX 74 -#define PIO_PC11_IDX 75 -#define PIO_PC12_IDX 76 -#define PIO_PC13_IDX 77 -#define PIO_PC14_IDX 78 -#define PIO_PC15_IDX 79 -#define PIO_PC16_IDX 80 -#define PIO_PC17_IDX 81 -#define PIO_PC18_IDX 82 -#define PIO_PC19_IDX 83 -#define PIO_PC20_IDX 84 -#define PIO_PC21_IDX 85 -#define PIO_PC22_IDX 86 -#define PIO_PC23_IDX 87 -#define PIO_PC24_IDX 88 -#define PIO_PC25_IDX 89 -#define PIO_PC26_IDX 90 -#define PIO_PC27_IDX 91 -#define PIO_PC28_IDX 92 -#define PIO_PC29_IDX 93 -#define PIO_PC30_IDX 94 -#define PIO_PC31_IDX 95 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD23_IDX 119 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD29_IDX 125 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 -#define PIO_PE0_IDX 128 -#define PIO_PE1_IDX 129 -#define PIO_PE2_IDX 130 -#define PIO_PE3_IDX 131 -#define PIO_PE4_IDX 132 -#define PIO_PE5_IDX 133 - -#endif /* _SAMS70Q21_PIO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70.h deleted file mode 100644 index aca1034..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70.h +++ /dev/null @@ -1,69 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef _SAMS70_ -#define _SAMS70_ - -#if defined (__SAMS70J19__) -#include "sams70j19.h" -#elif defined (__SAMS70J20__) -#include "sams70j20.h" -#elif defined (__SAMS70J21__) -#include "sams70j21.h" -#elif defined (__SAMS70N19__) -#include "sams70n19.h" -#elif defined (__SAMS70N20__) -#include "sams70n20.h" -#elif defined (__SAMS70N21__) -#include "sams70n21.h" -#elif defined (__SAMS70Q19__) -#include "sams70q19.h" -#elif defined (__SAMS70Q20__) -#include "sams70q20.h" -#elif defined (__SAMS70Q21__) -#include "sams70q21.h" -#else - #error Library does not support the specified device. -#endif - -#endif /* _SAMS70_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h deleted file mode 100644 index f4edaa2..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h +++ /dev/null @@ -1,618 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J19_ -#define _SAMS70J19_ - -/** \addtogroup SAMS70J19_definitions SAMS70J19 definitions - This file defines all structures and symbols for SAMS70J19: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70J19 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70J19 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70J19 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70J19 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70J19 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70J19 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70J19 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70J19 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70J19 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70J19 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70J19 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70J19 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70J19 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70J19 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70J19 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70J19 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70J19 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70J19 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70J19 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70J19 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70J19 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70J19 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70J19 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70J19 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70J19 Analog Front End 0 (AFEC0) */ - PWM0_IRQn = 31, /**< 31 SAMS70J19 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70J19 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70J19 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70J19 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70J19 Analog Front End 1 (AFEC1) */ - SPI1_IRQn = 42, /**< 42 SAMS70J19 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70J19 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70J19 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70J19 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70J19 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70J19 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70J19 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70J19 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70J19 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70J19 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70J19 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70J19 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70J19 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70J19 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pvReserved30; - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pvReserved41; - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70J19 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70J19 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70J19 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70J19 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70J19 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70J19 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70J19 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70J19 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70J19 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70j19.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x80000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (1024u) -#define IFLASH_NB_OF_LOCK_BITS (32u) -#define IRAM_SIZE (0x40000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA11D0A00UL) -#define CHIP_EXID (0x00000000UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70J19_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h deleted file mode 100644 index e2fd998..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h +++ /dev/null @@ -1,625 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J20_ -#define _SAMS70J20_ - -/** \addtogroup SAMS70J20_definitions SAMS70J20 definitions - This file defines all structures and symbols for SAMS70J20: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70J20 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70J20 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70J20 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70J20 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70J20 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70J20 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70J20 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70J20 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70J20 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70J20 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70J20 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70J20 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70J20 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70J20 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70J20 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70J20 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70J20 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70J20 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70J20 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70J20 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70J20 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70J20 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70J20 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70J20 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70J20 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70J20 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70J20 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70J20 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70J20 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70J20 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70J20 Analog Front End 1 (AFEC1) */ - SPI1_IRQn = 42, /**< 42 SAMS70J20 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70J20 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70J20 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70J20 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70J20 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70J20 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70J20 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70J20 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70J20 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70J20 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70J20 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70J20 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70J20 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70J20 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pvReserved41; - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70J20 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70J20 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70J20 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70J20 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70J20 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70J20 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70J20 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70J20 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70J20 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70j20.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x100000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (2048u) -#define IFLASH_NB_OF_LOCK_BITS (64u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120C00UL) -#define CHIP_EXID (0x00000000UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70J20_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h deleted file mode 100644 index b554f03..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h +++ /dev/null @@ -1,625 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J21_ -#define _SAMS70J21_ - -/** \addtogroup SAMS70J21_definitions SAMS70J21 definitions - This file defines all structures and symbols for SAMS70J21: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70J21 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70J21 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70J21 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70J21 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70J21 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70J21 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70J21 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70J21 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70J21 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70J21 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70J21 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70J21 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70J21 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70J21 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70J21 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70J21 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70J21 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70J21 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70J21 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70J21 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70J21 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70J21 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70J21 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70J21 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70J21 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70J21 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70J21 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70J21 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70J21 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70J21 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70J21 Analog Front End 1 (AFEC1) */ - SPI1_IRQn = 42, /**< 42 SAMS70J21 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70J21 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70J21 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70J21 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70J21 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70J21 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70J21 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70J21 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70J21 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70J21 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70J21 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70J21 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70J21 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70J21 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pvReserved41; - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70J21 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70J21 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70J21 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70J21 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70J21 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70J21 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70J21 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70J21 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70J21 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70j21.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x200000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (4096u) -#define IFLASH_NB_OF_LOCK_BITS (128u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120E00UL) -#define CHIP_EXID (0x00000000UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70J21_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h deleted file mode 100644 index 1957933..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h +++ /dev/null @@ -1,631 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N19_ -#define _SAMS70N19_ - -/** \addtogroup SAMS70N19_definitions SAMS70N19 definitions - This file defines all structures and symbols for SAMS70N19: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70N19 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70N19 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70N19 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70N19 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70N19 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70N19 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70N19 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70N19 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70N19 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70N19 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70N19 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70N19 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70N19 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70N19 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70N19 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70N19 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70N19 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70N19 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70N19 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70N19 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70N19 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70N19 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70N19 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70N19 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70N19 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70N19 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70N19 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70N19 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70N19 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70N19 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70N19 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70N19 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70N19 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70N19 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70N19 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70N19 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70N19 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70N19 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70N19 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70N19 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70N19 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70N19 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70N19 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70N19 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70N19 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70N19 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70N19 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70N19 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70N19 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70N19 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70N19 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70N19 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70N19 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70N19 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70N19 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70n19.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x80000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (1024u) -#define IFLASH_NB_OF_LOCK_BITS (32u) -#define IRAM_SIZE (0x40000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA11D0A00UL) -#define CHIP_EXID (0x00000001UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70N19_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h deleted file mode 100644 index fabfc0c..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h +++ /dev/null @@ -1,624 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N20_ -#define _SAMS70N20_ - -/** \addtogroup SAMS70N20_definitions SAMS70N20 definitions - This file defines all structures and symbols for SAMS70N20: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70N20 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70N20 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70N20 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70N20 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70N20 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70N20 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70N20 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70N20 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70N20 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70N20 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70N20 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70N20 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70N20 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70N20 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70N20 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70N20 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70N20 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70N20 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70N20 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70N20 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70N20 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70N20 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70N20 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70N20 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70N20 Analog Front End 0 (AFEC0) */ - PWM0_IRQn = 31, /**< 31 SAMS70N20 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70N20 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70N20 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70N20 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70N20 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70N20 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70N20 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70N20 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70N20 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70N20 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70N20 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70N20 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70N20 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70N20 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70N20 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70N20 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70N20 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70N20 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70N20 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70N20 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pvReserved30; - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70N20 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70N20 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70N20 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70N20 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70N20 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70N20 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70N20 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70N20 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70N20 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70n20.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x100000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (2048u) -#define IFLASH_NB_OF_LOCK_BITS (64u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120C00UL) -#define CHIP_EXID (0x00000001UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70N20_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h deleted file mode 100644 index 2e98fd9..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h +++ /dev/null @@ -1,624 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N21_ -#define _SAMS70N21_ - -/** \addtogroup SAMS70N21_definitions SAMS70N21 definitions - This file defines all structures and symbols for SAMS70N21: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70N21 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70N21 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70N21 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70N21 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70N21 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70N21 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70N21 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70N21 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70N21 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70N21 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70N21 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70N21 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70N21 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70N21 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70N21 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70N21 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70N21 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70N21 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70N21 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70N21 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70N21 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70N21 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70N21 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70N21 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70N21 Analog Front End 0 (AFEC0) */ - PWM0_IRQn = 31, /**< 31 SAMS70N21 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70N21 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70N21 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70N21 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70N21 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70N21 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70N21 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70N21 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70N21 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70N21 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70N21 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70N21 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70N21 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70N21 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70N21 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70N21 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70N21 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70N21 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70N21 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70N21 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pvReserved30; - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70N21 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70N21 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70N21 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70N21 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70N21 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70N21 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70N21 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70N21 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70N21 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70n21.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x200000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (4096u) -#define IFLASH_NB_OF_LOCK_BITS (128u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120E00UL) -#define CHIP_EXID (0x00000001UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70N21_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h deleted file mode 100644 index ef33389..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h +++ /dev/null @@ -1,679 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q19_ -#define _SAMS70Q19_ - -/** \addtogroup SAMS70Q19_definitions SAMS70Q19 definitions - This file defines all structures and symbols for SAMS70Q19: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70Q19 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70Q19 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70Q19 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70Q19 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70Q19 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70Q19 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70Q19 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70Q19 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70Q19 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70Q19 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70Q19 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70Q19 Parallel I/O Controller B (PIOB) */ - PIOC_IRQn = 12, /**< 12 SAMS70Q19 Parallel I/O Controller C (PIOC) */ - USART0_IRQn = 13, /**< 13 SAMS70Q19 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70Q19 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70Q19 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70Q19 Parallel I/O Controller D (PIOD) */ - PIOE_IRQn = 17, /**< 17 SAMS70Q19 Parallel I/O Controller E (PIOE) */ - HSMCI_IRQn = 18, /**< 18 SAMS70Q19 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70Q19 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70Q19 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70Q19 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70Q19 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70Q19 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70Q19 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70Q19 Timer/Counter 2 (TC2) */ - TC3_IRQn = 26, /**< 26 SAMS70Q19 Timer/Counter 3 (TC3) */ - TC4_IRQn = 27, /**< 27 SAMS70Q19 Timer/Counter 4 (TC4) */ - TC5_IRQn = 28, /**< 28 SAMS70Q19 Timer/Counter 5 (TC5) */ - AFEC0_IRQn = 29, /**< 29 SAMS70Q19 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70Q19 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70Q19 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70Q19 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70Q19 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70Q19 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70Q19 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70Q19 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70Q19 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70Q19 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70Q19 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70Q19 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70Q19 UART 4 (UART4) */ - TC6_IRQn = 47, /**< 47 SAMS70Q19 Timer/Counter 6 (TC6) */ - TC7_IRQn = 48, /**< 48 SAMS70Q19 Timer/Counter 7 (TC7) */ - TC8_IRQn = 49, /**< 49 SAMS70Q19 Timer/Counter 8 (TC8) */ - TC9_IRQn = 50, /**< 50 SAMS70Q19 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70Q19 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70Q19 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70Q19 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70Q19 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70Q19 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70Q19 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70Q19 Pulse Width Modulation 1 (PWM1) */ - SDRAMC_IRQn = 62, /**< 62 SAMS70Q19 SDRAM Controller (SDRAMC) */ - RSWDT_IRQn = 63, /**< 63 SAMS70Q19 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pfnPIOC_Handler; /* 12 Parallel I/O Controller C */ - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pfnPIOE_Handler; /* 17 Parallel I/O Controller E */ - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pfnTC3_Handler; /* 26 Timer/Counter 3 */ - void* pfnTC4_Handler; /* 27 Timer/Counter 4 */ - void* pfnTC5_Handler; /* 28 Timer/Counter 5 */ - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pfnTC6_Handler; /* 47 Timer/Counter 6 */ - void* pfnTC7_Handler; /* 48 Timer/Counter 7 */ - void* pfnTC8_Handler; /* 49 Timer/Counter 8 */ - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pfnSDRAMC_Handler; /* 62 SDRAM Controller */ - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOC_Handler ( void ); -void PIOD_Handler ( void ); -void PIOE_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SDRAMC_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void TC8_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70Q19 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70Q19 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70Q19 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70Q19 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70Q19 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70Q19 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70Q19 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70Q19 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70Q19 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/sdramc.h" -#include "component/smc.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/smc.h" -#include "instance/sdramc.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/pioc.h" -#include "instance/piod.h" -#include "instance/pioe.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_SMC ( 9) /**< \brief Static Memory Controller (SMC) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_PIOC (12) /**< \brief Parallel I/O Controller C (PIOC) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_PIOE (17) /**< \brief Parallel I/O Controller E (PIOE) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_TC3 (26) /**< \brief Timer/Counter 3 (TC3) */ -#define ID_TC4 (27) /**< \brief Timer/Counter 4 (TC4) */ -#define ID_TC5 (28) /**< \brief Timer/Counter 5 (TC5) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC6 (47) /**< \brief Timer/Counter 6 (TC6) */ -#define ID_TC7 (48) /**< \brief Timer/Counter 7 (TC7) */ -#define ID_TC8 (49) /**< \brief Timer/Counter 8 (TC8) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_SDRAMC (62) /**< \brief SDRAM Controller (SDRAMC) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 (0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 (0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC (0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC (0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC (0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE (0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 ((Tc *)0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 ((Tc *)0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC ((Smc *)0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC ((Sdramc *)0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC ((Pio *)0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE ((Pio *)0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70q19.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x80000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (1024u) -#define IFLASH_NB_OF_LOCK_BITS (32u) -#define IRAM_SIZE (0x40000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA11D0A00UL) -#define CHIP_EXID (0x00000002UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70Q19_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h deleted file mode 100644 index bfadf15..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h +++ /dev/null @@ -1,679 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q20_ -#define _SAMS70Q20_ - -/** \addtogroup SAMS70Q20_definitions SAMS70Q20 definitions - This file defines all structures and symbols for SAMS70Q20: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70Q20 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70Q20 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70Q20 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70Q20 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70Q20 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70Q20 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70Q20 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70Q20 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70Q20 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70Q20 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70Q20 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70Q20 Parallel I/O Controller B (PIOB) */ - PIOC_IRQn = 12, /**< 12 SAMS70Q20 Parallel I/O Controller C (PIOC) */ - USART0_IRQn = 13, /**< 13 SAMS70Q20 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70Q20 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70Q20 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70Q20 Parallel I/O Controller D (PIOD) */ - PIOE_IRQn = 17, /**< 17 SAMS70Q20 Parallel I/O Controller E (PIOE) */ - HSMCI_IRQn = 18, /**< 18 SAMS70Q20 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70Q20 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70Q20 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70Q20 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70Q20 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70Q20 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70Q20 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70Q20 Timer/Counter 2 (TC2) */ - TC3_IRQn = 26, /**< 26 SAMS70Q20 Timer/Counter 3 (TC3) */ - TC4_IRQn = 27, /**< 27 SAMS70Q20 Timer/Counter 4 (TC4) */ - TC5_IRQn = 28, /**< 28 SAMS70Q20 Timer/Counter 5 (TC5) */ - AFEC0_IRQn = 29, /**< 29 SAMS70Q20 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70Q20 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70Q20 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70Q20 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70Q20 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70Q20 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70Q20 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70Q20 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70Q20 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70Q20 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70Q20 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70Q20 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70Q20 UART 4 (UART4) */ - TC6_IRQn = 47, /**< 47 SAMS70Q20 Timer/Counter 6 (TC6) */ - TC7_IRQn = 48, /**< 48 SAMS70Q20 Timer/Counter 7 (TC7) */ - TC8_IRQn = 49, /**< 49 SAMS70Q20 Timer/Counter 8 (TC8) */ - TC9_IRQn = 50, /**< 50 SAMS70Q20 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70Q20 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70Q20 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70Q20 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70Q20 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70Q20 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70Q20 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70Q20 Pulse Width Modulation 1 (PWM1) */ - SDRAMC_IRQn = 62, /**< 62 SAMS70Q20 SDRAM Controller (SDRAMC) */ - RSWDT_IRQn = 63, /**< 63 SAMS70Q20 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pfnPIOC_Handler; /* 12 Parallel I/O Controller C */ - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pfnPIOE_Handler; /* 17 Parallel I/O Controller E */ - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pfnTC3_Handler; /* 26 Timer/Counter 3 */ - void* pfnTC4_Handler; /* 27 Timer/Counter 4 */ - void* pfnTC5_Handler; /* 28 Timer/Counter 5 */ - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pfnTC6_Handler; /* 47 Timer/Counter 6 */ - void* pfnTC7_Handler; /* 48 Timer/Counter 7 */ - void* pfnTC8_Handler; /* 49 Timer/Counter 8 */ - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pfnSDRAMC_Handler; /* 62 SDRAM Controller */ - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOC_Handler ( void ); -void PIOD_Handler ( void ); -void PIOE_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SDRAMC_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void TC8_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70Q20 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70Q20 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70Q20 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70Q20 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70Q20 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70Q20 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70Q20 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70Q20 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70Q20 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/sdramc.h" -#include "component/smc.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/smc.h" -#include "instance/sdramc.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/pioc.h" -#include "instance/piod.h" -#include "instance/pioe.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_SMC ( 9) /**< \brief Static Memory Controller (SMC) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_PIOC (12) /**< \brief Parallel I/O Controller C (PIOC) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_PIOE (17) /**< \brief Parallel I/O Controller E (PIOE) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_TC3 (26) /**< \brief Timer/Counter 3 (TC3) */ -#define ID_TC4 (27) /**< \brief Timer/Counter 4 (TC4) */ -#define ID_TC5 (28) /**< \brief Timer/Counter 5 (TC5) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC6 (47) /**< \brief Timer/Counter 6 (TC6) */ -#define ID_TC7 (48) /**< \brief Timer/Counter 7 (TC7) */ -#define ID_TC8 (49) /**< \brief Timer/Counter 8 (TC8) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_SDRAMC (62) /**< \brief SDRAM Controller (SDRAMC) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 (0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 (0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC (0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC (0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC (0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE (0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 ((Tc *)0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 ((Tc *)0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC ((Smc *)0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC ((Sdramc *)0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC ((Pio *)0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE ((Pio *)0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70q20.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x100000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (2048u) -#define IFLASH_NB_OF_LOCK_BITS (64u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120C00UL) -#define CHIP_EXID (0x00000002UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70Q20_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h deleted file mode 100644 index 10bb674..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h +++ /dev/null @@ -1,679 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q21_ -#define _SAMS70Q21_ - -/** \addtogroup SAMS70Q21_definitions SAMS70Q21 definitions - This file defines all structures and symbols for SAMS70Q21: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70Q21 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70Q21 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70Q21 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70Q21 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70Q21 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70Q21 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70Q21 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70Q21 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70Q21 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70Q21 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70Q21 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70Q21 Parallel I/O Controller B (PIOB) */ - PIOC_IRQn = 12, /**< 12 SAMS70Q21 Parallel I/O Controller C (PIOC) */ - USART0_IRQn = 13, /**< 13 SAMS70Q21 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70Q21 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70Q21 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70Q21 Parallel I/O Controller D (PIOD) */ - PIOE_IRQn = 17, /**< 17 SAMS70Q21 Parallel I/O Controller E (PIOE) */ - HSMCI_IRQn = 18, /**< 18 SAMS70Q21 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70Q21 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70Q21 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70Q21 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70Q21 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70Q21 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70Q21 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70Q21 Timer/Counter 2 (TC2) */ - TC3_IRQn = 26, /**< 26 SAMS70Q21 Timer/Counter 3 (TC3) */ - TC4_IRQn = 27, /**< 27 SAMS70Q21 Timer/Counter 4 (TC4) */ - TC5_IRQn = 28, /**< 28 SAMS70Q21 Timer/Counter 5 (TC5) */ - AFEC0_IRQn = 29, /**< 29 SAMS70Q21 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70Q21 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70Q21 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70Q21 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70Q21 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70Q21 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70Q21 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70Q21 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70Q21 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70Q21 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70Q21 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70Q21 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70Q21 UART 4 (UART4) */ - TC6_IRQn = 47, /**< 47 SAMS70Q21 Timer/Counter 6 (TC6) */ - TC7_IRQn = 48, /**< 48 SAMS70Q21 Timer/Counter 7 (TC7) */ - TC8_IRQn = 49, /**< 49 SAMS70Q21 Timer/Counter 8 (TC8) */ - TC9_IRQn = 50, /**< 50 SAMS70Q21 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70Q21 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70Q21 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70Q21 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70Q21 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70Q21 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70Q21 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70Q21 Pulse Width Modulation 1 (PWM1) */ - SDRAMC_IRQn = 62, /**< 62 SAMS70Q21 SDRAM Controller (SDRAMC) */ - RSWDT_IRQn = 63, /**< 63 SAMS70Q21 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pfnPIOC_Handler; /* 12 Parallel I/O Controller C */ - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pfnPIOE_Handler; /* 17 Parallel I/O Controller E */ - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pfnTC3_Handler; /* 26 Timer/Counter 3 */ - void* pfnTC4_Handler; /* 27 Timer/Counter 4 */ - void* pfnTC5_Handler; /* 28 Timer/Counter 5 */ - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pfnTC6_Handler; /* 47 Timer/Counter 6 */ - void* pfnTC7_Handler; /* 48 Timer/Counter 7 */ - void* pfnTC8_Handler; /* 49 Timer/Counter 8 */ - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pfnSDRAMC_Handler; /* 62 SDRAM Controller */ - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOC_Handler ( void ); -void PIOD_Handler ( void ); -void PIOE_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SDRAMC_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void TC8_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70Q21 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70Q21 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70Q21 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70Q21 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70Q21 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70Q21 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70Q21 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70Q21 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70Q21 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/sdramc.h" -#include "component/smc.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/smc.h" -#include "instance/sdramc.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/pioc.h" -#include "instance/piod.h" -#include "instance/pioe.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_SMC ( 9) /**< \brief Static Memory Controller (SMC) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_PIOC (12) /**< \brief Parallel I/O Controller C (PIOC) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_PIOE (17) /**< \brief Parallel I/O Controller E (PIOE) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_TC3 (26) /**< \brief Timer/Counter 3 (TC3) */ -#define ID_TC4 (27) /**< \brief Timer/Counter 4 (TC4) */ -#define ID_TC5 (28) /**< \brief Timer/Counter 5 (TC5) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC6 (47) /**< \brief Timer/Counter 6 (TC6) */ -#define ID_TC7 (48) /**< \brief Timer/Counter 7 (TC7) */ -#define ID_TC8 (49) /**< \brief Timer/Counter 8 (TC8) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_SDRAMC (62) /**< \brief SDRAM Controller (SDRAMC) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 (0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 (0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC (0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC (0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC (0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE (0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 ((Tc *)0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 ((Tc *)0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC ((Smc *)0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC ((Sdramc *)0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC ((Pio *)0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE ((Pio *)0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70q21.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x200000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (4096u) -#define IFLASH_NB_OF_LOCK_BITS (128u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120E00UL) -#define CHIP_EXID (0x00000002UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70Q21_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c deleted file mode 100644 index b7e19af..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c +++ /dev/null @@ -1,334 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "sams70.h" - -/* Initialize segments */ -extern uint32_t _sfixed; -extern uint32_t _efixed; -extern uint32_t _etext; -extern uint32_t _srelocate; -extern uint32_t _erelocate; -extern uint32_t _szero; -extern uint32_t _ezero; -extern uint32_t _sstack; -extern uint32_t _estack; - -/** \cond DOXYGEN_SHOULD_SKIP_THIS */ -int main(void); -/** \endcond */ - -void __libc_init_array(void); - -/* Default empty handler */ -void Dummy_Handler(void); - -/* Cortex-M7 core handlers */ -void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void MemManage_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void BusFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UsageFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void DebugMon_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); - -/* Peripherals handlers */ -void SUPC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void RSTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void RTT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void EFC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PIOA_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PIOB_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_PIOC_INSTANCE_ -void PIOC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_PIOC_INSTANCE_ */ -void USART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void USART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void USART2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PIOD_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_PIOE_INSTANCE_ -void PIOE_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_PIOE_INSTANCE_ */ -void HSMCI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TWIHS0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TWIHS1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SPI0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SSC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_TC1_INSTANCE_ -void TC3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ -void TC4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ -void TC5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC1_INSTANCE_ */ -void AFEC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_DACC_INSTANCE_ -void DACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_DACC_INSTANCE_ */ -void PWM0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void ICM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void ACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void USBHS_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void AFEC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_TWIHS2_INSTANCE_ -void TWIHS2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TWIHS2_INSTANCE_ */ -void SPI1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void QSPI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_TC2_INSTANCE_ -void TC6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ -void TC7_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ -void TC8_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC2_INSTANCE_ */ -void TC9_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC10_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC11_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void AES_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TRNG_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void XDMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void ISI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PWM1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_SDRAMC_INSTANCE_ -void SDRAMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_SDRAMC_INSTANCE_ */ -void RSWDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); - -/* Exception Table */ -__attribute__ ((section(".vectors"))) -const DeviceVectors exception_table = { - - /* Configure Initial Stack Pointer, using linker-generated symbols */ - .pvStack = (void*) (&_estack), - - .pfnReset_Handler = (void*) Reset_Handler, - .pfnNMI_Handler = (void*) NMI_Handler, - .pfnHardFault_Handler = (void*) HardFault_Handler, - .pfnMemManage_Handler = (void*) MemManage_Handler, - .pfnBusFault_Handler = (void*) BusFault_Handler, - .pfnUsageFault_Handler = (void*) UsageFault_Handler, - .pfnReserved1_Handler = (void*) (0UL), /* Reserved */ - .pfnReserved2_Handler = (void*) (0UL), /* Reserved */ - .pfnReserved3_Handler = (void*) (0UL), /* Reserved */ - .pfnReserved4_Handler = (void*) (0UL), /* Reserved */ - .pfnSVC_Handler = (void*) SVC_Handler, - .pfnDebugMon_Handler = (void*) DebugMon_Handler, - .pfnReserved5_Handler = (void*) (0UL), /* Reserved */ - .pfnPendSV_Handler = (void*) PendSV_Handler, - .pfnSysTick_Handler = (void*) SysTick_Handler, - - /* Configurable interrupts */ - .pfnSUPC_Handler = (void*) SUPC_Handler, /* 0 Supply Controller */ - .pfnRSTC_Handler = (void*) RSTC_Handler, /* 1 Reset Controller */ - .pfnRTC_Handler = (void*) RTC_Handler, /* 2 Real Time Clock */ - .pfnRTT_Handler = (void*) RTT_Handler, /* 3 Real Time Timer */ - .pfnWDT_Handler = (void*) WDT_Handler, /* 4 Watchdog Timer */ - .pfnPMC_Handler = (void*) PMC_Handler, /* 5 Power Management Controller */ - .pfnEFC_Handler = (void*) EFC_Handler, /* 6 Enhanced Embedded Flash Controller */ - .pfnUART0_Handler = (void*) UART0_Handler, /* 7 UART 0 */ - .pfnUART1_Handler = (void*) UART1_Handler, /* 8 UART 1 */ - .pvReserved9 = (void*) (0UL), /* 9 Reserved */ - .pfnPIOA_Handler = (void*) PIOA_Handler, /* 10 Parallel I/O Controller A */ - .pfnPIOB_Handler = (void*) PIOB_Handler, /* 11 Parallel I/O Controller B */ -#ifdef _SAMS70_PIOC_INSTANCE_ - .pfnPIOC_Handler = (void*) PIOC_Handler, /* 12 Parallel I/O Controller C */ -#else - .pvReserved12 = (void*) (0UL), /* 12 Reserved */ -#endif /* _SAMS70_PIOC_INSTANCE_ */ - .pfnUSART0_Handler = (void*) USART0_Handler, /* 13 USART 0 */ - .pfnUSART1_Handler = (void*) USART1_Handler, /* 14 USART 1 */ - .pfnUSART2_Handler = (void*) USART2_Handler, /* 15 USART 2 */ - .pfnPIOD_Handler = (void*) PIOD_Handler, /* 16 Parallel I/O Controller D */ -#ifdef _SAMS70_PIOE_INSTANCE_ - .pfnPIOE_Handler = (void*) PIOE_Handler, /* 17 Parallel I/O Controller E */ -#else - .pvReserved17 = (void*) (0UL), /* 17 Reserved */ -#endif /* _SAMS70_PIOE_INSTANCE_ */ - .pfnHSMCI_Handler = (void*) HSMCI_Handler, /* 18 Multimedia Card Interface */ - .pfnTWIHS0_Handler = (void*) TWIHS0_Handler, /* 19 Two Wire Interface 0 HS */ - .pfnTWIHS1_Handler = (void*) TWIHS1_Handler, /* 20 Two Wire Interface 1 HS */ - .pfnSPI0_Handler = (void*) SPI0_Handler, /* 21 Serial Peripheral Interface 0 */ - .pfnSSC_Handler = (void*) SSC_Handler, /* 22 Synchronous Serial Controller */ - .pfnTC0_Handler = (void*) TC0_Handler, /* 23 Timer/Counter 0 */ - .pfnTC1_Handler = (void*) TC1_Handler, /* 24 Timer/Counter 1 */ - .pfnTC2_Handler = (void*) TC2_Handler, /* 25 Timer/Counter 2 */ -#ifdef _SAMS70_TC1_INSTANCE_ - .pfnTC3_Handler = (void*) TC3_Handler, /* 26 Timer/Counter 3 */ -#else - .pvReserved26 = (void*) (0UL), /* 26 Reserved */ -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ - .pfnTC4_Handler = (void*) TC4_Handler, /* 27 Timer/Counter 4 */ -#else - .pvReserved27 = (void*) (0UL), /* 27 Reserved */ -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ - .pfnTC5_Handler = (void*) TC5_Handler, /* 28 Timer/Counter 5 */ -#else - .pvReserved28 = (void*) (0UL), /* 28 Reserved */ -#endif /* _SAMS70_TC1_INSTANCE_ */ - .pfnAFEC0_Handler = (void*) AFEC0_Handler, /* 29 Analog Front End 0 */ -#ifdef _SAMS70_DACC_INSTANCE_ - .pfnDACC_Handler = (void*) DACC_Handler, /* 30 Digital To Analog Converter */ -#else - .pvReserved30 = (void*) (0UL), /* 30 Reserved */ -#endif /* _SAMS70_DACC_INSTANCE_ */ - .pfnPWM0_Handler = (void*) PWM0_Handler, /* 31 Pulse Width Modulation 0 */ - .pfnICM_Handler = (void*) ICM_Handler, /* 32 Integrity Check Monitor */ - .pfnACC_Handler = (void*) ACC_Handler, /* 33 Analog Comparator */ - .pfnUSBHS_Handler = (void*) USBHS_Handler, /* 34 USB Host / Device Controller */ - .pvReserved35 = (void*) (0UL), /* 35 Reserved */ - .pvReserved36 = (void*) (0UL), /* 36 Reserved */ - .pvReserved37 = (void*) (0UL), /* 37 Reserved */ - .pvReserved38 = (void*) (0UL), /* 38 Reserved */ - .pvReserved39 = (void*) (0UL), /* 39 Reserved */ - .pfnAFEC1_Handler = (void*) AFEC1_Handler, /* 40 Analog Front End 1 */ -#ifdef _SAMS70_TWIHS2_INSTANCE_ - .pfnTWIHS2_Handler = (void*) TWIHS2_Handler, /* 41 Two Wire Interface 2 HS */ -#else - .pvReserved41 = (void*) (0UL), /* 41 Reserved */ -#endif /* _SAMS70_TWIHS2_INSTANCE_ */ - .pfnSPI1_Handler = (void*) SPI1_Handler, /* 42 Serial Peripheral Interface 1 */ - .pfnQSPI_Handler = (void*) QSPI_Handler, /* 43 Quad I/O Serial Peripheral Interface */ - .pfnUART2_Handler = (void*) UART2_Handler, /* 44 UART 2 */ - .pfnUART3_Handler = (void*) UART3_Handler, /* 45 UART 3 */ - .pfnUART4_Handler = (void*) UART4_Handler, /* 46 UART 4 */ -#ifdef _SAMS70_TC2_INSTANCE_ - .pfnTC6_Handler = (void*) TC6_Handler, /* 47 Timer/Counter 6 */ -#else - .pvReserved47 = (void*) (0UL), /* 47 Reserved */ -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ - .pfnTC7_Handler = (void*) TC7_Handler, /* 48 Timer/Counter 7 */ -#else - .pvReserved48 = (void*) (0UL), /* 48 Reserved */ -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ - .pfnTC8_Handler = (void*) TC8_Handler, /* 49 Timer/Counter 8 */ -#else - .pvReserved49 = (void*) (0UL), /* 49 Reserved */ -#endif /* _SAMS70_TC2_INSTANCE_ */ - .pfnTC9_Handler = (void*) TC9_Handler, /* 50 Timer/Counter 9 */ - .pfnTC10_Handler = (void*) TC10_Handler, /* 51 Timer/Counter 10 */ - .pfnTC11_Handler = (void*) TC11_Handler, /* 52 Timer/Counter 11 */ - .pvReserved53 = (void*) (0UL), /* 53 Reserved */ - .pvReserved54 = (void*) (0UL), /* 54 Reserved */ - .pvReserved55 = (void*) (0UL), /* 55 Reserved */ - .pfnAES_Handler = (void*) AES_Handler, /* 56 AES */ - .pfnTRNG_Handler = (void*) TRNG_Handler, /* 57 True Random Generator */ - .pfnXDMAC_Handler = (void*) XDMAC_Handler, /* 58 DMA */ - .pfnISI_Handler = (void*) ISI_Handler, /* 59 Camera Interface */ - .pfnPWM1_Handler = (void*) PWM1_Handler, /* 60 Pulse Width Modulation 1 */ - .pvReserved61 = (void*) (0UL), /* 61 Reserved */ -#ifdef _SAMS70_SDRAMC_INSTANCE_ - .pfnSDRAMC_Handler = (void*) SDRAMC_Handler, /* 62 SDRAM Controller */ -#else - .pvReserved62 = (void*) (0UL), /* 62 Reserved */ -#endif /* _SAMS70_SDRAMC_INSTANCE_ */ - .pfnRSWDT_Handler = (void*) RSWDT_Handler /* 63 Reinforced Secure Watchdog Timer */ -}; - -/** - * \brief This is the code that gets called on processor reset. - * To initialize the device, and call the main() routine. - */ -void Reset_Handler(void) -{ - uint32_t *pSrc, *pDest; - - /* Initialize the relocate segment */ - pSrc = &_etext; - pDest = &_srelocate; - - if (pSrc != pDest) { - for (; pDest < &_erelocate;) { - *pDest++ = *pSrc++; - } - } - - /* Clear the zero segment */ - for (pDest = &_szero; pDest < &_ezero;) { - *pDest++ = 0; - } - - /* Set the vector table base address */ - pSrc = (uint32_t *) & _sfixed; - SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); - - /* Initialize the C library */ - __libc_init_array(); - - /* Branch to main function */ - main(); - - /* Infinite loop */ - while (1); -} - -/** - * \brief Default interrupt handler for unused IRQs. - */ -void Dummy_Handler(void) -{ - while (1) { - } -} diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c deleted file mode 100644 index 0f7215a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c +++ /dev/null @@ -1,265 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "sams70.h" - -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/* @endcond */ - -/* %ATMEL_SYSTEM% */ -/* Clock Settings (600MHz PLL VDDIO 3.3V and VDDCORE 1.2V) */ -/* Clock Settings (300MHz HCLK, 150MHz MCK)=> PRESC = 2, MDIV = 2 */ -#define SYS_BOARD_OSCOUNT (CKGR_MOR_MOSCXTST(0x8U)) -#define SYS_BOARD_PLLAR (CKGR_PLLAR_ONE | CKGR_PLLAR_MULA(0x31U) | \ - CKGR_PLLAR_PLLACOUNT(0x3fU) | CKGR_PLLAR_DIVA(0x1U)) -#define SYS_BOARD_MCKR (PMC_MCKR_PRES_CLK_2 | PMC_MCKR_CSS_PLLA_CLK | (1<<8)) - -uint32_t SystemCoreClock = CHIP_FREQ_MAINCK_RC_4MHZ; - -/** - * \brief Setup the microcontroller system. - * Initialize the System and update the SystemFrequency variable. - */ - void SystemInit( void ) -{ - /* Set FWS according to SYS_BOARD_MCKR configuration */ - EFC->EEFC_FMR = EEFC_FMR_FWS(5); - - /* Initialize main oscillator */ - if ( !(PMC->CKGR_MOR & CKGR_MOR_MOSCSEL) ) - { - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | SYS_BOARD_OSCOUNT | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN; - - while ( !(PMC->PMC_SR & PMC_SR_MOSCXTS) ) - { - } - } - - /* Switch to 3-20MHz Xtal oscillator */ - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | SYS_BOARD_OSCOUNT | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN | CKGR_MOR_MOSCSEL; - - while ( !(PMC->PMC_SR & PMC_SR_MOSCSELS) ) - { - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & ~(uint32_t)PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK; - - while ( !(PMC->PMC_SR & PMC_SR_MCKRDY) ) - { - } - - /* Initialize PLLA */ - PMC->CKGR_PLLAR = SYS_BOARD_PLLAR; - while ( !(PMC->PMC_SR & PMC_SR_LOCKA) ) - { - } - - /* Switch to main clock */ - PMC->PMC_MCKR = (SYS_BOARD_MCKR & ~PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK; - while ( !(PMC->PMC_SR & PMC_SR_MCKRDY) ) - { - } - - /* Switch to PLLA */ - PMC->PMC_MCKR = SYS_BOARD_MCKR; - while ( !(PMC->PMC_SR & PMC_SR_MCKRDY) ) - { - } - - SystemCoreClock = CHIP_FREQ_CPU_MAX; -} - -void SystemCoreClockUpdate( void ) -{ - /* Determine clock frequency according to clock register values */ - switch (PMC->PMC_MCKR & (uint32_t) PMC_MCKR_CSS_Msk) - { - case PMC_MCKR_CSS_SLOW_CLK: /* Slow clock */ - if ( SUPC->SUPC_SR & SUPC_SR_OSCSEL ) - { - SystemCoreClock = CHIP_FREQ_XTAL_32K; - } - else - { - SystemCoreClock = CHIP_FREQ_SLCK_RC; - } - break; - - case PMC_MCKR_CSS_MAIN_CLK: /* Main clock */ - if ( PMC->CKGR_MOR & CKGR_MOR_MOSCSEL ) - { - SystemCoreClock = CHIP_FREQ_XTAL_12M; - } - else - { - SystemCoreClock = CHIP_FREQ_MAINCK_RC_4MHZ; - - switch ( PMC->CKGR_MOR & CKGR_MOR_MOSCRCF_Msk ) - { - case CKGR_MOR_MOSCRCF_4_MHz: - break; - - case CKGR_MOR_MOSCRCF_8_MHz: - SystemCoreClock *= 2U; - break; - - case CKGR_MOR_MOSCRCF_12_MHz: - SystemCoreClock *= 3U; - break; - - default: - break; - } - } - break; - - case PMC_MCKR_CSS_PLLA_CLK: /* PLLA clock */ - if ( PMC->CKGR_MOR & CKGR_MOR_MOSCSEL ) - { - SystemCoreClock = CHIP_FREQ_XTAL_12M ; - } - else - { - SystemCoreClock = CHIP_FREQ_MAINCK_RC_4MHZ; - - switch ( PMC->CKGR_MOR & CKGR_MOR_MOSCRCF_Msk ) - { - case CKGR_MOR_MOSCRCF_4_MHz: - break; - - case CKGR_MOR_MOSCRCF_8_MHz: - SystemCoreClock *= 2U; - break; - - case CKGR_MOR_MOSCRCF_12_MHz: - SystemCoreClock *= 3U; - break; - - default: - break; - } - } - - if ( (uint32_t) (PMC->PMC_MCKR & (uint32_t) PMC_MCKR_CSS_Msk) == PMC_MCKR_CSS_PLLA_CLK ) - { - SystemCoreClock *= ((((PMC->CKGR_PLLAR) & CKGR_PLLAR_MULA_Msk) >> CKGR_PLLAR_MULA_Pos) + 1U); - SystemCoreClock /= ((((PMC->CKGR_PLLAR) & CKGR_PLLAR_DIVA_Msk) >> CKGR_PLLAR_DIVA_Pos)); - } - break; - - default: - break; - } - - if ( (PMC->PMC_MCKR & PMC_MCKR_PRES_Msk) == PMC_MCKR_PRES_CLK_3 ) - { - SystemCoreClock /= 3U; - } - else - { - SystemCoreClock >>= ((PMC->PMC_MCKR & PMC_MCKR_PRES_Msk) >> PMC_MCKR_PRES_Pos); - } -} -/** - * Initialize flash. - */ -void system_init_flash( uint32_t ul_clk ) -{ - /* Set FWS for embedded Flash access according to operating frequency */ - if ( ul_clk < CHIP_FREQ_FWS_0 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(0)|EEFC_FMR_CLOE; - } - else - { - if (ul_clk < CHIP_FREQ_FWS_1) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(1)|EEFC_FMR_CLOE; - } - else - { - if (ul_clk < CHIP_FREQ_FWS_2) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(2)|EEFC_FMR_CLOE; - } - else - { - if ( ul_clk < CHIP_FREQ_FWS_3 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(3)|EEFC_FMR_CLOE; - } - else - { - if ( ul_clk < CHIP_FREQ_FWS_4 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(4)|EEFC_FMR_CLOE; - } - else - { - if ( ul_clk < CHIP_FREQ_FWS_5 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(5)|EEFC_FMR_CLOE; - } - else - { - EFC->EEFC_FMR = EEFC_FMR_FWS(6)|EEFC_FMR_CLOE; - } - } - } - } - } - } -} -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/* @endcond */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h deleted file mode 100644 index 3eaf055..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef SYSTEM_SAMS70_H_INCLUDED -#define SYSTEM_SAMS70_H_INCLUDED - -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/* @endcond */ - -#include <stdint.h> - -extern uint32_t SystemCoreClock; /* System Clock Frequency (Core Clock) */ - -/** - * @brief Setup the microcontroller system. - * Initialize the System and update the SystemCoreClock variable. - */ -void SystemInit(void); - -/** - * @brief Updates the SystemCoreClock with current core Clock - * retrieved from cpu registers. - */ -void SystemCoreClockUpdate(void); - -/** - * Initialize flash. - */ -void system_init_flash(uint32_t dw_clk); - -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/* @endcond */ - -#endif /* SYSTEM_SAMS70_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/compiler.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/compiler.h deleted file mode 100644 index 201fa7e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/compiler.h +++ /dev/null @@ -1,1199 +0,0 @@ -/** - * \file - * - * \brief Commonly used includes, types and macros. - * - * Copyright (c) 2010-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef UTILS_COMPILER_H -#define UTILS_COMPILER_H - -/** - * \defgroup group_sam_utils Compiler abstraction layer and code utilities - * - * Compiler abstraction layer and code utilities for AT91SAM. - * This module provides various abstraction layers and utilities to make code compatible between different compilers. - * - * \{ - */ -#include <stddef.h> - -#if (defined __ICCARM__) -# include <intrinsics.h> -#endif - -#include <parts.h> -#include "preprocessor.h" - -#include <io.h> - -//_____ D E C L A R A T I O N S ____________________________________________ - -#ifndef __ASSEMBLY__ // Not defined for assembling. - -#include <stdio.h> -#include <stdbool.h> -#include <stdint.h> -#include <stdlib.h> - -#ifdef __ICCARM__ -/*! \name Compiler Keywords - * - * Port of some keywords from GCC to IAR Embedded Workbench. - */ -//! @{ -#define __asm__ asm -#define __inline__ inline -#define __volatile__ -//! @} - -#endif - -#define FUNC_PTR void * -/** - * \def UNUSED - * \brief Marking \a v as a unused parameter or value. - */ -#define UNUSED(v) (void)(v) - -/** - * \def unused - * \brief Marking \a v as a unused parameter or value. - */ -#define unused(v) do { (void)(v); } while(0) - -/** - * \def barrier - * \brief Memory barrier - */ -#define barrier() __DMB() - -/** - * \brief Emit the compiler pragma \a arg. - * - * \param arg The pragma directive as it would appear after \e \#pragma - * (i.e. not stringified). - */ -#define COMPILER_PRAGMA(arg) _Pragma(#arg) - -/** - * \def COMPILER_PACK_SET(alignment) - * \brief Set maximum alignment for subsequent struct and union - * definitions to \a alignment. - */ -#define COMPILER_PACK_SET(alignment) COMPILER_PRAGMA(pack(alignment)) - -/** - * \def COMPILER_PACK_RESET() - * \brief Set default alignment for subsequent struct and union - * definitions. - */ -#define COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) - - -/** - * \brief Set aligned boundary. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) -#elif (defined __ICCARM__) -# define COMPILER_ALIGNED(a) COMPILER_PRAGMA(data_alignment = a) -#endif - -/** - * \brief Set word-aligned boundary. - */ -#if (defined __GNUC__) || defined(__CC_ARM) -#define COMPILER_WORD_ALIGNED __attribute__((__aligned__(4))) -#elif (defined __ICCARM__) -#define COMPILER_WORD_ALIGNED COMPILER_PRAGMA(data_alignment = 4) -#endif - -/** - * \def __always_inline - * \brief The function should always be inlined. - * - * This annotation instructs the compiler to ignore its inlining - * heuristics and inline the function no matter how big it thinks it - * becomes. - */ -#if defined(__CC_ARM) -# define __always_inline __forceinline -#elif (defined __GNUC__) -#ifdef __always_inline -# undef __always_inline -#endif -# define __always_inline inline __attribute__((__always_inline__)) -#elif (defined __ICCARM__) -# define __always_inline _Pragma("inline=forced") -#endif - -/** - * \def __no_inline - * \brief The function should not be inlined. - * - * This annotation instructs the compiler to ignore its inlining - * heuristics and not inline the function. - */ -#if defined(__CC_ARM) -# define __no_inline __attribute__((noinline)) -#elif (defined __GNUC__) -# define __no_inline __attribute__((__noinline__)) -#elif (defined __ICCARM__) -# define __no_inline _Pragma("inline=never") -#endif - -/*! \brief This macro is used to test fatal errors. - * - * The macro tests if the expression is false. If it is, a fatal error is - * detected and the application hangs up. If TEST_SUITE_DEFINE_ASSERT_MACRO - * is defined, a unit test version of the macro is used, to allow execution - * of further tests after a false expression. - * - * \param expr Expression to evaluate and supposed to be nonzero. - */ -#if defined(_ASSERT_ENABLE_) -# if defined(TEST_SUITE_DEFINE_ASSERT_MACRO) - // Assert() is defined in unit_test/suite.h -# include "unit_test/suite.h" -# else -#undef TEST_SUITE_DEFINE_ASSERT_MACRO -# define Assert(expr) \ - {\ - if (!(expr)) while (true);\ - } -# endif -#else -# define Assert(expr) ((void) 0) -#endif - -/* Define WEAK attribute */ -#if defined ( __CC_ARM ) /* Keil µVision 4 */ -# define WEAK __attribute__ ((weak)) -#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ -# define WEAK __weak -#elif defined ( __GNUC__ ) /* GCC CS3 2009q3-68 */ -# define WEAK __attribute__ ((weak)) -#endif - -/* Define NO_INIT attribute */ -#if defined ( __CC_ARM ) -# define NO_INIT __attribute__((zero_init)) -#elif defined ( __ICCARM__ ) -# define NO_INIT __no_init -#elif defined ( __GNUC__ ) -# define NO_INIT __attribute__((section(".no_init"))) -#endif - -/* Define RAMFUNC attribute */ -#if defined ( __CC_ARM ) /* Keil µVision 4 */ -# define RAMFUNC __attribute__ ((section(".ramfunc"))) -#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ -# define RAMFUNC __ramfunc -#elif defined ( __GNUC__ ) /* GCC CS3 2009q3-68 */ -# define RAMFUNC __attribute__ ((section(".ramfunc"))) -#endif - -/* Define OPTIMIZE_HIGH attribute */ -#if defined ( __CC_ARM ) /* Keil µVision 4 */ -# define OPTIMIZE_HIGH _Pragma("O3") -#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ -# define OPTIMIZE_HIGH _Pragma("optimize=high") -#elif defined ( __GNUC__ ) /* GCC CS3 2009q3-68 */ -# define OPTIMIZE_HIGH __attribute__((optimize("s"))) -#endif - -#include "interrupt.h" - -/*! \name Usual Types - */ -//! @{ -typedef unsigned char Bool; //!< Boolean. -#ifndef __cplusplus -#if !defined(__bool_true_false_are_defined) -typedef unsigned char bool; //!< Boolean. -#endif -#endif -typedef int8_t S8 ; //!< 8-bit signed integer. -typedef uint8_t U8 ; //!< 8-bit unsigned integer. -typedef int16_t S16; //!< 16-bit signed integer. -typedef uint16_t U16; //!< 16-bit unsigned integer. -typedef uint16_t le16_t; -typedef uint16_t be16_t; -typedef int32_t S32; //!< 32-bit signed integer. -typedef uint32_t U32; //!< 32-bit unsigned integer. -typedef uint32_t le32_t; -typedef uint32_t be32_t; -typedef int64_t S64; //!< 64-bit signed integer. -typedef uint64_t U64; //!< 64-bit unsigned integer. -typedef float F32; //!< 32-bit floating-point number. -typedef double F64; //!< 64-bit floating-point number. -typedef uint32_t iram_size_t; -//! @} - - -/*! \name Status Types - */ -//! @{ -typedef bool Status_bool_t; //!< Boolean status. -typedef U8 Status_t; //!< 8-bit-coded status. -//! @} - - -/*! \name Aliasing Aggregate Types - */ -//! @{ - -//! 16-bit union. -typedef union -{ - S16 s16 ; - U16 u16 ; - S8 s8 [2]; - U8 u8 [2]; -} Union16; - -//! 32-bit union. -typedef union -{ - S32 s32 ; - U32 u32 ; - S16 s16[2]; - U16 u16[2]; - S8 s8 [4]; - U8 u8 [4]; -} Union32; - -//! 64-bit union. -typedef union -{ - S64 s64 ; - U64 u64 ; - S32 s32[2]; - U32 u32[2]; - S16 s16[4]; - U16 u16[4]; - S8 s8 [8]; - U8 u8 [8]; -} Union64; - -//! Union of pointers to 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - S64 *s64ptr; - U64 *u64ptr; - S32 *s32ptr; - U32 *u32ptr; - S16 *s16ptr; - U16 *u16ptr; - S8 *s8ptr ; - U8 *u8ptr ; -} UnionPtr; - -//! Union of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - volatile S64 *s64ptr; - volatile U64 *u64ptr; - volatile S32 *s32ptr; - volatile U32 *u32ptr; - volatile S16 *s16ptr; - volatile U16 *u16ptr; - volatile S8 *s8ptr ; - volatile U8 *u8ptr ; -} UnionVPtr; - -//! Union of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - const S64 *s64ptr; - const U64 *u64ptr; - const S32 *s32ptr; - const U32 *u32ptr; - const S16 *s16ptr; - const U16 *u16ptr; - const S8 *s8ptr ; - const U8 *u8ptr ; -} UnionCPtr; - -//! Union of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - const volatile S64 *s64ptr; - const volatile U64 *u64ptr; - const volatile S32 *s32ptr; - const volatile U32 *u32ptr; - const volatile S16 *s16ptr; - const volatile U16 *u16ptr; - const volatile S8 *s8ptr ; - const volatile U8 *u8ptr ; -} UnionCVPtr; - -//! Structure of pointers to 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - S64 *s64ptr; - U64 *u64ptr; - S32 *s32ptr; - U32 *u32ptr; - S16 *s16ptr; - U16 *u16ptr; - S8 *s8ptr ; - U8 *u8ptr ; -} StructPtr; - -//! Structure of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - volatile S64 *s64ptr; - volatile U64 *u64ptr; - volatile S32 *s32ptr; - volatile U32 *u32ptr; - volatile S16 *s16ptr; - volatile U16 *u16ptr; - volatile S8 *s8ptr ; - volatile U8 *u8ptr ; -} StructVPtr; - -//! Structure of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - const S64 *s64ptr; - const U64 *u64ptr; - const S32 *s32ptr; - const U32 *u32ptr; - const S16 *s16ptr; - const U16 *u16ptr; - const S8 *s8ptr ; - const U8 *u8ptr ; -} StructCPtr; - -//! Structure of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - const volatile S64 *s64ptr; - const volatile U64 *u64ptr; - const volatile S32 *s32ptr; - const volatile U32 *u32ptr; - const volatile S16 *s16ptr; - const volatile U16 *u16ptr; - const volatile S8 *s8ptr ; - const volatile U8 *u8ptr ; -} StructCVPtr; - -//! @} - -#endif // #ifndef __ASSEMBLY__ - -/*! \name Usual Constants - */ -//! @{ -#define DISABLE 0 -#define ENABLE 1 -#ifndef __cplusplus -#if !defined(__bool_true_false_are_defined) -#define false 0 -#define true 1 -#endif -#endif -#define PASS 0 -#define FAIL 1 -#define LOW 0 -#define HIGH 1 -//! @} - - -#ifndef __ASSEMBLY__ // not for assembling. - -//! \name Optimization Control -//@{ - -/** - * \def likely(exp) - * \brief The expression \a exp is likely to be true - */ -#ifndef likely -# define likely(exp) (exp) -#endif - -/** - * \def unlikely(exp) - * \brief The expression \a exp is unlikely to be true - */ -#ifndef unlikely -# define unlikely(exp) (exp) -#endif - -/** - * \def is_constant(exp) - * \brief Determine if an expression evaluates to a constant value. - * - * \param exp Any expression - * - * \return true if \a exp is constant, false otherwise. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define is_constant(exp) __builtin_constant_p(exp) -#else -# define is_constant(exp) (0) -#endif - -//! @} - -/*! \name Bit-Field Handling - */ -//! @{ - -/*! \brief Reads the bits of a value specified by a given bit-mask. - * - * \param value Value to read bits from. - * \param mask Bit-mask indicating bits to read. - * - * \return Read bits. - */ -#define Rd_bits( value, mask) ((value) & (mask)) - -/*! \brief Writes the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue to write bits to. - * \param mask Bit-mask indicating bits to write. - * \param bits Bits to write. - * - * \return Resulting value with written bits. - */ -#define Wr_bits(lvalue, mask, bits) ((lvalue) = ((lvalue) & ~(mask)) |\ - ((bits ) & (mask))) - -/*! \brief Tests the bits of a value specified by a given bit-mask. - * - * \param value Value of which to test bits. - * \param mask Bit-mask indicating bits to test. - * - * \return \c 1 if at least one of the tested bits is set, else \c 0. - */ -#define Tst_bits( value, mask) (Rd_bits(value, mask) != 0) - -/*! \brief Clears the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue of which to clear bits. - * \param mask Bit-mask indicating bits to clear. - * - * \return Resulting value with cleared bits. - */ -#define Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) - -/*! \brief Sets the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue of which to set bits. - * \param mask Bit-mask indicating bits to set. - * - * \return Resulting value with set bits. - */ -#define Set_bits(lvalue, mask) ((lvalue) |= (mask)) - -/*! \brief Toggles the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue of which to toggle bits. - * \param mask Bit-mask indicating bits to toggle. - * - * \return Resulting value with toggled bits. - */ -#define Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) - -/*! \brief Reads the bit-field of a value specified by a given bit-mask. - * - * \param value Value to read a bit-field from. - * \param mask Bit-mask indicating the bit-field to read. - * - * \return Read bit-field. - */ -#define Rd_bitfield( value, mask) (Rd_bits( value, mask) >> ctz(mask)) - -/*! \brief Writes the bit-field of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue to write a bit-field to. - * \param mask Bit-mask indicating the bit-field to write. - * \param bitfield Bit-field to write. - * - * \return Resulting value with written bit-field. - */ -#define Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (U32)(bitfield) << ctz(mask))) - -//! @} - - -/*! \name Zero-Bit Counting - * - * Under GCC, __builtin_clz and __builtin_ctz behave like macros when - * applied to constant expressions (values known at compile time), so they are - * more optimized than the use of the corresponding assembly instructions and - * they can be used as constant expressions e.g. to initialize objects having - * static storage duration, and like the corresponding assembly instructions - * when applied to non-constant expressions (values unknown at compile time), so - * they are more optimized than an assembly periphrasis. Hence, clz and ctz - * ensure a possible and optimized behavior for both constant and non-constant - * expressions. - */ -//! @{ - -/*! \brief Counts the leading zero bits of the given value considered as a 32-bit integer. - * - * \param u Value of which to count the leading zero bits. - * - * \return The count of leading zero bits in \a u. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define clz(u) ((u) ? __builtin_clz(u) : 32) -#elif (defined __ICCARM__) -# define clz(u) ((u) ? __CLZ(u) : 32) -#else -# define clz(u) (((u) == 0) ? 32 : \ - ((u) & (1ul << 31)) ? 0 : \ - ((u) & (1ul << 30)) ? 1 : \ - ((u) & (1ul << 29)) ? 2 : \ - ((u) & (1ul << 28)) ? 3 : \ - ((u) & (1ul << 27)) ? 4 : \ - ((u) & (1ul << 26)) ? 5 : \ - ((u) & (1ul << 25)) ? 6 : \ - ((u) & (1ul << 24)) ? 7 : \ - ((u) & (1ul << 23)) ? 8 : \ - ((u) & (1ul << 22)) ? 9 : \ - ((u) & (1ul << 21)) ? 10 : \ - ((u) & (1ul << 20)) ? 11 : \ - ((u) & (1ul << 19)) ? 12 : \ - ((u) & (1ul << 18)) ? 13 : \ - ((u) & (1ul << 17)) ? 14 : \ - ((u) & (1ul << 16)) ? 15 : \ - ((u) & (1ul << 15)) ? 16 : \ - ((u) & (1ul << 14)) ? 17 : \ - ((u) & (1ul << 13)) ? 18 : \ - ((u) & (1ul << 12)) ? 19 : \ - ((u) & (1ul << 11)) ? 20 : \ - ((u) & (1ul << 10)) ? 21 : \ - ((u) & (1ul << 9)) ? 22 : \ - ((u) & (1ul << 8)) ? 23 : \ - ((u) & (1ul << 7)) ? 24 : \ - ((u) & (1ul << 6)) ? 25 : \ - ((u) & (1ul << 5)) ? 26 : \ - ((u) & (1ul << 4)) ? 27 : \ - ((u) & (1ul << 3)) ? 28 : \ - ((u) & (1ul << 2)) ? 29 : \ - ((u) & (1ul << 1)) ? 30 : \ - 31) -#endif - -/*! \brief Counts the trailing zero bits of the given value considered as a 32-bit integer. - * - * \param u Value of which to count the trailing zero bits. - * - * \return The count of trailing zero bits in \a u. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define ctz(u) ((u) ? __builtin_ctz(u) : 32) -#else -# define ctz(u) ((u) & (1ul << 0) ? 0 : \ - (u) & (1ul << 1) ? 1 : \ - (u) & (1ul << 2) ? 2 : \ - (u) & (1ul << 3) ? 3 : \ - (u) & (1ul << 4) ? 4 : \ - (u) & (1ul << 5) ? 5 : \ - (u) & (1ul << 6) ? 6 : \ - (u) & (1ul << 7) ? 7 : \ - (u) & (1ul << 8) ? 8 : \ - (u) & (1ul << 9) ? 9 : \ - (u) & (1ul << 10) ? 10 : \ - (u) & (1ul << 11) ? 11 : \ - (u) & (1ul << 12) ? 12 : \ - (u) & (1ul << 13) ? 13 : \ - (u) & (1ul << 14) ? 14 : \ - (u) & (1ul << 15) ? 15 : \ - (u) & (1ul << 16) ? 16 : \ - (u) & (1ul << 17) ? 17 : \ - (u) & (1ul << 18) ? 18 : \ - (u) & (1ul << 19) ? 19 : \ - (u) & (1ul << 20) ? 20 : \ - (u) & (1ul << 21) ? 21 : \ - (u) & (1ul << 22) ? 22 : \ - (u) & (1ul << 23) ? 23 : \ - (u) & (1ul << 24) ? 24 : \ - (u) & (1ul << 25) ? 25 : \ - (u) & (1ul << 26) ? 26 : \ - (u) & (1ul << 27) ? 27 : \ - (u) & (1ul << 28) ? 28 : \ - (u) & (1ul << 29) ? 29 : \ - (u) & (1ul << 30) ? 30 : \ - (u) & (1ul << 31) ? 31 : \ - 32) -#endif - -//! @} - - -/*! \name Bit Reversing - */ -//! @{ - -/*! \brief Reverses the bits of \a u8. - * - * \param u8 U8 of which to reverse the bits. - * - * \return Value resulting from \a u8 with reversed bits. - */ -#define bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) - -/*! \brief Reverses the bits of \a u16. - * - * \param u16 U16 of which to reverse the bits. - * - * \return Value resulting from \a u16 with reversed bits. - */ -#define bit_reverse16(u16) ((U16)(bit_reverse32((U16)(u16)) >> 16)) - -/*! \brief Reverses the bits of \a u32. - * - * \param u32 U32 of which to reverse the bits. - * - * \return Value resulting from \a u32 with reversed bits. - */ -#define bit_reverse32(u32) __RBIT(u32) - -/*! \brief Reverses the bits of \a u64. - * - * \param u64 U64 of which to reverse the bits. - * - * \return Value resulting from \a u64 with reversed bits. - */ -#define bit_reverse64(u64) ((U64)(((U64)bit_reverse32((U64)(u64) >> 32)) |\ - ((U64)bit_reverse32((U64)(u64)) << 32))) - -//! @} - - -/*! \name Alignment - */ -//! @{ - -/*! \brief Tests alignment of the number \a val with the \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return \c 1 if the number \a val is aligned with the \a n boundary, else \c 0. - */ -#define Test_align(val, n ) (!Tst_bits( val, (n) - 1 ) ) - -/*! \brief Gets alignment of the number \a val with respect to the \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return Alignment of the number \a val with respect to the \a n boundary. - */ -#define Get_align( val, n ) ( Rd_bits( val, (n) - 1 ) ) - -/*! \brief Sets alignment of the lvalue number \a lval to \a alg with respect to the \a n boundary. - * - * \param lval Input/output lvalue. - * \param n Boundary. - * \param alg Alignment. - * - * \return New value of \a lval resulting from its alignment set to \a alg with respect to the \a n boundary. - */ -#define Set_align(lval, n, alg) ( Wr_bits(lval, (n) - 1, alg) ) - -/*! \brief Aligns the number \a val with the upper \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return Value resulting from the number \a val aligned with the upper \a n boundary. - */ -#define Align_up( val, n ) (((val) + ((n) - 1)) & ~((n) - 1)) - -/*! \brief Aligns the number \a val with the lower \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return Value resulting from the number \a val aligned with the lower \a n boundary. - */ -#define Align_down(val, n ) ( (val) & ~((n) - 1)) - -//! @} - - -/*! \name Mathematics - * - * The same considerations as for clz and ctz apply here but GCC does not - * provide built-in functions to access the assembly instructions abs, min and - * max and it does not produce them by itself in most cases, so two sets of - * macros are defined here: - * - Abs, Min and Max to apply to constant expressions (values known at - * compile time); - * - abs, min and max to apply to non-constant expressions (values unknown at - * compile time), abs is found in stdlib.h. - */ -//! @{ - -/*! \brief Takes the absolute value of \a a. - * - * \param a Input value. - * - * \return Absolute value of \a a. - * - * \note More optimized if only used with values known at compile time. - */ -#define Abs(a) (((a) < 0 ) ? -(a) : (a)) - -/*! \brief Takes the minimal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Minimal value of \a a and \a b. - * - * \note More optimized if only used with values known at compile time. - */ -#define Min(a, b) (((a) < (b)) ? (a) : (b)) - -/*! \brief Takes the maximal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Maximal value of \a a and \a b. - * - * \note More optimized if only used with values known at compile time. - */ -#define Max(a, b) (((a) > (b)) ? (a) : (b)) - -// abs() is already defined by stdlib.h - -/*! \brief Takes the minimal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Minimal value of \a a and \a b. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define min(a, b) Min(a, b) - -/*! \brief Takes the maximal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Maximal value of \a a and \a b. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define max(a, b) Max(a, b) - -//! @} - - -/*! \brief Calls the routine at address \a addr. - * - * It generates a long call opcode. - * - * For example, `Long_call(0x80000000)' generates a software reset on a UC3 if - * it is invoked from the CPU supervisor mode. - * - * \param addr Address of the routine to call. - * - * \note It may be used as a long jump opcode in some special cases. - */ -#define Long_call(addr) ((*(void (*)(void))(addr))()) - - -/*! \name MCU Endianism Handling - * ARM is MCU little endianism. - */ -//! @{ -#define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. -#define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. - -#define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. -#define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. -#define MSB0W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 1st rank of \a u32. -#define MSB1W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 2nd rank of \a u32. -#define MSB2W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 3rd rank of \a u32. -#define MSB3W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 4th rank of \a u32. -#define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. -#define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. -#define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. -#define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. - -#define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. -#define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. -#define MSH0(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 1st rank of \a u64. -#define MSH1(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 2nd rank of \a u64. -#define MSH2(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 3rd rank of \a u64. -#define MSH3(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 4th rank of \a u64. -#define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. -#define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. -#define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. -#define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. -#define MSB0D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 1st rank of \a u64. -#define MSB1D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 2nd rank of \a u64. -#define MSB2D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 3rd rank of \a u64. -#define MSB3D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 4th rank of \a u64. -#define MSB4D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 5th rank of \a u64. -#define MSB5D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 6th rank of \a u64. -#define MSB6D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 7th rank of \a u64. -#define MSB7D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 8th rank of \a u64. -#define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. -#define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. -#define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. -#define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. -#define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. -#define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. -#define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. -#define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. - -#define BE16(x) swap16(x) -#define LE16(x) (x) - -#define le16_to_cpu(x) (x) -#define cpu_to_le16(x) (x) -#define LE16_TO_CPU(x) (x) -#define CPU_TO_LE16(x) (x) - -#define be16_to_cpu(x) swap16(x) -#define cpu_to_be16(x) swap16(x) -#define BE16_TO_CPU(x) swap16(x) -#define CPU_TO_BE16(x) swap16(x) - -#define le32_to_cpu(x) (x) -#define cpu_to_le32(x) (x) -#define LE32_TO_CPU(x) (x) -#define CPU_TO_LE32(x) (x) - -#define be32_to_cpu(x) swap32(x) -#define cpu_to_be32(x) swap32(x) -#define BE32_TO_CPU(x) swap32(x) -#define CPU_TO_BE32(x) swap32(x) -//! @} - - -/*! \name Endianism Conversion - * - * The same considerations as for clz and ctz apply here but GCC's - * __builtin_bswap_32 and __builtin_bswap_64 do not behave like macros when - * applied to constant expressions, so two sets of macros are defined here: - * - Swap16, Swap32 and Swap64 to apply to constant expressions (values known - * at compile time); - * - swap16, swap32 and swap64 to apply to non-constant expressions (values - * unknown at compile time). - */ -//! @{ - -/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). - * - * \param u16 U16 of which to toggle the endianism. - * - * \return Value resulting from \a u16 with toggled endianism. - * - * \note More optimized if only used with values known at compile time. - */ -#define Swap16(u16) ((U16)(((U16)(u16) >> 8) |\ - ((U16)(u16) << 8))) - -/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). - * - * \param u32 U32 of which to toggle the endianism. - * - * \return Value resulting from \a u32 with toggled endianism. - * - * \note More optimized if only used with values known at compile time. - */ -#define Swap32(u32) ((U32)(((U32)Swap16((U32)(u32) >> 16)) |\ - ((U32)Swap16((U32)(u32)) << 16))) - -/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). - * - * \param u64 U64 of which to toggle the endianism. - * - * \return Value resulting from \a u64 with toggled endianism. - * - * \note More optimized if only used with values known at compile time. - */ -#define Swap64(u64) ((U64)(((U64)Swap32((U64)(u64) >> 32)) |\ - ((U64)Swap32((U64)(u64)) << 32))) - -/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). - * - * \param u16 U16 of which to toggle the endianism. - * - * \return Value resulting from \a u16 with toggled endianism. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define swap16(u16) Swap16(u16) - -/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). - * - * \param u32 U32 of which to toggle the endianism. - * - * \return Value resulting from \a u32 with toggled endianism. - * - * \note More optimized if only used with values unknown at compile time. - */ -#if (defined __GNUC__) -# define swap32(u32) ((U32)__builtin_bswap32((U32)(u32))) -#else -# define swap32(u32) Swap32(u32) -#endif - -/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). - * - * \param u64 U64 of which to toggle the endianism. - * - * \return Value resulting from \a u64 with toggled endianism. - * - * \note More optimized if only used with values unknown at compile time. - */ -#if (defined __GNUC__) -# define swap64(u64) ((U64)__builtin_bswap64((U64)(u64))) -#else -# define swap64(u64) ((U64)(((U64)swap32((U64)(u64) >> 32)) |\ - ((U64)swap32((U64)(u64)) << 32))) -#endif - -//! @} - - -/*! \name Target Abstraction - */ -//! @{ - -#define _GLOBEXT_ extern //!< extern storage-class specifier. -#define _CONST_TYPE_ const //!< const type qualifier. -#define _MEM_TYPE_SLOW_ //!< Slow memory type. -#define _MEM_TYPE_MEDFAST_ //!< Fairly fast memory type. -#define _MEM_TYPE_FAST_ //!< Fast memory type. - -typedef U8 Byte; //!< 8-bit unsigned integer. - -#define memcmp_ram2ram memcmp //!< Target-specific memcmp of RAM to RAM. -#define memcmp_code2ram memcmp //!< Target-specific memcmp of RAM to NVRAM. -#define memcpy_ram2ram memcpy //!< Target-specific memcpy from RAM to RAM. -#define memcpy_code2ram memcpy //!< Target-specific memcpy from NVRAM to RAM. - -#define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. -#define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. -#define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. -#define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. -#define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. -#define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. -#define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. -#define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. - -//! @} - -/** - * \brief Calculate \f$ \left\lceil \frac{a}{b} \right\rceil \f$ using - * integer arithmetic. - * - * \param a An integer - * \param b Another integer - * - * \return (\a a / \a b) rounded up to the nearest integer. - */ -#define div_ceil(a, b) (((a) + (b) - 1) / (b)) - -#endif // #ifndef __ASSEMBLY__ - - -#if defined(__ICCARM__) -#define SHORTENUM __packed -#elif defined(__GNUC__) -#define SHORTENUM __attribute__((packed)) -#endif - -/* No operation */ -#if defined(__ICCARM__) -#define nop() __no_operation() -#elif defined(__GNUC__) -#define nop() (__NOP()) -#endif - -#define FLASH_DECLARE(x) const x -#define FLASH_EXTERN(x) extern const x -#define PGM_READ_BYTE(x) *(x) -#define PGM_READ_WORD(x) *(x) -#define PGM_READ_DWORD(x) *(x) -#define MEMCPY_ENDIAN memcpy -#define PGM_READ_BLOCK(dst, src, len) memcpy((dst), (src), (len)) - -/*Defines the Flash Storage for the request and response of MAC*/ -#define CMD_ID_OCTET (0) - -/* Converting of values from CPU endian to little endian. */ -#define CPU_ENDIAN_TO_LE16(x) (x) -#define CPU_ENDIAN_TO_LE32(x) (x) -#define CPU_ENDIAN_TO_LE64(x) (x) - -/* Converting of values from little endian to CPU endian. */ -#define LE16_TO_CPU_ENDIAN(x) (x) -#define LE32_TO_CPU_ENDIAN(x) (x) -#define LE64_TO_CPU_ENDIAN(x) (x) - -/* Converting of constants from little endian to CPU endian. */ -#define CLE16_TO_CPU_ENDIAN(x) (x) -#define CLE32_TO_CPU_ENDIAN(x) (x) -#define CLE64_TO_CPU_ENDIAN(x) (x) - -/* Converting of constants from CPU endian to little endian. */ -#define CCPU_ENDIAN_TO_LE16(x) (x) -#define CCPU_ENDIAN_TO_LE32(x) (x) -#define CCPU_ENDIAN_TO_LE64(x) (x) - -#define ADDR_COPY_DST_SRC_16(dst, src) ((dst) = (src)) -#define ADDR_COPY_DST_SRC_64(dst, src) ((dst) = (src)) - -/** - * @brief Converts a 64-Bit value into a 8 Byte array - * - * @param[in] value 64-Bit value - * @param[out] data Pointer to the 8 Byte array to be updated with 64-Bit value - * @ingroup apiPalApi - */ -static inline void convert_64_bit_to_byte_array(uint64_t value, uint8_t *data) -{ - uint8_t val_index = 0; - - while (val_index < 8) - { - data[val_index++] = value & 0xFF; - value = value >> 8; - } -} - -/** - * @brief Converts a 16-Bit value into a 2 Byte array - * - * @param[in] value 16-Bit value - * @param[out] data Pointer to the 2 Byte array to be updated with 16-Bit value - * @ingroup apiPalApi - */ -static inline void convert_16_bit_to_byte_array(uint16_t value, uint8_t *data) -{ - data[0] = value & 0xFF; - data[1] = (value >> 8) & 0xFF; -} - -/* Converts a 16-Bit value into a 2 Byte array */ -static inline void convert_spec_16_bit_to_byte_array(uint16_t value, uint8_t *data) -{ - data[0] = value & 0xFF; - data[1] = (value >> 8) & 0xFF; -} - -/* Converts a 16-Bit value into a 2 Byte array */ -static inline void convert_16_bit_to_byte_address(uint16_t value, uint8_t *data) -{ - data[0] = value & 0xFF; - data[1] = (value >> 8) & 0xFF; -} - -/* - * @brief Converts a 2 Byte array into a 16-Bit value - * - * @param data Specifies the pointer to the 2 Byte array - * - * @return 16-Bit value - * @ingroup apiPalApi - */ -static inline uint16_t convert_byte_array_to_16_bit(uint8_t *data) -{ - return (data[0] | ((uint16_t)data[1] << 8)); -} - -/* Converts a 8 Byte array into a 32-Bit value */ -static inline uint32_t convert_byte_array_to_32_bit(uint8_t *data) -{ - union - { - uint32_t u32; - uint8_t u8[8]; - }long_addr; - uint8_t index; - for (index = 0; index < 4; index++) - { - long_addr.u8[index] = *data++; - } - return long_addr.u32; -} - -/** - * @brief Converts a 8 Byte array into a 64-Bit value - * - * @param data Specifies the pointer to the 8 Byte array - * - * @return 64-Bit value - * @ingroup apiPalApi - */ -static inline uint64_t convert_byte_array_to_64_bit(uint8_t *data) -{ - union - { - uint64_t u64; - uint8_t u8[8]; - } long_addr; - - uint8_t val_index; - - for (val_index = 0; val_index < 8; val_index++) - { - long_addr.u8[val_index] = *data++; - } - - return long_addr.u64; -} -/** - * \} - */ - -#endif /* UTILS_COMPILER_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/fpu/fpu.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/fpu/fpu.h deleted file mode 100644 index 763089d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/fpu/fpu.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - * \file - * - * \brief FPU support for SAM. - * - * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _FPU_H_INCLUDED_ -#define _FPU_H_INCLUDED_ - -#include <compiler.h> - -/** Address for ARM CPACR */ -#define ADDR_CPACR 0xE000ED88 - -/** CPACR Register */ -#define REG_CPACR (*((volatile uint32_t *)ADDR_CPACR)) - -/** - * \brief Enable FPU - */ -__always_inline static void fpu_enable(void) -{ - irqflags_t flags; - flags = cpu_irq_save(); - REG_CPACR |= (0xFu << 20); - __DSB(); - __ISB(); - cpu_irq_restore(flags); -} - -/** - * \brief Disable FPU - */ -__always_inline static void fpu_disable(void) -{ - irqflags_t flags; - flags = cpu_irq_save(); - REG_CPACR &= ~(0xFu << 20); - __DSB(); - __ISB(); - cpu_irq_restore(flags); -} - -/** - * \brief Check if FPU is enabled - * - * \return Return ture if FPU is enabled, otherwise return false. - */ -__always_inline static bool fpu_is_enabled(void) -{ - return (REG_CPACR & (0xFu << 20)); -} - -#endif /* _FPU_H_INCLUDED_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/header_files/io.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/header_files/io.h deleted file mode 100644 index a79c646..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/header_files/io.h +++ /dev/null @@ -1,157 +0,0 @@ -/** - * \file - * - * \brief Arch file for SAM. - * - * This file defines common SAM series. - * - * Copyright (c) 2011-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAM_IO_ -#define _SAM_IO_ - -/* SAM3 family */ - -/* SAM3S series */ -#if (SAM3S) -# if (SAM3S8 || SAM3SD8) -# include "sam3s8.h" -# else -# include "sam3s.h" -# endif -#endif - -/* SAM3U series */ -#if (SAM3U) -# include "sam3u.h" -#endif - -/* SAM3N series */ -#if (SAM3N) -# include "sam3n.h" -#endif - -/* SAM3XA series */ -#if (SAM3XA) -# include "sam3xa.h" -#endif - -/* SAM4S series */ -#if (SAM4S) -# include "sam4s.h" -#endif - -/* SAM4L series */ -#if (SAM4L) -# include "sam4l.h" -#endif - -/* SAM4E series */ -#if (SAM4E) -# include "sam4e.h" -#endif - -/* SAM4N series */ -#if (SAM4N) -# include "sam4n.h" -#endif - -/* SAM4C series */ -#if (SAM4C) -# include "sam4c.h" -#endif - -/* SAM4CM series */ -#if (SAM4CM) -# if (SAM4CMP32 || SAM4CMS32) -# include "sam4cm32.h" -# else -# include "sam4cm.h" -# endif -#endif - -/* SAM4CP series */ -#if (SAM4CP) -# include "sam4cp.h" -#endif - -/* SAMG51 series */ -#if (SAMG51) -# include "samg51.h" -#endif - -/* SAMG53 series */ -#if (SAMG53) -# include "samg53.h" -#endif - -/* SAMG54 series */ -#if (SAMG54) -# include "samg54.h" -#endif - -/* SAMG55 series */ -#if (SAMG55) -# include "samg55.h" -#endif - -/* SAMV71 series */ -#if (SAMV71) -# include "samv71.h" -#endif - -/* SAMV70 series */ -#if (SAMV70) -# include "samv70.h" -#endif - -/* SAME70 series */ -#if (SAME70) -# include "same70.h" -#endif - -/* SAMS70 series */ -#if (SAMS70) -# include "sams70.h" -#endif - -#endif /* _SAM_IO_ */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld deleted file mode 100644 index cb4537d..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld +++ /dev/null @@ -1,174 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal FLASH on the ATSAMS70N20 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000 - ram (rwx) : ORIGIN = 0x20400000, LENGTH = 0x00060000 -} - -/* The stack size used by the application. NOTE: you need to adjust according to your application. */ -STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x2000; -__ram_end__ = ORIGIN(ram) + LENGTH(ram) - 4; - -/* The heapsize used by the application. NOTE: you need to adjust according to your application. */ -HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > rom - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > ram - - /* heap section */ - .heap (NOLOAD): - { - . = ALIGN(8); - _sheap = .; - . = . + HEAP_SIZE; - . = ALIGN(8); - _eheap = .; - } > ram - - . = ALIGN(4); - _end = . ; - _ram_end_ = ORIGIN(ram) + LENGTH(ram) -1 ; -} - diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/make/Makefile.sam.in b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/make/Makefile.sam.in deleted file mode 100644 index 23c6697..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/make/Makefile.sam.in +++ /dev/null @@ -1,496 +0,0 @@ -# List of available make goals: -# -# all Default target, builds the project -# clean Clean up the project -# rebuild Rebuild the project -# debug_flash Builds the project and debug in flash -# debug_sram Builds the project and debug in sram -# -# doc Build the documentation -# cleandoc Clean up the documentation -# rebuilddoc Rebuild the documentation -# -# \file -# -# Copyright (c) 2011 - 2013 Atmel Corporation. All rights reserved. -# -# \asf_license_start -# -# \page License -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# -# 3. The name of Atmel may not be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# 4. This software may only be redistributed and used in connection with an -# Atmel microcontroller product. -# -# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR -# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -# \asf_license_stop -# - -# Include the config.mk file from the current working path, e.g., where the -# user called make. -include config.mk - -# Tool to use to generate documentation from the source code -DOCGEN ?= doxygen - -# Look for source files relative to the top-level source directory -VPATH := $(PRJ_PATH) - -# Output target file -project_type := $(PROJECT_TYPE) - -# Output target file -ifeq ($(project_type),flash) -target := $(TARGET_FLASH) -linker_script := $(PRJ_PATH)/$(LINKER_SCRIPT_FLASH) -debug_script := $(PRJ_PATH)/$(DEBUG_SCRIPT_FLASH) -else -target := $(TARGET_SRAM) -linker_script := $(PRJ_PATH)/$(LINKER_SCRIPT_SRAM) -debug_script := $(PRJ_PATH)/$(DEBUG_SCRIPT_SRAM) -endif - -# Output project name (target name minus suffix) -project := $(basename $(target)) - -# Output target file (typically ELF or static library) -ifeq ($(suffix $(target)),.a) -target_type := lib -else -ifeq ($(suffix $(target)),.elf) -target_type := elf -else -$(error "Target type $(target_type) is not supported") -endif -endif - -# Allow override of operating system detection. The user can add OS=Linux or -# OS=Windows on the command line to explicit set the host OS. -# -# This allows to work around broken uname utility on certain systems. -ifdef OS - ifeq ($(strip $(OS)), Linux) - os_type := Linux - endif - ifeq ($(strip $(OS)), Windows) - os_type := windows32_64 - endif -endif - -os_type ?= $(strip $(shell uname)) - -ifeq ($(os_type),windows32) -os := Windows -else -ifeq ($(os_type),windows64) -os := Windows -else -ifeq ($(os_type),windows32_64) -os ?= Windows -else -ifeq ($(os_type),) -os := Windows -else -# Default to Linux style operating system. Both Cygwin and mingw are fully -# compatible (for this Makefile) with Linux. -os := Linux -endif -endif -endif -endif - -# Output documentation directory and configuration file. -docdir := ../doxygen/html -doccfg := ../doxygen/doxyfile.doxygen - -CROSS ?= arm-none-eabi- -AR := $(CROSS)ar -AS := $(CROSS)as -CC := $(CROSS)gcc -CPP := $(CROSS)gcc -E -CXX := $(CROSS)g++ -LD := $(CROSS)g++ -NM := $(CROSS)nm -OBJCOPY := $(CROSS)objcopy -OBJDUMP := $(CROSS)objdump -SIZE := $(CROSS)size -GDB := $(CROSS)gdb - -RM := rm -ifeq ($(os),Windows) -RMDIR := rmdir /S /Q -else -RMDIR := rmdir -p --ignore-fail-on-non-empty -endif - -# On Windows, we need to override the shell to force the use of cmd.exe -ifeq ($(os),Windows) -SHELL := cmd -endif - -# Strings for beautifying output -MSG_CLEAN_FILES = "RM *.o *.d" -MSG_CLEAN_DIRS = "RMDIR $(strip $(clean-dirs))" -MSG_CLEAN_DOC = "RMDIR $(docdir)" -MSG_MKDIR = "MKDIR $(dir $@)" - -MSG_INFO = "INFO " -MSG_PREBUILD = "PREBUILD $(PREBUILD_CMD)" -MSG_POSTBUILD = "POSTBUILD $(POSTBUILD_CMD)" - -MSG_ARCHIVING = "AR $@" -MSG_ASSEMBLING = "AS $@" -MSG_BINARY_IMAGE = "OBJCOPY $@" -MSG_COMPILING = "CC $@" -MSG_COMPILING_CXX = "CXX $@" -MSG_EXTENDED_LISTING = "OBJDUMP $@" -MSG_IHEX_IMAGE = "OBJCOPY $@" -MSG_LINKING = "LN $@" -MSG_PREPROCESSING = "CPP $@" -MSG_SIZE = "SIZE $@" -MSG_SYMBOL_TABLE = "NM $@" - -MSG_GENERATING_DOC = "DOXYGEN $(docdir)" - -# Don't use make's built-in rules and variables -MAKEFLAGS += -rR - -# Don't print 'Entering directory ...' -MAKEFLAGS += --no-print-directory - -# Function for reversing the order of a list -reverse = $(if $(1),$(call reverse,$(wordlist 2,$(words $(1)),$(1)))) $(firstword $(1)) - -# Hide command output by default, but allow the user to override this -# by adding V=1 on the command line. -# -# This is inspired by the Kbuild system used by the Linux kernel. -ifdef V - ifeq ("$(origin V)", "command line") - VERBOSE = $(V) - endif -endif -ifndef VERBOSE - VERBOSE = 0 -endif - -ifeq ($(VERBOSE), 1) - Q = -else - Q = @ -endif - -arflags-gnu-y := $(ARFLAGS) -asflags-gnu-y := $(ASFLAGS) -cflags-gnu-y := $(CFLAGS) -cxxflags-gnu-y := $(CXXFLAGS) -cppflags-gnu-y := $(CPPFLAGS) -cpuflags-gnu-y := -dbgflags-gnu-y := $(DBGFLAGS) -libflags-gnu-y := $(foreach LIB,$(LIBS),-l$(LIB)) -ldflags-gnu-y := $(LDFLAGS) -flashflags-gnu-y := -clean-files := -clean-dirs := - -clean-files += $(wildcard $(target) $(project).map) -clean-files += $(wildcard $(project).hex $(project).bin) -clean-files += $(wildcard $(project).lss $(project).sym) -clean-files += $(wildcard $(build)) - -# Use pipes instead of temporary files for communication between processes -cflags-gnu-y += -pipe -asflags-gnu-y += -pipe -ldflags-gnu-y += -pipe - -# Archiver flags. -arflags-gnu-y += rcs - -# Always enable warnings. And be very careful about implicit -# declarations. -cflags-gnu-y += -Wall -Wstrict-prototypes -Wmissing-prototypes -cflags-gnu-y += -Werror-implicit-function-declaration -cxxflags-gnu-y += -Wall -# IAR doesn't allow arithmetic on void pointers, so warn about that. -cflags-gnu-y += -Wpointer-arith -cxxflags-gnu-y += -Wpointer-arith - -# Preprocessor flags. -cppflags-gnu-y += $(foreach INC,$(addprefix $(PRJ_PATH)/,$(INC_PATH)),-I$(INC)) -asflags-gnu-y += $(foreach INC,$(addprefix $(PRJ_PATH)/,$(INC_PATH)),'-Wa,-I$(INC)') - -# CPU specific flags. -cpuflags-gnu-y += -mcpu=$(ARCH) -mthumb -D=__$(PART)__ - -# Dependency file flags. -depflags = -MD -MP -MQ $@ - -# Debug specific flags. -ifdef BUILD_DEBUG_LEVEL -dbgflags-gnu-y += -g$(BUILD_DEBUG_LEVEL) -else -dbgflags-gnu-y += -g3 -endif - -# Optimization specific flags. -ifdef BUILD_OPTIMIZATION -optflags-gnu-y = -O$(BUILD_OPTIMIZATION) -else -optflags-gnu-y = $(OPTIMIZATION) -endif - -# Always preprocess assembler files. -asflags-gnu-y += -x assembler-with-cpp -# Compile C files using the GNU99 standard. -cflags-gnu-y += -std=gnu99 -# Compile C++ files using the GNU++98 standard. -cxxflags-gnu-y += -std=gnu++98 - -# Don't use strict aliasing (very common in embedded applications). -cflags-gnu-y += -fno-strict-aliasing -cxxflags-gnu-y += -fno-strict-aliasing - -# Separate each function and data into its own separate section to allow -# garbage collection of unused sections. -cflags-gnu-y += -ffunction-sections -fdata-sections -cxxflags-gnu-y += -ffunction-sections -fdata-sections - -# Various cflags. -cflags-gnu-y += -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -cflags-gnu-y += -Wmain -Wparentheses -cflags-gnu-y += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -cflags-gnu-y += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -cflags-gnu-y += -Wshadow -Wbad-function-cast -Wwrite-strings -cflags-gnu-y += -Wsign-compare -Waggregate-return -cflags-gnu-y += -Wmissing-declarations -cflags-gnu-y += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -cflags-gnu-y += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -cflags-gnu-y += -Wunreachable-code -cflags-gnu-y += -Wcast-align -cflags-gnu-y += --param max-inline-insns-single=500 - -# Garbage collect unreferred sections when linking. -ldflags-gnu-y += -Wl,--gc-sections - -# Use the linker script if provided by the project. -ifneq ($(strip $(linker_script)),) -ldflags-gnu-y += -Wl,-T $(linker_script) -endif - -# Output a link map file and a cross reference table -ldflags-gnu-y += -Wl,-Map=$(project).map,--cref - -# Add library search paths relative to the top level directory. -ldflags-gnu-y += $(foreach _LIB_PATH,$(addprefix $(PRJ_PATH)/,$(LIB_PATH)),-L$(_LIB_PATH)) - -a_flags = $(cpuflags-gnu-y) $(depflags) $(cppflags-gnu-y) $(asflags-gnu-y) -D__ASSEMBLY__ -c_flags = $(cpuflags-gnu-y) $(dbgflags-gnu-y) $(depflags) $(optflags-gnu-y) $(cppflags-gnu-y) $(cflags-gnu-y) -cxx_flags= $(cpuflags-gnu-y) $(dbgflags-gnu-y) $(depflags) $(optflags-gnu-y) $(cppflags-gnu-y) $(cxxflags-gnu-y) -l_flags = -Wl,--entry=Reset_Handler -Wl,--cref $(cpuflags-gnu-y) $(optflags-gnu-y) $(ldflags-gnu-y) -ar_flags = $(arflags-gnu-y) - -# Source files list and part informations must already be included before -# running this makefile - -# If a custom build directory is specified, use it -- force trailing / in directory name. -ifdef BUILD_DIR - build-dir := $(dir $(BUILD_DIR))$(if $(notdir $(BUILD_DIR)),$(notdir $(BUILD_DIR))/) -else - build-dir = -endif - -# Create object files list from source files list. -obj-y := $(addprefix $(build-dir), $(addsuffix .o,$(basename $(CSRCS) $(ASSRCS)))) -# Create dependency files list from source files list. -dep-files := $(wildcard $(foreach f,$(obj-y),$(basename $(f)).d)) - -clean-files += $(wildcard $(obj-y)) -clean-files += $(dep-files) - -clean-dirs += $(call reverse,$(sort $(wildcard $(dir $(obj-y))))) - -# Default target. -.PHONY: all -ifeq ($(project_type),all) -all: - $(MAKE) all PROJECT_TYPE=flash - $(MAKE) all PROJECT_TYPE=sram -else -ifeq ($(target_type),lib) -all: $(target) $(project).lss $(project).sym -else -ifeq ($(target_type),elf) -all: prebuild $(target) $(project).lss $(project).sym $(project).hex $(project).bin postbuild -endif -endif -endif - -prebuild: -ifneq ($(strip $(PREBUILD_CMD)),) - @echo $(MSG_PREBUILD) - $(Q)$(PREBUILD_CMD) -endif - -postbuild: -ifneq ($(strip $(POSTBUILD_CMD)),) - @echo $(MSG_POSTBUILD) - $(Q)$(POSTBUILD_CMD) -endif - -# Clean up the project. -.PHONY: clean -clean: - @$(if $(strip $(clean-files)),echo $(MSG_CLEAN_FILES)) - $(if $(strip $(clean-files)),$(Q)$(RM) $(clean-files),) - @$(if $(strip $(clean-dirs)),echo $(MSG_CLEAN_DIRS)) -# Remove created directories, and make sure we only remove existing -# directories, since recursive rmdir might help us a bit on the way. -ifeq ($(os),Windows) - $(Q)$(if $(strip $(clean-dirs)), \ - $(RMDIR) $(strip $(subst /,\,$(clean-dirs)))) -else - $(Q)$(if $(strip $(clean-dirs)), \ - for directory in $(strip $(clean-dirs)); do \ - if [ -d "$$directory" ]; then \ - $(RMDIR) $$directory; \ - fi \ - done \ - ) -endif - -# Rebuild the project. -.PHONY: rebuild -rebuild: clean all - -# Debug the project in flash. -.PHONY: debug_flash -debug_flash: all - $(GDB) -x "$(PRJ_PATH)/$(DEBUG_SCRIPT_FLASH)" -ex "reset" -readnow -se $(TARGET_FLASH) - -# Debug the project in sram. -.PHONY: debug_sram -debug_sram: all - $(GDB) -x "$(PRJ_PATH)/$(DEBUG_SCRIPT_SRAM)" -ex "reset" -readnow -se $(TARGET_SRAM) - -.PHONY: objfiles -objfiles: $(obj-y) - -# Create object files from C source files. -$(build-dir)%.o: %.c $(MAKEFILE_PATH) config.mk - $(Q)test -d $(dir $@) || echo $(MSG_MKDIR) -ifeq ($(os),Windows) - $(Q)test -d $(patsubst %/,%,$(dir $@)) || mkdir $(subst /,\,$(dir $@)) -else - $(Q)test -d $(dir $@) || mkdir -p $(dir $@) -endif - @echo $(MSG_COMPILING) - $(Q)$(CC) $(c_flags) -c $< -o $@ - -# Create object files from C++ source files. -$(build-dir)%.o: %.cpp $(MAKEFILE_PATH) config.mk - $(Q)test -d $(dir $@) || echo $(MSG_MKDIR) -ifeq ($(os),Windows) - $(Q)test -d $(patsubst %/,%,$(dir $@)) || mkdir $(subst /,\,$(dir $@)) -else - $(Q)test -d $(dir $@) || mkdir -p $(dir $@) -endif - @echo $(MSG_COMPILING_CXX) - $(Q)$(CXX) $(cxx_flags) -c $< -o $@ - -# Preprocess and assemble: create object files from assembler source files. -$(build-dir)%.o: %.S $(MAKEFILE_PATH) config.mk - $(Q)test -d $(dir $@) || echo $(MSG_MKDIR) -ifeq ($(os),Windows) - $(Q)test -d $(patsubst %/,%,$(dir $@)) || mkdir $(subst /,\,$(dir $@)) -else - $(Q)test -d $(dir $@) || mkdir -p $(dir $@) -endif - @echo $(MSG_ASSEMBLING) - $(Q)$(CC) $(a_flags) -c $< -o $@ - -# Include all dependency files to add depedency to all header files in use. -include $(dep-files) - -ifeq ($(target_type),lib) -# Archive object files into an archive -$(target): $(MAKEFILE_PATH) config.mk $(obj-y) - @echo $(MSG_ARCHIVING) - $(Q)$(AR) $(ar_flags) $@ $(obj-y) - @echo $(MSG_SIZE) - $(Q)$(SIZE) -Bxt $@ -else -ifeq ($(target_type),elf) -# Link the object files into an ELF file. Also make sure the target is rebuilt -# if the common Makefile.sam.in or project config.mk is changed. -$(target): $(linker_script) $(MAKEFILE_PATH) config.mk $(obj-y) - @echo $(MSG_LINKING) - $(Q)$(LD) $(l_flags) $(obj-y) $(libflags-gnu-y) -o $@ - @echo $(MSG_SIZE) - $(Q)$(SIZE) -Ax $@ - $(Q)$(SIZE) -Bx $@ -endif -endif - -# Create extended function listing from target output file. -%.lss: $(target) - @echo $(MSG_EXTENDED_LISTING) - $(Q)$(OBJDUMP) -h -S $< > $@ - -# Create symbol table from target output file. -%.sym: $(target) - @echo $(MSG_SYMBOL_TABLE) - $(Q)$(NM) -n $< > $@ - -# Create Intel HEX image from ELF output file. -%.hex: $(target) - @echo $(MSG_IHEX_IMAGE) - $(Q)$(OBJCOPY) -O ihex $(flashflags-gnu-y) $< $@ - -# Create binary image from ELF output file. -%.bin: $(target) - @echo $(MSG_BINARY_IMAGE) - $(Q)$(OBJCOPY) -O binary $< $@ - -# Provide information about the detected host operating system. -.SECONDARY: info-os -info-os: - @echo $(MSG_INFO)$(os) build host detected - -# Build Doxygen generated documentation. -.PHONY: doc -doc: - @echo $(MSG_GENERATING_DOC) - $(Q)cd $(dir $(doccfg)) && $(DOCGEN) $(notdir $(doccfg)) - -# Clean Doxygen generated documentation. -.PHONY: cleandoc -cleandoc: - @$(if $(wildcard $(docdir)),echo $(MSG_CLEAN_DOC)) - $(Q)$(if $(wildcard $(docdir)),$(RM) --recursive $(docdir)) - -# Rebuild the Doxygen generated documentation. -.PHONY: rebuilddoc -rebuilddoc: cleandoc doc diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/mrepeat.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/mrepeat.h deleted file mode 100644 index 5a2017b..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/mrepeat.h +++ /dev/null @@ -1,339 +0,0 @@ -/** - * \file - * - * \brief Preprocessor macro repeating utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _MREPEAT_H_ -#define _MREPEAT_H_ - -/** - * \defgroup group_sam_utils_mrepeat Preprocessor - Macro Repeat - * - * \ingroup group_sam_utils - * - * \{ - */ - -#include "preprocessor.h" - - -//! Maximal number of repetitions supported by MREPEAT. -#define MREPEAT_LIMIT 256 - -/*! \brief Macro repeat. - * - * This macro represents a horizontal repetition construct. - * - * \param count The number of repetitious calls to macro. Valid values range from 0 to MREPEAT_LIMIT. - * \param macro A binary operation of the form macro(n, data). This macro is expanded by MREPEAT with - * the current repetition number and the auxiliary data argument. - * \param data Auxiliary data passed to macro. - * - * \return <tt>macro(0, data) macro(1, data) ... macro(count - 1, data)</tt> - */ -#define MREPEAT(count, macro, data) TPASTE2(MREPEAT, count)(macro, data) - -#define MREPEAT0( macro, data) -#define MREPEAT1( macro, data) MREPEAT0( macro, data) macro( 0, data) -#define MREPEAT2( macro, data) MREPEAT1( macro, data) macro( 1, data) -#define MREPEAT3( macro, data) MREPEAT2( macro, data) macro( 2, data) -#define MREPEAT4( macro, data) MREPEAT3( macro, data) macro( 3, data) -#define MREPEAT5( macro, data) MREPEAT4( macro, data) macro( 4, data) -#define MREPEAT6( macro, data) MREPEAT5( macro, data) macro( 5, data) -#define MREPEAT7( macro, data) MREPEAT6( macro, data) macro( 6, data) -#define MREPEAT8( macro, data) MREPEAT7( macro, data) macro( 7, data) -#define MREPEAT9( macro, data) MREPEAT8( macro, data) macro( 8, data) -#define MREPEAT10( macro, data) MREPEAT9( macro, data) macro( 9, data) -#define MREPEAT11( macro, data) MREPEAT10( macro, data) macro( 10, data) -#define MREPEAT12( macro, data) MREPEAT11( macro, data) macro( 11, data) -#define MREPEAT13( macro, data) MREPEAT12( macro, data) macro( 12, data) -#define MREPEAT14( macro, data) MREPEAT13( macro, data) macro( 13, data) -#define MREPEAT15( macro, data) MREPEAT14( macro, data) macro( 14, data) -#define MREPEAT16( macro, data) MREPEAT15( macro, data) macro( 15, data) -#define MREPEAT17( macro, data) MREPEAT16( macro, data) macro( 16, data) -#define MREPEAT18( macro, data) MREPEAT17( macro, data) macro( 17, data) -#define MREPEAT19( macro, data) MREPEAT18( macro, data) macro( 18, data) -#define MREPEAT20( macro, data) MREPEAT19( macro, data) macro( 19, data) -#define MREPEAT21( macro, data) MREPEAT20( macro, data) macro( 20, data) -#define MREPEAT22( macro, data) MREPEAT21( macro, data) macro( 21, data) -#define MREPEAT23( macro, data) MREPEAT22( macro, data) macro( 22, data) -#define MREPEAT24( macro, data) MREPEAT23( macro, data) macro( 23, data) -#define MREPEAT25( macro, data) MREPEAT24( macro, data) macro( 24, data) -#define MREPEAT26( macro, data) MREPEAT25( macro, data) macro( 25, data) -#define MREPEAT27( macro, data) MREPEAT26( macro, data) macro( 26, data) -#define MREPEAT28( macro, data) MREPEAT27( macro, data) macro( 27, data) -#define MREPEAT29( macro, data) MREPEAT28( macro, data) macro( 28, data) -#define MREPEAT30( macro, data) MREPEAT29( macro, data) macro( 29, data) -#define MREPEAT31( macro, data) MREPEAT30( macro, data) macro( 30, data) -#define MREPEAT32( macro, data) MREPEAT31( macro, data) macro( 31, data) -#define MREPEAT33( macro, data) MREPEAT32( macro, data) macro( 32, data) -#define MREPEAT34( macro, data) MREPEAT33( macro, data) macro( 33, data) -#define MREPEAT35( macro, data) MREPEAT34( macro, data) macro( 34, data) -#define MREPEAT36( macro, data) MREPEAT35( macro, data) macro( 35, data) -#define MREPEAT37( macro, data) MREPEAT36( macro, data) macro( 36, data) -#define MREPEAT38( macro, data) MREPEAT37( macro, data) macro( 37, data) -#define MREPEAT39( macro, data) MREPEAT38( macro, data) macro( 38, data) -#define MREPEAT40( macro, data) MREPEAT39( macro, data) macro( 39, data) -#define MREPEAT41( macro, data) MREPEAT40( macro, data) macro( 40, data) -#define MREPEAT42( macro, data) MREPEAT41( macro, data) macro( 41, data) -#define MREPEAT43( macro, data) MREPEAT42( macro, data) macro( 42, data) -#define MREPEAT44( macro, data) MREPEAT43( macro, data) macro( 43, data) -#define MREPEAT45( macro, data) MREPEAT44( macro, data) macro( 44, data) -#define MREPEAT46( macro, data) MREPEAT45( macro, data) macro( 45, data) -#define MREPEAT47( macro, data) MREPEAT46( macro, data) macro( 46, data) -#define MREPEAT48( macro, data) MREPEAT47( macro, data) macro( 47, data) -#define MREPEAT49( macro, data) MREPEAT48( macro, data) macro( 48, data) -#define MREPEAT50( macro, data) MREPEAT49( macro, data) macro( 49, data) -#define MREPEAT51( macro, data) MREPEAT50( macro, data) macro( 50, data) -#define MREPEAT52( macro, data) MREPEAT51( macro, data) macro( 51, data) -#define MREPEAT53( macro, data) MREPEAT52( macro, data) macro( 52, data) -#define MREPEAT54( macro, data) MREPEAT53( macro, data) macro( 53, data) -#define MREPEAT55( macro, data) MREPEAT54( macro, data) macro( 54, data) -#define MREPEAT56( macro, data) MREPEAT55( macro, data) macro( 55, data) -#define MREPEAT57( macro, data) MREPEAT56( macro, data) macro( 56, data) -#define MREPEAT58( macro, data) MREPEAT57( macro, data) macro( 57, data) -#define MREPEAT59( macro, data) MREPEAT58( macro, data) macro( 58, data) -#define MREPEAT60( macro, data) MREPEAT59( macro, data) macro( 59, data) -#define MREPEAT61( macro, data) MREPEAT60( macro, data) macro( 60, data) -#define MREPEAT62( macro, data) MREPEAT61( macro, data) macro( 61, data) -#define MREPEAT63( macro, data) MREPEAT62( macro, data) macro( 62, data) -#define MREPEAT64( macro, data) MREPEAT63( macro, data) macro( 63, data) -#define MREPEAT65( macro, data) MREPEAT64( macro, data) macro( 64, data) -#define MREPEAT66( macro, data) MREPEAT65( macro, data) macro( 65, data) -#define MREPEAT67( macro, data) MREPEAT66( macro, data) macro( 66, data) -#define MREPEAT68( macro, data) MREPEAT67( macro, data) macro( 67, data) -#define MREPEAT69( macro, data) MREPEAT68( macro, data) macro( 68, data) -#define MREPEAT70( macro, data) MREPEAT69( macro, data) macro( 69, data) -#define MREPEAT71( macro, data) MREPEAT70( macro, data) macro( 70, data) -#define MREPEAT72( macro, data) MREPEAT71( macro, data) macro( 71, data) -#define MREPEAT73( macro, data) MREPEAT72( macro, data) macro( 72, data) -#define MREPEAT74( macro, data) MREPEAT73( macro, data) macro( 73, data) -#define MREPEAT75( macro, data) MREPEAT74( macro, data) macro( 74, data) -#define MREPEAT76( macro, data) MREPEAT75( macro, data) macro( 75, data) -#define MREPEAT77( macro, data) MREPEAT76( macro, data) macro( 76, data) -#define MREPEAT78( macro, data) MREPEAT77( macro, data) macro( 77, data) -#define MREPEAT79( macro, data) MREPEAT78( macro, data) macro( 78, data) -#define MREPEAT80( macro, data) MREPEAT79( macro, data) macro( 79, data) -#define MREPEAT81( macro, data) MREPEAT80( macro, data) macro( 80, data) -#define MREPEAT82( macro, data) MREPEAT81( macro, data) macro( 81, data) -#define MREPEAT83( macro, data) MREPEAT82( macro, data) macro( 82, data) -#define MREPEAT84( macro, data) MREPEAT83( macro, data) macro( 83, data) -#define MREPEAT85( macro, data) MREPEAT84( macro, data) macro( 84, data) -#define MREPEAT86( macro, data) MREPEAT85( macro, data) macro( 85, data) -#define MREPEAT87( macro, data) MREPEAT86( macro, data) macro( 86, data) -#define MREPEAT88( macro, data) MREPEAT87( macro, data) macro( 87, data) -#define MREPEAT89( macro, data) MREPEAT88( macro, data) macro( 88, data) -#define MREPEAT90( macro, data) MREPEAT89( macro, data) macro( 89, data) -#define MREPEAT91( macro, data) MREPEAT90( macro, data) macro( 90, data) -#define MREPEAT92( macro, data) MREPEAT91( macro, data) macro( 91, data) -#define MREPEAT93( macro, data) MREPEAT92( macro, data) macro( 92, data) -#define MREPEAT94( macro, data) MREPEAT93( macro, data) macro( 93, data) -#define MREPEAT95( macro, data) MREPEAT94( macro, data) macro( 94, data) -#define MREPEAT96( macro, data) MREPEAT95( macro, data) macro( 95, data) -#define MREPEAT97( macro, data) MREPEAT96( macro, data) macro( 96, data) -#define MREPEAT98( macro, data) MREPEAT97( macro, data) macro( 97, data) -#define MREPEAT99( macro, data) MREPEAT98( macro, data) macro( 98, data) -#define MREPEAT100(macro, data) MREPEAT99( macro, data) macro( 99, data) -#define MREPEAT101(macro, data) MREPEAT100(macro, data) macro(100, data) -#define MREPEAT102(macro, data) MREPEAT101(macro, data) macro(101, data) -#define MREPEAT103(macro, data) MREPEAT102(macro, data) macro(102, data) -#define MREPEAT104(macro, data) MREPEAT103(macro, data) macro(103, data) -#define MREPEAT105(macro, data) MREPEAT104(macro, data) macro(104, data) -#define MREPEAT106(macro, data) MREPEAT105(macro, data) macro(105, data) -#define MREPEAT107(macro, data) MREPEAT106(macro, data) macro(106, data) -#define MREPEAT108(macro, data) MREPEAT107(macro, data) macro(107, data) -#define MREPEAT109(macro, data) MREPEAT108(macro, data) macro(108, data) -#define MREPEAT110(macro, data) MREPEAT109(macro, data) macro(109, data) -#define MREPEAT111(macro, data) MREPEAT110(macro, data) macro(110, data) -#define MREPEAT112(macro, data) MREPEAT111(macro, data) macro(111, data) -#define MREPEAT113(macro, data) MREPEAT112(macro, data) macro(112, data) -#define MREPEAT114(macro, data) MREPEAT113(macro, data) macro(113, data) -#define MREPEAT115(macro, data) MREPEAT114(macro, data) macro(114, data) -#define MREPEAT116(macro, data) MREPEAT115(macro, data) macro(115, data) -#define MREPEAT117(macro, data) MREPEAT116(macro, data) macro(116, data) -#define MREPEAT118(macro, data) MREPEAT117(macro, data) macro(117, data) -#define MREPEAT119(macro, data) MREPEAT118(macro, data) macro(118, data) -#define MREPEAT120(macro, data) MREPEAT119(macro, data) macro(119, data) -#define MREPEAT121(macro, data) MREPEAT120(macro, data) macro(120, data) -#define MREPEAT122(macro, data) MREPEAT121(macro, data) macro(121, data) -#define MREPEAT123(macro, data) MREPEAT122(macro, data) macro(122, data) -#define MREPEAT124(macro, data) MREPEAT123(macro, data) macro(123, data) -#define MREPEAT125(macro, data) MREPEAT124(macro, data) macro(124, data) -#define MREPEAT126(macro, data) MREPEAT125(macro, data) macro(125, data) -#define MREPEAT127(macro, data) MREPEAT126(macro, data) macro(126, data) -#define MREPEAT128(macro, data) MREPEAT127(macro, data) macro(127, data) -#define MREPEAT129(macro, data) MREPEAT128(macro, data) macro(128, data) -#define MREPEAT130(macro, data) MREPEAT129(macro, data) macro(129, data) -#define MREPEAT131(macro, data) MREPEAT130(macro, data) macro(130, data) -#define MREPEAT132(macro, data) MREPEAT131(macro, data) macro(131, data) -#define MREPEAT133(macro, data) MREPEAT132(macro, data) macro(132, data) -#define MREPEAT134(macro, data) MREPEAT133(macro, data) macro(133, data) -#define MREPEAT135(macro, data) MREPEAT134(macro, data) macro(134, data) -#define MREPEAT136(macro, data) MREPEAT135(macro, data) macro(135, data) -#define MREPEAT137(macro, data) MREPEAT136(macro, data) macro(136, data) -#define MREPEAT138(macro, data) MREPEAT137(macro, data) macro(137, data) -#define MREPEAT139(macro, data) MREPEAT138(macro, data) macro(138, data) -#define MREPEAT140(macro, data) MREPEAT139(macro, data) macro(139, data) -#define MREPEAT141(macro, data) MREPEAT140(macro, data) macro(140, data) -#define MREPEAT142(macro, data) MREPEAT141(macro, data) macro(141, data) -#define MREPEAT143(macro, data) MREPEAT142(macro, data) macro(142, data) -#define MREPEAT144(macro, data) MREPEAT143(macro, data) macro(143, data) -#define MREPEAT145(macro, data) MREPEAT144(macro, data) macro(144, data) -#define MREPEAT146(macro, data) MREPEAT145(macro, data) macro(145, data) -#define MREPEAT147(macro, data) MREPEAT146(macro, data) macro(146, data) -#define MREPEAT148(macro, data) MREPEAT147(macro, data) macro(147, data) -#define MREPEAT149(macro, data) MREPEAT148(macro, data) macro(148, data) -#define MREPEAT150(macro, data) MREPEAT149(macro, data) macro(149, data) -#define MREPEAT151(macro, data) MREPEAT150(macro, data) macro(150, data) -#define MREPEAT152(macro, data) MREPEAT151(macro, data) macro(151, data) -#define MREPEAT153(macro, data) MREPEAT152(macro, data) macro(152, data) -#define MREPEAT154(macro, data) MREPEAT153(macro, data) macro(153, data) -#define MREPEAT155(macro, data) MREPEAT154(macro, data) macro(154, data) -#define MREPEAT156(macro, data) MREPEAT155(macro, data) macro(155, data) -#define MREPEAT157(macro, data) MREPEAT156(macro, data) macro(156, data) -#define MREPEAT158(macro, data) MREPEAT157(macro, data) macro(157, data) -#define MREPEAT159(macro, data) MREPEAT158(macro, data) macro(158, data) -#define MREPEAT160(macro, data) MREPEAT159(macro, data) macro(159, data) -#define MREPEAT161(macro, data) MREPEAT160(macro, data) macro(160, data) -#define MREPEAT162(macro, data) MREPEAT161(macro, data) macro(161, data) -#define MREPEAT163(macro, data) MREPEAT162(macro, data) macro(162, data) -#define MREPEAT164(macro, data) MREPEAT163(macro, data) macro(163, data) -#define MREPEAT165(macro, data) MREPEAT164(macro, data) macro(164, data) -#define MREPEAT166(macro, data) MREPEAT165(macro, data) macro(165, data) -#define MREPEAT167(macro, data) MREPEAT166(macro, data) macro(166, data) -#define MREPEAT168(macro, data) MREPEAT167(macro, data) macro(167, data) -#define MREPEAT169(macro, data) MREPEAT168(macro, data) macro(168, data) -#define MREPEAT170(macro, data) MREPEAT169(macro, data) macro(169, data) -#define MREPEAT171(macro, data) MREPEAT170(macro, data) macro(170, data) -#define MREPEAT172(macro, data) MREPEAT171(macro, data) macro(171, data) -#define MREPEAT173(macro, data) MREPEAT172(macro, data) macro(172, data) -#define MREPEAT174(macro, data) MREPEAT173(macro, data) macro(173, data) -#define MREPEAT175(macro, data) MREPEAT174(macro, data) macro(174, data) -#define MREPEAT176(macro, data) MREPEAT175(macro, data) macro(175, data) -#define MREPEAT177(macro, data) MREPEAT176(macro, data) macro(176, data) -#define MREPEAT178(macro, data) MREPEAT177(macro, data) macro(177, data) -#define MREPEAT179(macro, data) MREPEAT178(macro, data) macro(178, data) -#define MREPEAT180(macro, data) MREPEAT179(macro, data) macro(179, data) -#define MREPEAT181(macro, data) MREPEAT180(macro, data) macro(180, data) -#define MREPEAT182(macro, data) MREPEAT181(macro, data) macro(181, data) -#define MREPEAT183(macro, data) MREPEAT182(macro, data) macro(182, data) -#define MREPEAT184(macro, data) MREPEAT183(macro, data) macro(183, data) -#define MREPEAT185(macro, data) MREPEAT184(macro, data) macro(184, data) -#define MREPEAT186(macro, data) MREPEAT185(macro, data) macro(185, data) -#define MREPEAT187(macro, data) MREPEAT186(macro, data) macro(186, data) -#define MREPEAT188(macro, data) MREPEAT187(macro, data) macro(187, data) -#define MREPEAT189(macro, data) MREPEAT188(macro, data) macro(188, data) -#define MREPEAT190(macro, data) MREPEAT189(macro, data) macro(189, data) -#define MREPEAT191(macro, data) MREPEAT190(macro, data) macro(190, data) -#define MREPEAT192(macro, data) MREPEAT191(macro, data) macro(191, data) -#define MREPEAT193(macro, data) MREPEAT192(macro, data) macro(192, data) -#define MREPEAT194(macro, data) MREPEAT193(macro, data) macro(193, data) -#define MREPEAT195(macro, data) MREPEAT194(macro, data) macro(194, data) -#define MREPEAT196(macro, data) MREPEAT195(macro, data) macro(195, data) -#define MREPEAT197(macro, data) MREPEAT196(macro, data) macro(196, data) -#define MREPEAT198(macro, data) MREPEAT197(macro, data) macro(197, data) -#define MREPEAT199(macro, data) MREPEAT198(macro, data) macro(198, data) -#define MREPEAT200(macro, data) MREPEAT199(macro, data) macro(199, data) -#define MREPEAT201(macro, data) MREPEAT200(macro, data) macro(200, data) -#define MREPEAT202(macro, data) MREPEAT201(macro, data) macro(201, data) -#define MREPEAT203(macro, data) MREPEAT202(macro, data) macro(202, data) -#define MREPEAT204(macro, data) MREPEAT203(macro, data) macro(203, data) -#define MREPEAT205(macro, data) MREPEAT204(macro, data) macro(204, data) -#define MREPEAT206(macro, data) MREPEAT205(macro, data) macro(205, data) -#define MREPEAT207(macro, data) MREPEAT206(macro, data) macro(206, data) -#define MREPEAT208(macro, data) MREPEAT207(macro, data) macro(207, data) -#define MREPEAT209(macro, data) MREPEAT208(macro, data) macro(208, data) -#define MREPEAT210(macro, data) MREPEAT209(macro, data) macro(209, data) -#define MREPEAT211(macro, data) MREPEAT210(macro, data) macro(210, data) -#define MREPEAT212(macro, data) MREPEAT211(macro, data) macro(211, data) -#define MREPEAT213(macro, data) MREPEAT212(macro, data) macro(212, data) -#define MREPEAT214(macro, data) MREPEAT213(macro, data) macro(213, data) -#define MREPEAT215(macro, data) MREPEAT214(macro, data) macro(214, data) -#define MREPEAT216(macro, data) MREPEAT215(macro, data) macro(215, data) -#define MREPEAT217(macro, data) MREPEAT216(macro, data) macro(216, data) -#define MREPEAT218(macro, data) MREPEAT217(macro, data) macro(217, data) -#define MREPEAT219(macro, data) MREPEAT218(macro, data) macro(218, data) -#define MREPEAT220(macro, data) MREPEAT219(macro, data) macro(219, data) -#define MREPEAT221(macro, data) MREPEAT220(macro, data) macro(220, data) -#define MREPEAT222(macro, data) MREPEAT221(macro, data) macro(221, data) -#define MREPEAT223(macro, data) MREPEAT222(macro, data) macro(222, data) -#define MREPEAT224(macro, data) MREPEAT223(macro, data) macro(223, data) -#define MREPEAT225(macro, data) MREPEAT224(macro, data) macro(224, data) -#define MREPEAT226(macro, data) MREPEAT225(macro, data) macro(225, data) -#define MREPEAT227(macro, data) MREPEAT226(macro, data) macro(226, data) -#define MREPEAT228(macro, data) MREPEAT227(macro, data) macro(227, data) -#define MREPEAT229(macro, data) MREPEAT228(macro, data) macro(228, data) -#define MREPEAT230(macro, data) MREPEAT229(macro, data) macro(229, data) -#define MREPEAT231(macro, data) MREPEAT230(macro, data) macro(230, data) -#define MREPEAT232(macro, data) MREPEAT231(macro, data) macro(231, data) -#define MREPEAT233(macro, data) MREPEAT232(macro, data) macro(232, data) -#define MREPEAT234(macro, data) MREPEAT233(macro, data) macro(233, data) -#define MREPEAT235(macro, data) MREPEAT234(macro, data) macro(234, data) -#define MREPEAT236(macro, data) MREPEAT235(macro, data) macro(235, data) -#define MREPEAT237(macro, data) MREPEAT236(macro, data) macro(236, data) -#define MREPEAT238(macro, data) MREPEAT237(macro, data) macro(237, data) -#define MREPEAT239(macro, data) MREPEAT238(macro, data) macro(238, data) -#define MREPEAT240(macro, data) MREPEAT239(macro, data) macro(239, data) -#define MREPEAT241(macro, data) MREPEAT240(macro, data) macro(240, data) -#define MREPEAT242(macro, data) MREPEAT241(macro, data) macro(241, data) -#define MREPEAT243(macro, data) MREPEAT242(macro, data) macro(242, data) -#define MREPEAT244(macro, data) MREPEAT243(macro, data) macro(243, data) -#define MREPEAT245(macro, data) MREPEAT244(macro, data) macro(244, data) -#define MREPEAT246(macro, data) MREPEAT245(macro, data) macro(245, data) -#define MREPEAT247(macro, data) MREPEAT246(macro, data) macro(246, data) -#define MREPEAT248(macro, data) MREPEAT247(macro, data) macro(247, data) -#define MREPEAT249(macro, data) MREPEAT248(macro, data) macro(248, data) -#define MREPEAT250(macro, data) MREPEAT249(macro, data) macro(249, data) -#define MREPEAT251(macro, data) MREPEAT250(macro, data) macro(250, data) -#define MREPEAT252(macro, data) MREPEAT251(macro, data) macro(251, data) -#define MREPEAT253(macro, data) MREPEAT252(macro, data) macro(252, data) -#define MREPEAT254(macro, data) MREPEAT253(macro, data) macro(253, data) -#define MREPEAT255(macro, data) MREPEAT254(macro, data) macro(254, data) -#define MREPEAT256(macro, data) MREPEAT255(macro, data) macro(255, data) - -/** - * \} - */ - -#endif // _MREPEAT_H_ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/preprocessor.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/preprocessor.h deleted file mode 100644 index 184c03a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/preprocessor.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * \file - * - * \brief Preprocessor utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _PREPROCESSOR_H_ -#define _PREPROCESSOR_H_ - -#include "tpaste.h" -#include "stringz.h" -#include "mrepeat.h" - - -#endif // _PREPROCESSOR_H_ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/stringz.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/stringz.h deleted file mode 100644 index b914b73..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/stringz.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * \brief Preprocessor stringizing utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _STRINGZ_H_ -#define _STRINGZ_H_ - -/** - * \defgroup group_sam_utils_stringz Preprocessor - Stringize - * - * \ingroup group_sam_utils - * - * \{ - */ - -/*! \brief Stringize. - * - * Stringize a preprocessing token, this token being allowed to be \#defined. - * - * May be used only within macros with the token passed as an argument if the token is \#defined. - * - * For example, writing STRINGZ(PIN) within a macro \#defined by PIN_NAME(PIN) - * and invoked as PIN_NAME(PIN0) with PIN0 \#defined as A0 is equivalent to - * writing "A0". - */ -#define STRINGZ(x) #x - -/*! \brief Absolute stringize. - * - * Stringize a preprocessing token, this token being allowed to be \#defined. - * - * No restriction of use if the token is \#defined. - * - * For example, writing ASTRINGZ(PIN0) anywhere with PIN0 \#defined as A0 is - * equivalent to writing "A0". - */ -#define ASTRINGZ(x) STRINGZ(x) - -/** - * \} - */ - -#endif // _STRINGZ_H_ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/tpaste.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/tpaste.h deleted file mode 100644 index f8ec44a..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/preprocessor/tpaste.h +++ /dev/null @@ -1,105 +0,0 @@ -/** - * \file - * - * \brief Preprocessor token pasting utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _TPASTE_H_ -#define _TPASTE_H_ - -/** - * \defgroup group_sam_utils_tpaste Preprocessor - Token Paste - * - * \ingroup group_sam_utils - * - * \{ - */ - -/*! \name Token Paste - * - * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. - * - * May be used only within macros with the tokens passed as arguments if the tokens are \#defined. - * - * For example, writing TPASTE2(U, WIDTH) within a macro \#defined by - * UTYPE(WIDTH) and invoked as UTYPE(UL_WIDTH) with UL_WIDTH \#defined as 32 is - * equivalent to writing U32. - */ -//! @{ -#define TPASTE2( a, b) a##b -#define TPASTE3( a, b, c) a##b##c -#define TPASTE4( a, b, c, d) a##b##c##d -#define TPASTE5( a, b, c, d, e) a##b##c##d##e -#define TPASTE6( a, b, c, d, e, f) a##b##c##d##e##f -#define TPASTE7( a, b, c, d, e, f, g) a##b##c##d##e##f##g -#define TPASTE8( a, b, c, d, e, f, g, h) a##b##c##d##e##f##g##h -#define TPASTE9( a, b, c, d, e, f, g, h, i) a##b##c##d##e##f##g##h##i -#define TPASTE10(a, b, c, d, e, f, g, h, i, j) a##b##c##d##e##f##g##h##i##j -//! @} - -/*! \name Absolute Token Paste - * - * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. - * - * No restriction of use if the tokens are \#defined. - * - * For example, writing ATPASTE2(U, UL_WIDTH) anywhere with UL_WIDTH \#defined - * as 32 is equivalent to writing U32. - */ -//! @{ -#define ATPASTE2( a, b) TPASTE2( a, b) -#define ATPASTE3( a, b, c) TPASTE3( a, b, c) -#define ATPASTE4( a, b, c, d) TPASTE4( a, b, c, d) -#define ATPASTE5( a, b, c, d, e) TPASTE5( a, b, c, d, e) -#define ATPASTE6( a, b, c, d, e, f) TPASTE6( a, b, c, d, e, f) -#define ATPASTE7( a, b, c, d, e, f, g) TPASTE7( a, b, c, d, e, f, g) -#define ATPASTE8( a, b, c, d, e, f, g, h) TPASTE8( a, b, c, d, e, f, g, h) -#define ATPASTE9( a, b, c, d, e, f, g, h, i) TPASTE9( a, b, c, d, e, f, g, h, i) -#define ATPASTE10(a, b, c, d, e, f, g, h, i, j) TPASTE10(a, b, c, d, e, f, g, h, i, j) -//! @} - -/** - * \} - */ - -#endif // _TPASTE_H_ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/status_codes.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/status_codes.h deleted file mode 100644 index d5e6dd6..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/status_codes.h +++ /dev/null @@ -1,113 +0,0 @@ -/** - * \file - * - * \brief Status code definitions. - * - * This file defines various status codes returned by functions, - * indicating success or failure as well as what kind of failure. - * - * Copyright (c) 2011-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef STATUS_CODES_H_INCLUDED -#define STATUS_CODES_H_INCLUDED - -/* Note: this is a local workaround to avoid a pre-processor clash due to the - * lwIP macro ERR_TIMEOUT. */ -#if defined(__LWIP_ERR_H__) && defined(ERR_TIMEOUT) -#if (ERR_TIMEOUT != -3) - -/* Internal check to make sure that the later restore of lwIP's ERR_TIMEOUT - * macro is set to the correct value. Note that it is highly improbable that - * this value ever changes in lwIP. */ -#error ASF developers: check lwip err.h new value for ERR_TIMEOUT -#endif -#undef ERR_TIMEOUT -#endif - -/** - * Status code that may be returned by shell commands and protocol - * implementations. - * - * \note Any change to these status codes and the corresponding - * message strings is strictly forbidden. New codes can be added, - * however, but make sure that any message string tables are updated - * at the same time. - */ -enum status_code { - STATUS_OK = 0, //!< Success - STATUS_ERR_BUSY = 0x19, - STATUS_ERR_DENIED = 0x1C, - STATUS_ERR_TIMEOUT = 0x12, - ERR_IO_ERROR = -1, //!< I/O error - ERR_FLUSHED = -2, //!< Request flushed from queue - ERR_TIMEOUT = -3, //!< Operation timed out - ERR_BAD_DATA = -4, //!< Data integrity check failed - ERR_PROTOCOL = -5, //!< Protocol error - ERR_UNSUPPORTED_DEV = -6, //!< Unsupported device - ERR_NO_MEMORY = -7, //!< Insufficient memory - ERR_INVALID_ARG = -8, //!< Invalid argument - ERR_BAD_ADDRESS = -9, //!< Bad address - ERR_BUSY = -10, //!< Resource is busy - ERR_BAD_FORMAT = -11, //!< Data format not recognized - ERR_NO_TIMER = -12, //!< No timer available - ERR_TIMER_ALREADY_RUNNING = -13, //!< Timer already running - ERR_TIMER_NOT_RUNNING = -14, //!< Timer not running - ERR_ABORTED = -15, //!< Operation aborted by user - /** - * \brief Operation in progress - * - * This status code is for driver-internal use when an operation - * is currently being performed. - * - * \note Drivers should never return this status code to any - * callers. It is strictly for internal use. - */ - OPERATION_IN_PROGRESS = -128, -}; - -typedef enum status_code status_code_t; - -#if defined(__LWIP_ERR_H__) -#define ERR_TIMEOUT -3 -#endif - -#endif /* STATUS_CODES_H_INCLUDED */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/syscalls/gcc/syscalls.c b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/syscalls/gcc/syscalls.c deleted file mode 100644 index 9ec9d7e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/sam/utils/syscalls/gcc/syscalls.c +++ /dev/null @@ -1,144 +0,0 @@ -/** - * \file - * - * \brief Syscalls for SAM (GCC). - * - * Copyright (c) 2011-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <stdio.h> -#include <stdarg.h> -#include <sys/types.h> -#include <sys/stat.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -#undef errno -extern int errno; -extern int _end; -extern int __ram_end__; - -extern caddr_t _sbrk(int incr); -extern int link(char *old, char *new); -extern int _close(int file); -extern int _fstat(int file, struct stat *st); -extern int _isatty(int file); -extern int _lseek(int file, int ptr, int dir); -extern void _exit(int status); -extern void _kill(int pid, int sig); -extern int _getpid(void); - -extern caddr_t _sbrk(int incr) -{ - static unsigned char *heap = NULL; - unsigned char *prev_heap; - int ramend = (int)&__ram_end__; - - if (heap == NULL) { - heap = (unsigned char *)&_end; - } - prev_heap = heap; - - if (((int)prev_heap + incr) > ramend) { - return (caddr_t) -1; - } - - heap += incr; - - return (caddr_t) prev_heap; -} - -extern int link(char *old, char *new) -{ - return -1; -} - -extern int _close(int file) -{ - return -1; -} - -extern int _fstat(int file, struct stat *st) -{ - st->st_mode = S_IFCHR; - - return 0; -} - -extern int _isatty(int file) -{ - return 1; -} - -extern int _lseek(int file, int ptr, int dir) -{ - return 0; -} - -extern void _exit(int status) -{ - asm("BKPT #0"); - for (;;); -} - -extern void _kill(int pid, int sig) -{ - return; -} - -extern int _getpid(void) -{ - return -1; -} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt deleted file mode 100644 index 422f7fe..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Only the CMSIS required parts for ASF are included here, go to the below - * address for the full package: - * http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php - * - * The library file thirdparty/CMSIS/Lib/GCC/libarm_cortexM4lf_math_softfp.a was generated by ATMEL, which - * is support -mfloat-abi=softfp compiler flag, and this is also the default selection for device that - * have FPU module and enabled. - * If customer want to use -mfloat-abi=hard compiler flag, the project compile/link flag and link library - * should be manual modified. The library thirdparty/CMSIS/Lib/GCC/libarm_cortexM4lf_math.a is used for - * -mfloat-abi=hard configration. - * - * __CORTEX_SC is not defined for cortex-m0+, and may cause compiler warning, so the include file - * thirdparty/CMSIS/Include/core_cmInstr.h was modified to void such warning. - * Modified from: - * #if (__CORTEX_M >= 0x03) || (__CORTEX_SC >= 300) - * to: - * #if (__CORTEX_M >= 0x03) || ((defined(__CORTEX_SC)) && (__CORTEX_SC >= 300)) - * - */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf deleted file mode 100644 index b374366930b2d1b5689ff5044caba49eace6aa68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172641 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�$K;VxpyX7|b<v*ey};*6o&Xp86b_ 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®zI~6?F)-)vh{QtyX9v`nOdK+JV<2Tv* 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 diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_common_tables.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_common_tables.h deleted file mode 100644 index 76aadca..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_common_tables.h +++ /dev/null @@ -1,136 +0,0 @@ -/* ---------------------------------------------------------------------- -* Copyright (C) 2010-2014 ARM Limited. All rights reserved. -* -* $Date: 31. July 2014 -* $Revision: V1.4.4 -* -* Project: CMSIS DSP Library -* Title: arm_common_tables.h -* -* Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions -* -* Target Processor: Cortex-M4/Cortex-M3 -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* - Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* - Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in -* the documentation and/or other materials provided with the -* distribution. -* - Neither the name of ARM LIMITED nor the names of its contributors -* may be used to endorse or promote products derived from this -* software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -* POSSIBILITY OF SUCH DAMAGE. -* -------------------------------------------------------------------- */ - -#ifndef _ARM_COMMON_TABLES_H -#define _ARM_COMMON_TABLES_H - -#include "arm_math.h" - -extern const uint16_t armBitRevTable[1024]; -extern const q15_t armRecipTableQ15[64]; -extern const q31_t armRecipTableQ31[64]; -//extern const q31_t realCoefAQ31[1024]; -//extern const q31_t realCoefBQ31[1024]; -extern const float32_t twiddleCoef_16[32]; -extern const float32_t twiddleCoef_32[64]; -extern const float32_t twiddleCoef_64[128]; -extern const float32_t twiddleCoef_128[256]; -extern const float32_t twiddleCoef_256[512]; -extern const float32_t twiddleCoef_512[1024]; -extern const float32_t twiddleCoef_1024[2048]; -extern const float32_t twiddleCoef_2048[4096]; -extern const float32_t twiddleCoef_4096[8192]; -#define twiddleCoef twiddleCoef_4096 -extern const q31_t twiddleCoef_16_q31[24]; -extern const q31_t twiddleCoef_32_q31[48]; -extern const q31_t twiddleCoef_64_q31[96]; -extern const q31_t twiddleCoef_128_q31[192]; -extern const q31_t twiddleCoef_256_q31[384]; -extern const q31_t twiddleCoef_512_q31[768]; -extern const q31_t twiddleCoef_1024_q31[1536]; -extern const q31_t twiddleCoef_2048_q31[3072]; -extern const q31_t twiddleCoef_4096_q31[6144]; -extern const q15_t twiddleCoef_16_q15[24]; -extern const q15_t twiddleCoef_32_q15[48]; -extern const q15_t twiddleCoef_64_q15[96]; -extern const q15_t twiddleCoef_128_q15[192]; -extern const q15_t twiddleCoef_256_q15[384]; -extern const q15_t twiddleCoef_512_q15[768]; -extern const q15_t twiddleCoef_1024_q15[1536]; -extern const q15_t twiddleCoef_2048_q15[3072]; -extern const q15_t twiddleCoef_4096_q15[6144]; -extern const float32_t twiddleCoef_rfft_32[32]; -extern const float32_t twiddleCoef_rfft_64[64]; -extern const float32_t twiddleCoef_rfft_128[128]; -extern const float32_t twiddleCoef_rfft_256[256]; -extern const float32_t twiddleCoef_rfft_512[512]; -extern const float32_t twiddleCoef_rfft_1024[1024]; -extern const float32_t twiddleCoef_rfft_2048[2048]; -extern const float32_t twiddleCoef_rfft_4096[4096]; - - -/* floating-point bit reversal tables */ -#define ARMBITREVINDEXTABLE__16_TABLE_LENGTH ((uint16_t)20 ) -#define ARMBITREVINDEXTABLE__32_TABLE_LENGTH ((uint16_t)48 ) -#define ARMBITREVINDEXTABLE__64_TABLE_LENGTH ((uint16_t)56 ) -#define ARMBITREVINDEXTABLE_128_TABLE_LENGTH ((uint16_t)208 ) -#define ARMBITREVINDEXTABLE_256_TABLE_LENGTH ((uint16_t)440 ) -#define ARMBITREVINDEXTABLE_512_TABLE_LENGTH ((uint16_t)448 ) -#define ARMBITREVINDEXTABLE1024_TABLE_LENGTH ((uint16_t)1800) -#define ARMBITREVINDEXTABLE2048_TABLE_LENGTH ((uint16_t)3808) -#define ARMBITREVINDEXTABLE4096_TABLE_LENGTH ((uint16_t)4032) - -extern const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE__16_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE__32_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE__64_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE1024_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE2048_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE4096_TABLE_LENGTH]; - -/* fixed-point bit reversal tables */ -#define ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH ((uint16_t)12 ) -#define ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH ((uint16_t)24 ) -#define ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH ((uint16_t)56 ) -#define ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH ((uint16_t)112 ) -#define ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH ((uint16_t)240 ) -#define ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH ((uint16_t)480 ) -#define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH ((uint16_t)992 ) -#define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH ((uint16_t)1984) -#define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH ((uint16_t)4032) - -extern const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]; -extern const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]; - -/* Tables for Fast Math Sine and Cosine */ -extern const float32_t sinTable_f32[FAST_MATH_TABLE_SIZE + 1]; -extern const q31_t sinTable_q31[FAST_MATH_TABLE_SIZE + 1]; -extern const q15_t sinTable_q15[FAST_MATH_TABLE_SIZE + 1]; - -#endif /* ARM_COMMON_TABLES_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_const_structs.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_const_structs.h deleted file mode 100644 index 217f1d5..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_const_structs.h +++ /dev/null @@ -1,79 +0,0 @@ -/* ---------------------------------------------------------------------- -* Copyright (C) 2010-2014 ARM Limited. All rights reserved. -* -* $Date: 31. July 2014 -* $Revision: V1.4.4 -* -* Project: CMSIS DSP Library -* Title: arm_const_structs.h -* -* Description: This file has constant structs that are initialized for -* user convenience. For example, some can be given as -* arguments to the arm_cfft_f32() function. -* -* Target Processor: Cortex-M4/Cortex-M3 -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* - Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* - Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in -* the documentation and/or other materials provided with the -* distribution. -* - Neither the name of ARM LIMITED nor the names of its contributors -* may be used to endorse or promote products derived from this -* software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -* POSSIBILITY OF SUCH DAMAGE. -* -------------------------------------------------------------------- */ - -#ifndef _ARM_CONST_STRUCTS_H -#define _ARM_CONST_STRUCTS_H - -#include "arm_math.h" -#include "arm_common_tables.h" - - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len16; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len32; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len64; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len128; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len256; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len512; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len1024; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len2048; - extern const arm_cfft_instance_f32 arm_cfft_sR_f32_len4096; - - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len16; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len32; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len64; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len128; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len256; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len512; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len1024; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len2048; - extern const arm_cfft_instance_q31 arm_cfft_sR_q31_len4096; - - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len16; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len32; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len64; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len128; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len256; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len512; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len1024; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len2048; - extern const arm_cfft_instance_q15 arm_cfft_sR_q15_len4096; - -#endif diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_math.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_math.h deleted file mode 100644 index f06a071..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/arm_math.h +++ /dev/null @@ -1,7538 +0,0 @@ -/* ---------------------------------------------------------------------- -* Copyright (C) 2010-2014 ARM Limited. All rights reserved. -* -* $Date: 12. March 2014 -* $Revision: V1.4.4 -* -* Project: CMSIS DSP Library -* Title: arm_math.h -* -* Description: Public header file for CMSIS DSP Library -* -* Target Processor: Cortex-M7/Cortex-M4/Cortex-M3/Cortex-M0 -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* - Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* - Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in -* the documentation and/or other materials provided with the -* distribution. -* - Neither the name of ARM LIMITED nor the names of its contributors -* may be used to endorse or promote products derived from this -* software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -* POSSIBILITY OF SUCH DAMAGE. - * -------------------------------------------------------------------- */ - -/** - \mainpage CMSIS DSP Software Library - * - * Introduction - * ------------ - * - * This user manual describes the CMSIS DSP software library, - * a suite of common signal processing functions for use on Cortex-M processor based devices. - * - * The library is divided into a number of functions each covering a specific category: - * - Basic math functions - * - Fast math functions - * - Complex math functions - * - Filters - * - Matrix functions - * - Transforms - * - Motor control functions - * - Statistical functions - * - Support functions - * - Interpolation functions - * - * The library has separate functions for operating on 8-bit integers, 16-bit integers, - * 32-bit integer and 32-bit floating-point values. - * - * Using the Library - * ------------ - * - * The library installer contains prebuilt versions of the libraries in the <code>Lib</code> folder. - * - arm_cortexM4lf_math.lib (Little endian and Floating Point Unit on Cortex-M4) - * - arm_cortexM4bf_math.lib (Big endian and Floating Point Unit on Cortex-M4) - * - arm_cortexM4l_math.lib (Little endian on Cortex-M4) - * - arm_cortexM4b_math.lib (Big endian on Cortex-M4) - * - arm_cortexM3l_math.lib (Little endian on Cortex-M3) - * - arm_cortexM3b_math.lib (Big endian on Cortex-M3) - * - arm_cortexM0l_math.lib (Little endian on Cortex-M0) - * - arm_cortexM0b_math.lib (Big endian on Cortex-M3) - * - * The library functions are declared in the public file <code>arm_math.h</code> which is placed in the <code>Include</code> folder. - * Simply include this file and link the appropriate library in the application and begin calling the library functions. The Library supports single - * public header file <code> arm_math.h</code> for Cortex-M4/M3/M0 with little endian and big endian. Same header file will be used for floating point unit(FPU) variants. - * Define the appropriate pre processor MACRO ARM_MATH_CM4 or ARM_MATH_CM3 or - * ARM_MATH_CM0 or ARM_MATH_CM0PLUS depending on the target processor in the application. - * - * Examples - * -------- - * - * The library ships with a number of examples which demonstrate how to use the library functions. - * - * Toolchain Support - * ------------ - * - * The library has been developed and tested with MDK-ARM version 4.60. - * The library is being tested in GCC and IAR toolchains and updates on this activity will be made available shortly. - * - * Building the Library - * ------------ - * - * The library installer contains a project file to re build libraries on MDK-ARM Tool chain in the <code>CMSIS\\DSP_Lib\\Source\\ARM</code> folder. - * - arm_cortexM_math.uvproj - * - * - * The libraries can be built by opening the arm_cortexM_math.uvproj project in MDK-ARM, selecting a specific target, and defining the optional pre processor MACROs detailed above. - * - * Pre-processor Macros - * ------------ - * - * Each library project have differant pre-processor macros. - * - * - UNALIGNED_SUPPORT_DISABLE: - * - * Define macro UNALIGNED_SUPPORT_DISABLE, If the silicon does not support unaligned memory access - * - * - ARM_MATH_BIG_ENDIAN: - * - * Define macro ARM_MATH_BIG_ENDIAN to build the library for big endian targets. By default library builds for little endian targets. - * - * - ARM_MATH_MATRIX_CHECK: - * - * Define macro ARM_MATH_MATRIX_CHECK for checking on the input and output sizes of matrices - * - * - ARM_MATH_ROUNDING: - * - * Define macro ARM_MATH_ROUNDING for rounding on support functions - * - * - ARM_MATH_CMx: - * - * Define macro ARM_MATH_CM4 for building the library on Cortex-M4 target, ARM_MATH_CM3 for building library on Cortex-M3 target - * and ARM_MATH_CM0 for building library on cortex-M0 target, ARM_MATH_CM0PLUS for building library on cortex-M0+ target. - * - * - __FPU_PRESENT: - * - * Initialize macro __FPU_PRESENT = 1 when building on FPU supported Targets. Enable this macro for M4bf and M4lf libraries - * - * <hr> - * CMSIS-DSP in ARM::CMSIS Pack - * ----------------------------- - * - * The following files relevant to CMSIS-DSP are present in the <b>ARM::CMSIS</b> Pack directories: - * |File/Folder |Content | - * |------------------------------|------------------------------------------------------------------------| - * |\b CMSIS\\Documentation\\DSP | This documentation | - * |\b CMSIS\\DSP_Lib | Software license agreement (license.txt) | - * |\b CMSIS\\DSP_Lib\\Examples | Example projects demonstrating the usage of the library functions | - * |\b CMSIS\\DSP_Lib\\Source | Source files for rebuilding the library | - * - * <hr> - * Revision History of CMSIS-DSP - * ------------ - * Please refer to \ref ChangeLog_pg. - * - * Copyright Notice - * ------------ - * - * Copyright (C) 2010-2014 ARM Limited. All rights reserved. - */ - - -/** - * @defgroup groupMath Basic Math Functions - */ - -/** - * @defgroup groupFastMath Fast Math Functions - * This set of functions provides a fast approximation to sine, cosine, and square root. - * As compared to most of the other functions in the CMSIS math library, the fast math functions - * operate on individual values and not arrays. - * There are separate functions for Q15, Q31, and floating-point data. - * - */ - -/** - * @defgroup groupCmplxMath Complex Math Functions - * This set of functions operates on complex data vectors. - * The data in the complex arrays is stored in an interleaved fashion - * (real, imag, real, imag, ...). - * In the API functions, the number of samples in a complex array refers - * to the number of complex values; the array contains twice this number of - * real values. - */ - -/** - * @defgroup groupFilters Filtering Functions - */ - -/** - * @defgroup groupMatrix Matrix Functions - * - * This set of functions provides basic matrix math operations. - * The functions operate on matrix data structures. For example, - * the type - * definition for the floating-point matrix structure is shown - * below: - * <pre> - * typedef struct - * { - * uint16_t numRows; // number of rows of the matrix. - * uint16_t numCols; // number of columns of the matrix. - * float32_t *pData; // points to the data of the matrix. - * } arm_matrix_instance_f32; - * </pre> - * There are similar definitions for Q15 and Q31 data types. - * - * The structure specifies the size of the matrix and then points to - * an array of data. The array is of size <code>numRows X numCols</code> - * and the values are arranged in row order. That is, the - * matrix element (i, j) is stored at: - * <pre> - * pData[i*numCols + j] - * </pre> - * - * \par Init Functions - * There is an associated initialization function for each type of matrix - * data structure. - * The initialization function sets the values of the internal structure fields. - * Refer to the function <code>arm_mat_init_f32()</code>, <code>arm_mat_init_q31()</code> - * and <code>arm_mat_init_q15()</code> for floating-point, Q31 and Q15 types, respectively. - * - * \par - * Use of the initialization function is optional. However, if initialization function is used - * then the instance structure cannot be placed into a const data section. - * To place the instance structure in a const data - * section, manually initialize the data structure. For example: - * <pre> - * <code>arm_matrix_instance_f32 S = {nRows, nColumns, pData};</code> - * <code>arm_matrix_instance_q31 S = {nRows, nColumns, pData};</code> - * <code>arm_matrix_instance_q15 S = {nRows, nColumns, pData};</code> - * </pre> - * where <code>nRows</code> specifies the number of rows, <code>nColumns</code> - * specifies the number of columns, and <code>pData</code> points to the - * data array. - * - * \par Size Checking - * By default all of the matrix functions perform size checking on the input and - * output matrices. For example, the matrix addition function verifies that the - * two input matrices and the output matrix all have the same number of rows and - * columns. If the size check fails the functions return: - * <pre> - * ARM_MATH_SIZE_MISMATCH - * </pre> - * Otherwise the functions return - * <pre> - * ARM_MATH_SUCCESS - * </pre> - * There is some overhead associated with this matrix size checking. - * The matrix size checking is enabled via the \#define - * <pre> - * ARM_MATH_MATRIX_CHECK - * </pre> - * within the library project settings. By default this macro is defined - * and size checking is enabled. By changing the project settings and - * undefining this macro size checking is eliminated and the functions - * run a bit faster. With size checking disabled the functions always - * return <code>ARM_MATH_SUCCESS</code>. - */ - -/** - * @defgroup groupTransforms Transform Functions - */ - -/** - * @defgroup groupController Controller Functions - */ - -/** - * @defgroup groupStats Statistics Functions - */ -/** - * @defgroup groupSupport Support Functions - */ - -/** - * @defgroup groupInterpolation Interpolation Functions - * These functions perform 1- and 2-dimensional interpolation of data. - * Linear interpolation is used for 1-dimensional data and - * bilinear interpolation is used for 2-dimensional data. - */ - -/** - * @defgroup groupExamples Examples - */ -#ifndef _ARM_MATH_H -#define _ARM_MATH_H - -#define __CMSIS_GENERIC /* disable NVIC and Systick functions */ - -#if defined(ARM_MATH_CM7) - #include "core_cm7.h" -#elif defined (ARM_MATH_CM4) - #include "core_cm4.h" -#elif defined (ARM_MATH_CM3) - #include "core_cm3.h" -#elif defined (ARM_MATH_CM0) - #include "core_cm0.h" -#define ARM_MATH_CM0_FAMILY - #elif defined (ARM_MATH_CM0PLUS) -#include "core_cm0plus.h" - #define ARM_MATH_CM0_FAMILY -#else - #error "Define according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS or ARM_MATH_CM0" -#endif - -#undef __CMSIS_GENERIC /* enable NVIC and Systick functions */ -#include "string.h" -#include "math.h" -#ifdef __cplusplus -extern "C" -{ -#endif - - - /** - * @brief Macros required for reciprocal calculation in Normalized LMS - */ - -#define DELTA_Q31 (0x100) -#define DELTA_Q15 0x5 -#define INDEX_MASK 0x0000003F -#ifndef PI -#define PI 3.14159265358979f -#endif - - /** - * @brief Macros required for SINE and COSINE Fast math approximations - */ - -#define FAST_MATH_TABLE_SIZE 512 -#define FAST_MATH_Q31_SHIFT (32 - 10) -#define FAST_MATH_Q15_SHIFT (16 - 10) -#define CONTROLLER_Q31_SHIFT (32 - 9) -#define TABLE_SIZE 256 -#define TABLE_SPACING_Q31 0x400000 -#define TABLE_SPACING_Q15 0x80 - - /** - * @brief Macros required for SINE and COSINE Controller functions - */ - /* 1.31(q31) Fixed value of 2/360 */ - /* -1 to +1 is divided into 360 values so total spacing is (2/360) */ -#define INPUT_SPACING 0xB60B61 - - /** - * @brief Macro for Unaligned Support - */ -#ifndef UNALIGNED_SUPPORT_DISABLE - #define ALIGN4 -#else - #if defined (__GNUC__) - #define ALIGN4 __attribute__((aligned(4))) - #else - #define ALIGN4 __align(4) - #endif -#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */ - - /** - * @brief Error status returned by some functions in the library. - */ - - typedef enum - { - ARM_MATH_SUCCESS = 0, /**< No error */ - ARM_MATH_ARGUMENT_ERROR = -1, /**< One or more arguments are incorrect */ - ARM_MATH_LENGTH_ERROR = -2, /**< Length of data buffer is incorrect */ - ARM_MATH_SIZE_MISMATCH = -3, /**< Size of matrices is not compatible with the operation. */ - ARM_MATH_NANINF = -4, /**< Not-a-number (NaN) or infinity is generated */ - ARM_MATH_SINGULAR = -5, /**< Generated by matrix inversion if the input matrix is singular and cannot be inverted. */ - ARM_MATH_TEST_FAILURE = -6 /**< Test Failed */ - } arm_status; - - /** - * @brief 8-bit fractional data type in 1.7 format. - */ - typedef int8_t q7_t; - - /** - * @brief 16-bit fractional data type in 1.15 format. - */ - typedef int16_t q15_t; - - /** - * @brief 32-bit fractional data type in 1.31 format. - */ - typedef int32_t q31_t; - - /** - * @brief 64-bit fractional data type in 1.63 format. - */ - typedef int64_t q63_t; - - /** - * @brief 32-bit floating-point type definition. - */ - typedef float float32_t; - - /** - * @brief 64-bit floating-point type definition. - */ - typedef double float64_t; - - /** - * @brief definition to read/write two 16 bit values. - */ -#if defined __CC_ARM -#define __SIMD32_TYPE int32_t __packed -#define CMSIS_UNUSED __attribute__((unused)) -#elif defined __ICCARM__ -#define CMSIS_UNUSED -#define __SIMD32_TYPE int32_t __packed -#elif defined __GNUC__ -#define __SIMD32_TYPE int32_t -#define CMSIS_UNUSED __attribute__((unused)) -#elif defined __CSMC__ /* Cosmic */ -#define CMSIS_UNUSED -#define __SIMD32_TYPE int32_t -#else -#error Unknown compiler -#endif - -#define __SIMD32(addr) (*(__SIMD32_TYPE **) & (addr)) -#define __SIMD32_CONST(addr) ((__SIMD32_TYPE *)(addr)) - -#define _SIMD32_OFFSET(addr) (*(__SIMD32_TYPE *) (addr)) - -#define __SIMD64(addr) (*(int64_t **) & (addr)) - -#if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0_FAMILY) - /** - * @brief definition to pack two 16 bit values. - */ -#define __PKHBT(ARG1, ARG2, ARG3) ( (((int32_t)(ARG1) << 0) & (int32_t)0x0000FFFF) | \ - (((int32_t)(ARG2) << ARG3) & (int32_t)0xFFFF0000) ) -#define __PKHTB(ARG1, ARG2, ARG3) ( (((int32_t)(ARG1) << 0) & (int32_t)0xFFFF0000) | \ - (((int32_t)(ARG2) >> ARG3) & (int32_t)0x0000FFFF) ) - -#endif - - - /** - * @brief definition to pack four 8 bit values. - */ -#ifndef ARM_MATH_BIG_ENDIAN - -#define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v0) << 0) & (int32_t)0x000000FF) | \ - (((int32_t)(v1) << 8) & (int32_t)0x0000FF00) | \ - (((int32_t)(v2) << 16) & (int32_t)0x00FF0000) | \ - (((int32_t)(v3) << 24) & (int32_t)0xFF000000) ) -#else - -#define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v3) << 0) & (int32_t)0x000000FF) | \ - (((int32_t)(v2) << 8) & (int32_t)0x0000FF00) | \ - (((int32_t)(v1) << 16) & (int32_t)0x00FF0000) | \ - (((int32_t)(v0) << 24) & (int32_t)0xFF000000) ) - -#endif - - - /** - * @brief Clips Q63 to Q31 values. - */ - static __INLINE q31_t clip_q63_to_q31( - q63_t x) - { - return ((q31_t) (x >> 32) != ((q31_t) x >> 31)) ? - ((0x7FFFFFFF ^ ((q31_t) (x >> 63)))) : (q31_t) x; - } - - /** - * @brief Clips Q63 to Q15 values. - */ - static __INLINE q15_t clip_q63_to_q15( - q63_t x) - { - return ((q31_t) (x >> 32) != ((q31_t) x >> 31)) ? - ((0x7FFF ^ ((q15_t) (x >> 63)))) : (q15_t) (x >> 15); - } - - /** - * @brief Clips Q31 to Q7 values. - */ - static __INLINE q7_t clip_q31_to_q7( - q31_t x) - { - return ((q31_t) (x >> 24) != ((q31_t) x >> 23)) ? - ((0x7F ^ ((q7_t) (x >> 31)))) : (q7_t) x; - } - - /** - * @brief Clips Q31 to Q15 values. - */ - static __INLINE q15_t clip_q31_to_q15( - q31_t x) - { - return ((q31_t) (x >> 16) != ((q31_t) x >> 15)) ? - ((0x7FFF ^ ((q15_t) (x >> 31)))) : (q15_t) x; - } - - /** - * @brief Multiplies 32 X 64 and returns 32 bit result in 2.30 format. - */ - - static __INLINE q63_t mult32x64( - q63_t x, - q31_t y) - { - return ((((q63_t) (x & 0x00000000FFFFFFFF) * y) >> 32) + - (((q63_t) (x >> 32) * y))); - } - - -#if defined (ARM_MATH_CM0_FAMILY) && defined ( __CC_ARM ) -#define __CLZ __clz -#endif - -#if defined (ARM_MATH_CM0_FAMILY) && ((defined (__ICCARM__)) ||(defined (__GNUC__)) || defined (__TASKING__) ) - - static __INLINE uint32_t __CLZ( - q31_t data); - - - static __INLINE uint32_t __CLZ( - q31_t data) - { - uint32_t count = 0; - uint32_t mask = 0x80000000; - - while((data & mask) == 0) - { - count += 1u; - mask = mask >> 1u; - } - - return (count); - - } - -#endif - - /** - * @brief Function to Calculates 1/in (reciprocal) value of Q31 Data type. - */ - - static __INLINE uint32_t arm_recip_q31( - q31_t in, - q31_t * dst, - q31_t * pRecipTable) - { - - uint32_t out, tempVal; - uint32_t index, i; - uint32_t signBits; - - if(in > 0) - { - signBits = __CLZ(in) - 1; - } - else - { - signBits = __CLZ(-in) - 1; - } - - /* Convert input sample to 1.31 format */ - in = in << signBits; - - /* calculation of index for initial approximated Val */ - index = (uint32_t) (in >> 24u); - index = (index & INDEX_MASK); - - /* 1.31 with exp 1 */ - out = pRecipTable[index]; - - /* calculation of reciprocal value */ - /* running approximation for two iterations */ - for (i = 0u; i < 2u; i++) - { - tempVal = (q31_t) (((q63_t) in * out) >> 31u); - tempVal = 0x7FFFFFFF - tempVal; - /* 1.31 with exp 1 */ - //out = (q31_t) (((q63_t) out * tempVal) >> 30u); - out = (q31_t) clip_q63_to_q31(((q63_t) out * tempVal) >> 30u); - } - - /* write output */ - *dst = out; - - /* return num of signbits of out = 1/in value */ - return (signBits + 1u); - - } - - /** - * @brief Function to Calculates 1/in (reciprocal) value of Q15 Data type. - */ - static __INLINE uint32_t arm_recip_q15( - q15_t in, - q15_t * dst, - q15_t * pRecipTable) - { - - uint32_t out = 0, tempVal = 0; - uint32_t index = 0, i = 0; - uint32_t signBits = 0; - - if(in > 0) - { - signBits = __CLZ(in) - 17; - } - else - { - signBits = __CLZ(-in) - 17; - } - - /* Convert input sample to 1.15 format */ - in = in << signBits; - - /* calculation of index for initial approximated Val */ - index = in >> 8; - index = (index & INDEX_MASK); - - /* 1.15 with exp 1 */ - out = pRecipTable[index]; - - /* calculation of reciprocal value */ - /* running approximation for two iterations */ - for (i = 0; i < 2; i++) - { - tempVal = (q15_t) (((q31_t) in * out) >> 15); - tempVal = 0x7FFF - tempVal; - /* 1.15 with exp 1 */ - out = (q15_t) (((q31_t) out * tempVal) >> 14); - } - - /* write output */ - *dst = out; - - /* return num of signbits of out = 1/in value */ - return (signBits + 1); - - } - - - /* - * @brief C custom defined intrinisic function for only M0 processors - */ -#if defined(ARM_MATH_CM0_FAMILY) - - static __INLINE q31_t __SSAT( - q31_t x, - uint32_t y) - { - int32_t posMax, negMin; - uint32_t i; - - posMax = 1; - for (i = 0; i < (y - 1); i++) - { - posMax = posMax * 2; - } - - if(x > 0) - { - posMax = (posMax - 1); - - if(x > posMax) - { - x = posMax; - } - } - else - { - negMin = -posMax; - - if(x < negMin) - { - x = negMin; - } - } - return (x); - - - } - -#endif /* end of ARM_MATH_CM0_FAMILY */ - - - - /* - * @brief C custom defined intrinsic function for M3 and M0 processors - */ -#if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0_FAMILY) - - /* - * @brief C custom defined QADD8 for M3 and M0 processors - */ - static __INLINE q31_t __QADD8( - q31_t x, - q31_t y) - { - - q31_t sum; - q7_t r, s, t, u; - - r = (q7_t) x; - s = (q7_t) y; - - r = __SSAT((q31_t) (r + s), 8); - s = __SSAT(((q31_t) (((x << 16) >> 24) + ((y << 16) >> 24))), 8); - t = __SSAT(((q31_t) (((x << 8) >> 24) + ((y << 8) >> 24))), 8); - u = __SSAT(((q31_t) ((x >> 24) + (y >> 24))), 8); - - sum = - (((q31_t) u << 24) & 0xFF000000) | (((q31_t) t << 16) & 0x00FF0000) | - (((q31_t) s << 8) & 0x0000FF00) | (r & 0x000000FF); - - return sum; - - } - - /* - * @brief C custom defined QSUB8 for M3 and M0 processors - */ - static __INLINE q31_t __QSUB8( - q31_t x, - q31_t y) - { - - q31_t sum; - q31_t r, s, t, u; - - r = (q7_t) x; - s = (q7_t) y; - - r = __SSAT((r - s), 8); - s = __SSAT(((q31_t) (((x << 16) >> 24) - ((y << 16) >> 24))), 8) << 8; - t = __SSAT(((q31_t) (((x << 8) >> 24) - ((y << 8) >> 24))), 8) << 16; - u = __SSAT(((q31_t) ((x >> 24) - (y >> 24))), 8) << 24; - - sum = - (u & 0xFF000000) | (t & 0x00FF0000) | (s & 0x0000FF00) | (r & - 0x000000FF); - - return sum; - } - - /* - * @brief C custom defined QADD16 for M3 and M0 processors - */ - - /* - * @brief C custom defined QADD16 for M3 and M0 processors - */ - static __INLINE q31_t __QADD16( - q31_t x, - q31_t y) - { - - q31_t sum; - q31_t r, s; - - r = (q15_t) x; - s = (q15_t) y; - - r = __SSAT(r + s, 16); - s = __SSAT(((q31_t) ((x >> 16) + (y >> 16))), 16) << 16; - - sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); - - return sum; - - } - - /* - * @brief C custom defined SHADD16 for M3 and M0 processors - */ - static __INLINE q31_t __SHADD16( - q31_t x, - q31_t y) - { - - q31_t sum; - q31_t r, s; - - r = (q15_t) x; - s = (q15_t) y; - - r = ((r >> 1) + (s >> 1)); - s = ((q31_t) ((x >> 17) + (y >> 17))) << 16; - - sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); - - return sum; - - } - - /* - * @brief C custom defined QSUB16 for M3 and M0 processors - */ - static __INLINE q31_t __QSUB16( - q31_t x, - q31_t y) - { - - q31_t sum; - q31_t r, s; - - r = (q15_t) x; - s = (q15_t) y; - - r = __SSAT(r - s, 16); - s = __SSAT(((q31_t) ((x >> 16) - (y >> 16))), 16) << 16; - - sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); - - return sum; - } - - /* - * @brief C custom defined SHSUB16 for M3 and M0 processors - */ - static __INLINE q31_t __SHSUB16( - q31_t x, - q31_t y) - { - - q31_t diff; - q31_t r, s; - - r = (q15_t) x; - s = (q15_t) y; - - r = ((r >> 1) - (s >> 1)); - s = (((x >> 17) - (y >> 17)) << 16); - - diff = (s & 0xFFFF0000) | (r & 0x0000FFFF); - - return diff; - } - - /* - * @brief C custom defined QASX for M3 and M0 processors - */ - static __INLINE q31_t __QASX( - q31_t x, - q31_t y) - { - - q31_t sum = 0; - - sum = - ((sum + - clip_q31_to_q15((q31_t) ((q15_t) (x >> 16) + (q15_t) y))) << 16) + - clip_q31_to_q15((q31_t) ((q15_t) x - (q15_t) (y >> 16))); - - return sum; - } - - /* - * @brief C custom defined SHASX for M3 and M0 processors - */ - static __INLINE q31_t __SHASX( - q31_t x, - q31_t y) - { - - q31_t sum; - q31_t r, s; - - r = (q15_t) x; - s = (q15_t) y; - - r = ((r >> 1) - (y >> 17)); - s = (((x >> 17) + (s >> 1)) << 16); - - sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); - - return sum; - } - - - /* - * @brief C custom defined QSAX for M3 and M0 processors - */ - static __INLINE q31_t __QSAX( - q31_t x, - q31_t y) - { - - q31_t sum = 0; - - sum = - ((sum + - clip_q31_to_q15((q31_t) ((q15_t) (x >> 16) - (q15_t) y))) << 16) + - clip_q31_to_q15((q31_t) ((q15_t) x + (q15_t) (y >> 16))); - - return sum; - } - - /* - * @brief C custom defined SHSAX for M3 and M0 processors - */ - static __INLINE q31_t __SHSAX( - q31_t x, - q31_t y) - { - - q31_t sum; - q31_t r, s; - - r = (q15_t) x; - s = (q15_t) y; - - r = ((r >> 1) + (y >> 17)); - s = (((x >> 17) - (s >> 1)) << 16); - - sum = (s & 0xFFFF0000) | (r & 0x0000FFFF); - - return sum; - } - - /* - * @brief C custom defined SMUSDX for M3 and M0 processors - */ - static __INLINE q31_t __SMUSDX( - q31_t x, - q31_t y) - { - - return ((q31_t) (((q15_t) x * (q15_t) (y >> 16)) - - ((q15_t) (x >> 16) * (q15_t) y))); - } - - /* - * @brief C custom defined SMUADX for M3 and M0 processors - */ - static __INLINE q31_t __SMUADX( - q31_t x, - q31_t y) - { - - return ((q31_t) (((q15_t) x * (q15_t) (y >> 16)) + - ((q15_t) (x >> 16) * (q15_t) y))); - } - - /* - * @brief C custom defined QADD for M3 and M0 processors - */ - static __INLINE q31_t __QADD( - q31_t x, - q31_t y) - { - return clip_q63_to_q31((q63_t) x + y); - } - - /* - * @brief C custom defined QSUB for M3 and M0 processors - */ - static __INLINE q31_t __QSUB( - q31_t x, - q31_t y) - { - return clip_q63_to_q31((q63_t) x - y); - } - - /* - * @brief C custom defined SMLAD for M3 and M0 processors - */ - static __INLINE q31_t __SMLAD( - q31_t x, - q31_t y, - q31_t sum) - { - - return (sum + ((q15_t) (x >> 16) * (q15_t) (y >> 16)) + - ((q15_t) x * (q15_t) y)); - } - - /* - * @brief C custom defined SMLADX for M3 and M0 processors - */ - static __INLINE q31_t __SMLADX( - q31_t x, - q31_t y, - q31_t sum) - { - - return (sum + ((q15_t) (x >> 16) * (q15_t) (y)) + - ((q15_t) x * (q15_t) (y >> 16))); - } - - /* - * @brief C custom defined SMLSDX for M3 and M0 processors - */ - static __INLINE q31_t __SMLSDX( - q31_t x, - q31_t y, - q31_t sum) - { - - return (sum - ((q15_t) (x >> 16) * (q15_t) (y)) + - ((q15_t) x * (q15_t) (y >> 16))); - } - - /* - * @brief C custom defined SMLALD for M3 and M0 processors - */ - static __INLINE q63_t __SMLALD( - q31_t x, - q31_t y, - q63_t sum) - { - - return (sum + ((q15_t) (x >> 16) * (q15_t) (y >> 16)) + - ((q15_t) x * (q15_t) y)); - } - - /* - * @brief C custom defined SMLALDX for M3 and M0 processors - */ - static __INLINE q63_t __SMLALDX( - q31_t x, - q31_t y, - q63_t sum) - { - - return (sum + ((q15_t) (x >> 16) * (q15_t) y)) + - ((q15_t) x * (q15_t) (y >> 16)); - } - - /* - * @brief C custom defined SMUAD for M3 and M0 processors - */ - static __INLINE q31_t __SMUAD( - q31_t x, - q31_t y) - { - - return (((x >> 16) * (y >> 16)) + - (((x << 16) >> 16) * ((y << 16) >> 16))); - } - - /* - * @brief C custom defined SMUSD for M3 and M0 processors - */ - static __INLINE q31_t __SMUSD( - q31_t x, - q31_t y) - { - - return (-((x >> 16) * (y >> 16)) + - (((x << 16) >> 16) * ((y << 16) >> 16))); - } - - - /* - * @brief C custom defined SXTB16 for M3 and M0 processors - */ - static __INLINE q31_t __SXTB16( - q31_t x) - { - - return ((((x << 24) >> 24) & 0x0000FFFF) | - (((x << 8) >> 8) & 0xFFFF0000)); - } - - -#endif /* defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0_FAMILY) */ - - - /** - * @brief Instance structure for the Q7 FIR filter. - */ - typedef struct - { - uint16_t numTaps; /**< number of filter coefficients in the filter. */ - q7_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - } arm_fir_instance_q7; - - /** - * @brief Instance structure for the Q15 FIR filter. - */ - typedef struct - { - uint16_t numTaps; /**< number of filter coefficients in the filter. */ - q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - } arm_fir_instance_q15; - - /** - * @brief Instance structure for the Q31 FIR filter. - */ - typedef struct - { - uint16_t numTaps; /**< number of filter coefficients in the filter. */ - q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - } arm_fir_instance_q31; - - /** - * @brief Instance structure for the floating-point FIR filter. - */ - typedef struct - { - uint16_t numTaps; /**< number of filter coefficients in the filter. */ - float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - } arm_fir_instance_f32; - - - /** - * @brief Processing function for the Q7 FIR filter. - * @param[in] *S points to an instance of the Q7 FIR filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - void arm_fir_q7( - const arm_fir_instance_q7 * S, - q7_t * pSrc, - q7_t * pDst, - uint32_t blockSize); - - - /** - * @brief Initialization function for the Q7 FIR filter. - * @param[in,out] *S points to an instance of the Q7 FIR structure. - * @param[in] numTaps Number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of samples that are processed. - * @return none - */ - void arm_fir_init_q7( - arm_fir_instance_q7 * S, - uint16_t numTaps, - q7_t * pCoeffs, - q7_t * pState, - uint32_t blockSize); - - - /** - * @brief Processing function for the Q15 FIR filter. - * @param[in] *S points to an instance of the Q15 FIR structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - void arm_fir_q15( - const arm_fir_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Processing function for the fast Q15 FIR filter for Cortex-M3 and Cortex-M4. - * @param[in] *S points to an instance of the Q15 FIR filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - void arm_fir_fast_q15( - const arm_fir_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q15 FIR filter. - * @param[in,out] *S points to an instance of the Q15 FIR filter structure. - * @param[in] numTaps Number of filter coefficients in the filter. Must be even and greater than or equal to 4. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of samples that are processed at a time. - * @return The function returns ARM_MATH_SUCCESS if initialization was successful or ARM_MATH_ARGUMENT_ERROR if - * <code>numTaps</code> is not a supported value. - */ - - arm_status arm_fir_init_q15( - arm_fir_instance_q15 * S, - uint16_t numTaps, - q15_t * pCoeffs, - q15_t * pState, - uint32_t blockSize); - - /** - * @brief Processing function for the Q31 FIR filter. - * @param[in] *S points to an instance of the Q31 FIR filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - void arm_fir_q31( - const arm_fir_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Processing function for the fast Q31 FIR filter for Cortex-M3 and Cortex-M4. - * @param[in] *S points to an instance of the Q31 FIR structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - void arm_fir_fast_q31( - const arm_fir_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q31 FIR filter. - * @param[in,out] *S points to an instance of the Q31 FIR structure. - * @param[in] numTaps Number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of samples that are processed at a time. - * @return none. - */ - void arm_fir_init_q31( - arm_fir_instance_q31 * S, - uint16_t numTaps, - q31_t * pCoeffs, - q31_t * pState, - uint32_t blockSize); - - /** - * @brief Processing function for the floating-point FIR filter. - * @param[in] *S points to an instance of the floating-point FIR structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - void arm_fir_f32( - const arm_fir_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the floating-point FIR filter. - * @param[in,out] *S points to an instance of the floating-point FIR filter structure. - * @param[in] numTaps Number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of samples that are processed at a time. - * @return none. - */ - void arm_fir_init_f32( - arm_fir_instance_f32 * S, - uint16_t numTaps, - float32_t * pCoeffs, - float32_t * pState, - uint32_t blockSize); - - - /** - * @brief Instance structure for the Q15 Biquad cascade filter. - */ - typedef struct - { - int8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ - q15_t *pState; /**< Points to the array of state coefficients. The array is of length 4*numStages. */ - q15_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numStages. */ - int8_t postShift; /**< Additional shift, in bits, applied to each output sample. */ - - } arm_biquad_casd_df1_inst_q15; - - - /** - * @brief Instance structure for the Q31 Biquad cascade filter. - */ - typedef struct - { - uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ - q31_t *pState; /**< Points to the array of state coefficients. The array is of length 4*numStages. */ - q31_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numStages. */ - uint8_t postShift; /**< Additional shift, in bits, applied to each output sample. */ - - } arm_biquad_casd_df1_inst_q31; - - /** - * @brief Instance structure for the floating-point Biquad cascade filter. - */ - typedef struct - { - uint32_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ - float32_t *pState; /**< Points to the array of state coefficients. The array is of length 4*numStages. */ - float32_t *pCoeffs; /**< Points to the array of coefficients. The array is of length 5*numStages. */ - - - } arm_biquad_casd_df1_inst_f32; - - - - /** - * @brief Processing function for the Q15 Biquad cascade filter. - * @param[in] *S points to an instance of the Q15 Biquad cascade structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_df1_q15( - const arm_biquad_casd_df1_inst_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q15 Biquad cascade filter. - * @param[in,out] *S points to an instance of the Q15 Biquad cascade structure. - * @param[in] numStages number of 2nd order stages in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] postShift Shift to be applied to the output. Varies according to the coefficients format - * @return none - */ - - void arm_biquad_cascade_df1_init_q15( - arm_biquad_casd_df1_inst_q15 * S, - uint8_t numStages, - q15_t * pCoeffs, - q15_t * pState, - int8_t postShift); - - - /** - * @brief Fast but less precise processing function for the Q15 Biquad cascade filter for Cortex-M3 and Cortex-M4. - * @param[in] *S points to an instance of the Q15 Biquad cascade structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_df1_fast_q15( - const arm_biquad_casd_df1_inst_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - - /** - * @brief Processing function for the Q31 Biquad cascade filter - * @param[in] *S points to an instance of the Q31 Biquad cascade structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_df1_q31( - const arm_biquad_casd_df1_inst_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Fast but less precise processing function for the Q31 Biquad cascade filter for Cortex-M3 and Cortex-M4. - * @param[in] *S points to an instance of the Q31 Biquad cascade structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_df1_fast_q31( - const arm_biquad_casd_df1_inst_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q31 Biquad cascade filter. - * @param[in,out] *S points to an instance of the Q31 Biquad cascade structure. - * @param[in] numStages number of 2nd order stages in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] postShift Shift to be applied to the output. Varies according to the coefficients format - * @return none - */ - - void arm_biquad_cascade_df1_init_q31( - arm_biquad_casd_df1_inst_q31 * S, - uint8_t numStages, - q31_t * pCoeffs, - q31_t * pState, - int8_t postShift); - - /** - * @brief Processing function for the floating-point Biquad cascade filter. - * @param[in] *S points to an instance of the floating-point Biquad cascade structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_df1_f32( - const arm_biquad_casd_df1_inst_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the floating-point Biquad cascade filter. - * @param[in,out] *S points to an instance of the floating-point Biquad cascade structure. - * @param[in] numStages number of 2nd order stages in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @return none - */ - - void arm_biquad_cascade_df1_init_f32( - arm_biquad_casd_df1_inst_f32 * S, - uint8_t numStages, - float32_t * pCoeffs, - float32_t * pState); - - - /** - * @brief Instance structure for the floating-point matrix structure. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows of the matrix. */ - uint16_t numCols; /**< number of columns of the matrix. */ - float32_t *pData; /**< points to the data of the matrix. */ - } arm_matrix_instance_f32; - - - /** - * @brief Instance structure for the floating-point matrix structure. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows of the matrix. */ - uint16_t numCols; /**< number of columns of the matrix. */ - float64_t *pData; /**< points to the data of the matrix. */ - } arm_matrix_instance_f64; - - /** - * @brief Instance structure for the Q15 matrix structure. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows of the matrix. */ - uint16_t numCols; /**< number of columns of the matrix. */ - q15_t *pData; /**< points to the data of the matrix. */ - - } arm_matrix_instance_q15; - - /** - * @brief Instance structure for the Q31 matrix structure. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows of the matrix. */ - uint16_t numCols; /**< number of columns of the matrix. */ - q31_t *pData; /**< points to the data of the matrix. */ - - } arm_matrix_instance_q31; - - - - /** - * @brief Floating-point matrix addition. - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_add_f32( - const arm_matrix_instance_f32 * pSrcA, - const arm_matrix_instance_f32 * pSrcB, - arm_matrix_instance_f32 * pDst); - - /** - * @brief Q15 matrix addition. - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_add_q15( - const arm_matrix_instance_q15 * pSrcA, - const arm_matrix_instance_q15 * pSrcB, - arm_matrix_instance_q15 * pDst); - - /** - * @brief Q31 matrix addition. - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_add_q31( - const arm_matrix_instance_q31 * pSrcA, - const arm_matrix_instance_q31 * pSrcB, - arm_matrix_instance_q31 * pDst); - - /** - * @brief Floating-point, complex, matrix multiplication. - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_cmplx_mult_f32( - const arm_matrix_instance_f32 * pSrcA, - const arm_matrix_instance_f32 * pSrcB, - arm_matrix_instance_f32 * pDst); - - /** - * @brief Q15, complex, matrix multiplication. - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_cmplx_mult_q15( - const arm_matrix_instance_q15 * pSrcA, - const arm_matrix_instance_q15 * pSrcB, - arm_matrix_instance_q15 * pDst, - q15_t * pScratch); - - /** - * @brief Q31, complex, matrix multiplication. - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_cmplx_mult_q31( - const arm_matrix_instance_q31 * pSrcA, - const arm_matrix_instance_q31 * pSrcB, - arm_matrix_instance_q31 * pDst); - - - /** - * @brief Floating-point matrix transpose. - * @param[in] *pSrc points to the input matrix - * @param[out] *pDst points to the output matrix - * @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code> - * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_trans_f32( - const arm_matrix_instance_f32 * pSrc, - arm_matrix_instance_f32 * pDst); - - - /** - * @brief Q15 matrix transpose. - * @param[in] *pSrc points to the input matrix - * @param[out] *pDst points to the output matrix - * @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code> - * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_trans_q15( - const arm_matrix_instance_q15 * pSrc, - arm_matrix_instance_q15 * pDst); - - /** - * @brief Q31 matrix transpose. - * @param[in] *pSrc points to the input matrix - * @param[out] *pDst points to the output matrix - * @return The function returns either <code>ARM_MATH_SIZE_MISMATCH</code> - * or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_trans_q31( - const arm_matrix_instance_q31 * pSrc, - arm_matrix_instance_q31 * pDst); - - - /** - * @brief Floating-point matrix multiplication - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_mult_f32( - const arm_matrix_instance_f32 * pSrcA, - const arm_matrix_instance_f32 * pSrcB, - arm_matrix_instance_f32 * pDst); - - /** - * @brief Q15 matrix multiplication - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @param[in] *pState points to the array for storing intermediate results - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_mult_q15( - const arm_matrix_instance_q15 * pSrcA, - const arm_matrix_instance_q15 * pSrcB, - arm_matrix_instance_q15 * pDst, - q15_t * pState); - - /** - * @brief Q15 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @param[in] *pState points to the array for storing intermediate results - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_mult_fast_q15( - const arm_matrix_instance_q15 * pSrcA, - const arm_matrix_instance_q15 * pSrcB, - arm_matrix_instance_q15 * pDst, - q15_t * pState); - - /** - * @brief Q31 matrix multiplication - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_mult_q31( - const arm_matrix_instance_q31 * pSrcA, - const arm_matrix_instance_q31 * pSrcB, - arm_matrix_instance_q31 * pDst); - - /** - * @brief Q31 matrix multiplication (fast variant) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_mult_fast_q31( - const arm_matrix_instance_q31 * pSrcA, - const arm_matrix_instance_q31 * pSrcB, - arm_matrix_instance_q31 * pDst); - - - /** - * @brief Floating-point matrix subtraction - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_sub_f32( - const arm_matrix_instance_f32 * pSrcA, - const arm_matrix_instance_f32 * pSrcB, - arm_matrix_instance_f32 * pDst); - - /** - * @brief Q15 matrix subtraction - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_sub_q15( - const arm_matrix_instance_q15 * pSrcA, - const arm_matrix_instance_q15 * pSrcB, - arm_matrix_instance_q15 * pDst); - - /** - * @brief Q31 matrix subtraction - * @param[in] *pSrcA points to the first input matrix structure - * @param[in] *pSrcB points to the second input matrix structure - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_sub_q31( - const arm_matrix_instance_q31 * pSrcA, - const arm_matrix_instance_q31 * pSrcB, - arm_matrix_instance_q31 * pDst); - - /** - * @brief Floating-point matrix scaling. - * @param[in] *pSrc points to the input matrix - * @param[in] scale scale factor - * @param[out] *pDst points to the output matrix - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_scale_f32( - const arm_matrix_instance_f32 * pSrc, - float32_t scale, - arm_matrix_instance_f32 * pDst); - - /** - * @brief Q15 matrix scaling. - * @param[in] *pSrc points to input matrix - * @param[in] scaleFract fractional portion of the scale factor - * @param[in] shift number of bits to shift the result by - * @param[out] *pDst points to output matrix - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_scale_q15( - const arm_matrix_instance_q15 * pSrc, - q15_t scaleFract, - int32_t shift, - arm_matrix_instance_q15 * pDst); - - /** - * @brief Q31 matrix scaling. - * @param[in] *pSrc points to input matrix - * @param[in] scaleFract fractional portion of the scale factor - * @param[in] shift number of bits to shift the result by - * @param[out] *pDst points to output matrix structure - * @return The function returns either - * <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking. - */ - - arm_status arm_mat_scale_q31( - const arm_matrix_instance_q31 * pSrc, - q31_t scaleFract, - int32_t shift, - arm_matrix_instance_q31 * pDst); - - - /** - * @brief Q31 matrix initialization. - * @param[in,out] *S points to an instance of the floating-point matrix structure. - * @param[in] nRows number of rows in the matrix. - * @param[in] nColumns number of columns in the matrix. - * @param[in] *pData points to the matrix data array. - * @return none - */ - - void arm_mat_init_q31( - arm_matrix_instance_q31 * S, - uint16_t nRows, - uint16_t nColumns, - q31_t * pData); - - /** - * @brief Q15 matrix initialization. - * @param[in,out] *S points to an instance of the floating-point matrix structure. - * @param[in] nRows number of rows in the matrix. - * @param[in] nColumns number of columns in the matrix. - * @param[in] *pData points to the matrix data array. - * @return none - */ - - void arm_mat_init_q15( - arm_matrix_instance_q15 * S, - uint16_t nRows, - uint16_t nColumns, - q15_t * pData); - - /** - * @brief Floating-point matrix initialization. - * @param[in,out] *S points to an instance of the floating-point matrix structure. - * @param[in] nRows number of rows in the matrix. - * @param[in] nColumns number of columns in the matrix. - * @param[in] *pData points to the matrix data array. - * @return none - */ - - void arm_mat_init_f32( - arm_matrix_instance_f32 * S, - uint16_t nRows, - uint16_t nColumns, - float32_t * pData); - - - - /** - * @brief Instance structure for the Q15 PID Control. - */ - typedef struct - { - q15_t A0; /**< The derived gain, A0 = Kp + Ki + Kd . */ -#ifdef ARM_MATH_CM0_FAMILY - q15_t A1; - q15_t A2; -#else - q31_t A1; /**< The derived gain A1 = -Kp - 2Kd | Kd.*/ -#endif - q15_t state[3]; /**< The state array of length 3. */ - q15_t Kp; /**< The proportional gain. */ - q15_t Ki; /**< The integral gain. */ - q15_t Kd; /**< The derivative gain. */ - } arm_pid_instance_q15; - - /** - * @brief Instance structure for the Q31 PID Control. - */ - typedef struct - { - q31_t A0; /**< The derived gain, A0 = Kp + Ki + Kd . */ - q31_t A1; /**< The derived gain, A1 = -Kp - 2Kd. */ - q31_t A2; /**< The derived gain, A2 = Kd . */ - q31_t state[3]; /**< The state array of length 3. */ - q31_t Kp; /**< The proportional gain. */ - q31_t Ki; /**< The integral gain. */ - q31_t Kd; /**< The derivative gain. */ - - } arm_pid_instance_q31; - - /** - * @brief Instance structure for the floating-point PID Control. - */ - typedef struct - { - float32_t A0; /**< The derived gain, A0 = Kp + Ki + Kd . */ - float32_t A1; /**< The derived gain, A1 = -Kp - 2Kd. */ - float32_t A2; /**< The derived gain, A2 = Kd . */ - float32_t state[3]; /**< The state array of length 3. */ - float32_t Kp; /**< The proportional gain. */ - float32_t Ki; /**< The integral gain. */ - float32_t Kd; /**< The derivative gain. */ - } arm_pid_instance_f32; - - - - /** - * @brief Initialization function for the floating-point PID Control. - * @param[in,out] *S points to an instance of the PID structure. - * @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the state. - * @return none. - */ - void arm_pid_init_f32( - arm_pid_instance_f32 * S, - int32_t resetStateFlag); - - /** - * @brief Reset function for the floating-point PID Control. - * @param[in,out] *S is an instance of the floating-point PID Control structure - * @return none - */ - void arm_pid_reset_f32( - arm_pid_instance_f32 * S); - - - /** - * @brief Initialization function for the Q31 PID Control. - * @param[in,out] *S points to an instance of the Q15 PID structure. - * @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the state. - * @return none. - */ - void arm_pid_init_q31( - arm_pid_instance_q31 * S, - int32_t resetStateFlag); - - - /** - * @brief Reset function for the Q31 PID Control. - * @param[in,out] *S points to an instance of the Q31 PID Control structure - * @return none - */ - - void arm_pid_reset_q31( - arm_pid_instance_q31 * S); - - /** - * @brief Initialization function for the Q15 PID Control. - * @param[in,out] *S points to an instance of the Q15 PID structure. - * @param[in] resetStateFlag flag to reset the state. 0 = no change in state 1 = reset the state. - * @return none. - */ - void arm_pid_init_q15( - arm_pid_instance_q15 * S, - int32_t resetStateFlag); - - /** - * @brief Reset function for the Q15 PID Control. - * @param[in,out] *S points to an instance of the q15 PID Control structure - * @return none - */ - void arm_pid_reset_q15( - arm_pid_instance_q15 * S); - - - /** - * @brief Instance structure for the floating-point Linear Interpolate function. - */ - typedef struct - { - uint32_t nValues; /**< nValues */ - float32_t x1; /**< x1 */ - float32_t xSpacing; /**< xSpacing */ - float32_t *pYData; /**< pointer to the table of Y values */ - } arm_linear_interp_instance_f32; - - /** - * @brief Instance structure for the floating-point bilinear interpolation function. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows in the data table. */ - uint16_t numCols; /**< number of columns in the data table. */ - float32_t *pData; /**< points to the data table. */ - } arm_bilinear_interp_instance_f32; - - /** - * @brief Instance structure for the Q31 bilinear interpolation function. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows in the data table. */ - uint16_t numCols; /**< number of columns in the data table. */ - q31_t *pData; /**< points to the data table. */ - } arm_bilinear_interp_instance_q31; - - /** - * @brief Instance structure for the Q15 bilinear interpolation function. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows in the data table. */ - uint16_t numCols; /**< number of columns in the data table. */ - q15_t *pData; /**< points to the data table. */ - } arm_bilinear_interp_instance_q15; - - /** - * @brief Instance structure for the Q15 bilinear interpolation function. - */ - - typedef struct - { - uint16_t numRows; /**< number of rows in the data table. */ - uint16_t numCols; /**< number of columns in the data table. */ - q7_t *pData; /**< points to the data table. */ - } arm_bilinear_interp_instance_q7; - - - /** - * @brief Q7 vector multiplication. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_mult_q7( - q7_t * pSrcA, - q7_t * pSrcB, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Q15 vector multiplication. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_mult_q15( - q15_t * pSrcA, - q15_t * pSrcB, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Q31 vector multiplication. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_mult_q31( - q31_t * pSrcA, - q31_t * pSrcB, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Floating-point vector multiplication. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_mult_f32( - float32_t * pSrcA, - float32_t * pSrcB, - float32_t * pDst, - uint32_t blockSize); - - - - - - - /** - * @brief Instance structure for the Q15 CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ - uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ - q15_t *pTwiddle; /**< points to the Sin twiddle factor table. */ - uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ - } arm_cfft_radix2_instance_q15; - -/* Deprecated */ - arm_status arm_cfft_radix2_init_q15( - arm_cfft_radix2_instance_q15 * S, - uint16_t fftLen, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - -/* Deprecated */ - void arm_cfft_radix2_q15( - const arm_cfft_radix2_instance_q15 * S, - q15_t * pSrc); - - - - /** - * @brief Instance structure for the Q15 CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ - uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ - q15_t *pTwiddle; /**< points to the twiddle factor table. */ - uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ - } arm_cfft_radix4_instance_q15; - -/* Deprecated */ - arm_status arm_cfft_radix4_init_q15( - arm_cfft_radix4_instance_q15 * S, - uint16_t fftLen, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - -/* Deprecated */ - void arm_cfft_radix4_q15( - const arm_cfft_radix4_instance_q15 * S, - q15_t * pSrc); - - /** - * @brief Instance structure for the Radix-2 Q31 CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ - uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ - q31_t *pTwiddle; /**< points to the Twiddle factor table. */ - uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ - } arm_cfft_radix2_instance_q31; - -/* Deprecated */ - arm_status arm_cfft_radix2_init_q31( - arm_cfft_radix2_instance_q31 * S, - uint16_t fftLen, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - -/* Deprecated */ - void arm_cfft_radix2_q31( - const arm_cfft_radix2_instance_q31 * S, - q31_t * pSrc); - - /** - * @brief Instance structure for the Q31 CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ - uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ - q31_t *pTwiddle; /**< points to the twiddle factor table. */ - uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ - } arm_cfft_radix4_instance_q31; - -/* Deprecated */ - void arm_cfft_radix4_q31( - const arm_cfft_radix4_instance_q31 * S, - q31_t * pSrc); - -/* Deprecated */ - arm_status arm_cfft_radix4_init_q31( - arm_cfft_radix4_instance_q31 * S, - uint16_t fftLen, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - - /** - * @brief Instance structure for the floating-point CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ - uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ - float32_t *pTwiddle; /**< points to the Twiddle factor table. */ - uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ - float32_t onebyfftLen; /**< value of 1/fftLen. */ - } arm_cfft_radix2_instance_f32; - -/* Deprecated */ - arm_status arm_cfft_radix2_init_f32( - arm_cfft_radix2_instance_f32 * S, - uint16_t fftLen, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - -/* Deprecated */ - void arm_cfft_radix2_f32( - const arm_cfft_radix2_instance_f32 * S, - float32_t * pSrc); - - /** - * @brief Instance structure for the floating-point CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - uint8_t ifftFlag; /**< flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. */ - uint8_t bitReverseFlag; /**< flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. */ - float32_t *pTwiddle; /**< points to the Twiddle factor table. */ - uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t twidCoefModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - uint16_t bitRevFactor; /**< bit reversal modifier that supports different size FFTs with the same bit reversal table. */ - float32_t onebyfftLen; /**< value of 1/fftLen. */ - } arm_cfft_radix4_instance_f32; - -/* Deprecated */ - arm_status arm_cfft_radix4_init_f32( - arm_cfft_radix4_instance_f32 * S, - uint16_t fftLen, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - -/* Deprecated */ - void arm_cfft_radix4_f32( - const arm_cfft_radix4_instance_f32 * S, - float32_t * pSrc); - - /** - * @brief Instance structure for the fixed-point CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - const q15_t *pTwiddle; /**< points to the Twiddle factor table. */ - const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t bitRevLength; /**< bit reversal table length. */ - } arm_cfft_instance_q15; - -void arm_cfft_q15( - const arm_cfft_instance_q15 * S, - q15_t * p1, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - - /** - * @brief Instance structure for the fixed-point CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - const q31_t *pTwiddle; /**< points to the Twiddle factor table. */ - const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t bitRevLength; /**< bit reversal table length. */ - } arm_cfft_instance_q31; - -void arm_cfft_q31( - const arm_cfft_instance_q31 * S, - q31_t * p1, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - - /** - * @brief Instance structure for the floating-point CFFT/CIFFT function. - */ - - typedef struct - { - uint16_t fftLen; /**< length of the FFT. */ - const float32_t *pTwiddle; /**< points to the Twiddle factor table. */ - const uint16_t *pBitRevTable; /**< points to the bit reversal table. */ - uint16_t bitRevLength; /**< bit reversal table length. */ - } arm_cfft_instance_f32; - - void arm_cfft_f32( - const arm_cfft_instance_f32 * S, - float32_t * p1, - uint8_t ifftFlag, - uint8_t bitReverseFlag); - - /** - * @brief Instance structure for the Q15 RFFT/RIFFT function. - */ - - typedef struct - { - uint32_t fftLenReal; /**< length of the real FFT. */ - uint8_t ifftFlagR; /**< flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. */ - uint8_t bitReverseFlagR; /**< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */ - uint32_t twidCoefRModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - q15_t *pTwiddleAReal; /**< points to the real twiddle factor table. */ - q15_t *pTwiddleBReal; /**< points to the imag twiddle factor table. */ - const arm_cfft_instance_q15 *pCfft; /**< points to the complex FFT instance. */ - } arm_rfft_instance_q15; - - arm_status arm_rfft_init_q15( - arm_rfft_instance_q15 * S, - uint32_t fftLenReal, - uint32_t ifftFlagR, - uint32_t bitReverseFlag); - - void arm_rfft_q15( - const arm_rfft_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst); - - /** - * @brief Instance structure for the Q31 RFFT/RIFFT function. - */ - - typedef struct - { - uint32_t fftLenReal; /**< length of the real FFT. */ - uint8_t ifftFlagR; /**< flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. */ - uint8_t bitReverseFlagR; /**< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */ - uint32_t twidCoefRModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - q31_t *pTwiddleAReal; /**< points to the real twiddle factor table. */ - q31_t *pTwiddleBReal; /**< points to the imag twiddle factor table. */ - const arm_cfft_instance_q31 *pCfft; /**< points to the complex FFT instance. */ - } arm_rfft_instance_q31; - - arm_status arm_rfft_init_q31( - arm_rfft_instance_q31 * S, - uint32_t fftLenReal, - uint32_t ifftFlagR, - uint32_t bitReverseFlag); - - void arm_rfft_q31( - const arm_rfft_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst); - - /** - * @brief Instance structure for the floating-point RFFT/RIFFT function. - */ - - typedef struct - { - uint32_t fftLenReal; /**< length of the real FFT. */ - uint16_t fftLenBy2; /**< length of the complex FFT. */ - uint8_t ifftFlagR; /**< flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. */ - uint8_t bitReverseFlagR; /**< flag that enables (bitReverseFlagR=1) or disables (bitReverseFlagR=0) bit reversal of output. */ - uint32_t twidCoefRModifier; /**< twiddle coefficient modifier that supports different size FFTs with the same twiddle factor table. */ - float32_t *pTwiddleAReal; /**< points to the real twiddle factor table. */ - float32_t *pTwiddleBReal; /**< points to the imag twiddle factor table. */ - arm_cfft_radix4_instance_f32 *pCfft; /**< points to the complex FFT instance. */ - } arm_rfft_instance_f32; - - arm_status arm_rfft_init_f32( - arm_rfft_instance_f32 * S, - arm_cfft_radix4_instance_f32 * S_CFFT, - uint32_t fftLenReal, - uint32_t ifftFlagR, - uint32_t bitReverseFlag); - - void arm_rfft_f32( - const arm_rfft_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst); - - /** - * @brief Instance structure for the floating-point RFFT/RIFFT function. - */ - -typedef struct - { - arm_cfft_instance_f32 Sint; /**< Internal CFFT structure. */ - uint16_t fftLenRFFT; /**< length of the real sequence */ - float32_t * pTwiddleRFFT; /**< Twiddle factors real stage */ - } arm_rfft_fast_instance_f32 ; - -arm_status arm_rfft_fast_init_f32 ( - arm_rfft_fast_instance_f32 * S, - uint16_t fftLen); - -void arm_rfft_fast_f32( - arm_rfft_fast_instance_f32 * S, - float32_t * p, float32_t * pOut, - uint8_t ifftFlag); - - /** - * @brief Instance structure for the floating-point DCT4/IDCT4 function. - */ - - typedef struct - { - uint16_t N; /**< length of the DCT4. */ - uint16_t Nby2; /**< half of the length of the DCT4. */ - float32_t normalize; /**< normalizing factor. */ - float32_t *pTwiddle; /**< points to the twiddle factor table. */ - float32_t *pCosFactor; /**< points to the cosFactor table. */ - arm_rfft_instance_f32 *pRfft; /**< points to the real FFT instance. */ - arm_cfft_radix4_instance_f32 *pCfft; /**< points to the complex FFT instance. */ - } arm_dct4_instance_f32; - - /** - * @brief Initialization function for the floating-point DCT4/IDCT4. - * @param[in,out] *S points to an instance of floating-point DCT4/IDCT4 structure. - * @param[in] *S_RFFT points to an instance of floating-point RFFT/RIFFT structure. - * @param[in] *S_CFFT points to an instance of floating-point CFFT/CIFFT structure. - * @param[in] N length of the DCT4. - * @param[in] Nby2 half of the length of the DCT4. - * @param[in] normalize normalizing factor. - * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>fftLenReal</code> is not a supported transform length. - */ - - arm_status arm_dct4_init_f32( - arm_dct4_instance_f32 * S, - arm_rfft_instance_f32 * S_RFFT, - arm_cfft_radix4_instance_f32 * S_CFFT, - uint16_t N, - uint16_t Nby2, - float32_t normalize); - - /** - * @brief Processing function for the floating-point DCT4/IDCT4. - * @param[in] *S points to an instance of the floating-point DCT4/IDCT4 structure. - * @param[in] *pState points to state buffer. - * @param[in,out] *pInlineBuffer points to the in-place input and output buffer. - * @return none. - */ - - void arm_dct4_f32( - const arm_dct4_instance_f32 * S, - float32_t * pState, - float32_t * pInlineBuffer); - - /** - * @brief Instance structure for the Q31 DCT4/IDCT4 function. - */ - - typedef struct - { - uint16_t N; /**< length of the DCT4. */ - uint16_t Nby2; /**< half of the length of the DCT4. */ - q31_t normalize; /**< normalizing factor. */ - q31_t *pTwiddle; /**< points to the twiddle factor table. */ - q31_t *pCosFactor; /**< points to the cosFactor table. */ - arm_rfft_instance_q31 *pRfft; /**< points to the real FFT instance. */ - arm_cfft_radix4_instance_q31 *pCfft; /**< points to the complex FFT instance. */ - } arm_dct4_instance_q31; - - /** - * @brief Initialization function for the Q31 DCT4/IDCT4. - * @param[in,out] *S points to an instance of Q31 DCT4/IDCT4 structure. - * @param[in] *S_RFFT points to an instance of Q31 RFFT/RIFFT structure - * @param[in] *S_CFFT points to an instance of Q31 CFFT/CIFFT structure - * @param[in] N length of the DCT4. - * @param[in] Nby2 half of the length of the DCT4. - * @param[in] normalize normalizing factor. - * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>N</code> is not a supported transform length. - */ - - arm_status arm_dct4_init_q31( - arm_dct4_instance_q31 * S, - arm_rfft_instance_q31 * S_RFFT, - arm_cfft_radix4_instance_q31 * S_CFFT, - uint16_t N, - uint16_t Nby2, - q31_t normalize); - - /** - * @brief Processing function for the Q31 DCT4/IDCT4. - * @param[in] *S points to an instance of the Q31 DCT4 structure. - * @param[in] *pState points to state buffer. - * @param[in,out] *pInlineBuffer points to the in-place input and output buffer. - * @return none. - */ - - void arm_dct4_q31( - const arm_dct4_instance_q31 * S, - q31_t * pState, - q31_t * pInlineBuffer); - - /** - * @brief Instance structure for the Q15 DCT4/IDCT4 function. - */ - - typedef struct - { - uint16_t N; /**< length of the DCT4. */ - uint16_t Nby2; /**< half of the length of the DCT4. */ - q15_t normalize; /**< normalizing factor. */ - q15_t *pTwiddle; /**< points to the twiddle factor table. */ - q15_t *pCosFactor; /**< points to the cosFactor table. */ - arm_rfft_instance_q15 *pRfft; /**< points to the real FFT instance. */ - arm_cfft_radix4_instance_q15 *pCfft; /**< points to the complex FFT instance. */ - } arm_dct4_instance_q15; - - /** - * @brief Initialization function for the Q15 DCT4/IDCT4. - * @param[in,out] *S points to an instance of Q15 DCT4/IDCT4 structure. - * @param[in] *S_RFFT points to an instance of Q15 RFFT/RIFFT structure. - * @param[in] *S_CFFT points to an instance of Q15 CFFT/CIFFT structure. - * @param[in] N length of the DCT4. - * @param[in] Nby2 half of the length of the DCT4. - * @param[in] normalize normalizing factor. - * @return arm_status function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if <code>N</code> is not a supported transform length. - */ - - arm_status arm_dct4_init_q15( - arm_dct4_instance_q15 * S, - arm_rfft_instance_q15 * S_RFFT, - arm_cfft_radix4_instance_q15 * S_CFFT, - uint16_t N, - uint16_t Nby2, - q15_t normalize); - - /** - * @brief Processing function for the Q15 DCT4/IDCT4. - * @param[in] *S points to an instance of the Q15 DCT4 structure. - * @param[in] *pState points to state buffer. - * @param[in,out] *pInlineBuffer points to the in-place input and output buffer. - * @return none. - */ - - void arm_dct4_q15( - const arm_dct4_instance_q15 * S, - q15_t * pState, - q15_t * pInlineBuffer); - - /** - * @brief Floating-point vector addition. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_add_f32( - float32_t * pSrcA, - float32_t * pSrcB, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Q7 vector addition. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_add_q7( - q7_t * pSrcA, - q7_t * pSrcB, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Q15 vector addition. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_add_q15( - q15_t * pSrcA, - q15_t * pSrcB, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Q31 vector addition. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_add_q31( - q31_t * pSrcA, - q31_t * pSrcB, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Floating-point vector subtraction. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_sub_f32( - float32_t * pSrcA, - float32_t * pSrcB, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Q7 vector subtraction. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_sub_q7( - q7_t * pSrcA, - q7_t * pSrcB, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Q15 vector subtraction. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_sub_q15( - q15_t * pSrcA, - q15_t * pSrcB, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Q31 vector subtraction. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_sub_q31( - q31_t * pSrcA, - q31_t * pSrcB, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Multiplies a floating-point vector by a scalar. - * @param[in] *pSrc points to the input vector - * @param[in] scale scale factor to be applied - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_scale_f32( - float32_t * pSrc, - float32_t scale, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Multiplies a Q7 vector by a scalar. - * @param[in] *pSrc points to the input vector - * @param[in] scaleFract fractional portion of the scale value - * @param[in] shift number of bits to shift the result by - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_scale_q7( - q7_t * pSrc, - q7_t scaleFract, - int8_t shift, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Multiplies a Q15 vector by a scalar. - * @param[in] *pSrc points to the input vector - * @param[in] scaleFract fractional portion of the scale value - * @param[in] shift number of bits to shift the result by - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_scale_q15( - q15_t * pSrc, - q15_t scaleFract, - int8_t shift, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Multiplies a Q31 vector by a scalar. - * @param[in] *pSrc points to the input vector - * @param[in] scaleFract fractional portion of the scale value - * @param[in] shift number of bits to shift the result by - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_scale_q31( - q31_t * pSrc, - q31_t scaleFract, - int8_t shift, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Q7 vector absolute value. - * @param[in] *pSrc points to the input buffer - * @param[out] *pDst points to the output buffer - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_abs_q7( - q7_t * pSrc, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Floating-point vector absolute value. - * @param[in] *pSrc points to the input buffer - * @param[out] *pDst points to the output buffer - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_abs_f32( - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Q15 vector absolute value. - * @param[in] *pSrc points to the input buffer - * @param[out] *pDst points to the output buffer - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_abs_q15( - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Q31 vector absolute value. - * @param[in] *pSrc points to the input buffer - * @param[out] *pDst points to the output buffer - * @param[in] blockSize number of samples in each vector - * @return none. - */ - - void arm_abs_q31( - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Dot product of floating-point vectors. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[in] blockSize number of samples in each vector - * @param[out] *result output result returned here - * @return none. - */ - - void arm_dot_prod_f32( - float32_t * pSrcA, - float32_t * pSrcB, - uint32_t blockSize, - float32_t * result); - - /** - * @brief Dot product of Q7 vectors. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[in] blockSize number of samples in each vector - * @param[out] *result output result returned here - * @return none. - */ - - void arm_dot_prod_q7( - q7_t * pSrcA, - q7_t * pSrcB, - uint32_t blockSize, - q31_t * result); - - /** - * @brief Dot product of Q15 vectors. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[in] blockSize number of samples in each vector - * @param[out] *result output result returned here - * @return none. - */ - - void arm_dot_prod_q15( - q15_t * pSrcA, - q15_t * pSrcB, - uint32_t blockSize, - q63_t * result); - - /** - * @brief Dot product of Q31 vectors. - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[in] blockSize number of samples in each vector - * @param[out] *result output result returned here - * @return none. - */ - - void arm_dot_prod_q31( - q31_t * pSrcA, - q31_t * pSrcB, - uint32_t blockSize, - q63_t * result); - - /** - * @brief Shifts the elements of a Q7 vector a specified number of bits. - * @param[in] *pSrc points to the input vector - * @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_shift_q7( - q7_t * pSrc, - int8_t shiftBits, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Shifts the elements of a Q15 vector a specified number of bits. - * @param[in] *pSrc points to the input vector - * @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_shift_q15( - q15_t * pSrc, - int8_t shiftBits, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Shifts the elements of a Q31 vector a specified number of bits. - * @param[in] *pSrc points to the input vector - * @param[in] shiftBits number of bits to shift. A positive value shifts left; a negative value shifts right. - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_shift_q31( - q31_t * pSrc, - int8_t shiftBits, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Adds a constant offset to a floating-point vector. - * @param[in] *pSrc points to the input vector - * @param[in] offset is the offset to be added - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_offset_f32( - float32_t * pSrc, - float32_t offset, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Adds a constant offset to a Q7 vector. - * @param[in] *pSrc points to the input vector - * @param[in] offset is the offset to be added - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_offset_q7( - q7_t * pSrc, - q7_t offset, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Adds a constant offset to a Q15 vector. - * @param[in] *pSrc points to the input vector - * @param[in] offset is the offset to be added - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_offset_q15( - q15_t * pSrc, - q15_t offset, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Adds a constant offset to a Q31 vector. - * @param[in] *pSrc points to the input vector - * @param[in] offset is the offset to be added - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_offset_q31( - q31_t * pSrc, - q31_t offset, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Negates the elements of a floating-point vector. - * @param[in] *pSrc points to the input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_negate_f32( - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Negates the elements of a Q7 vector. - * @param[in] *pSrc points to the input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_negate_q7( - q7_t * pSrc, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Negates the elements of a Q15 vector. - * @param[in] *pSrc points to the input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_negate_q15( - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Negates the elements of a Q31 vector. - * @param[in] *pSrc points to the input vector - * @param[out] *pDst points to the output vector - * @param[in] blockSize number of samples in the vector - * @return none. - */ - - void arm_negate_q31( - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - /** - * @brief Copies the elements of a floating-point vector. - * @param[in] *pSrc input pointer - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_copy_f32( - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Copies the elements of a Q7 vector. - * @param[in] *pSrc input pointer - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_copy_q7( - q7_t * pSrc, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Copies the elements of a Q15 vector. - * @param[in] *pSrc input pointer - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_copy_q15( - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Copies the elements of a Q31 vector. - * @param[in] *pSrc input pointer - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_copy_q31( - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - /** - * @brief Fills a constant value into a floating-point vector. - * @param[in] value input value to be filled - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_fill_f32( - float32_t value, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Fills a constant value into a Q7 vector. - * @param[in] value input value to be filled - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_fill_q7( - q7_t value, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Fills a constant value into a Q15 vector. - * @param[in] value input value to be filled - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_fill_q15( - q15_t value, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Fills a constant value into a Q31 vector. - * @param[in] value input value to be filled - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_fill_q31( - q31_t value, - q31_t * pDst, - uint32_t blockSize); - -/** - * @brief Convolution of floating-point sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the location where the output result is written. Length srcALen+srcBLen-1. - * @return none. - */ - - void arm_conv_f32( - float32_t * pSrcA, - uint32_t srcALen, - float32_t * pSrcB, - uint32_t srcBLen, - float32_t * pDst); - - - /** - * @brief Convolution of Q15 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length srcALen+srcBLen-1. - * @param[in] *pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @param[in] *pScratch2 points to scratch buffer of size min(srcALen, srcBLen). - * @return none. - */ - - - void arm_conv_opt_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - q15_t * pScratch1, - q15_t * pScratch2); - - -/** - * @brief Convolution of Q15 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the location where the output result is written. Length srcALen+srcBLen-1. - * @return none. - */ - - void arm_conv_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst); - - /** - * @brief Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length srcALen+srcBLen-1. - * @return none. - */ - - void arm_conv_fast_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst); - - /** - * @brief Convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length srcALen+srcBLen-1. - * @param[in] *pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @param[in] *pScratch2 points to scratch buffer of size min(srcALen, srcBLen). - * @return none. - */ - - void arm_conv_fast_opt_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - q15_t * pScratch1, - q15_t * pScratch2); - - - - /** - * @brief Convolution of Q31 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length srcALen+srcBLen-1. - * @return none. - */ - - void arm_conv_q31( - q31_t * pSrcA, - uint32_t srcALen, - q31_t * pSrcB, - uint32_t srcBLen, - q31_t * pDst); - - /** - * @brief Convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length srcALen+srcBLen-1. - * @return none. - */ - - void arm_conv_fast_q31( - q31_t * pSrcA, - uint32_t srcALen, - q31_t * pSrcB, - uint32_t srcBLen, - q31_t * pDst); - - - /** - * @brief Convolution of Q7 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length srcALen+srcBLen-1. - * @param[in] *pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @param[in] *pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). - * @return none. - */ - - void arm_conv_opt_q7( - q7_t * pSrcA, - uint32_t srcALen, - q7_t * pSrcB, - uint32_t srcBLen, - q7_t * pDst, - q15_t * pScratch1, - q15_t * pScratch2); - - - - /** - * @brief Convolution of Q7 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length srcALen+srcBLen-1. - * @return none. - */ - - void arm_conv_q7( - q7_t * pSrcA, - uint32_t srcALen, - q7_t * pSrcB, - uint32_t srcBLen, - q7_t * pDst); - - - /** - * @brief Partial convolution of floating-point sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_f32( - float32_t * pSrcA, - uint32_t srcALen, - float32_t * pSrcB, - uint32_t srcBLen, - float32_t * pDst, - uint32_t firstIndex, - uint32_t numPoints); - - /** - * @brief Partial convolution of Q15 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @param[in] * pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @param[in] * pScratch2 points to scratch buffer of size min(srcALen, srcBLen). - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_opt_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - uint32_t firstIndex, - uint32_t numPoints, - q15_t * pScratch1, - q15_t * pScratch2); - - -/** - * @brief Partial convolution of Q15 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - uint32_t firstIndex, - uint32_t numPoints); - - /** - * @brief Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_fast_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - uint32_t firstIndex, - uint32_t numPoints); - - - /** - * @brief Partial convolution of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @param[in] * pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @param[in] * pScratch2 points to scratch buffer of size min(srcALen, srcBLen). - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_fast_opt_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - uint32_t firstIndex, - uint32_t numPoints, - q15_t * pScratch1, - q15_t * pScratch2); - - - /** - * @brief Partial convolution of Q31 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_q31( - q31_t * pSrcA, - uint32_t srcALen, - q31_t * pSrcB, - uint32_t srcBLen, - q31_t * pDst, - uint32_t firstIndex, - uint32_t numPoints); - - - /** - * @brief Partial convolution of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_fast_q31( - q31_t * pSrcA, - uint32_t srcALen, - q31_t * pSrcB, - uint32_t srcBLen, - q31_t * pDst, - uint32_t firstIndex, - uint32_t numPoints); - - - /** - * @brief Partial convolution of Q7 sequences - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @param[in] *pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @param[in] *pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_opt_q7( - q7_t * pSrcA, - uint32_t srcALen, - q7_t * pSrcB, - uint32_t srcBLen, - q7_t * pDst, - uint32_t firstIndex, - uint32_t numPoints, - q15_t * pScratch1, - q15_t * pScratch2); - - -/** - * @brief Partial convolution of Q7 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data - * @param[in] firstIndex is the first output sample to start with. - * @param[in] numPoints is the number of output points to be computed. - * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. - */ - - arm_status arm_conv_partial_q7( - q7_t * pSrcA, - uint32_t srcALen, - q7_t * pSrcB, - uint32_t srcBLen, - q7_t * pDst, - uint32_t firstIndex, - uint32_t numPoints); - - - - /** - * @brief Instance structure for the Q15 FIR decimator. - */ - - typedef struct - { - uint8_t M; /**< decimation factor. */ - uint16_t numTaps; /**< number of coefficients in the filter. */ - q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - } arm_fir_decimate_instance_q15; - - /** - * @brief Instance structure for the Q31 FIR decimator. - */ - - typedef struct - { - uint8_t M; /**< decimation factor. */ - uint16_t numTaps; /**< number of coefficients in the filter. */ - q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - - } arm_fir_decimate_instance_q31; - - /** - * @brief Instance structure for the floating-point FIR decimator. - */ - - typedef struct - { - uint8_t M; /**< decimation factor. */ - uint16_t numTaps; /**< number of coefficients in the filter. */ - float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - - } arm_fir_decimate_instance_f32; - - - - /** - * @brief Processing function for the floating-point FIR decimator. - * @param[in] *S points to an instance of the floating-point FIR decimator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of input samples to process per call. - * @return none - */ - - void arm_fir_decimate_f32( - const arm_fir_decimate_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - - /** - * @brief Initialization function for the floating-point FIR decimator. - * @param[in,out] *S points to an instance of the floating-point FIR decimator structure. - * @param[in] numTaps number of coefficients in the filter. - * @param[in] M decimation factor. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of input samples to process per call. - * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if - * <code>blockSize</code> is not a multiple of <code>M</code>. - */ - - arm_status arm_fir_decimate_init_f32( - arm_fir_decimate_instance_f32 * S, - uint16_t numTaps, - uint8_t M, - float32_t * pCoeffs, - float32_t * pState, - uint32_t blockSize); - - /** - * @brief Processing function for the Q15 FIR decimator. - * @param[in] *S points to an instance of the Q15 FIR decimator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of input samples to process per call. - * @return none - */ - - void arm_fir_decimate_q15( - const arm_fir_decimate_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Processing function for the Q15 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4. - * @param[in] *S points to an instance of the Q15 FIR decimator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of input samples to process per call. - * @return none - */ - - void arm_fir_decimate_fast_q15( - const arm_fir_decimate_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - - - /** - * @brief Initialization function for the Q15 FIR decimator. - * @param[in,out] *S points to an instance of the Q15 FIR decimator structure. - * @param[in] numTaps number of coefficients in the filter. - * @param[in] M decimation factor. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of input samples to process per call. - * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if - * <code>blockSize</code> is not a multiple of <code>M</code>. - */ - - arm_status arm_fir_decimate_init_q15( - arm_fir_decimate_instance_q15 * S, - uint16_t numTaps, - uint8_t M, - q15_t * pCoeffs, - q15_t * pState, - uint32_t blockSize); - - /** - * @brief Processing function for the Q31 FIR decimator. - * @param[in] *S points to an instance of the Q31 FIR decimator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of input samples to process per call. - * @return none - */ - - void arm_fir_decimate_q31( - const arm_fir_decimate_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Processing function for the Q31 FIR decimator (fast variant) for Cortex-M3 and Cortex-M4. - * @param[in] *S points to an instance of the Q31 FIR decimator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of input samples to process per call. - * @return none - */ - - void arm_fir_decimate_fast_q31( - arm_fir_decimate_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - - /** - * @brief Initialization function for the Q31 FIR decimator. - * @param[in,out] *S points to an instance of the Q31 FIR decimator structure. - * @param[in] numTaps number of coefficients in the filter. - * @param[in] M decimation factor. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of input samples to process per call. - * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if - * <code>blockSize</code> is not a multiple of <code>M</code>. - */ - - arm_status arm_fir_decimate_init_q31( - arm_fir_decimate_instance_q31 * S, - uint16_t numTaps, - uint8_t M, - q31_t * pCoeffs, - q31_t * pState, - uint32_t blockSize); - - - - /** - * @brief Instance structure for the Q15 FIR interpolator. - */ - - typedef struct - { - uint8_t L; /**< upsample factor. */ - uint16_t phaseLength; /**< length of each polyphase filter component. */ - q15_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ - q15_t *pState; /**< points to the state variable array. The array is of length blockSize+phaseLength-1. */ - } arm_fir_interpolate_instance_q15; - - /** - * @brief Instance structure for the Q31 FIR interpolator. - */ - - typedef struct - { - uint8_t L; /**< upsample factor. */ - uint16_t phaseLength; /**< length of each polyphase filter component. */ - q31_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ - q31_t *pState; /**< points to the state variable array. The array is of length blockSize+phaseLength-1. */ - } arm_fir_interpolate_instance_q31; - - /** - * @brief Instance structure for the floating-point FIR interpolator. - */ - - typedef struct - { - uint8_t L; /**< upsample factor. */ - uint16_t phaseLength; /**< length of each polyphase filter component. */ - float32_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ - float32_t *pState; /**< points to the state variable array. The array is of length phaseLength+numTaps-1. */ - } arm_fir_interpolate_instance_f32; - - - /** - * @brief Processing function for the Q15 FIR interpolator. - * @param[in] *S points to an instance of the Q15 FIR interpolator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of input samples to process per call. - * @return none. - */ - - void arm_fir_interpolate_q15( - const arm_fir_interpolate_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - - /** - * @brief Initialization function for the Q15 FIR interpolator. - * @param[in,out] *S points to an instance of the Q15 FIR interpolator structure. - * @param[in] L upsample factor. - * @param[in] numTaps number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficient buffer. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of input samples to process per call. - * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if - * the filter length <code>numTaps</code> is not a multiple of the interpolation factor <code>L</code>. - */ - - arm_status arm_fir_interpolate_init_q15( - arm_fir_interpolate_instance_q15 * S, - uint8_t L, - uint16_t numTaps, - q15_t * pCoeffs, - q15_t * pState, - uint32_t blockSize); - - /** - * @brief Processing function for the Q31 FIR interpolator. - * @param[in] *S points to an instance of the Q15 FIR interpolator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of input samples to process per call. - * @return none. - */ - - void arm_fir_interpolate_q31( - const arm_fir_interpolate_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q31 FIR interpolator. - * @param[in,out] *S points to an instance of the Q31 FIR interpolator structure. - * @param[in] L upsample factor. - * @param[in] numTaps number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficient buffer. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of input samples to process per call. - * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if - * the filter length <code>numTaps</code> is not a multiple of the interpolation factor <code>L</code>. - */ - - arm_status arm_fir_interpolate_init_q31( - arm_fir_interpolate_instance_q31 * S, - uint8_t L, - uint16_t numTaps, - q31_t * pCoeffs, - q31_t * pState, - uint32_t blockSize); - - - /** - * @brief Processing function for the floating-point FIR interpolator. - * @param[in] *S points to an instance of the floating-point FIR interpolator structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of input samples to process per call. - * @return none. - */ - - void arm_fir_interpolate_f32( - const arm_fir_interpolate_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the floating-point FIR interpolator. - * @param[in,out] *S points to an instance of the floating-point FIR interpolator structure. - * @param[in] L upsample factor. - * @param[in] numTaps number of filter coefficients in the filter. - * @param[in] *pCoeffs points to the filter coefficient buffer. - * @param[in] *pState points to the state buffer. - * @param[in] blockSize number of input samples to process per call. - * @return The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_LENGTH_ERROR if - * the filter length <code>numTaps</code> is not a multiple of the interpolation factor <code>L</code>. - */ - - arm_status arm_fir_interpolate_init_f32( - arm_fir_interpolate_instance_f32 * S, - uint8_t L, - uint16_t numTaps, - float32_t * pCoeffs, - float32_t * pState, - uint32_t blockSize); - - /** - * @brief Instance structure for the high precision Q31 Biquad cascade filter. - */ - - typedef struct - { - uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ - q63_t *pState; /**< points to the array of state coefficients. The array is of length 4*numStages. */ - q31_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ - uint8_t postShift; /**< additional shift, in bits, applied to each output sample. */ - - } arm_biquad_cas_df1_32x64_ins_q31; - - - /** - * @param[in] *S points to an instance of the high precision Q31 Biquad cascade filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cas_df1_32x64_q31( - const arm_biquad_cas_df1_32x64_ins_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - - /** - * @param[in,out] *S points to an instance of the high precision Q31 Biquad cascade filter structure. - * @param[in] numStages number of 2nd order stages in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] postShift shift to be applied to the output. Varies according to the coefficients format - * @return none - */ - - void arm_biquad_cas_df1_32x64_init_q31( - arm_biquad_cas_df1_32x64_ins_q31 * S, - uint8_t numStages, - q31_t * pCoeffs, - q63_t * pState, - uint8_t postShift); - - - - /** - * @brief Instance structure for the floating-point transposed direct form II Biquad cascade filter. - */ - - typedef struct - { - uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ - float32_t *pState; /**< points to the array of state coefficients. The array is of length 2*numStages. */ - float32_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ - } arm_biquad_cascade_df2T_instance_f32; - - - - /** - * @brief Instance structure for the floating-point transposed direct form II Biquad cascade filter. - */ - - typedef struct - { - uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ - float32_t *pState; /**< points to the array of state coefficients. The array is of length 4*numStages. */ - float32_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ - } arm_biquad_cascade_stereo_df2T_instance_f32; - - - - /** - * @brief Instance structure for the floating-point transposed direct form II Biquad cascade filter. - */ - - typedef struct - { - uint8_t numStages; /**< number of 2nd order stages in the filter. Overall order is 2*numStages. */ - float64_t *pState; /**< points to the array of state coefficients. The array is of length 2*numStages. */ - float64_t *pCoeffs; /**< points to the array of coefficients. The array is of length 5*numStages. */ - } arm_biquad_cascade_df2T_instance_f64; - - - /** - * @brief Processing function for the floating-point transposed direct form II Biquad cascade filter. - * @param[in] *S points to an instance of the filter data structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_df2T_f32( - const arm_biquad_cascade_df2T_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - - /** - * @brief Processing function for the floating-point transposed direct form II Biquad cascade filter. 2 channels - * @param[in] *S points to an instance of the filter data structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_stereo_df2T_f32( - const arm_biquad_cascade_stereo_df2T_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Processing function for the floating-point transposed direct form II Biquad cascade filter. - * @param[in] *S points to an instance of the filter data structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_biquad_cascade_df2T_f64( - const arm_biquad_cascade_df2T_instance_f64 * S, - float64_t * pSrc, - float64_t * pDst, - uint32_t blockSize); - - - /** - * @brief Initialization function for the floating-point transposed direct form II Biquad cascade filter. - * @param[in,out] *S points to an instance of the filter data structure. - * @param[in] numStages number of 2nd order stages in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @return none - */ - - void arm_biquad_cascade_df2T_init_f32( - arm_biquad_cascade_df2T_instance_f32 * S, - uint8_t numStages, - float32_t * pCoeffs, - float32_t * pState); - - - /** - * @brief Initialization function for the floating-point transposed direct form II Biquad cascade filter. - * @param[in,out] *S points to an instance of the filter data structure. - * @param[in] numStages number of 2nd order stages in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @return none - */ - - void arm_biquad_cascade_stereo_df2T_init_f32( - arm_biquad_cascade_stereo_df2T_instance_f32 * S, - uint8_t numStages, - float32_t * pCoeffs, - float32_t * pState); - - - /** - * @brief Initialization function for the floating-point transposed direct form II Biquad cascade filter. - * @param[in,out] *S points to an instance of the filter data structure. - * @param[in] numStages number of 2nd order stages in the filter. - * @param[in] *pCoeffs points to the filter coefficients. - * @param[in] *pState points to the state buffer. - * @return none - */ - - void arm_biquad_cascade_df2T_init_f64( - arm_biquad_cascade_df2T_instance_f64 * S, - uint8_t numStages, - float64_t * pCoeffs, - float64_t * pState); - - - - /** - * @brief Instance structure for the Q15 FIR lattice filter. - */ - - typedef struct - { - uint16_t numStages; /**< number of filter stages. */ - q15_t *pState; /**< points to the state variable array. The array is of length numStages. */ - q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numStages. */ - } arm_fir_lattice_instance_q15; - - /** - * @brief Instance structure for the Q31 FIR lattice filter. - */ - - typedef struct - { - uint16_t numStages; /**< number of filter stages. */ - q31_t *pState; /**< points to the state variable array. The array is of length numStages. */ - q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numStages. */ - } arm_fir_lattice_instance_q31; - - /** - * @brief Instance structure for the floating-point FIR lattice filter. - */ - - typedef struct - { - uint16_t numStages; /**< number of filter stages. */ - float32_t *pState; /**< points to the state variable array. The array is of length numStages. */ - float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numStages. */ - } arm_fir_lattice_instance_f32; - - /** - * @brief Initialization function for the Q15 FIR lattice filter. - * @param[in] *S points to an instance of the Q15 FIR lattice structure. - * @param[in] numStages number of filter stages. - * @param[in] *pCoeffs points to the coefficient buffer. The array is of length numStages. - * @param[in] *pState points to the state buffer. The array is of length numStages. - * @return none. - */ - - void arm_fir_lattice_init_q15( - arm_fir_lattice_instance_q15 * S, - uint16_t numStages, - q15_t * pCoeffs, - q15_t * pState); - - - /** - * @brief Processing function for the Q15 FIR lattice filter. - * @param[in] *S points to an instance of the Q15 FIR lattice structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - void arm_fir_lattice_q15( - const arm_fir_lattice_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q31 FIR lattice filter. - * @param[in] *S points to an instance of the Q31 FIR lattice structure. - * @param[in] numStages number of filter stages. - * @param[in] *pCoeffs points to the coefficient buffer. The array is of length numStages. - * @param[in] *pState points to the state buffer. The array is of length numStages. - * @return none. - */ - - void arm_fir_lattice_init_q31( - arm_fir_lattice_instance_q31 * S, - uint16_t numStages, - q31_t * pCoeffs, - q31_t * pState); - - - /** - * @brief Processing function for the Q31 FIR lattice filter. - * @param[in] *S points to an instance of the Q31 FIR lattice structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_fir_lattice_q31( - const arm_fir_lattice_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - -/** - * @brief Initialization function for the floating-point FIR lattice filter. - * @param[in] *S points to an instance of the floating-point FIR lattice structure. - * @param[in] numStages number of filter stages. - * @param[in] *pCoeffs points to the coefficient buffer. The array is of length numStages. - * @param[in] *pState points to the state buffer. The array is of length numStages. - * @return none. - */ - - void arm_fir_lattice_init_f32( - arm_fir_lattice_instance_f32 * S, - uint16_t numStages, - float32_t * pCoeffs, - float32_t * pState); - - /** - * @brief Processing function for the floating-point FIR lattice filter. - * @param[in] *S points to an instance of the floating-point FIR lattice structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_fir_lattice_f32( - const arm_fir_lattice_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Instance structure for the Q15 IIR lattice filter. - */ - typedef struct - { - uint16_t numStages; /**< number of stages in the filter. */ - q15_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ - q15_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ - q15_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ - } arm_iir_lattice_instance_q15; - - /** - * @brief Instance structure for the Q31 IIR lattice filter. - */ - typedef struct - { - uint16_t numStages; /**< number of stages in the filter. */ - q31_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ - q31_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ - q31_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ - } arm_iir_lattice_instance_q31; - - /** - * @brief Instance structure for the floating-point IIR lattice filter. - */ - typedef struct - { - uint16_t numStages; /**< number of stages in the filter. */ - float32_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ - float32_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ - float32_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ - } arm_iir_lattice_instance_f32; - - /** - * @brief Processing function for the floating-point IIR lattice filter. - * @param[in] *S points to an instance of the floating-point IIR lattice structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_iir_lattice_f32( - const arm_iir_lattice_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @brief Initialization function for the floating-point IIR lattice filter. - * @param[in] *S points to an instance of the floating-point IIR lattice structure. - * @param[in] numStages number of stages in the filter. - * @param[in] *pkCoeffs points to the reflection coefficient buffer. The array is of length numStages. - * @param[in] *pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1. - * @param[in] *pState points to the state buffer. The array is of length numStages+blockSize-1. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_iir_lattice_init_f32( - arm_iir_lattice_instance_f32 * S, - uint16_t numStages, - float32_t * pkCoeffs, - float32_t * pvCoeffs, - float32_t * pState, - uint32_t blockSize); - - - /** - * @brief Processing function for the Q31 IIR lattice filter. - * @param[in] *S points to an instance of the Q31 IIR lattice structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_iir_lattice_q31( - const arm_iir_lattice_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - - /** - * @brief Initialization function for the Q31 IIR lattice filter. - * @param[in] *S points to an instance of the Q31 IIR lattice structure. - * @param[in] numStages number of stages in the filter. - * @param[in] *pkCoeffs points to the reflection coefficient buffer. The array is of length numStages. - * @param[in] *pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1. - * @param[in] *pState points to the state buffer. The array is of length numStages+blockSize. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_iir_lattice_init_q31( - arm_iir_lattice_instance_q31 * S, - uint16_t numStages, - q31_t * pkCoeffs, - q31_t * pvCoeffs, - q31_t * pState, - uint32_t blockSize); - - - /** - * @brief Processing function for the Q15 IIR lattice filter. - * @param[in] *S points to an instance of the Q15 IIR lattice structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_iir_lattice_q15( - const arm_iir_lattice_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - -/** - * @brief Initialization function for the Q15 IIR lattice filter. - * @param[in] *S points to an instance of the fixed-point Q15 IIR lattice structure. - * @param[in] numStages number of stages in the filter. - * @param[in] *pkCoeffs points to reflection coefficient buffer. The array is of length numStages. - * @param[in] *pvCoeffs points to ladder coefficient buffer. The array is of length numStages+1. - * @param[in] *pState points to state buffer. The array is of length numStages+blockSize. - * @param[in] blockSize number of samples to process per call. - * @return none. - */ - - void arm_iir_lattice_init_q15( - arm_iir_lattice_instance_q15 * S, - uint16_t numStages, - q15_t * pkCoeffs, - q15_t * pvCoeffs, - q15_t * pState, - uint32_t blockSize); - - /** - * @brief Instance structure for the floating-point LMS filter. - */ - - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - float32_t mu; /**< step size that controls filter coefficient updates. */ - } arm_lms_instance_f32; - - /** - * @brief Processing function for floating-point LMS filter. - * @param[in] *S points to an instance of the floating-point LMS filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[in] *pRef points to the block of reference data. - * @param[out] *pOut points to the block of output data. - * @param[out] *pErr points to the block of error data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_f32( - const arm_lms_instance_f32 * S, - float32_t * pSrc, - float32_t * pRef, - float32_t * pOut, - float32_t * pErr, - uint32_t blockSize); - - /** - * @brief Initialization function for floating-point LMS filter. - * @param[in] *S points to an instance of the floating-point LMS filter structure. - * @param[in] numTaps number of filter coefficients. - * @param[in] *pCoeffs points to the coefficient buffer. - * @param[in] *pState points to state buffer. - * @param[in] mu step size that controls filter coefficient updates. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_init_f32( - arm_lms_instance_f32 * S, - uint16_t numTaps, - float32_t * pCoeffs, - float32_t * pState, - float32_t mu, - uint32_t blockSize); - - /** - * @brief Instance structure for the Q15 LMS filter. - */ - - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - q15_t mu; /**< step size that controls filter coefficient updates. */ - uint32_t postShift; /**< bit shift applied to coefficients. */ - } arm_lms_instance_q15; - - - /** - * @brief Initialization function for the Q15 LMS filter. - * @param[in] *S points to an instance of the Q15 LMS filter structure. - * @param[in] numTaps number of filter coefficients. - * @param[in] *pCoeffs points to the coefficient buffer. - * @param[in] *pState points to the state buffer. - * @param[in] mu step size that controls filter coefficient updates. - * @param[in] blockSize number of samples to process. - * @param[in] postShift bit shift applied to coefficients. - * @return none. - */ - - void arm_lms_init_q15( - arm_lms_instance_q15 * S, - uint16_t numTaps, - q15_t * pCoeffs, - q15_t * pState, - q15_t mu, - uint32_t blockSize, - uint32_t postShift); - - /** - * @brief Processing function for Q15 LMS filter. - * @param[in] *S points to an instance of the Q15 LMS filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[in] *pRef points to the block of reference data. - * @param[out] *pOut points to the block of output data. - * @param[out] *pErr points to the block of error data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_q15( - const arm_lms_instance_q15 * S, - q15_t * pSrc, - q15_t * pRef, - q15_t * pOut, - q15_t * pErr, - uint32_t blockSize); - - - /** - * @brief Instance structure for the Q31 LMS filter. - */ - - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - q31_t mu; /**< step size that controls filter coefficient updates. */ - uint32_t postShift; /**< bit shift applied to coefficients. */ - - } arm_lms_instance_q31; - - /** - * @brief Processing function for Q31 LMS filter. - * @param[in] *S points to an instance of the Q15 LMS filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[in] *pRef points to the block of reference data. - * @param[out] *pOut points to the block of output data. - * @param[out] *pErr points to the block of error data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_q31( - const arm_lms_instance_q31 * S, - q31_t * pSrc, - q31_t * pRef, - q31_t * pOut, - q31_t * pErr, - uint32_t blockSize); - - /** - * @brief Initialization function for Q31 LMS filter. - * @param[in] *S points to an instance of the Q31 LMS filter structure. - * @param[in] numTaps number of filter coefficients. - * @param[in] *pCoeffs points to coefficient buffer. - * @param[in] *pState points to state buffer. - * @param[in] mu step size that controls filter coefficient updates. - * @param[in] blockSize number of samples to process. - * @param[in] postShift bit shift applied to coefficients. - * @return none. - */ - - void arm_lms_init_q31( - arm_lms_instance_q31 * S, - uint16_t numTaps, - q31_t * pCoeffs, - q31_t * pState, - q31_t mu, - uint32_t blockSize, - uint32_t postShift); - - /** - * @brief Instance structure for the floating-point normalized LMS filter. - */ - - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - float32_t mu; /**< step size that control filter coefficient updates. */ - float32_t energy; /**< saves previous frame energy. */ - float32_t x0; /**< saves previous input sample. */ - } arm_lms_norm_instance_f32; - - /** - * @brief Processing function for floating-point normalized LMS filter. - * @param[in] *S points to an instance of the floating-point normalized LMS filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[in] *pRef points to the block of reference data. - * @param[out] *pOut points to the block of output data. - * @param[out] *pErr points to the block of error data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_norm_f32( - arm_lms_norm_instance_f32 * S, - float32_t * pSrc, - float32_t * pRef, - float32_t * pOut, - float32_t * pErr, - uint32_t blockSize); - - /** - * @brief Initialization function for floating-point normalized LMS filter. - * @param[in] *S points to an instance of the floating-point LMS filter structure. - * @param[in] numTaps number of filter coefficients. - * @param[in] *pCoeffs points to coefficient buffer. - * @param[in] *pState points to state buffer. - * @param[in] mu step size that controls filter coefficient updates. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_norm_init_f32( - arm_lms_norm_instance_f32 * S, - uint16_t numTaps, - float32_t * pCoeffs, - float32_t * pState, - float32_t mu, - uint32_t blockSize); - - - /** - * @brief Instance structure for the Q31 normalized LMS filter. - */ - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - q31_t mu; /**< step size that controls filter coefficient updates. */ - uint8_t postShift; /**< bit shift applied to coefficients. */ - q31_t *recipTable; /**< points to the reciprocal initial value table. */ - q31_t energy; /**< saves previous frame energy. */ - q31_t x0; /**< saves previous input sample. */ - } arm_lms_norm_instance_q31; - - /** - * @brief Processing function for Q31 normalized LMS filter. - * @param[in] *S points to an instance of the Q31 normalized LMS filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[in] *pRef points to the block of reference data. - * @param[out] *pOut points to the block of output data. - * @param[out] *pErr points to the block of error data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_norm_q31( - arm_lms_norm_instance_q31 * S, - q31_t * pSrc, - q31_t * pRef, - q31_t * pOut, - q31_t * pErr, - uint32_t blockSize); - - /** - * @brief Initialization function for Q31 normalized LMS filter. - * @param[in] *S points to an instance of the Q31 normalized LMS filter structure. - * @param[in] numTaps number of filter coefficients. - * @param[in] *pCoeffs points to coefficient buffer. - * @param[in] *pState points to state buffer. - * @param[in] mu step size that controls filter coefficient updates. - * @param[in] blockSize number of samples to process. - * @param[in] postShift bit shift applied to coefficients. - * @return none. - */ - - void arm_lms_norm_init_q31( - arm_lms_norm_instance_q31 * S, - uint16_t numTaps, - q31_t * pCoeffs, - q31_t * pState, - q31_t mu, - uint32_t blockSize, - uint8_t postShift); - - /** - * @brief Instance structure for the Q15 normalized LMS filter. - */ - - typedef struct - { - uint16_t numTaps; /**< Number of coefficients in the filter. */ - q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ - q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ - q15_t mu; /**< step size that controls filter coefficient updates. */ - uint8_t postShift; /**< bit shift applied to coefficients. */ - q15_t *recipTable; /**< Points to the reciprocal initial value table. */ - q15_t energy; /**< saves previous frame energy. */ - q15_t x0; /**< saves previous input sample. */ - } arm_lms_norm_instance_q15; - - /** - * @brief Processing function for Q15 normalized LMS filter. - * @param[in] *S points to an instance of the Q15 normalized LMS filter structure. - * @param[in] *pSrc points to the block of input data. - * @param[in] *pRef points to the block of reference data. - * @param[out] *pOut points to the block of output data. - * @param[out] *pErr points to the block of error data. - * @param[in] blockSize number of samples to process. - * @return none. - */ - - void arm_lms_norm_q15( - arm_lms_norm_instance_q15 * S, - q15_t * pSrc, - q15_t * pRef, - q15_t * pOut, - q15_t * pErr, - uint32_t blockSize); - - - /** - * @brief Initialization function for Q15 normalized LMS filter. - * @param[in] *S points to an instance of the Q15 normalized LMS filter structure. - * @param[in] numTaps number of filter coefficients. - * @param[in] *pCoeffs points to coefficient buffer. - * @param[in] *pState points to state buffer. - * @param[in] mu step size that controls filter coefficient updates. - * @param[in] blockSize number of samples to process. - * @param[in] postShift bit shift applied to coefficients. - * @return none. - */ - - void arm_lms_norm_init_q15( - arm_lms_norm_instance_q15 * S, - uint16_t numTaps, - q15_t * pCoeffs, - q15_t * pState, - q15_t mu, - uint32_t blockSize, - uint8_t postShift); - - /** - * @brief Correlation of floating-point sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @return none. - */ - - void arm_correlate_f32( - float32_t * pSrcA, - uint32_t srcALen, - float32_t * pSrcB, - uint32_t srcBLen, - float32_t * pDst); - - - /** - * @brief Correlation of Q15 sequences - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @param[in] *pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @return none. - */ - void arm_correlate_opt_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - q15_t * pScratch); - - - /** - * @brief Correlation of Q15 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @return none. - */ - - void arm_correlate_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst); - - /** - * @brief Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @return none. - */ - - void arm_correlate_fast_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst); - - - - /** - * @brief Correlation of Q15 sequences (fast version) for Cortex-M3 and Cortex-M4. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @param[in] *pScratch points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @return none. - */ - - void arm_correlate_fast_opt_q15( - q15_t * pSrcA, - uint32_t srcALen, - q15_t * pSrcB, - uint32_t srcBLen, - q15_t * pDst, - q15_t * pScratch); - - /** - * @brief Correlation of Q31 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @return none. - */ - - void arm_correlate_q31( - q31_t * pSrcA, - uint32_t srcALen, - q31_t * pSrcB, - uint32_t srcBLen, - q31_t * pDst); - - /** - * @brief Correlation of Q31 sequences (fast version) for Cortex-M3 and Cortex-M4 - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @return none. - */ - - void arm_correlate_fast_q31( - q31_t * pSrcA, - uint32_t srcALen, - q31_t * pSrcB, - uint32_t srcBLen, - q31_t * pDst); - - - - /** - * @brief Correlation of Q7 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @param[in] *pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. - * @param[in] *pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). - * @return none. - */ - - void arm_correlate_opt_q7( - q7_t * pSrcA, - uint32_t srcALen, - q7_t * pSrcB, - uint32_t srcBLen, - q7_t * pDst, - q15_t * pScratch1, - q15_t * pScratch2); - - - /** - * @brief Correlation of Q7 sequences. - * @param[in] *pSrcA points to the first input sequence. - * @param[in] srcALen length of the first input sequence. - * @param[in] *pSrcB points to the second input sequence. - * @param[in] srcBLen length of the second input sequence. - * @param[out] *pDst points to the block of output data Length 2 * max(srcALen, srcBLen) - 1. - * @return none. - */ - - void arm_correlate_q7( - q7_t * pSrcA, - uint32_t srcALen, - q7_t * pSrcB, - uint32_t srcBLen, - q7_t * pDst); - - - /** - * @brief Instance structure for the floating-point sparse FIR filter. - */ - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ - float32_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ - float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ - int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ - } arm_fir_sparse_instance_f32; - - /** - * @brief Instance structure for the Q31 sparse FIR filter. - */ - - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ - q31_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ - q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ - int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ - } arm_fir_sparse_instance_q31; - - /** - * @brief Instance structure for the Q15 sparse FIR filter. - */ - - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ - q15_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ - q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ - int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ - } arm_fir_sparse_instance_q15; - - /** - * @brief Instance structure for the Q7 sparse FIR filter. - */ - - typedef struct - { - uint16_t numTaps; /**< number of coefficients in the filter. */ - uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ - q7_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ - q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ - uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ - int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ - } arm_fir_sparse_instance_q7; - - /** - * @brief Processing function for the floating-point sparse FIR filter. - * @param[in] *S points to an instance of the floating-point sparse FIR structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] *pScratchIn points to a temporary buffer of size blockSize. - * @param[in] blockSize number of input samples to process per call. - * @return none. - */ - - void arm_fir_sparse_f32( - arm_fir_sparse_instance_f32 * S, - float32_t * pSrc, - float32_t * pDst, - float32_t * pScratchIn, - uint32_t blockSize); - - /** - * @brief Initialization function for the floating-point sparse FIR filter. - * @param[in,out] *S points to an instance of the floating-point sparse FIR structure. - * @param[in] numTaps number of nonzero coefficients in the filter. - * @param[in] *pCoeffs points to the array of filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] *pTapDelay points to the array of offset times. - * @param[in] maxDelay maximum offset time supported. - * @param[in] blockSize number of samples that will be processed per block. - * @return none - */ - - void arm_fir_sparse_init_f32( - arm_fir_sparse_instance_f32 * S, - uint16_t numTaps, - float32_t * pCoeffs, - float32_t * pState, - int32_t * pTapDelay, - uint16_t maxDelay, - uint32_t blockSize); - - /** - * @brief Processing function for the Q31 sparse FIR filter. - * @param[in] *S points to an instance of the Q31 sparse FIR structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] *pScratchIn points to a temporary buffer of size blockSize. - * @param[in] blockSize number of input samples to process per call. - * @return none. - */ - - void arm_fir_sparse_q31( - arm_fir_sparse_instance_q31 * S, - q31_t * pSrc, - q31_t * pDst, - q31_t * pScratchIn, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q31 sparse FIR filter. - * @param[in,out] *S points to an instance of the Q31 sparse FIR structure. - * @param[in] numTaps number of nonzero coefficients in the filter. - * @param[in] *pCoeffs points to the array of filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] *pTapDelay points to the array of offset times. - * @param[in] maxDelay maximum offset time supported. - * @param[in] blockSize number of samples that will be processed per block. - * @return none - */ - - void arm_fir_sparse_init_q31( - arm_fir_sparse_instance_q31 * S, - uint16_t numTaps, - q31_t * pCoeffs, - q31_t * pState, - int32_t * pTapDelay, - uint16_t maxDelay, - uint32_t blockSize); - - /** - * @brief Processing function for the Q15 sparse FIR filter. - * @param[in] *S points to an instance of the Q15 sparse FIR structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] *pScratchIn points to a temporary buffer of size blockSize. - * @param[in] *pScratchOut points to a temporary buffer of size blockSize. - * @param[in] blockSize number of input samples to process per call. - * @return none. - */ - - void arm_fir_sparse_q15( - arm_fir_sparse_instance_q15 * S, - q15_t * pSrc, - q15_t * pDst, - q15_t * pScratchIn, - q31_t * pScratchOut, - uint32_t blockSize); - - - /** - * @brief Initialization function for the Q15 sparse FIR filter. - * @param[in,out] *S points to an instance of the Q15 sparse FIR structure. - * @param[in] numTaps number of nonzero coefficients in the filter. - * @param[in] *pCoeffs points to the array of filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] *pTapDelay points to the array of offset times. - * @param[in] maxDelay maximum offset time supported. - * @param[in] blockSize number of samples that will be processed per block. - * @return none - */ - - void arm_fir_sparse_init_q15( - arm_fir_sparse_instance_q15 * S, - uint16_t numTaps, - q15_t * pCoeffs, - q15_t * pState, - int32_t * pTapDelay, - uint16_t maxDelay, - uint32_t blockSize); - - /** - * @brief Processing function for the Q7 sparse FIR filter. - * @param[in] *S points to an instance of the Q7 sparse FIR structure. - * @param[in] *pSrc points to the block of input data. - * @param[out] *pDst points to the block of output data - * @param[in] *pScratchIn points to a temporary buffer of size blockSize. - * @param[in] *pScratchOut points to a temporary buffer of size blockSize. - * @param[in] blockSize number of input samples to process per call. - * @return none. - */ - - void arm_fir_sparse_q7( - arm_fir_sparse_instance_q7 * S, - q7_t * pSrc, - q7_t * pDst, - q7_t * pScratchIn, - q31_t * pScratchOut, - uint32_t blockSize); - - /** - * @brief Initialization function for the Q7 sparse FIR filter. - * @param[in,out] *S points to an instance of the Q7 sparse FIR structure. - * @param[in] numTaps number of nonzero coefficients in the filter. - * @param[in] *pCoeffs points to the array of filter coefficients. - * @param[in] *pState points to the state buffer. - * @param[in] *pTapDelay points to the array of offset times. - * @param[in] maxDelay maximum offset time supported. - * @param[in] blockSize number of samples that will be processed per block. - * @return none - */ - - void arm_fir_sparse_init_q7( - arm_fir_sparse_instance_q7 * S, - uint16_t numTaps, - q7_t * pCoeffs, - q7_t * pState, - int32_t * pTapDelay, - uint16_t maxDelay, - uint32_t blockSize); - - - /* - * @brief Floating-point sin_cos function. - * @param[in] theta input value in degrees - * @param[out] *pSinVal points to the processed sine output. - * @param[out] *pCosVal points to the processed cos output. - * @return none. - */ - - void arm_sin_cos_f32( - float32_t theta, - float32_t * pSinVal, - float32_t * pCcosVal); - - /* - * @brief Q31 sin_cos function. - * @param[in] theta scaled input value in degrees - * @param[out] *pSinVal points to the processed sine output. - * @param[out] *pCosVal points to the processed cosine output. - * @return none. - */ - - void arm_sin_cos_q31( - q31_t theta, - q31_t * pSinVal, - q31_t * pCosVal); - - - /** - * @brief Floating-point complex conjugate. - * @param[in] *pSrc points to the input vector - * @param[out] *pDst points to the output vector - * @param[in] numSamples number of complex samples in each vector - * @return none. - */ - - void arm_cmplx_conj_f32( - float32_t * pSrc, - float32_t * pDst, - uint32_t numSamples); - - /** - * @brief Q31 complex conjugate. - * @param[in] *pSrc points to the input vector - * @param[out] *pDst points to the output vector - * @param[in] numSamples number of complex samples in each vector - * @return none. - */ - - void arm_cmplx_conj_q31( - q31_t * pSrc, - q31_t * pDst, - uint32_t numSamples); - - /** - * @brief Q15 complex conjugate. - * @param[in] *pSrc points to the input vector - * @param[out] *pDst points to the output vector - * @param[in] numSamples number of complex samples in each vector - * @return none. - */ - - void arm_cmplx_conj_q15( - q15_t * pSrc, - q15_t * pDst, - uint32_t numSamples); - - - - /** - * @brief Floating-point complex magnitude squared - * @param[in] *pSrc points to the complex input vector - * @param[out] *pDst points to the real output vector - * @param[in] numSamples number of complex samples in the input vector - * @return none. - */ - - void arm_cmplx_mag_squared_f32( - float32_t * pSrc, - float32_t * pDst, - uint32_t numSamples); - - /** - * @brief Q31 complex magnitude squared - * @param[in] *pSrc points to the complex input vector - * @param[out] *pDst points to the real output vector - * @param[in] numSamples number of complex samples in the input vector - * @return none. - */ - - void arm_cmplx_mag_squared_q31( - q31_t * pSrc, - q31_t * pDst, - uint32_t numSamples); - - /** - * @brief Q15 complex magnitude squared - * @param[in] *pSrc points to the complex input vector - * @param[out] *pDst points to the real output vector - * @param[in] numSamples number of complex samples in the input vector - * @return none. - */ - - void arm_cmplx_mag_squared_q15( - q15_t * pSrc, - q15_t * pDst, - uint32_t numSamples); - - - /** - * @ingroup groupController - */ - - /** - * @defgroup PID PID Motor Control - * - * A Proportional Integral Derivative (PID) controller is a generic feedback control - * loop mechanism widely used in industrial control systems. - * A PID controller is the most commonly used type of feedback controller. - * - * This set of functions implements (PID) controllers - * for Q15, Q31, and floating-point data types. The functions operate on a single sample - * of data and each call to the function returns a single processed value. - * <code>S</code> points to an instance of the PID control data structure. <code>in</code> - * is the input sample value. The functions return the output value. - * - * \par Algorithm: - * <pre> - * y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2] - * A0 = Kp + Ki + Kd - * A1 = (-Kp ) - (2 * Kd ) - * A2 = Kd </pre> - * - * \par - * where \c Kp is proportional constant, \c Ki is Integral constant and \c Kd is Derivative constant - * - * \par - * \image html PID.gif "Proportional Integral Derivative Controller" - * - * \par - * The PID controller calculates an "error" value as the difference between - * the measured output and the reference input. - * The controller attempts to minimize the error by adjusting the process control inputs. - * The proportional value determines the reaction to the current error, - * the integral value determines the reaction based on the sum of recent errors, - * and the derivative value determines the reaction based on the rate at which the error has been changing. - * - * \par Instance Structure - * The Gains A0, A1, A2 and state variables for a PID controller are stored together in an instance data structure. - * A separate instance structure must be defined for each PID Controller. - * There are separate instance structure declarations for each of the 3 supported data types. - * - * \par Reset Functions - * There is also an associated reset function for each data type which clears the state array. - * - * \par Initialization Functions - * There is also an associated initialization function for each data type. - * The initialization function performs the following operations: - * - Initializes the Gains A0, A1, A2 from Kp,Ki, Kd gains. - * - Zeros out the values in the state buffer. - * - * \par - * Instance structure cannot be placed into a const data section and it is recommended to use the initialization function. - * - * \par Fixed-Point Behavior - * Care must be taken when using the fixed-point versions of the PID Controller functions. - * In particular, the overflow and saturation behavior of the accumulator used in each function must be considered. - * Refer to the function specific documentation below for usage guidelines. - */ - - /** - * @addtogroup PID - * @{ - */ - - /** - * @brief Process function for the floating-point PID Control. - * @param[in,out] *S is an instance of the floating-point PID Control structure - * @param[in] in input sample to process - * @return out processed output sample. - */ - - - static __INLINE float32_t arm_pid_f32( - arm_pid_instance_f32 * S, - float32_t in) - { - float32_t out; - - /* y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2] */ - out = (S->A0 * in) + - (S->A1 * S->state[0]) + (S->A2 * S->state[1]) + (S->state[2]); - - /* Update state */ - S->state[1] = S->state[0]; - S->state[0] = in; - S->state[2] = out; - - /* return to application */ - return (out); - - } - - /** - * @brief Process function for the Q31 PID Control. - * @param[in,out] *S points to an instance of the Q31 PID Control structure - * @param[in] in input sample to process - * @return out processed output sample. - * - * <b>Scaling and Overflow Behavior:</b> - * \par - * The function is implemented using an internal 64-bit accumulator. - * The accumulator has a 2.62 format and maintains full precision of the intermediate multiplication results but provides only a single guard bit. - * Thus, if the accumulator result overflows it wraps around rather than clip. - * In order to avoid overflows completely the input signal must be scaled down by 2 bits as there are four additions. - * After all multiply-accumulates are performed, the 2.62 accumulator is truncated to 1.32 format and then saturated to 1.31 format. - */ - - static __INLINE q31_t arm_pid_q31( - arm_pid_instance_q31 * S, - q31_t in) - { - q63_t acc; - q31_t out; - - /* acc = A0 * x[n] */ - acc = (q63_t) S->A0 * in; - - /* acc += A1 * x[n-1] */ - acc += (q63_t) S->A1 * S->state[0]; - - /* acc += A2 * x[n-2] */ - acc += (q63_t) S->A2 * S->state[1]; - - /* convert output to 1.31 format to add y[n-1] */ - out = (q31_t) (acc >> 31u); - - /* out += y[n-1] */ - out += S->state[2]; - - /* Update state */ - S->state[1] = S->state[0]; - S->state[0] = in; - S->state[2] = out; - - /* return to application */ - return (out); - - } - - /** - * @brief Process function for the Q15 PID Control. - * @param[in,out] *S points to an instance of the Q15 PID Control structure - * @param[in] in input sample to process - * @return out processed output sample. - * - * <b>Scaling and Overflow Behavior:</b> - * \par - * The function is implemented using a 64-bit internal accumulator. - * Both Gains and state variables are represented in 1.15 format and multiplications yield a 2.30 result. - * The 2.30 intermediate results are accumulated in a 64-bit accumulator in 34.30 format. - * There is no risk of internal overflow with this approach and the full precision of intermediate multiplications is preserved. - * After all additions have been performed, the accumulator is truncated to 34.15 format by discarding low 15 bits. - * Lastly, the accumulator is saturated to yield a result in 1.15 format. - */ - - static __INLINE q15_t arm_pid_q15( - arm_pid_instance_q15 * S, - q15_t in) - { - q63_t acc; - q15_t out; - -#ifndef ARM_MATH_CM0_FAMILY - __SIMD32_TYPE *vstate; - - /* Implementation of PID controller */ - - /* acc = A0 * x[n] */ - acc = (q31_t) __SMUAD(S->A0, in); - - /* acc += A1 * x[n-1] + A2 * x[n-2] */ - vstate = __SIMD32_CONST(S->state); - acc = __SMLALD(S->A1, (q31_t) *vstate, acc); - -#else - /* acc = A0 * x[n] */ - acc = ((q31_t) S->A0) * in; - - /* acc += A1 * x[n-1] + A2 * x[n-2] */ - acc += (q31_t) S->A1 * S->state[0]; - acc += (q31_t) S->A2 * S->state[1]; - -#endif - - /* acc += y[n-1] */ - acc += (q31_t) S->state[2] << 15; - - /* saturate the output */ - out = (q15_t) (__SSAT((acc >> 15), 16)); - - /* Update state */ - S->state[1] = S->state[0]; - S->state[0] = in; - S->state[2] = out; - - /* return to application */ - return (out); - - } - - /** - * @} end of PID group - */ - - - /** - * @brief Floating-point matrix inverse. - * @param[in] *src points to the instance of the input floating-point matrix structure. - * @param[out] *dst points to the instance of the output floating-point matrix structure. - * @return The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match. - * If the input matrix is singular (does not have an inverse), then the algorithm terminates and returns error status ARM_MATH_SINGULAR. - */ - - arm_status arm_mat_inverse_f32( - const arm_matrix_instance_f32 * src, - arm_matrix_instance_f32 * dst); - - - /** - * @brief Floating-point matrix inverse. - * @param[in] *src points to the instance of the input floating-point matrix structure. - * @param[out] *dst points to the instance of the output floating-point matrix structure. - * @return The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match. - * If the input matrix is singular (does not have an inverse), then the algorithm terminates and returns error status ARM_MATH_SINGULAR. - */ - - arm_status arm_mat_inverse_f64( - const arm_matrix_instance_f64 * src, - arm_matrix_instance_f64 * dst); - - - - /** - * @ingroup groupController - */ - - - /** - * @defgroup clarke Vector Clarke Transform - * Forward Clarke transform converts the instantaneous stator phases into a two-coordinate time invariant vector. - * Generally the Clarke transform uses three-phase currents <code>Ia, Ib and Ic</code> to calculate currents - * in the two-phase orthogonal stator axis <code>Ialpha</code> and <code>Ibeta</code>. - * When <code>Ialpha</code> is superposed with <code>Ia</code> as shown in the figure below - * \image html clarke.gif Stator current space vector and its components in (a,b). - * and <code>Ia + Ib + Ic = 0</code>, in this condition <code>Ialpha</code> and <code>Ibeta</code> - * can be calculated using only <code>Ia</code> and <code>Ib</code>. - * - * The function operates on a single sample of data and each call to the function returns the processed output. - * The library provides separate functions for Q31 and floating-point data types. - * \par Algorithm - * \image html clarkeFormula.gif - * where <code>Ia</code> and <code>Ib</code> are the instantaneous stator phases and - * <code>pIalpha</code> and <code>pIbeta</code> are the two coordinates of time invariant vector. - * \par Fixed-Point Behavior - * Care must be taken when using the Q31 version of the Clarke transform. - * In particular, the overflow and saturation behavior of the accumulator used must be considered. - * Refer to the function specific documentation below for usage guidelines. - */ - - /** - * @addtogroup clarke - * @{ - */ - - /** - * - * @brief Floating-point Clarke transform - * @param[in] Ia input three-phase coordinate <code>a</code> - * @param[in] Ib input three-phase coordinate <code>b</code> - * @param[out] *pIalpha points to output two-phase orthogonal vector axis alpha - * @param[out] *pIbeta points to output two-phase orthogonal vector axis beta - * @return none. - */ - - static __INLINE void arm_clarke_f32( - float32_t Ia, - float32_t Ib, - float32_t * pIalpha, - float32_t * pIbeta) - { - /* Calculate pIalpha using the equation, pIalpha = Ia */ - *pIalpha = Ia; - - /* Calculate pIbeta using the equation, pIbeta = (1/sqrt(3)) * Ia + (2/sqrt(3)) * Ib */ - *pIbeta = - ((float32_t) 0.57735026919 * Ia + (float32_t) 1.15470053838 * Ib); - - } - - /** - * @brief Clarke transform for Q31 version - * @param[in] Ia input three-phase coordinate <code>a</code> - * @param[in] Ib input three-phase coordinate <code>b</code> - * @param[out] *pIalpha points to output two-phase orthogonal vector axis alpha - * @param[out] *pIbeta points to output two-phase orthogonal vector axis beta - * @return none. - * - * <b>Scaling and Overflow Behavior:</b> - * \par - * The function is implemented using an internal 32-bit accumulator. - * The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. - * There is saturation on the addition, hence there is no risk of overflow. - */ - - static __INLINE void arm_clarke_q31( - q31_t Ia, - q31_t Ib, - q31_t * pIalpha, - q31_t * pIbeta) - { - q31_t product1, product2; /* Temporary variables used to store intermediate results */ - - /* Calculating pIalpha from Ia by equation pIalpha = Ia */ - *pIalpha = Ia; - - /* Intermediate product is calculated by (1/(sqrt(3)) * Ia) */ - product1 = (q31_t) (((q63_t) Ia * 0x24F34E8B) >> 30); - - /* Intermediate product is calculated by (2/sqrt(3) * Ib) */ - product2 = (q31_t) (((q63_t) Ib * 0x49E69D16) >> 30); - - /* pIbeta is calculated by adding the intermediate products */ - *pIbeta = __QADD(product1, product2); - } - - /** - * @} end of clarke group - */ - - /** - * @brief Converts the elements of the Q7 vector to Q31 vector. - * @param[in] *pSrc input pointer - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_q7_to_q31( - q7_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - - - - /** - * @ingroup groupController - */ - - /** - * @defgroup inv_clarke Vector Inverse Clarke Transform - * Inverse Clarke transform converts the two-coordinate time invariant vector into instantaneous stator phases. - * - * The function operates on a single sample of data and each call to the function returns the processed output. - * The library provides separate functions for Q31 and floating-point data types. - * \par Algorithm - * \image html clarkeInvFormula.gif - * where <code>pIa</code> and <code>pIb</code> are the instantaneous stator phases and - * <code>Ialpha</code> and <code>Ibeta</code> are the two coordinates of time invariant vector. - * \par Fixed-Point Behavior - * Care must be taken when using the Q31 version of the Clarke transform. - * In particular, the overflow and saturation behavior of the accumulator used must be considered. - * Refer to the function specific documentation below for usage guidelines. - */ - - /** - * @addtogroup inv_clarke - * @{ - */ - - /** - * @brief Floating-point Inverse Clarke transform - * @param[in] Ialpha input two-phase orthogonal vector axis alpha - * @param[in] Ibeta input two-phase orthogonal vector axis beta - * @param[out] *pIa points to output three-phase coordinate <code>a</code> - * @param[out] *pIb points to output three-phase coordinate <code>b</code> - * @return none. - */ - - - static __INLINE void arm_inv_clarke_f32( - float32_t Ialpha, - float32_t Ibeta, - float32_t * pIa, - float32_t * pIb) - { - /* Calculating pIa from Ialpha by equation pIa = Ialpha */ - *pIa = Ialpha; - - /* Calculating pIb from Ialpha and Ibeta by equation pIb = -(1/2) * Ialpha + (sqrt(3)/2) * Ibeta */ - *pIb = -0.5 * Ialpha + (float32_t) 0.8660254039 *Ibeta; - - } - - /** - * @brief Inverse Clarke transform for Q31 version - * @param[in] Ialpha input two-phase orthogonal vector axis alpha - * @param[in] Ibeta input two-phase orthogonal vector axis beta - * @param[out] *pIa points to output three-phase coordinate <code>a</code> - * @param[out] *pIb points to output three-phase coordinate <code>b</code> - * @return none. - * - * <b>Scaling and Overflow Behavior:</b> - * \par - * The function is implemented using an internal 32-bit accumulator. - * The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. - * There is saturation on the subtraction, hence there is no risk of overflow. - */ - - static __INLINE void arm_inv_clarke_q31( - q31_t Ialpha, - q31_t Ibeta, - q31_t * pIa, - q31_t * pIb) - { - q31_t product1, product2; /* Temporary variables used to store intermediate results */ - - /* Calculating pIa from Ialpha by equation pIa = Ialpha */ - *pIa = Ialpha; - - /* Intermediate product is calculated by (1/(2*sqrt(3)) * Ia) */ - product1 = (q31_t) (((q63_t) (Ialpha) * (0x40000000)) >> 31); - - /* Intermediate product is calculated by (1/sqrt(3) * pIb) */ - product2 = (q31_t) (((q63_t) (Ibeta) * (0x6ED9EBA1)) >> 31); - - /* pIb is calculated by subtracting the products */ - *pIb = __QSUB(product2, product1); - - } - - /** - * @} end of inv_clarke group - */ - - /** - * @brief Converts the elements of the Q7 vector to Q15 vector. - * @param[in] *pSrc input pointer - * @param[out] *pDst output pointer - * @param[in] blockSize number of samples to process - * @return none. - */ - void arm_q7_to_q15( - q7_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - - - /** - * @ingroup groupController - */ - - /** - * @defgroup park Vector Park Transform - * - * Forward Park transform converts the input two-coordinate vector to flux and torque components. - * The Park transform can be used to realize the transformation of the <code>Ialpha</code> and the <code>Ibeta</code> currents - * from the stationary to the moving reference frame and control the spatial relationship between - * the stator vector current and rotor flux vector. - * If we consider the d axis aligned with the rotor flux, the diagram below shows the - * current vector and the relationship from the two reference frames: - * \image html park.gif "Stator current space vector and its component in (a,b) and in the d,q rotating reference frame" - * - * The function operates on a single sample of data and each call to the function returns the processed output. - * The library provides separate functions for Q31 and floating-point data types. - * \par Algorithm - * \image html parkFormula.gif - * where <code>Ialpha</code> and <code>Ibeta</code> are the stator vector components, - * <code>pId</code> and <code>pIq</code> are rotor vector components and <code>cosVal</code> and <code>sinVal</code> are the - * cosine and sine values of theta (rotor flux position). - * \par Fixed-Point Behavior - * Care must be taken when using the Q31 version of the Park transform. - * In particular, the overflow and saturation behavior of the accumulator used must be considered. - * Refer to the function specific documentation below for usage guidelines. - */ - - /** - * @addtogroup park - * @{ - */ - - /** - * @brief Floating-point Park transform - * @param[in] Ialpha input two-phase vector coordinate alpha - * @param[in] Ibeta input two-phase vector coordinate beta - * @param[out] *pId points to output rotor reference frame d - * @param[out] *pIq points to output rotor reference frame q - * @param[in] sinVal sine value of rotation angle theta - * @param[in] cosVal cosine value of rotation angle theta - * @return none. - * - * The function implements the forward Park transform. - * - */ - - static __INLINE void arm_park_f32( - float32_t Ialpha, - float32_t Ibeta, - float32_t * pId, - float32_t * pIq, - float32_t sinVal, - float32_t cosVal) - { - /* Calculate pId using the equation, pId = Ialpha * cosVal + Ibeta * sinVal */ - *pId = Ialpha * cosVal + Ibeta * sinVal; - - /* Calculate pIq using the equation, pIq = - Ialpha * sinVal + Ibeta * cosVal */ - *pIq = -Ialpha * sinVal + Ibeta * cosVal; - - } - - /** - * @brief Park transform for Q31 version - * @param[in] Ialpha input two-phase vector coordinate alpha - * @param[in] Ibeta input two-phase vector coordinate beta - * @param[out] *pId points to output rotor reference frame d - * @param[out] *pIq points to output rotor reference frame q - * @param[in] sinVal sine value of rotation angle theta - * @param[in] cosVal cosine value of rotation angle theta - * @return none. - * - * <b>Scaling and Overflow Behavior:</b> - * \par - * The function is implemented using an internal 32-bit accumulator. - * The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. - * There is saturation on the addition and subtraction, hence there is no risk of overflow. - */ - - - static __INLINE void arm_park_q31( - q31_t Ialpha, - q31_t Ibeta, - q31_t * pId, - q31_t * pIq, - q31_t sinVal, - q31_t cosVal) - { - q31_t product1, product2; /* Temporary variables used to store intermediate results */ - q31_t product3, product4; /* Temporary variables used to store intermediate results */ - - /* Intermediate product is calculated by (Ialpha * cosVal) */ - product1 = (q31_t) (((q63_t) (Ialpha) * (cosVal)) >> 31); - - /* Intermediate product is calculated by (Ibeta * sinVal) */ - product2 = (q31_t) (((q63_t) (Ibeta) * (sinVal)) >> 31); - - - /* Intermediate product is calculated by (Ialpha * sinVal) */ - product3 = (q31_t) (((q63_t) (Ialpha) * (sinVal)) >> 31); - - /* Intermediate product is calculated by (Ibeta * cosVal) */ - product4 = (q31_t) (((q63_t) (Ibeta) * (cosVal)) >> 31); - - /* Calculate pId by adding the two intermediate products 1 and 2 */ - *pId = __QADD(product1, product2); - - /* Calculate pIq by subtracting the two intermediate products 3 from 4 */ - *pIq = __QSUB(product4, product3); - } - - /** - * @} end of park group - */ - - /** - * @brief Converts the elements of the Q7 vector to floating-point vector. - * @param[in] *pSrc is input pointer - * @param[out] *pDst is output pointer - * @param[in] blockSize is the number of samples to process - * @return none. - */ - void arm_q7_to_float( - q7_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - - /** - * @ingroup groupController - */ - - /** - * @defgroup inv_park Vector Inverse Park transform - * Inverse Park transform converts the input flux and torque components to two-coordinate vector. - * - * The function operates on a single sample of data and each call to the function returns the processed output. - * The library provides separate functions for Q31 and floating-point data types. - * \par Algorithm - * \image html parkInvFormula.gif - * where <code>pIalpha</code> and <code>pIbeta</code> are the stator vector components, - * <code>Id</code> and <code>Iq</code> are rotor vector components and <code>cosVal</code> and <code>sinVal</code> are the - * cosine and sine values of theta (rotor flux position). - * \par Fixed-Point Behavior - * Care must be taken when using the Q31 version of the Park transform. - * In particular, the overflow and saturation behavior of the accumulator used must be considered. - * Refer to the function specific documentation below for usage guidelines. - */ - - /** - * @addtogroup inv_park - * @{ - */ - - /** - * @brief Floating-point Inverse Park transform - * @param[in] Id input coordinate of rotor reference frame d - * @param[in] Iq input coordinate of rotor reference frame q - * @param[out] *pIalpha points to output two-phase orthogonal vector axis alpha - * @param[out] *pIbeta points to output two-phase orthogonal vector axis beta - * @param[in] sinVal sine value of rotation angle theta - * @param[in] cosVal cosine value of rotation angle theta - * @return none. - */ - - static __INLINE void arm_inv_park_f32( - float32_t Id, - float32_t Iq, - float32_t * pIalpha, - float32_t * pIbeta, - float32_t sinVal, - float32_t cosVal) - { - /* Calculate pIalpha using the equation, pIalpha = Id * cosVal - Iq * sinVal */ - *pIalpha = Id * cosVal - Iq * sinVal; - - /* Calculate pIbeta using the equation, pIbeta = Id * sinVal + Iq * cosVal */ - *pIbeta = Id * sinVal + Iq * cosVal; - - } - - - /** - * @brief Inverse Park transform for Q31 version - * @param[in] Id input coordinate of rotor reference frame d - * @param[in] Iq input coordinate of rotor reference frame q - * @param[out] *pIalpha points to output two-phase orthogonal vector axis alpha - * @param[out] *pIbeta points to output two-phase orthogonal vector axis beta - * @param[in] sinVal sine value of rotation angle theta - * @param[in] cosVal cosine value of rotation angle theta - * @return none. - * - * <b>Scaling and Overflow Behavior:</b> - * \par - * The function is implemented using an internal 32-bit accumulator. - * The accumulator maintains 1.31 format by truncating lower 31 bits of the intermediate multiplication in 2.62 format. - * There is saturation on the addition, hence there is no risk of overflow. - */ - - - static __INLINE void arm_inv_park_q31( - q31_t Id, - q31_t Iq, - q31_t * pIalpha, - q31_t * pIbeta, - q31_t sinVal, - q31_t cosVal) - { - q31_t product1, product2; /* Temporary variables used to store intermediate results */ - q31_t product3, product4; /* Temporary variables used to store intermediate results */ - - /* Intermediate product is calculated by (Id * cosVal) */ - product1 = (q31_t) (((q63_t) (Id) * (cosVal)) >> 31); - - /* Intermediate product is calculated by (Iq * sinVal) */ - product2 = (q31_t) (((q63_t) (Iq) * (sinVal)) >> 31); - - - /* Intermediate product is calculated by (Id * sinVal) */ - product3 = (q31_t) (((q63_t) (Id) * (sinVal)) >> 31); - - /* Intermediate product is calculated by (Iq * cosVal) */ - product4 = (q31_t) (((q63_t) (Iq) * (cosVal)) >> 31); - - /* Calculate pIalpha by using the two intermediate products 1 and 2 */ - *pIalpha = __QSUB(product1, product2); - - /* Calculate pIbeta by using the two intermediate products 3 and 4 */ - *pIbeta = __QADD(product4, product3); - - } - - /** - * @} end of Inverse park group - */ - - - /** - * @brief Converts the elements of the Q31 vector to floating-point vector. - * @param[in] *pSrc is input pointer - * @param[out] *pDst is output pointer - * @param[in] blockSize is the number of samples to process - * @return none. - */ - void arm_q31_to_float( - q31_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - /** - * @ingroup groupInterpolation - */ - - /** - * @defgroup LinearInterpolate Linear Interpolation - * - * Linear interpolation is a method of curve fitting using linear polynomials. - * Linear interpolation works by effectively drawing a straight line between two neighboring samples and returning the appropriate point along that line - * - * \par - * \image html LinearInterp.gif "Linear interpolation" - * - * \par - * A Linear Interpolate function calculates an output value(y), for the input(x) - * using linear interpolation of the input values x0, x1( nearest input values) and the output values y0 and y1(nearest output values) - * - * \par Algorithm: - * <pre> - * y = y0 + (x - x0) * ((y1 - y0)/(x1-x0)) - * where x0, x1 are nearest values of input x - * y0, y1 are nearest values to output y - * </pre> - * - * \par - * This set of functions implements Linear interpolation process - * for Q7, Q15, Q31, and floating-point data types. The functions operate on a single - * sample of data and each call to the function returns a single processed value. - * <code>S</code> points to an instance of the Linear Interpolate function data structure. - * <code>x</code> is the input sample value. The functions returns the output value. - * - * \par - * if x is outside of the table boundary, Linear interpolation returns first value of the table - * if x is below input range and returns last value of table if x is above range. - */ - - /** - * @addtogroup LinearInterpolate - * @{ - */ - - /** - * @brief Process function for the floating-point Linear Interpolation Function. - * @param[in,out] *S is an instance of the floating-point Linear Interpolation structure - * @param[in] x input sample to process - * @return y processed output sample. - * - */ - - static __INLINE float32_t arm_linear_interp_f32( - arm_linear_interp_instance_f32 * S, - float32_t x) - { - - float32_t y; - float32_t x0, x1; /* Nearest input values */ - float32_t y0, y1; /* Nearest output values */ - float32_t xSpacing = S->xSpacing; /* spacing between input values */ - int32_t i; /* Index variable */ - float32_t *pYData = S->pYData; /* pointer to output table */ - - /* Calculation of index */ - i = (int32_t) ((x - S->x1) / xSpacing); - - if(i < 0) - { - /* Iniatilize output for below specified range as least output value of table */ - y = pYData[0]; - } - else if((uint32_t)i >= S->nValues) - { - /* Iniatilize output for above specified range as last output value of table */ - y = pYData[S->nValues - 1]; - } - else - { - /* Calculation of nearest input values */ - x0 = S->x1 + i * xSpacing; - x1 = S->x1 + (i + 1) * xSpacing; - - /* Read of nearest output values */ - y0 = pYData[i]; - y1 = pYData[i + 1]; - - /* Calculation of output */ - y = y0 + (x - x0) * ((y1 - y0) / (x1 - x0)); - - } - - /* returns output value */ - return (y); - } - - /** - * - * @brief Process function for the Q31 Linear Interpolation Function. - * @param[in] *pYData pointer to Q31 Linear Interpolation table - * @param[in] x input sample to process - * @param[in] nValues number of table values - * @return y processed output sample. - * - * \par - * Input sample <code>x</code> is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. - * This function can support maximum of table size 2^12. - * - */ - - - static __INLINE q31_t arm_linear_interp_q31( - q31_t * pYData, - q31_t x, - uint32_t nValues) - { - q31_t y; /* output */ - q31_t y0, y1; /* Nearest output values */ - q31_t fract; /* fractional part */ - int32_t index; /* Index to read nearest output values */ - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - index = ((x & 0xFFF00000) >> 20); - - if(index >= (int32_t)(nValues - 1)) - { - return (pYData[nValues - 1]); - } - else if(index < 0) - { - return (pYData[0]); - } - else - { - - /* 20 bits for the fractional part */ - /* shift left by 11 to keep fract in 1.31 format */ - fract = (x & 0x000FFFFF) << 11; - - /* Read two nearest output values from the index in 1.31(q31) format */ - y0 = pYData[index]; - y1 = pYData[index + 1u]; - - /* Calculation of y0 * (1-fract) and y is in 2.30 format */ - y = ((q31_t) ((q63_t) y0 * (0x7FFFFFFF - fract) >> 32)); - - /* Calculation of y0 * (1-fract) + y1 *fract and y is in 2.30 format */ - y += ((q31_t) (((q63_t) y1 * fract) >> 32)); - - /* Convert y to 1.31 format */ - return (y << 1u); - - } - - } - - /** - * - * @brief Process function for the Q15 Linear Interpolation Function. - * @param[in] *pYData pointer to Q15 Linear Interpolation table - * @param[in] x input sample to process - * @param[in] nValues number of table values - * @return y processed output sample. - * - * \par - * Input sample <code>x</code> is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. - * This function can support maximum of table size 2^12. - * - */ - - - static __INLINE q15_t arm_linear_interp_q15( - q15_t * pYData, - q31_t x, - uint32_t nValues) - { - q63_t y; /* output */ - q15_t y0, y1; /* Nearest output values */ - q31_t fract; /* fractional part */ - int32_t index; /* Index to read nearest output values */ - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - index = ((x & 0xFFF00000) >> 20u); - - if(index >= (int32_t)(nValues - 1)) - { - return (pYData[nValues - 1]); - } - else if(index < 0) - { - return (pYData[0]); - } - else - { - /* 20 bits for the fractional part */ - /* fract is in 12.20 format */ - fract = (x & 0x000FFFFF); - - /* Read two nearest output values from the index */ - y0 = pYData[index]; - y1 = pYData[index + 1u]; - - /* Calculation of y0 * (1-fract) and y is in 13.35 format */ - y = ((q63_t) y0 * (0xFFFFF - fract)); - - /* Calculation of (y0 * (1-fract) + y1 * fract) and y is in 13.35 format */ - y += ((q63_t) y1 * (fract)); - - /* convert y to 1.15 format */ - return (y >> 20); - } - - - } - - /** - * - * @brief Process function for the Q7 Linear Interpolation Function. - * @param[in] *pYData pointer to Q7 Linear Interpolation table - * @param[in] x input sample to process - * @param[in] nValues number of table values - * @return y processed output sample. - * - * \par - * Input sample <code>x</code> is in 12.20 format which contains 12 bits for table index and 20 bits for fractional part. - * This function can support maximum of table size 2^12. - */ - - - static __INLINE q7_t arm_linear_interp_q7( - q7_t * pYData, - q31_t x, - uint32_t nValues) - { - q31_t y; /* output */ - q7_t y0, y1; /* Nearest output values */ - q31_t fract; /* fractional part */ - uint32_t index; /* Index to read nearest output values */ - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - if (x < 0) - { - return (pYData[0]); - } - index = (x >> 20) & 0xfff; - - - if(index >= (nValues - 1)) - { - return (pYData[nValues - 1]); - } - else - { - - /* 20 bits for the fractional part */ - /* fract is in 12.20 format */ - fract = (x & 0x000FFFFF); - - /* Read two nearest output values from the index and are in 1.7(q7) format */ - y0 = pYData[index]; - y1 = pYData[index + 1u]; - - /* Calculation of y0 * (1-fract ) and y is in 13.27(q27) format */ - y = ((y0 * (0xFFFFF - fract))); - - /* Calculation of y1 * fract + y0 * (1-fract) and y is in 13.27(q27) format */ - y += (y1 * fract); - - /* convert y to 1.7(q7) format */ - return (y >> 20u); - - } - - } - /** - * @} end of LinearInterpolate group - */ - - /** - * @brief Fast approximation to the trigonometric sine function for floating-point data. - * @param[in] x input value in radians. - * @return sin(x). - */ - - float32_t arm_sin_f32( - float32_t x); - - /** - * @brief Fast approximation to the trigonometric sine function for Q31 data. - * @param[in] x Scaled input value in radians. - * @return sin(x). - */ - - q31_t arm_sin_q31( - q31_t x); - - /** - * @brief Fast approximation to the trigonometric sine function for Q15 data. - * @param[in] x Scaled input value in radians. - * @return sin(x). - */ - - q15_t arm_sin_q15( - q15_t x); - - /** - * @brief Fast approximation to the trigonometric cosine function for floating-point data. - * @param[in] x input value in radians. - * @return cos(x). - */ - - float32_t arm_cos_f32( - float32_t x); - - /** - * @brief Fast approximation to the trigonometric cosine function for Q31 data. - * @param[in] x Scaled input value in radians. - * @return cos(x). - */ - - q31_t arm_cos_q31( - q31_t x); - - /** - * @brief Fast approximation to the trigonometric cosine function for Q15 data. - * @param[in] x Scaled input value in radians. - * @return cos(x). - */ - - q15_t arm_cos_q15( - q15_t x); - - - /** - * @ingroup groupFastMath - */ - - - /** - * @defgroup SQRT Square Root - * - * Computes the square root of a number. - * There are separate functions for Q15, Q31, and floating-point data types. - * The square root function is computed using the Newton-Raphson algorithm. - * This is an iterative algorithm of the form: - * <pre> - * x1 = x0 - f(x0)/f'(x0) - * </pre> - * where <code>x1</code> is the current estimate, - * <code>x0</code> is the previous estimate, and - * <code>f'(x0)</code> is the derivative of <code>f()</code> evaluated at <code>x0</code>. - * For the square root function, the algorithm reduces to: - * <pre> - * x0 = in/2 [initial guess] - * x1 = 1/2 * ( x0 + in / x0) [each iteration] - * </pre> - */ - - - /** - * @addtogroup SQRT - * @{ - */ - - /** - * @brief Floating-point square root function. - * @param[in] in input value. - * @param[out] *pOut square root of input value. - * @return The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if - * <code>in</code> is negative value and returns zero output for negative values. - */ - - static __INLINE arm_status arm_sqrt_f32( - float32_t in, - float32_t * pOut) - { - if(in > 0) - { - -// #if __FPU_USED -#if (__FPU_USED == 1) && defined ( __CC_ARM ) - *pOut = __sqrtf(in); -#else - *pOut = sqrtf(in); -#endif - - return (ARM_MATH_SUCCESS); - } - else - { - *pOut = 0.0f; - return (ARM_MATH_ARGUMENT_ERROR); - } - - } - - - /** - * @brief Q31 square root function. - * @param[in] in input value. The range of the input value is [0 +1) or 0x00000000 to 0x7FFFFFFF. - * @param[out] *pOut square root of input value. - * @return The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if - * <code>in</code> is negative value and returns zero output for negative values. - */ - arm_status arm_sqrt_q31( - q31_t in, - q31_t * pOut); - - /** - * @brief Q15 square root function. - * @param[in] in input value. The range of the input value is [0 +1) or 0x0000 to 0x7FFF. - * @param[out] *pOut square root of input value. - * @return The function returns ARM_MATH_SUCCESS if input value is positive value or ARM_MATH_ARGUMENT_ERROR if - * <code>in</code> is negative value and returns zero output for negative values. - */ - arm_status arm_sqrt_q15( - q15_t in, - q15_t * pOut); - - /** - * @} end of SQRT group - */ - - - - - - - /** - * @brief floating-point Circular write function. - */ - - static __INLINE void arm_circularWrite_f32( - int32_t * circBuffer, - int32_t L, - uint16_t * writeOffset, - int32_t bufferInc, - const int32_t * src, - int32_t srcInc, - uint32_t blockSize) - { - uint32_t i = 0u; - int32_t wOffset; - - /* Copy the value of Index pointer that points - * to the current location where the input samples to be copied */ - wOffset = *writeOffset; - - /* Loop over the blockSize */ - i = blockSize; - - while(i > 0u) - { - /* copy the input sample to the circular buffer */ - circBuffer[wOffset] = *src; - - /* Update the input pointer */ - src += srcInc; - - /* Circularly update wOffset. Watch out for positive and negative value */ - wOffset += bufferInc; - if(wOffset >= L) - wOffset -= L; - - /* Decrement the loop counter */ - i--; - } - - /* Update the index pointer */ - *writeOffset = wOffset; - } - - - - /** - * @brief floating-point Circular Read function. - */ - static __INLINE void arm_circularRead_f32( - int32_t * circBuffer, - int32_t L, - int32_t * readOffset, - int32_t bufferInc, - int32_t * dst, - int32_t * dst_base, - int32_t dst_length, - int32_t dstInc, - uint32_t blockSize) - { - uint32_t i = 0u; - int32_t rOffset, dst_end; - - /* Copy the value of Index pointer that points - * to the current location from where the input samples to be read */ - rOffset = *readOffset; - dst_end = (int32_t) (dst_base + dst_length); - - /* Loop over the blockSize */ - i = blockSize; - - while(i > 0u) - { - /* copy the sample from the circular buffer to the destination buffer */ - *dst = circBuffer[rOffset]; - - /* Update the input pointer */ - dst += dstInc; - - if(dst == (int32_t *) dst_end) - { - dst = dst_base; - } - - /* Circularly update rOffset. Watch out for positive and negative value */ - rOffset += bufferInc; - - if(rOffset >= L) - { - rOffset -= L; - } - - /* Decrement the loop counter */ - i--; - } - - /* Update the index pointer */ - *readOffset = rOffset; - } - - /** - * @brief Q15 Circular write function. - */ - - static __INLINE void arm_circularWrite_q15( - q15_t * circBuffer, - int32_t L, - uint16_t * writeOffset, - int32_t bufferInc, - const q15_t * src, - int32_t srcInc, - uint32_t blockSize) - { - uint32_t i = 0u; - int32_t wOffset; - - /* Copy the value of Index pointer that points - * to the current location where the input samples to be copied */ - wOffset = *writeOffset; - - /* Loop over the blockSize */ - i = blockSize; - - while(i > 0u) - { - /* copy the input sample to the circular buffer */ - circBuffer[wOffset] = *src; - - /* Update the input pointer */ - src += srcInc; - - /* Circularly update wOffset. Watch out for positive and negative value */ - wOffset += bufferInc; - if(wOffset >= L) - wOffset -= L; - - /* Decrement the loop counter */ - i--; - } - - /* Update the index pointer */ - *writeOffset = wOffset; - } - - - - /** - * @brief Q15 Circular Read function. - */ - static __INLINE void arm_circularRead_q15( - q15_t * circBuffer, - int32_t L, - int32_t * readOffset, - int32_t bufferInc, - q15_t * dst, - q15_t * dst_base, - int32_t dst_length, - int32_t dstInc, - uint32_t blockSize) - { - uint32_t i = 0; - int32_t rOffset, dst_end; - - /* Copy the value of Index pointer that points - * to the current location from where the input samples to be read */ - rOffset = *readOffset; - - dst_end = (int32_t) (dst_base + dst_length); - - /* Loop over the blockSize */ - i = blockSize; - - while(i > 0u) - { - /* copy the sample from the circular buffer to the destination buffer */ - *dst = circBuffer[rOffset]; - - /* Update the input pointer */ - dst += dstInc; - - if(dst == (q15_t *) dst_end) - { - dst = dst_base; - } - - /* Circularly update wOffset. Watch out for positive and negative value */ - rOffset += bufferInc; - - if(rOffset >= L) - { - rOffset -= L; - } - - /* Decrement the loop counter */ - i--; - } - - /* Update the index pointer */ - *readOffset = rOffset; - } - - - /** - * @brief Q7 Circular write function. - */ - - static __INLINE void arm_circularWrite_q7( - q7_t * circBuffer, - int32_t L, - uint16_t * writeOffset, - int32_t bufferInc, - const q7_t * src, - int32_t srcInc, - uint32_t blockSize) - { - uint32_t i = 0u; - int32_t wOffset; - - /* Copy the value of Index pointer that points - * to the current location where the input samples to be copied */ - wOffset = *writeOffset; - - /* Loop over the blockSize */ - i = blockSize; - - while(i > 0u) - { - /* copy the input sample to the circular buffer */ - circBuffer[wOffset] = *src; - - /* Update the input pointer */ - src += srcInc; - - /* Circularly update wOffset. Watch out for positive and negative value */ - wOffset += bufferInc; - if(wOffset >= L) - wOffset -= L; - - /* Decrement the loop counter */ - i--; - } - - /* Update the index pointer */ - *writeOffset = wOffset; - } - - - - /** - * @brief Q7 Circular Read function. - */ - static __INLINE void arm_circularRead_q7( - q7_t * circBuffer, - int32_t L, - int32_t * readOffset, - int32_t bufferInc, - q7_t * dst, - q7_t * dst_base, - int32_t dst_length, - int32_t dstInc, - uint32_t blockSize) - { - uint32_t i = 0; - int32_t rOffset, dst_end; - - /* Copy the value of Index pointer that points - * to the current location from where the input samples to be read */ - rOffset = *readOffset; - - dst_end = (int32_t) (dst_base + dst_length); - - /* Loop over the blockSize */ - i = blockSize; - - while(i > 0u) - { - /* copy the sample from the circular buffer to the destination buffer */ - *dst = circBuffer[rOffset]; - - /* Update the input pointer */ - dst += dstInc; - - if(dst == (q7_t *) dst_end) - { - dst = dst_base; - } - - /* Circularly update rOffset. Watch out for positive and negative value */ - rOffset += bufferInc; - - if(rOffset >= L) - { - rOffset -= L; - } - - /* Decrement the loop counter */ - i--; - } - - /* Update the index pointer */ - *readOffset = rOffset; - } - - - /** - * @brief Sum of the squares of the elements of a Q31 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_power_q31( - q31_t * pSrc, - uint32_t blockSize, - q63_t * pResult); - - /** - * @brief Sum of the squares of the elements of a floating-point vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_power_f32( - float32_t * pSrc, - uint32_t blockSize, - float32_t * pResult); - - /** - * @brief Sum of the squares of the elements of a Q15 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_power_q15( - q15_t * pSrc, - uint32_t blockSize, - q63_t * pResult); - - /** - * @brief Sum of the squares of the elements of a Q7 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_power_q7( - q7_t * pSrc, - uint32_t blockSize, - q31_t * pResult); - - /** - * @brief Mean value of a Q7 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_mean_q7( - q7_t * pSrc, - uint32_t blockSize, - q7_t * pResult); - - /** - * @brief Mean value of a Q15 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - void arm_mean_q15( - q15_t * pSrc, - uint32_t blockSize, - q15_t * pResult); - - /** - * @brief Mean value of a Q31 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - void arm_mean_q31( - q31_t * pSrc, - uint32_t blockSize, - q31_t * pResult); - - /** - * @brief Mean value of a floating-point vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - void arm_mean_f32( - float32_t * pSrc, - uint32_t blockSize, - float32_t * pResult); - - /** - * @brief Variance of the elements of a floating-point vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_var_f32( - float32_t * pSrc, - uint32_t blockSize, - float32_t * pResult); - - /** - * @brief Variance of the elements of a Q31 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_var_q31( - q31_t * pSrc, - uint32_t blockSize, - q31_t * pResult); - - /** - * @brief Variance of the elements of a Q15 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_var_q15( - q15_t * pSrc, - uint32_t blockSize, - q15_t * pResult); - - /** - * @brief Root Mean Square of the elements of a floating-point vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_rms_f32( - float32_t * pSrc, - uint32_t blockSize, - float32_t * pResult); - - /** - * @brief Root Mean Square of the elements of a Q31 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_rms_q31( - q31_t * pSrc, - uint32_t blockSize, - q31_t * pResult); - - /** - * @brief Root Mean Square of the elements of a Q15 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_rms_q15( - q15_t * pSrc, - uint32_t blockSize, - q15_t * pResult); - - /** - * @brief Standard deviation of the elements of a floating-point vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_std_f32( - float32_t * pSrc, - uint32_t blockSize, - float32_t * pResult); - - /** - * @brief Standard deviation of the elements of a Q31 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_std_q31( - q31_t * pSrc, - uint32_t blockSize, - q31_t * pResult); - - /** - * @brief Standard deviation of the elements of a Q15 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output value. - * @return none. - */ - - void arm_std_q15( - q15_t * pSrc, - uint32_t blockSize, - q15_t * pResult); - - /** - * @brief Floating-point complex magnitude - * @param[in] *pSrc points to the complex input vector - * @param[out] *pDst points to the real output vector - * @param[in] numSamples number of complex samples in the input vector - * @return none. - */ - - void arm_cmplx_mag_f32( - float32_t * pSrc, - float32_t * pDst, - uint32_t numSamples); - - /** - * @brief Q31 complex magnitude - * @param[in] *pSrc points to the complex input vector - * @param[out] *pDst points to the real output vector - * @param[in] numSamples number of complex samples in the input vector - * @return none. - */ - - void arm_cmplx_mag_q31( - q31_t * pSrc, - q31_t * pDst, - uint32_t numSamples); - - /** - * @brief Q15 complex magnitude - * @param[in] *pSrc points to the complex input vector - * @param[out] *pDst points to the real output vector - * @param[in] numSamples number of complex samples in the input vector - * @return none. - */ - - void arm_cmplx_mag_q15( - q15_t * pSrc, - q15_t * pDst, - uint32_t numSamples); - - /** - * @brief Q15 complex dot product - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[in] numSamples number of complex samples in each vector - * @param[out] *realResult real part of the result returned here - * @param[out] *imagResult imaginary part of the result returned here - * @return none. - */ - - void arm_cmplx_dot_prod_q15( - q15_t * pSrcA, - q15_t * pSrcB, - uint32_t numSamples, - q31_t * realResult, - q31_t * imagResult); - - /** - * @brief Q31 complex dot product - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[in] numSamples number of complex samples in each vector - * @param[out] *realResult real part of the result returned here - * @param[out] *imagResult imaginary part of the result returned here - * @return none. - */ - - void arm_cmplx_dot_prod_q31( - q31_t * pSrcA, - q31_t * pSrcB, - uint32_t numSamples, - q63_t * realResult, - q63_t * imagResult); - - /** - * @brief Floating-point complex dot product - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[in] numSamples number of complex samples in each vector - * @param[out] *realResult real part of the result returned here - * @param[out] *imagResult imaginary part of the result returned here - * @return none. - */ - - void arm_cmplx_dot_prod_f32( - float32_t * pSrcA, - float32_t * pSrcB, - uint32_t numSamples, - float32_t * realResult, - float32_t * imagResult); - - /** - * @brief Q15 complex-by-real multiplication - * @param[in] *pSrcCmplx points to the complex input vector - * @param[in] *pSrcReal points to the real input vector - * @param[out] *pCmplxDst points to the complex output vector - * @param[in] numSamples number of samples in each vector - * @return none. - */ - - void arm_cmplx_mult_real_q15( - q15_t * pSrcCmplx, - q15_t * pSrcReal, - q15_t * pCmplxDst, - uint32_t numSamples); - - /** - * @brief Q31 complex-by-real multiplication - * @param[in] *pSrcCmplx points to the complex input vector - * @param[in] *pSrcReal points to the real input vector - * @param[out] *pCmplxDst points to the complex output vector - * @param[in] numSamples number of samples in each vector - * @return none. - */ - - void arm_cmplx_mult_real_q31( - q31_t * pSrcCmplx, - q31_t * pSrcReal, - q31_t * pCmplxDst, - uint32_t numSamples); - - /** - * @brief Floating-point complex-by-real multiplication - * @param[in] *pSrcCmplx points to the complex input vector - * @param[in] *pSrcReal points to the real input vector - * @param[out] *pCmplxDst points to the complex output vector - * @param[in] numSamples number of samples in each vector - * @return none. - */ - - void arm_cmplx_mult_real_f32( - float32_t * pSrcCmplx, - float32_t * pSrcReal, - float32_t * pCmplxDst, - uint32_t numSamples); - - /** - * @brief Minimum value of a Q7 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *result is output pointer - * @param[in] index is the array index of the minimum value in the input buffer. - * @return none. - */ - - void arm_min_q7( - q7_t * pSrc, - uint32_t blockSize, - q7_t * result, - uint32_t * index); - - /** - * @brief Minimum value of a Q15 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output pointer - * @param[in] *pIndex is the array index of the minimum value in the input buffer. - * @return none. - */ - - void arm_min_q15( - q15_t * pSrc, - uint32_t blockSize, - q15_t * pResult, - uint32_t * pIndex); - - /** - * @brief Minimum value of a Q31 vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output pointer - * @param[out] *pIndex is the array index of the minimum value in the input buffer. - * @return none. - */ - void arm_min_q31( - q31_t * pSrc, - uint32_t blockSize, - q31_t * pResult, - uint32_t * pIndex); - - /** - * @brief Minimum value of a floating-point vector. - * @param[in] *pSrc is input pointer - * @param[in] blockSize is the number of samples to process - * @param[out] *pResult is output pointer - * @param[out] *pIndex is the array index of the minimum value in the input buffer. - * @return none. - */ - - void arm_min_f32( - float32_t * pSrc, - uint32_t blockSize, - float32_t * pResult, - uint32_t * pIndex); - -/** - * @brief Maximum value of a Q7 vector. - * @param[in] *pSrc points to the input buffer - * @param[in] blockSize length of the input vector - * @param[out] *pResult maximum value returned here - * @param[out] *pIndex index of maximum value returned here - * @return none. - */ - - void arm_max_q7( - q7_t * pSrc, - uint32_t blockSize, - q7_t * pResult, - uint32_t * pIndex); - -/** - * @brief Maximum value of a Q15 vector. - * @param[in] *pSrc points to the input buffer - * @param[in] blockSize length of the input vector - * @param[out] *pResult maximum value returned here - * @param[out] *pIndex index of maximum value returned here - * @return none. - */ - - void arm_max_q15( - q15_t * pSrc, - uint32_t blockSize, - q15_t * pResult, - uint32_t * pIndex); - -/** - * @brief Maximum value of a Q31 vector. - * @param[in] *pSrc points to the input buffer - * @param[in] blockSize length of the input vector - * @param[out] *pResult maximum value returned here - * @param[out] *pIndex index of maximum value returned here - * @return none. - */ - - void arm_max_q31( - q31_t * pSrc, - uint32_t blockSize, - q31_t * pResult, - uint32_t * pIndex); - -/** - * @brief Maximum value of a floating-point vector. - * @param[in] *pSrc points to the input buffer - * @param[in] blockSize length of the input vector - * @param[out] *pResult maximum value returned here - * @param[out] *pIndex index of maximum value returned here - * @return none. - */ - - void arm_max_f32( - float32_t * pSrc, - uint32_t blockSize, - float32_t * pResult, - uint32_t * pIndex); - - /** - * @brief Q15 complex-by-complex multiplication - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] numSamples number of complex samples in each vector - * @return none. - */ - - void arm_cmplx_mult_cmplx_q15( - q15_t * pSrcA, - q15_t * pSrcB, - q15_t * pDst, - uint32_t numSamples); - - /** - * @brief Q31 complex-by-complex multiplication - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] numSamples number of complex samples in each vector - * @return none. - */ - - void arm_cmplx_mult_cmplx_q31( - q31_t * pSrcA, - q31_t * pSrcB, - q31_t * pDst, - uint32_t numSamples); - - /** - * @brief Floating-point complex-by-complex multiplication - * @param[in] *pSrcA points to the first input vector - * @param[in] *pSrcB points to the second input vector - * @param[out] *pDst points to the output vector - * @param[in] numSamples number of complex samples in each vector - * @return none. - */ - - void arm_cmplx_mult_cmplx_f32( - float32_t * pSrcA, - float32_t * pSrcB, - float32_t * pDst, - uint32_t numSamples); - - /** - * @brief Converts the elements of the floating-point vector to Q31 vector. - * @param[in] *pSrc points to the floating-point input vector - * @param[out] *pDst points to the Q31 output vector - * @param[in] blockSize length of the input vector - * @return none. - */ - void arm_float_to_q31( - float32_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - /** - * @brief Converts the elements of the floating-point vector to Q15 vector. - * @param[in] *pSrc points to the floating-point input vector - * @param[out] *pDst points to the Q15 output vector - * @param[in] blockSize length of the input vector - * @return none - */ - void arm_float_to_q15( - float32_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Converts the elements of the floating-point vector to Q7 vector. - * @param[in] *pSrc points to the floating-point input vector - * @param[out] *pDst points to the Q7 output vector - * @param[in] blockSize length of the input vector - * @return none - */ - void arm_float_to_q7( - float32_t * pSrc, - q7_t * pDst, - uint32_t blockSize); - - - /** - * @brief Converts the elements of the Q31 vector to Q15 vector. - * @param[in] *pSrc is input pointer - * @param[out] *pDst is output pointer - * @param[in] blockSize is the number of samples to process - * @return none. - */ - void arm_q31_to_q15( - q31_t * pSrc, - q15_t * pDst, - uint32_t blockSize); - - /** - * @brief Converts the elements of the Q31 vector to Q7 vector. - * @param[in] *pSrc is input pointer - * @param[out] *pDst is output pointer - * @param[in] blockSize is the number of samples to process - * @return none. - */ - void arm_q31_to_q7( - q31_t * pSrc, - q7_t * pDst, - uint32_t blockSize); - - /** - * @brief Converts the elements of the Q15 vector to floating-point vector. - * @param[in] *pSrc is input pointer - * @param[out] *pDst is output pointer - * @param[in] blockSize is the number of samples to process - * @return none. - */ - void arm_q15_to_float( - q15_t * pSrc, - float32_t * pDst, - uint32_t blockSize); - - - /** - * @brief Converts the elements of the Q15 vector to Q31 vector. - * @param[in] *pSrc is input pointer - * @param[out] *pDst is output pointer - * @param[in] blockSize is the number of samples to process - * @return none. - */ - void arm_q15_to_q31( - q15_t * pSrc, - q31_t * pDst, - uint32_t blockSize); - - - /** - * @brief Converts the elements of the Q15 vector to Q7 vector. - * @param[in] *pSrc is input pointer - * @param[out] *pDst is output pointer - * @param[in] blockSize is the number of samples to process - * @return none. - */ - void arm_q15_to_q7( - q15_t * pSrc, - q7_t * pDst, - uint32_t blockSize); - - - /** - * @ingroup groupInterpolation - */ - - /** - * @defgroup BilinearInterpolate Bilinear Interpolation - * - * Bilinear interpolation is an extension of linear interpolation applied to a two dimensional grid. - * The underlying function <code>f(x, y)</code> is sampled on a regular grid and the interpolation process - * determines values between the grid points. - * Bilinear interpolation is equivalent to two step linear interpolation, first in the x-dimension and then in the y-dimension. - * Bilinear interpolation is often used in image processing to rescale images. - * The CMSIS DSP library provides bilinear interpolation functions for Q7, Q15, Q31, and floating-point data types. - * - * <b>Algorithm</b> - * \par - * The instance structure used by the bilinear interpolation functions describes a two dimensional data table. - * For floating-point, the instance structure is defined as: - * <pre> - * typedef struct - * { - * uint16_t numRows; - * uint16_t numCols; - * float32_t *pData; - * } arm_bilinear_interp_instance_f32; - * </pre> - * - * \par - * where <code>numRows</code> specifies the number of rows in the table; - * <code>numCols</code> specifies the number of columns in the table; - * and <code>pData</code> points to an array of size <code>numRows*numCols</code> values. - * The data table <code>pTable</code> is organized in row order and the supplied data values fall on integer indexes. - * That is, table element (x,y) is located at <code>pTable[x + y*numCols]</code> where x and y are integers. - * - * \par - * Let <code>(x, y)</code> specify the desired interpolation point. Then define: - * <pre> - * XF = floor(x) - * YF = floor(y) - * </pre> - * \par - * The interpolated output point is computed as: - * <pre> - * f(x, y) = f(XF, YF) * (1-(x-XF)) * (1-(y-YF)) - * + f(XF+1, YF) * (x-XF)*(1-(y-YF)) - * + f(XF, YF+1) * (1-(x-XF))*(y-YF) - * + f(XF+1, YF+1) * (x-XF)*(y-YF) - * </pre> - * Note that the coordinates (x, y) contain integer and fractional components. - * The integer components specify which portion of the table to use while the - * fractional components control the interpolation processor. - * - * \par - * if (x,y) are outside of the table boundary, Bilinear interpolation returns zero output. - */ - - /** - * @addtogroup BilinearInterpolate - * @{ - */ - - /** - * - * @brief Floating-point bilinear interpolation. - * @param[in,out] *S points to an instance of the interpolation structure. - * @param[in] X interpolation coordinate. - * @param[in] Y interpolation coordinate. - * @return out interpolated value. - */ - - - static __INLINE float32_t arm_bilinear_interp_f32( - const arm_bilinear_interp_instance_f32 * S, - float32_t X, - float32_t Y) - { - float32_t out; - float32_t f00, f01, f10, f11; - float32_t *pData = S->pData; - int32_t xIndex, yIndex, index; - float32_t xdiff, ydiff; - float32_t b1, b2, b3, b4; - - xIndex = (int32_t) X; - yIndex = (int32_t) Y; - - /* Care taken for table outside boundary */ - /* Returns zero output when values are outside table boundary */ - if(xIndex < 0 || xIndex > (S->numRows - 1) || yIndex < 0 - || yIndex > (S->numCols - 1)) - { - return (0); - } - - /* Calculation of index for two nearest points in X-direction */ - index = (xIndex - 1) + (yIndex - 1) * S->numCols; - - - /* Read two nearest points in X-direction */ - f00 = pData[index]; - f01 = pData[index + 1]; - - /* Calculation of index for two nearest points in Y-direction */ - index = (xIndex - 1) + (yIndex) * S->numCols; - - - /* Read two nearest points in Y-direction */ - f10 = pData[index]; - f11 = pData[index + 1]; - - /* Calculation of intermediate values */ - b1 = f00; - b2 = f01 - f00; - b3 = f10 - f00; - b4 = f00 - f01 - f10 + f11; - - /* Calculation of fractional part in X */ - xdiff = X - xIndex; - - /* Calculation of fractional part in Y */ - ydiff = Y - yIndex; - - /* Calculation of bi-linear interpolated output */ - out = b1 + b2 * xdiff + b3 * ydiff + b4 * xdiff * ydiff; - - /* return to application */ - return (out); - - } - - /** - * - * @brief Q31 bilinear interpolation. - * @param[in,out] *S points to an instance of the interpolation structure. - * @param[in] X interpolation coordinate in 12.20 format. - * @param[in] Y interpolation coordinate in 12.20 format. - * @return out interpolated value. - */ - - static __INLINE q31_t arm_bilinear_interp_q31( - arm_bilinear_interp_instance_q31 * S, - q31_t X, - q31_t Y) - { - q31_t out; /* Temporary output */ - q31_t acc = 0; /* output */ - q31_t xfract, yfract; /* X, Y fractional parts */ - q31_t x1, x2, y1, y2; /* Nearest output values */ - int32_t rI, cI; /* Row and column indices */ - q31_t *pYData = S->pData; /* pointer to output table values */ - uint32_t nCols = S->numCols; /* num of rows */ - - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - rI = ((X & 0xFFF00000) >> 20u); - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - cI = ((Y & 0xFFF00000) >> 20u); - - /* Care taken for table outside boundary */ - /* Returns zero output when values are outside table boundary */ - if(rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) - { - return (0); - } - - /* 20 bits for the fractional part */ - /* shift left xfract by 11 to keep 1.31 format */ - xfract = (X & 0x000FFFFF) << 11u; - - /* Read two nearest output values from the index */ - x1 = pYData[(rI) + nCols * (cI)]; - x2 = pYData[(rI) + nCols * (cI) + 1u]; - - /* 20 bits for the fractional part */ - /* shift left yfract by 11 to keep 1.31 format */ - yfract = (Y & 0x000FFFFF) << 11u; - - /* Read two nearest output values from the index */ - y1 = pYData[(rI) + nCols * (cI + 1)]; - y2 = pYData[(rI) + nCols * (cI + 1) + 1u]; - - /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 3.29(q29) format */ - out = ((q31_t) (((q63_t) x1 * (0x7FFFFFFF - xfract)) >> 32)); - acc = ((q31_t) (((q63_t) out * (0x7FFFFFFF - yfract)) >> 32)); - - /* x2 * (xfract) * (1-yfract) in 3.29(q29) and adding to acc */ - out = ((q31_t) ((q63_t) x2 * (0x7FFFFFFF - yfract) >> 32)); - acc += ((q31_t) ((q63_t) out * (xfract) >> 32)); - - /* y1 * (1 - xfract) * (yfract) in 3.29(q29) and adding to acc */ - out = ((q31_t) ((q63_t) y1 * (0x7FFFFFFF - xfract) >> 32)); - acc += ((q31_t) ((q63_t) out * (yfract) >> 32)); - - /* y2 * (xfract) * (yfract) in 3.29(q29) and adding to acc */ - out = ((q31_t) ((q63_t) y2 * (xfract) >> 32)); - acc += ((q31_t) ((q63_t) out * (yfract) >> 32)); - - /* Convert acc to 1.31(q31) format */ - return (acc << 2u); - - } - - /** - * @brief Q15 bilinear interpolation. - * @param[in,out] *S points to an instance of the interpolation structure. - * @param[in] X interpolation coordinate in 12.20 format. - * @param[in] Y interpolation coordinate in 12.20 format. - * @return out interpolated value. - */ - - static __INLINE q15_t arm_bilinear_interp_q15( - arm_bilinear_interp_instance_q15 * S, - q31_t X, - q31_t Y) - { - q63_t acc = 0; /* output */ - q31_t out; /* Temporary output */ - q15_t x1, x2, y1, y2; /* Nearest output values */ - q31_t xfract, yfract; /* X, Y fractional parts */ - int32_t rI, cI; /* Row and column indices */ - q15_t *pYData = S->pData; /* pointer to output table values */ - uint32_t nCols = S->numCols; /* num of rows */ - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - rI = ((X & 0xFFF00000) >> 20); - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - cI = ((Y & 0xFFF00000) >> 20); - - /* Care taken for table outside boundary */ - /* Returns zero output when values are outside table boundary */ - if(rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) - { - return (0); - } - - /* 20 bits for the fractional part */ - /* xfract should be in 12.20 format */ - xfract = (X & 0x000FFFFF); - - /* Read two nearest output values from the index */ - x1 = pYData[(rI) + nCols * (cI)]; - x2 = pYData[(rI) + nCols * (cI) + 1u]; - - - /* 20 bits for the fractional part */ - /* yfract should be in 12.20 format */ - yfract = (Y & 0x000FFFFF); - - /* Read two nearest output values from the index */ - y1 = pYData[(rI) + nCols * (cI + 1)]; - y2 = pYData[(rI) + nCols * (cI + 1) + 1u]; - - /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 13.51 format */ - - /* x1 is in 1.15(q15), xfract in 12.20 format and out is in 13.35 format */ - /* convert 13.35 to 13.31 by right shifting and out is in 1.31 */ - out = (q31_t) (((q63_t) x1 * (0xFFFFF - xfract)) >> 4u); - acc = ((q63_t) out * (0xFFFFF - yfract)); - - /* x2 * (xfract) * (1-yfract) in 1.51 and adding to acc */ - out = (q31_t) (((q63_t) x2 * (0xFFFFF - yfract)) >> 4u); - acc += ((q63_t) out * (xfract)); - - /* y1 * (1 - xfract) * (yfract) in 1.51 and adding to acc */ - out = (q31_t) (((q63_t) y1 * (0xFFFFF - xfract)) >> 4u); - acc += ((q63_t) out * (yfract)); - - /* y2 * (xfract) * (yfract) in 1.51 and adding to acc */ - out = (q31_t) (((q63_t) y2 * (xfract)) >> 4u); - acc += ((q63_t) out * (yfract)); - - /* acc is in 13.51 format and down shift acc by 36 times */ - /* Convert out to 1.15 format */ - return (acc >> 36); - - } - - /** - * @brief Q7 bilinear interpolation. - * @param[in,out] *S points to an instance of the interpolation structure. - * @param[in] X interpolation coordinate in 12.20 format. - * @param[in] Y interpolation coordinate in 12.20 format. - * @return out interpolated value. - */ - - static __INLINE q7_t arm_bilinear_interp_q7( - arm_bilinear_interp_instance_q7 * S, - q31_t X, - q31_t Y) - { - q63_t acc = 0; /* output */ - q31_t out; /* Temporary output */ - q31_t xfract, yfract; /* X, Y fractional parts */ - q7_t x1, x2, y1, y2; /* Nearest output values */ - int32_t rI, cI; /* Row and column indices */ - q7_t *pYData = S->pData; /* pointer to output table values */ - uint32_t nCols = S->numCols; /* num of rows */ - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - rI = ((X & 0xFFF00000) >> 20); - - /* Input is in 12.20 format */ - /* 12 bits for the table index */ - /* Index value calculation */ - cI = ((Y & 0xFFF00000) >> 20); - - /* Care taken for table outside boundary */ - /* Returns zero output when values are outside table boundary */ - if(rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) - { - return (0); - } - - /* 20 bits for the fractional part */ - /* xfract should be in 12.20 format */ - xfract = (X & 0x000FFFFF); - - /* Read two nearest output values from the index */ - x1 = pYData[(rI) + nCols * (cI)]; - x2 = pYData[(rI) + nCols * (cI) + 1u]; - - - /* 20 bits for the fractional part */ - /* yfract should be in 12.20 format */ - yfract = (Y & 0x000FFFFF); - - /* Read two nearest output values from the index */ - y1 = pYData[(rI) + nCols * (cI + 1)]; - y2 = pYData[(rI) + nCols * (cI + 1) + 1u]; - - /* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 16.47 format */ - out = ((x1 * (0xFFFFF - xfract))); - acc = (((q63_t) out * (0xFFFFF - yfract))); - - /* x2 * (xfract) * (1-yfract) in 2.22 and adding to acc */ - out = ((x2 * (0xFFFFF - yfract))); - acc += (((q63_t) out * (xfract))); - - /* y1 * (1 - xfract) * (yfract) in 2.22 and adding to acc */ - out = ((y1 * (0xFFFFF - xfract))); - acc += (((q63_t) out * (yfract))); - - /* y2 * (xfract) * (yfract) in 2.22 and adding to acc */ - out = ((y2 * (yfract))); - acc += (((q63_t) out * (xfract))); - - /* acc in 16.47 format and down shift by 40 to convert to 1.7 format */ - return (acc >> 40); - - } - - /** - * @} end of BilinearInterpolate group - */ - - -//SMMLAR -#define multAcc_32x32_keep32_R(a, x, y) \ - a = (q31_t) (((((q63_t) a) << 32) + ((q63_t) x * y) + 0x80000000LL ) >> 32) - -//SMMLSR -#define multSub_32x32_keep32_R(a, x, y) \ - a = (q31_t) (((((q63_t) a) << 32) - ((q63_t) x * y) + 0x80000000LL ) >> 32) - -//SMMULR -#define mult_32x32_keep32_R(a, x, y) \ - a = (q31_t) (((q63_t) x * y + 0x80000000LL ) >> 32) - -//SMMLA -#define multAcc_32x32_keep32(a, x, y) \ - a += (q31_t) (((q63_t) x * y) >> 32) - -//SMMLS -#define multSub_32x32_keep32(a, x, y) \ - a -= (q31_t) (((q63_t) x * y) >> 32) - -//SMMUL -#define mult_32x32_keep32(a, x, y) \ - a = (q31_t) (((q63_t) x * y ) >> 32) - - -#if defined ( __CC_ARM ) //Keil - -//Enter low optimization region - place directly above function definition - #ifdef ARM_MATH_CM4 - #define LOW_OPTIMIZATION_ENTER \ - _Pragma ("push") \ - _Pragma ("O1") - #else - #define LOW_OPTIMIZATION_ENTER - #endif - -//Exit low optimization region - place directly after end of function definition - #ifdef ARM_MATH_CM4 - #define LOW_OPTIMIZATION_EXIT \ - _Pragma ("pop") - #else - #define LOW_OPTIMIZATION_EXIT - #endif - -//Enter low optimization region - place directly above function definition - #define IAR_ONLY_LOW_OPTIMIZATION_ENTER - -//Exit low optimization region - place directly after end of function definition - #define IAR_ONLY_LOW_OPTIMIZATION_EXIT - -#elif defined(__ICCARM__) //IAR - -//Enter low optimization region - place directly above function definition - #ifdef ARM_MATH_CM4 - #define LOW_OPTIMIZATION_ENTER \ - _Pragma ("optimize=low") - #else - #define LOW_OPTIMIZATION_ENTER - #endif - -//Exit low optimization region - place directly after end of function definition - #define LOW_OPTIMIZATION_EXIT - -//Enter low optimization region - place directly above function definition - #ifdef ARM_MATH_CM4 - #define IAR_ONLY_LOW_OPTIMIZATION_ENTER \ - _Pragma ("optimize=low") - #else - #define IAR_ONLY_LOW_OPTIMIZATION_ENTER - #endif - -//Exit low optimization region - place directly after end of function definition - #define IAR_ONLY_LOW_OPTIMIZATION_EXIT - -#elif defined(__GNUC__) - - #define LOW_OPTIMIZATION_ENTER __attribute__(( optimize("-O1") )) - - #define LOW_OPTIMIZATION_EXIT - - #define IAR_ONLY_LOW_OPTIMIZATION_ENTER - - #define IAR_ONLY_LOW_OPTIMIZATION_EXIT - -#elif defined(__CSMC__) // Cosmic - -#define LOW_OPTIMIZATION_ENTER -#define LOW_OPTIMIZATION_EXIT -#define IAR_ONLY_LOW_OPTIMIZATION_ENTER -#define IAR_ONLY_LOW_OPTIMIZATION_EXIT - -#endif - - -#ifdef __cplusplus -} -#endif - - -#endif /* _ARM_MATH_H */ - -/** - * - * End of file. - */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cm7.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cm7.h deleted file mode 100644 index e21e9e2..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cm7.h +++ /dev/null @@ -1,2221 +0,0 @@ -/**************************************************************************//** - * @file core_cm7.h - * @brief CMSIS Cortex-M7 Core Peripheral Access Layer Header File - * @version V4.00 - * @date 01. September 2014 - * - * @note - * - ******************************************************************************/ -/* Copyright (c) 2009 - 2014 ARM LIMITED - - All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of ARM nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - * - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------*/ - - -#if defined ( __ICCARM__ ) - #pragma system_include /* treat file as system include file for MISRA check */ -#endif - -#ifndef __CORE_CM7_H_GENERIC -#define __CORE_CM7_H_GENERIC - -#ifdef __cplusplus - extern "C" { -#endif - -/** \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions - CMSIS violates the following MISRA-C:2004 rules: - - \li Required Rule 8.5, object/function definition in header file.<br> - Function definitions in header files are used to allow 'inlining'. - - \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br> - Unions are used for effective representation of core registers. - - \li Advisory Rule 19.7, Function-like macro defined.<br> - Function-like macros are used to allow more efficient code. - */ - - -/******************************************************************************* - * CMSIS definitions - ******************************************************************************/ -/** \ingroup Cortex_M7 - @{ - */ - -/* CMSIS CM7 definitions */ -#define __CM7_CMSIS_VERSION_MAIN (0x04) /*!< [31:16] CMSIS HAL main version */ -#define __CM7_CMSIS_VERSION_SUB (0x00) /*!< [15:0] CMSIS HAL sub version */ -#define __CM7_CMSIS_VERSION ((__CM7_CMSIS_VERSION_MAIN << 16) | \ - __CM7_CMSIS_VERSION_SUB ) /*!< CMSIS HAL version number */ - -#define __CORTEX_M (0x07) /*!< Cortex-M Core */ - - -#if defined ( __CC_ARM ) - #define __ASM __asm /*!< asm keyword for ARM Compiler */ - #define __INLINE __inline /*!< inline keyword for ARM Compiler */ - #define __STATIC_INLINE static __inline - -#elif defined ( __GNUC__ ) - #define __ASM __asm /*!< asm keyword for GNU Compiler */ - #define __INLINE inline /*!< inline keyword for GNU Compiler */ - #define __STATIC_INLINE static inline - -#elif defined ( __ICCARM__ ) - #define __ASM __asm /*!< asm keyword for IAR Compiler */ - #define __INLINE inline /*!< inline keyword for IAR Compiler. Only available in High optimization mode! */ - #define __STATIC_INLINE static inline - -#elif defined ( __TMS470__ ) - #define __ASM __asm /*!< asm keyword for TI CCS Compiler */ - #define __STATIC_INLINE static inline - -#elif defined ( __TASKING__ ) - #define __ASM __asm /*!< asm keyword for TASKING Compiler */ - #define __INLINE inline /*!< inline keyword for TASKING Compiler */ - #define __STATIC_INLINE static inline - -#elif defined ( __CSMC__ ) - #define __packed - #define __ASM _asm /*!< asm keyword for COSMIC Compiler */ - #define __INLINE inline /*use -pc99 on compile line !< inline keyword for COSMIC Compiler */ - #define __STATIC_INLINE static inline - -#endif - -/** __FPU_USED indicates whether an FPU is used or not. - For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and functions. -*/ -#if defined ( __CC_ARM ) - #if defined __TARGET_FPU_VFP - #if (__FPU_PRESENT == 1) - #define __FPU_USED 1 - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0 - #endif - #else - #define __FPU_USED 0 - #endif - -#elif defined ( __GNUC__ ) - #if defined (__VFP_FP__) && !defined(__SOFTFP__) - #if (__FPU_PRESENT == 1) - #define __FPU_USED 1 - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0 - #endif - #else - #define __FPU_USED 0 - #endif - -#elif defined ( __ICCARM__ ) - #if defined __ARMVFP__ - #if (__FPU_PRESENT == 1) - #define __FPU_USED 1 - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0 - #endif - #else - #define __FPU_USED 0 - #endif - -#elif defined ( __TMS470__ ) - #if defined __TI_VFP_SUPPORT__ - #if (__FPU_PRESENT == 1) - #define __FPU_USED 1 - #else - #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0 - #endif - #else - #define __FPU_USED 0 - #endif - -#elif defined ( __TASKING__ ) - #if defined __FPU_VFP__ - #if (__FPU_PRESENT == 1) - #define __FPU_USED 1 - #else - #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0 - #endif - #else - #define __FPU_USED 0 - #endif - -#elif defined ( __CSMC__ ) /* Cosmic */ - #if ( __CSMC__ & 0x400) // FPU present for parser - #if (__FPU_PRESENT == 1) - #define __FPU_USED 1 - #else - #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" - #define __FPU_USED 0 - #endif - #else - #define __FPU_USED 0 - #endif -#endif - -#include <stdint.h> /* standard types definitions */ -#include <core_cmInstr.h> /* Core Instruction Access */ -#include <core_cmFunc.h> /* Core Function Access */ -#include <core_cmSimd.h> /* Compiler specific SIMD Intrinsics */ - -#ifdef __cplusplus -} -#endif - -#endif /* __CORE_CM7_H_GENERIC */ - -#ifndef __CMSIS_GENERIC - -#ifndef __CORE_CM7_H_DEPENDANT -#define __CORE_CM7_H_DEPENDANT - -#ifdef __cplusplus - extern "C" { -#endif - -/* check device defines and use defaults */ -#if defined __CHECK_DEVICE_DEFINES - #ifndef __CM7_REV - #define __CM7_REV 0x0000 - #warning "__CM7_REV not defined in device header file; using default!" - #endif - - #ifndef __FPU_PRESENT - #define __FPU_PRESENT 0 - #warning "__FPU_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __MPU_PRESENT - #define __MPU_PRESENT 0 - #warning "__MPU_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __ICACHE_PRESENT - #define __ICACHE_PRESENT 0 - #warning "__ICACHE_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __DCACHE_PRESENT - #define __DCACHE_PRESENT 0 - #warning "__DCACHE_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __DTCM_PRESENT - #define __DTCM_PRESENT 0 - #warning "__DTCM_PRESENT not defined in device header file; using default!" - #endif - - #ifndef __NVIC_PRIO_BITS - #define __NVIC_PRIO_BITS 3 - #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" - #endif - - #ifndef __Vendor_SysTickConfig - #define __Vendor_SysTickConfig 0 - #warning "__Vendor_SysTickConfig not defined in device header file; using default!" - #endif -#endif - -/* IO definitions (access restrictions to peripheral registers) */ -/** - \defgroup CMSIS_glob_defs CMSIS Global Defines - - <strong>IO Type Qualifiers</strong> are used - \li to specify the access to peripheral variables. - \li for automatic generation of peripheral register debug information. -*/ -#ifdef __cplusplus - #define __I volatile /*!< Defines 'read only' permissions */ -#else - #define __I volatile const /*!< Defines 'read only' permissions */ -#endif -#define __O volatile /*!< Defines 'write only' permissions */ -#define __IO volatile /*!< Defines 'read / write' permissions */ - -/*@} end of group Cortex_M7 */ - - - -/******************************************************************************* - * Register Abstraction - Core Register contain: - - Core Register - - Core NVIC Register - - Core SCB Register - - Core SysTick Register - - Core Debug Register - - Core MPU Register - - Core FPU Register - ******************************************************************************/ -/** \defgroup CMSIS_core_register Defines and Type Definitions - \brief Type definitions and defines for Cortex-M processor based devices. -*/ - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_CORE Status and Control Registers - \brief Core Register type definitions. - @{ - */ - -/** \brief Union type to access the Application Program Status Register (APSR). - */ -typedef union -{ - struct - { -#if (__CORTEX_M != 0x07) - uint32_t _reserved0:27; /*!< bit: 0..26 Reserved */ -#else - uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ - uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ - uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ -#endif - uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ - uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ - uint32_t C:1; /*!< bit: 29 Carry condition code flag */ - uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ - uint32_t N:1; /*!< bit: 31 Negative condition code flag */ - } b; /*!< Structure used for bit access */ - uint32_t w; /*!< Type used for word access */ -} APSR_Type; - - -/** \brief Union type to access the Interrupt Program Status Register (IPSR). - */ -typedef union -{ - struct - { - uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ - uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ - } b; /*!< Structure used for bit access */ - uint32_t w; /*!< Type used for word access */ -} IPSR_Type; - - -/** \brief Union type to access the Special-Purpose Program Status Registers (xPSR). - */ -typedef union -{ - struct - { - uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ -#if (__CORTEX_M != 0x07) - uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */ -#else - uint32_t _reserved0:7; /*!< bit: 9..15 Reserved */ - uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ - uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ -#endif - uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */ - uint32_t IT:2; /*!< bit: 25..26 saved IT state (read 0) */ - uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ - uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ - uint32_t C:1; /*!< bit: 29 Carry condition code flag */ - uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ - uint32_t N:1; /*!< bit: 31 Negative condition code flag */ - } b; /*!< Structure used for bit access */ - uint32_t w; /*!< Type used for word access */ -} xPSR_Type; - - -/** \brief Union type to access the Control Registers (CONTROL). - */ -typedef union -{ - struct - { - uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ - uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ - uint32_t FPCA:1; /*!< bit: 2 FP extension active flag */ - uint32_t _reserved0:29; /*!< bit: 3..31 Reserved */ - } b; /*!< Structure used for bit access */ - uint32_t w; /*!< Type used for word access */ -} CONTROL_Type; - -/*@} end of group CMSIS_CORE */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) - \brief Type definitions for the NVIC Registers - @{ - */ - -/** \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). - */ -typedef struct -{ - __IO uint32_t ISER[8]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ - uint32_t RESERVED0[24]; - __IO uint32_t ICER[8]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */ - uint32_t RSERVED1[24]; - __IO uint32_t ISPR[8]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */ - uint32_t RESERVED2[24]; - __IO uint32_t ICPR[8]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */ - uint32_t RESERVED3[24]; - __IO uint32_t IABR[8]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ - uint32_t RESERVED4[56]; - __IO uint8_t IP[240]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bit wide) */ - uint32_t RESERVED5[644]; - __O uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Register */ -} NVIC_Type; - -/* Software Triggered Interrupt Register Definitions */ -#define NVIC_STIR_INTID_Pos 0 /*!< STIR: INTLINESNUM Position */ -#define NVIC_STIR_INTID_Msk (0x1FFUL << NVIC_STIR_INTID_Pos) /*!< STIR: INTLINESNUM Mask */ - -/*@} end of group CMSIS_NVIC */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_SCB System Control Block (SCB) - \brief Type definitions for the System Control Block Registers - @{ - */ - -/** \brief Structure type to access the System Control Block (SCB). - */ -typedef struct -{ - __I uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ - __IO uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */ - __IO uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ - __IO uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */ - __IO uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ - __IO uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */ - __IO uint8_t SHPR[12]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */ - __IO uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */ - __IO uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Register */ - __IO uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ - __IO uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ - __IO uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register */ - __IO uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ - __IO uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register */ - __I uint32_t ID_PFR[2]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ - __I uint32_t ID_DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ - __I uint32_t ID_AFR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ - __I uint32_t ID_MFR[4]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ - __I uint32_t ID_ISAR[5]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Register */ - uint32_t RESERVED0[1]; - __I uint32_t CLIDR; /*!< Offset: 0x078 (R/ ) Cache Level ID register */ - __I uint32_t CTR; /*!< Offset: 0x07C (R/ ) Cache Type register */ - __I uint32_t CCSIDR; /*!< Offset: 0x080 (R/ ) Cache Size ID Register */ - __IO uint32_t CSSELR; /*!< Offset: 0x084 (R/W) Cache Size Selection Register */ - __IO uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Register */ - uint32_t RESERVED3[93]; - __O uint32_t STIR; /*!< Offset: 0x200 ( /W) Software Triggered Interrupt Register */ - uint32_t RESERVED4[15]; - __I uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0 */ - __I uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1 */ - __I uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 1 */ - uint32_t RESERVED5[1]; - __O uint32_t ICIALLU; /*!< Offset: 0x250 ( /W) I-Cache Invalidate All to PoU */ - uint32_t RESERVED6[1]; - __O uint32_t ICIMVAU; /*!< Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU */ - __O uint32_t DCIMVAU; /*!< Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC */ - __O uint32_t DCISW; /*!< Offset: 0x260 ( /W) D-Cache Invalidate by Set-way */ - __O uint32_t DCCMVAU; /*!< Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU */ - __O uint32_t DCCMVAC; /*!< Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC */ - __O uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */ - __O uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by MVA to PoC */ - __O uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by Set-way */ - uint32_t RESERVED7[6]; - __IO uint32_t ITCMCR; /*!< Offset: 0x290 (R/W) Instruction Tightly-Coupled Memory Control Register */ - __IO uint32_t DTCMCR; /*!< Offset: 0x294 (R/W) Data Tightly-Coupled Memory Control Registers */ - __IO uint32_t AHBPCR; /*!< Offset: 0x298 (R/W) AHBP Control Register */ - __IO uint32_t CACR; /*!< Offset: 0x29C (R/W) L1 Cache Control Register */ - __IO uint32_t AHBSCR; /*!< Offset: 0x2A0 (R/W) AHB Slave Control Register */ - uint32_t RESERVED8[1]; - __IO uint32_t ABFSR; /*!< Offset: 0x2A8 (R/W) Auxiliary Bus Fault Status Register */ -} SCB_Type; - -/* SCB CPUID Register Definitions */ -#define SCB_CPUID_IMPLEMENTER_Pos 24 /*!< SCB CPUID: IMPLEMENTER Position */ -#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ - -#define SCB_CPUID_VARIANT_Pos 20 /*!< SCB CPUID: VARIANT Position */ -#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ - -#define SCB_CPUID_ARCHITECTURE_Pos 16 /*!< SCB CPUID: ARCHITECTURE Position */ -#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */ - -#define SCB_CPUID_PARTNO_Pos 4 /*!< SCB CPUID: PARTNO Position */ -#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ - -#define SCB_CPUID_REVISION_Pos 0 /*!< SCB CPUID: REVISION Position */ -#define SCB_CPUID_REVISION_Msk (0xFUL << SCB_CPUID_REVISION_Pos) /*!< SCB CPUID: REVISION Mask */ - -/* SCB Interrupt Control State Register Definitions */ -#define SCB_ICSR_NMIPENDSET_Pos 31 /*!< SCB ICSR: NMIPENDSET Position */ -#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ - -#define SCB_ICSR_PENDSVSET_Pos 28 /*!< SCB ICSR: PENDSVSET Position */ -#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ - -#define SCB_ICSR_PENDSVCLR_Pos 27 /*!< SCB ICSR: PENDSVCLR Position */ -#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ - -#define SCB_ICSR_PENDSTSET_Pos 26 /*!< SCB ICSR: PENDSTSET Position */ -#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ - -#define SCB_ICSR_PENDSTCLR_Pos 25 /*!< SCB ICSR: PENDSTCLR Position */ -#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ - -#define SCB_ICSR_ISRPREEMPT_Pos 23 /*!< SCB ICSR: ISRPREEMPT Position */ -#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ - -#define SCB_ICSR_ISRPENDING_Pos 22 /*!< SCB ICSR: ISRPENDING Position */ -#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ - -#define SCB_ICSR_VECTPENDING_Pos 12 /*!< SCB ICSR: VECTPENDING Position */ -#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ - -#define SCB_ICSR_RETTOBASE_Pos 11 /*!< SCB ICSR: RETTOBASE Position */ -#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ - -#define SCB_ICSR_VECTACTIVE_Pos 0 /*!< SCB ICSR: VECTACTIVE Position */ -#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL << SCB_ICSR_VECTACTIVE_Pos) /*!< SCB ICSR: VECTACTIVE Mask */ - -/* SCB Vector Table Offset Register Definitions */ -#define SCB_VTOR_TBLOFF_Pos 7 /*!< SCB VTOR: TBLOFF Position */ -#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ - -/* SCB Application Interrupt and Reset Control Register Definitions */ -#define SCB_AIRCR_VECTKEY_Pos 16 /*!< SCB AIRCR: VECTKEY Position */ -#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ - -#define SCB_AIRCR_VECTKEYSTAT_Pos 16 /*!< SCB AIRCR: VECTKEYSTAT Position */ -#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ - -#define SCB_AIRCR_ENDIANESS_Pos 15 /*!< SCB AIRCR: ENDIANESS Position */ -#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ - -#define SCB_AIRCR_PRIGROUP_Pos 8 /*!< SCB AIRCR: PRIGROUP Position */ -#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ - -#define SCB_AIRCR_SYSRESETREQ_Pos 2 /*!< SCB AIRCR: SYSRESETREQ Position */ -#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ - -#define SCB_AIRCR_VECTCLRACTIVE_Pos 1 /*!< SCB AIRCR: VECTCLRACTIVE Position */ -#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ - -#define SCB_AIRCR_VECTRESET_Pos 0 /*!< SCB AIRCR: VECTRESET Position */ -#define SCB_AIRCR_VECTRESET_Msk (1UL << SCB_AIRCR_VECTRESET_Pos) /*!< SCB AIRCR: VECTRESET Mask */ - -/* SCB System Control Register Definitions */ -#define SCB_SCR_SEVONPEND_Pos 4 /*!< SCB SCR: SEVONPEND Position */ -#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ - -#define SCB_SCR_SLEEPDEEP_Pos 2 /*!< SCB SCR: SLEEPDEEP Position */ -#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ - -#define SCB_SCR_SLEEPONEXIT_Pos 1 /*!< SCB SCR: SLEEPONEXIT Position */ -#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ - -/* SCB Configuration Control Register Definitions */ -#define SCB_CCR_BP_Pos 18 /*!< SCB CCR: Branch prediction enable bit Position */ -#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB CCR: Branch prediction enable bit Mask */ - -#define SCB_CCR_IC_Pos 17 /*!< SCB CCR: Instruction cache enable bit Position */ -#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB CCR: Instruction cache enable bit Mask */ - -#define SCB_CCR_DC_Pos 16 /*!< SCB CCR: Cache enable bit Position */ -#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB CCR: Cache enable bit Mask */ - -#define SCB_CCR_STKALIGN_Pos 9 /*!< SCB CCR: STKALIGN Position */ -#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ - -#define SCB_CCR_BFHFNMIGN_Pos 8 /*!< SCB CCR: BFHFNMIGN Position */ -#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ - -#define SCB_CCR_DIV_0_TRP_Pos 4 /*!< SCB CCR: DIV_0_TRP Position */ -#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ - -#define SCB_CCR_UNALIGN_TRP_Pos 3 /*!< SCB CCR: UNALIGN_TRP Position */ -#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ - -#define SCB_CCR_USERSETMPEND_Pos 1 /*!< SCB CCR: USERSETMPEND Position */ -#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ - -#define SCB_CCR_NONBASETHRDENA_Pos 0 /*!< SCB CCR: NONBASETHRDENA Position */ -#define SCB_CCR_NONBASETHRDENA_Msk (1UL << SCB_CCR_NONBASETHRDENA_Pos) /*!< SCB CCR: NONBASETHRDENA Mask */ - -/* SCB System Handler Control and State Register Definitions */ -#define SCB_SHCSR_USGFAULTENA_Pos 18 /*!< SCB SHCSR: USGFAULTENA Position */ -#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ - -#define SCB_SHCSR_BUSFAULTENA_Pos 17 /*!< SCB SHCSR: BUSFAULTENA Position */ -#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ - -#define SCB_SHCSR_MEMFAULTENA_Pos 16 /*!< SCB SHCSR: MEMFAULTENA Position */ -#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ - -#define SCB_SHCSR_SVCALLPENDED_Pos 15 /*!< SCB SHCSR: SVCALLPENDED Position */ -#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ - -#define SCB_SHCSR_BUSFAULTPENDED_Pos 14 /*!< SCB SHCSR: BUSFAULTPENDED Position */ -#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ - -#define SCB_SHCSR_MEMFAULTPENDED_Pos 13 /*!< SCB SHCSR: MEMFAULTPENDED Position */ -#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ - -#define SCB_SHCSR_USGFAULTPENDED_Pos 12 /*!< SCB SHCSR: USGFAULTPENDED Position */ -#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ - -#define SCB_SHCSR_SYSTICKACT_Pos 11 /*!< SCB SHCSR: SYSTICKACT Position */ -#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ - -#define SCB_SHCSR_PENDSVACT_Pos 10 /*!< SCB SHCSR: PENDSVACT Position */ -#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ - -#define SCB_SHCSR_MONITORACT_Pos 8 /*!< SCB SHCSR: MONITORACT Position */ -#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ - -#define SCB_SHCSR_SVCALLACT_Pos 7 /*!< SCB SHCSR: SVCALLACT Position */ -#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ - -#define SCB_SHCSR_USGFAULTACT_Pos 3 /*!< SCB SHCSR: USGFAULTACT Position */ -#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ - -#define SCB_SHCSR_BUSFAULTACT_Pos 1 /*!< SCB SHCSR: BUSFAULTACT Position */ -#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ - -#define SCB_SHCSR_MEMFAULTACT_Pos 0 /*!< SCB SHCSR: MEMFAULTACT Position */ -#define SCB_SHCSR_MEMFAULTACT_Msk (1UL << SCB_SHCSR_MEMFAULTACT_Pos) /*!< SCB SHCSR: MEMFAULTACT Mask */ - -/* SCB Configurable Fault Status Registers Definitions */ -#define SCB_CFSR_USGFAULTSR_Pos 16 /*!< SCB CFSR: Usage Fault Status Register Position */ -#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ - -#define SCB_CFSR_BUSFAULTSR_Pos 8 /*!< SCB CFSR: Bus Fault Status Register Position */ -#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ - -#define SCB_CFSR_MEMFAULTSR_Pos 0 /*!< SCB CFSR: Memory Manage Fault Status Register Position */ -#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL << SCB_CFSR_MEMFAULTSR_Pos) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ - -/* SCB Hard Fault Status Registers Definitions */ -#define SCB_HFSR_DEBUGEVT_Pos 31 /*!< SCB HFSR: DEBUGEVT Position */ -#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ - -#define SCB_HFSR_FORCED_Pos 30 /*!< SCB HFSR: FORCED Position */ -#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ - -#define SCB_HFSR_VECTTBL_Pos 1 /*!< SCB HFSR: VECTTBL Position */ -#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ - -/* SCB Debug Fault Status Register Definitions */ -#define SCB_DFSR_EXTERNAL_Pos 4 /*!< SCB DFSR: EXTERNAL Position */ -#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ - -#define SCB_DFSR_VCATCH_Pos 3 /*!< SCB DFSR: VCATCH Position */ -#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ - -#define SCB_DFSR_DWTTRAP_Pos 2 /*!< SCB DFSR: DWTTRAP Position */ -#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ - -#define SCB_DFSR_BKPT_Pos 1 /*!< SCB DFSR: BKPT Position */ -#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ - -#define SCB_DFSR_HALTED_Pos 0 /*!< SCB DFSR: HALTED Position */ -#define SCB_DFSR_HALTED_Msk (1UL << SCB_DFSR_HALTED_Pos) /*!< SCB DFSR: HALTED Mask */ - -/* Cache Level ID register */ -#define SCB_CLIDR_LOUU_Pos 27 /*!< SCB CLIDR: LoUU Position */ -#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) /*!< SCB CLIDR: LoUU Mask */ - -#define SCB_CLIDR_LOC_Pos 24 /*!< SCB CLIDR: LoC Position */ -#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_FORMAT_Pos) /*!< SCB CLIDR: LoC Mask */ - -/* Cache Type register */ -#define SCB_CTR_FORMAT_Pos 29 /*!< SCB CTR: Format Position */ -#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) /*!< SCB CTR: Format Mask */ - -#define SCB_CTR_CWG_Pos 24 /*!< SCB CTR: CWG Position */ -#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB CTR: CWG Mask */ - -#define SCB_CTR_ERG_Pos 20 /*!< SCB CTR: ERG Position */ -#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) /*!< SCB CTR: ERG Mask */ - -#define SCB_CTR_DMINLINE_Pos 16 /*!< SCB CTR: DminLine Position */ -#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) /*!< SCB CTR: DminLine Mask */ - -#define SCB_CTR_IMINLINE_Pos 0 /*!< SCB CTR: ImInLine Position */ -#define SCB_CTR_IMINLINE_Msk (0xFUL << SCB_CTR_IMINLINE_Pos) /*!< SCB CTR: ImInLine Mask */ - -/* Cache Size ID Register */ -#define SCB_CCSIDR_WT_Pos 31 /*!< SCB CCSIDR: WT Position */ -#define SCB_CCSIDR_WT_Msk (7UL << SCB_CCSIDR_WT_Pos) /*!< SCB CCSIDR: WT Mask */ - -#define SCB_CCSIDR_WB_Pos 30 /*!< SCB CCSIDR: WB Position */ -#define SCB_CCSIDR_WB_Msk (7UL << SCB_CCSIDR_WB_Pos) /*!< SCB CCSIDR: WB Mask */ - -#define SCB_CCSIDR_RA_Pos 29 /*!< SCB CCSIDR: RA Position */ -#define SCB_CCSIDR_RA_Msk (7UL << SCB_CCSIDR_RA_Pos) /*!< SCB CCSIDR: RA Mask */ - -#define SCB_CCSIDR_WA_Pos 28 /*!< SCB CCSIDR: WA Position */ -#define SCB_CCSIDR_WA_Msk (7UL << SCB_CCSIDR_WA_Pos) /*!< SCB CCSIDR: WA Mask */ - -#define SCB_CCSIDR_NUMSETS_Pos 13 /*!< SCB CCSIDR: NumSets Position */ -#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) /*!< SCB CCSIDR: NumSets Mask */ - -#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3 /*!< SCB CCSIDR: Associativity Position */ -#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) /*!< SCB CCSIDR: Associativity Mask */ - -#define SCB_CCSIDR_LINESIZE_Pos 0 /*!< SCB CCSIDR: LineSize Position */ -#define SCB_CCSIDR_LINESIZE_Msk (7UL << SCB_CCSIDR_LINESIZE_Pos) /*!< SCB CCSIDR: LineSize Mask */ - -/* Cache Size Selection Register */ -#define SCB_CSSELR_LEVEL_Pos 0 /*!< SCB CSSELR: Level Position */ -#define SCB_CSSELR_LEVEL_Msk (1UL << SCB_CSSELR_LEVEL_Pos) /*!< SCB CSSELR: Level Mask */ - -#define SCB_CSSELR_IND_Pos 0 /*!< SCB CSSELR: InD Position */ -#define SCB_CSSELR_IND_Msk (1UL << SCB_CSSELR_IND_Pos) /*!< SCB CSSELR: InD Mask */ - -/* SCB Software Triggered Interrupt Register */ -#define SCB_STIR_INTID_Pos 0 /*!< SCB STIR: INTID Position */ -#define SCB_STIR_INTID_Msk (0x1FFUL << SCB_STIR_INTID_Pos) /*!< SCB STIR: INTID Mask */ - -/* Instruction Tightly-Coupled Memory Control Register*/ -#define SCB_ITCMCR_SZ_Pos 3 /*!< SCB ITCMCR: SZ Position */ -#define SCB_ITCMCR_SZ_Msk (0xFUL << SCB_ITCMCR_SZ_Pos) /*!< SCB ITCMCR: SZ Mask */ - -#define SCB_ITCMCR_RETEN_Pos 2 /*!< SCB ITCMCR: RETEN Position */ -#define SCB_ITCMCR_RETEN_Msk (0x1UL << SCB_ITCMCR_RETEN_Pos) /*!< SCB ITCMCR: RETEN Mask */ - -#define SCB_ITCMCR_RMW_Pos 1 /*!< SCB ITCMCR: RMW Position */ -#define SCB_ITCMCR_RMW_Msk (0x1UL << SCB_ITCMCR_RMW_Pos) /*!< SCB ITCMCR: RMW Mask */ - -#define SCB_ITCMCR_EN_Pos 0 /*!< SCB ITCMCR: EN Position */ -#define SCB_ITCMCR_EN_Msk (0x1UL << SCB_ITCMCR_EN_Pos) /*!< SCB ITCMCR: EN Mask */ - -/* Data Tightly-Coupled Memory Control Registers */ -#define SCB_DTCMCR_SZ_Pos 3 /*!< SCB DTCMCR: SZ Position */ -#define SCB_DTCMCR_SZ_Msk (0xFUL << SCB_DTCMCR_SZ_Pos) /*!< SCB DTCMCR: SZ Mask */ - -#define SCB_DTCMCR_RETEN_Pos 2 /*!< SCB DTCMCR: RETEN Position */ -#define SCB_DTCMCR_RETEN_Msk (1UL << SCB_DTCMCR_RETEN_Pos) /*!< SCB DTCMCR: RETEN Mask */ - -#define SCB_DTCMCR_RMW_Pos 1 /*!< SCB DTCMCR: RMW Position */ -#define SCB_DTCMCR_RMW_Msk (1UL << SCB_DTCMCR_RMW_Pos) /*!< SCB DTCMCR: RMW Mask */ - -#define SCB_DTCMCR_EN_Pos 0 /*!< SCB DTCMCR: EN Position */ -#define SCB_DTCMCR_EN_Msk (1UL << SCB_DTCMCR_EN_Pos) /*!< SCB DTCMCR: EN Mask */ - -/* AHBP Control Register */ -#define SCB_AHBPCR_SZ_Pos 1 /*!< SCB AHBPCR: SZ Position */ -#define SCB_AHBPCR_SZ_Msk (7UL << SCB_AHBPCR_SZ_Pos) /*!< SCB AHBPCR: SZ Mask */ - -#define SCB_AHBPCR_EN_Pos 0 /*!< SCB AHBPCR: EN Position */ -#define SCB_AHBPCR_EN_Msk (1UL << SCB_AHBPCR_EN_Pos) /*!< SCB AHBPCR: EN Mask */ - -/* L1 Cache Control Register */ -#define SCB_CACR_FORCEWT_Pos 2 /*!< SCB CACR: FORCEWT Position */ -#define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos) /*!< SCB CACR: FORCEWT Mask */ - -#define SCB_CACR_ECCEN_Pos 1 /*!< SCB CACR: ECCEN Position */ -#define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) /*!< SCB CACR: ECCEN Mask */ - -#define SCB_CACR_SIWT_Pos 0 /*!< SCB CACR: SIWT Position */ -#define SCB_CACR_SIWT_Msk (1UL << SCB_CACR_SIWT_Pos) /*!< SCB CACR: SIWT Mask */ - -/* AHBS control register */ -#define SCB_AHBSCR_INITCOUNT_Pos 11 /*!< SCB AHBSCR: INITCOUNT Position */ -#define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBPCR_INITCOUNT_Pos) /*!< SCB AHBSCR: INITCOUNT Mask */ - -#define SCB_AHBSCR_TPRI_Pos 2 /*!< SCB AHBSCR: TPRI Position */ -#define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) /*!< SCB AHBSCR: TPRI Mask */ - -#define SCB_AHBSCR_CTL_Pos 0 /*!< SCB AHBSCR: CTL Position*/ -#define SCB_AHBSCR_CTL_Msk (3UL << SCB_AHBPCR_CTL_Pos) /*!< SCB AHBSCR: CTL Mask */ - -/* Auxiliary Bus Fault Status Register */ -#define SCB_ABFSR_AXIMTYPE_Pos 8 /*!< SCB ABFSR: AXIMTYPE Position*/ -#define SCB_ABFSR_AXIMTYPE_Msk (3UL << SCB_ABFSR_AXIMTYPE_Pos) /*!< SCB ABFSR: AXIMTYPE Mask */ - -#define SCB_ABFSR_EPPB_Pos 4 /*!< SCB ABFSR: EPPB Position*/ -#define SCB_ABFSR_EPPB_Msk (1UL << SCB_ABFSR_EPPB_Pos) /*!< SCB ABFSR: EPPB Mask */ - -#define SCB_ABFSR_AXIM_Pos 3 /*!< SCB ABFSR: AXIM Position*/ -#define SCB_ABFSR_AXIM_Msk (1UL << SCB_ABFSR_AXIM_Pos) /*!< SCB ABFSR: AXIM Mask */ - -#define SCB_ABFSR_AHBP_Pos 2 /*!< SCB ABFSR: AHBP Position*/ -#define SCB_ABFSR_AHBP_Msk (1UL << SCB_ABFSR_AHBP_Pos) /*!< SCB ABFSR: AHBP Mask */ - -#define SCB_ABFSR_DTCM_Pos 1 /*!< SCB ABFSR: DTCM Position*/ -#define SCB_ABFSR_DTCM_Msk (1UL << SCB_ABFSR_DTCM_Pos) /*!< SCB ABFSR: DTCM Mask */ - -#define SCB_ABFSR_ITCM_Pos 0 /*!< SCB ABFSR: ITCM Position*/ -#define SCB_ABFSR_ITCM_Msk (1UL << SCB_ABFSR_ITCM_Pos) /*!< SCB ABFSR: ITCM Mask */ - -/*@} end of group CMSIS_SCB */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) - \brief Type definitions for the System Control and ID Register not in the SCB - @{ - */ - -/** \brief Structure type to access the System Control and ID Register not in the SCB. - */ -typedef struct -{ - uint32_t RESERVED0[1]; - __I uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Register */ - __IO uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ -} SCnSCB_Type; - -/* Interrupt Controller Type Register Definitions */ -#define SCnSCB_ICTR_INTLINESNUM_Pos 0 /*!< ICTR: INTLINESNUM Position */ -#define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL << SCnSCB_ICTR_INTLINESNUM_Pos) /*!< ICTR: INTLINESNUM Mask */ - -/* Auxiliary Control Register Definitions */ -#define SCnSCB_ACTLR_DISITMATBFLUSH_Pos 12 /*!< ACTLR: DISITMATBFLUSH Position */ -#define SCnSCB_ACTLR_DISITMATBFLUSH_Msk (1UL << SCnSCB_ACTLR_DISITMATBFLUSH_Pos) /*!< ACTLR: DISITMATBFLUSH Mask */ - -#define SCnSCB_ACTLR_DISRAMODE_Pos 11 /*!< ACTLR: DISRAMODE Position */ -#define SCnSCB_ACTLR_DISRAMODE_Msk (1UL << SCnSCB_ACTLR_DISRAMODE_Pos) /*!< ACTLR: DISRAMODE Mask */ - -#define SCnSCB_ACTLR_FPEXCODIS_Pos 10 /*!< ACTLR: FPEXCODIS Position */ -#define SCnSCB_ACTLR_FPEXCODIS_Msk (1UL << SCnSCB_ACTLR_FPEXCODIS_Pos) /*!< ACTLR: FPEXCODIS Mask */ - -#define SCnSCB_ACTLR_DISFOLD_Pos 2 /*!< ACTLR: DISFOLD Position */ -#define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR: DISFOLD Mask */ - -#define SCnSCB_ACTLR_DISMCYCINT_Pos 0 /*!< ACTLR: DISMCYCINT Position */ -#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL << SCnSCB_ACTLR_DISMCYCINT_Pos) /*!< ACTLR: DISMCYCINT Mask */ - -/*@} end of group CMSIS_SCnotSCB */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_SysTick System Tick Timer (SysTick) - \brief Type definitions for the System Timer Registers. - @{ - */ - -/** \brief Structure type to access the System Timer (SysTick). - */ -typedef struct -{ - __IO uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */ - __IO uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ - __IO uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */ - __I uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ -} SysTick_Type; - -/* SysTick Control / Status Register Definitions */ -#define SysTick_CTRL_COUNTFLAG_Pos 16 /*!< SysTick CTRL: COUNTFLAG Position */ -#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ - -#define SysTick_CTRL_CLKSOURCE_Pos 2 /*!< SysTick CTRL: CLKSOURCE Position */ -#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ - -#define SysTick_CTRL_TICKINT_Pos 1 /*!< SysTick CTRL: TICKINT Position */ -#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ - -#define SysTick_CTRL_ENABLE_Pos 0 /*!< SysTick CTRL: ENABLE Position */ -#define SysTick_CTRL_ENABLE_Msk (1UL << SysTick_CTRL_ENABLE_Pos) /*!< SysTick CTRL: ENABLE Mask */ - -/* SysTick Reload Register Definitions */ -#define SysTick_LOAD_RELOAD_Pos 0 /*!< SysTick LOAD: RELOAD Position */ -#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL << SysTick_LOAD_RELOAD_Pos) /*!< SysTick LOAD: RELOAD Mask */ - -/* SysTick Current Register Definitions */ -#define SysTick_VAL_CURRENT_Pos 0 /*!< SysTick VAL: CURRENT Position */ -#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL << SysTick_VAL_CURRENT_Pos) /*!< SysTick VAL: CURRENT Mask */ - -/* SysTick Calibration Register Definitions */ -#define SysTick_CALIB_NOREF_Pos 31 /*!< SysTick CALIB: NOREF Position */ -#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ - -#define SysTick_CALIB_SKEW_Pos 30 /*!< SysTick CALIB: SKEW Position */ -#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ - -#define SysTick_CALIB_TENMS_Pos 0 /*!< SysTick CALIB: TENMS Position */ -#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL << SysTick_CALIB_TENMS_Pos) /*!< SysTick CALIB: TENMS Mask */ - -/*@} end of group CMSIS_SysTick */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) - \brief Type definitions for the Instrumentation Trace Macrocell (ITM) - @{ - */ - -/** \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). - */ -typedef struct -{ - __O union - { - __O uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ - __O uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ - __O uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ - } PORT [32]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ - uint32_t RESERVED0[864]; - __IO uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ - uint32_t RESERVED1[15]; - __IO uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ - uint32_t RESERVED2[15]; - __IO uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ - uint32_t RESERVED3[29]; - __O uint32_t IWR; /*!< Offset: 0xEF8 ( /W) ITM Integration Write Register */ - __I uint32_t IRR; /*!< Offset: 0xEFC (R/ ) ITM Integration Read Register */ - __IO uint32_t IMCR; /*!< Offset: 0xF00 (R/W) ITM Integration Mode Control Register */ - uint32_t RESERVED4[43]; - __O uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ - __I uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ - uint32_t RESERVED5[6]; - __I uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Register #4 */ - __I uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Register #5 */ - __I uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Register #6 */ - __I uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Register #7 */ - __I uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Register #0 */ - __I uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Register #1 */ - __I uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Register #2 */ - __I uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Register #3 */ - __I uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Register #0 */ - __I uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Register #1 */ - __I uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Register #2 */ - __I uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Register #3 */ -} ITM_Type; - -/* ITM Trace Privilege Register Definitions */ -#define ITM_TPR_PRIVMASK_Pos 0 /*!< ITM TPR: PRIVMASK Position */ -#define ITM_TPR_PRIVMASK_Msk (0xFUL << ITM_TPR_PRIVMASK_Pos) /*!< ITM TPR: PRIVMASK Mask */ - -/* ITM Trace Control Register Definitions */ -#define ITM_TCR_BUSY_Pos 23 /*!< ITM TCR: BUSY Position */ -#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ - -#define ITM_TCR_TraceBusID_Pos 16 /*!< ITM TCR: ATBID Position */ -#define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) /*!< ITM TCR: ATBID Mask */ - -#define ITM_TCR_GTSFREQ_Pos 10 /*!< ITM TCR: Global timestamp frequency Position */ -#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM TCR: Global timestamp frequency Mask */ - -#define ITM_TCR_TSPrescale_Pos 8 /*!< ITM TCR: TSPrescale Position */ -#define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) /*!< ITM TCR: TSPrescale Mask */ - -#define ITM_TCR_SWOENA_Pos 4 /*!< ITM TCR: SWOENA Position */ -#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ - -#define ITM_TCR_DWTENA_Pos 3 /*!< ITM TCR: DWTENA Position */ -#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ - -#define ITM_TCR_SYNCENA_Pos 2 /*!< ITM TCR: SYNCENA Position */ -#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ - -#define ITM_TCR_TSENA_Pos 1 /*!< ITM TCR: TSENA Position */ -#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ - -#define ITM_TCR_ITMENA_Pos 0 /*!< ITM TCR: ITM Enable bit Position */ -#define ITM_TCR_ITMENA_Msk (1UL << ITM_TCR_ITMENA_Pos) /*!< ITM TCR: ITM Enable bit Mask */ - -/* ITM Integration Write Register Definitions */ -#define ITM_IWR_ATVALIDM_Pos 0 /*!< ITM IWR: ATVALIDM Position */ -#define ITM_IWR_ATVALIDM_Msk (1UL << ITM_IWR_ATVALIDM_Pos) /*!< ITM IWR: ATVALIDM Mask */ - -/* ITM Integration Read Register Definitions */ -#define ITM_IRR_ATREADYM_Pos 0 /*!< ITM IRR: ATREADYM Position */ -#define ITM_IRR_ATREADYM_Msk (1UL << ITM_IRR_ATREADYM_Pos) /*!< ITM IRR: ATREADYM Mask */ - -/* ITM Integration Mode Control Register Definitions */ -#define ITM_IMCR_INTEGRATION_Pos 0 /*!< ITM IMCR: INTEGRATION Position */ -#define ITM_IMCR_INTEGRATION_Msk (1UL << ITM_IMCR_INTEGRATION_Pos) /*!< ITM IMCR: INTEGRATION Mask */ - -/* ITM Lock Status Register Definitions */ -#define ITM_LSR_ByteAcc_Pos 2 /*!< ITM LSR: ByteAcc Position */ -#define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ - -#define ITM_LSR_Access_Pos 1 /*!< ITM LSR: Access Position */ -#define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ - -#define ITM_LSR_Present_Pos 0 /*!< ITM LSR: Present Position */ -#define ITM_LSR_Present_Msk (1UL << ITM_LSR_Present_Pos) /*!< ITM LSR: Present Mask */ - -/*@}*/ /* end of group CMSIS_ITM */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) - \brief Type definitions for the Data Watchpoint and Trace (DWT) - @{ - */ - -/** \brief Structure type to access the Data Watchpoint and Trace Register (DWT). - */ -typedef struct -{ - __IO uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ - __IO uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ - __IO uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ - __IO uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ - __IO uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ - __IO uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ - __IO uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ - __I uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ - __IO uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ - __IO uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */ - __IO uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ - uint32_t RESERVED0[1]; - __IO uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ - __IO uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */ - __IO uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ - uint32_t RESERVED1[1]; - __IO uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ - __IO uint32_t MASK2; /*!< Offset: 0x044 (R/W) Mask Register 2 */ - __IO uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ - uint32_t RESERVED2[1]; - __IO uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ - __IO uint32_t MASK3; /*!< Offset: 0x054 (R/W) Mask Register 3 */ - __IO uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ - uint32_t RESERVED3[981]; - __O uint32_t LAR; /*!< Offset: 0xFB0 ( W) Lock Access Register */ - __I uint32_t LSR; /*!< Offset: 0xFB4 (R ) Lock Status Register */ -} DWT_Type; - -/* DWT Control Register Definitions */ -#define DWT_CTRL_NUMCOMP_Pos 28 /*!< DWT CTRL: NUMCOMP Position */ -#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTRL: NUMCOMP Mask */ - -#define DWT_CTRL_NOTRCPKT_Pos 27 /*!< DWT CTRL: NOTRCPKT Position */ -#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTRL: NOTRCPKT Mask */ - -#define DWT_CTRL_NOEXTTRIG_Pos 26 /*!< DWT CTRL: NOEXTTRIG Position */ -#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTRL: NOEXTTRIG Mask */ - -#define DWT_CTRL_NOCYCCNT_Pos 25 /*!< DWT CTRL: NOCYCCNT Position */ -#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTRL: NOCYCCNT Mask */ - -#define DWT_CTRL_NOPRFCNT_Pos 24 /*!< DWT CTRL: NOPRFCNT Position */ -#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTRL: NOPRFCNT Mask */ - -#define DWT_CTRL_CYCEVTENA_Pos 22 /*!< DWT CTRL: CYCEVTENA Position */ -#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTRL: CYCEVTENA Mask */ - -#define DWT_CTRL_FOLDEVTENA_Pos 21 /*!< DWT CTRL: FOLDEVTENA Position */ -#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTRL: FOLDEVTENA Mask */ - -#define DWT_CTRL_LSUEVTENA_Pos 20 /*!< DWT CTRL: LSUEVTENA Position */ -#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTRL: LSUEVTENA Mask */ - -#define DWT_CTRL_SLEEPEVTENA_Pos 19 /*!< DWT CTRL: SLEEPEVTENA Position */ -#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTRL: SLEEPEVTENA Mask */ - -#define DWT_CTRL_EXCEVTENA_Pos 18 /*!< DWT CTRL: EXCEVTENA Position */ -#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTRL: EXCEVTENA Mask */ - -#define DWT_CTRL_CPIEVTENA_Pos 17 /*!< DWT CTRL: CPIEVTENA Position */ -#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTRL: CPIEVTENA Mask */ - -#define DWT_CTRL_EXCTRCENA_Pos 16 /*!< DWT CTRL: EXCTRCENA Position */ -#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTRL: EXCTRCENA Mask */ - -#define DWT_CTRL_PCSAMPLENA_Pos 12 /*!< DWT CTRL: PCSAMPLENA Position */ -#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTRL: PCSAMPLENA Mask */ - -#define DWT_CTRL_SYNCTAP_Pos 10 /*!< DWT CTRL: SYNCTAP Position */ -#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTRL: SYNCTAP Mask */ - -#define DWT_CTRL_CYCTAP_Pos 9 /*!< DWT CTRL: CYCTAP Position */ -#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTRL: CYCTAP Mask */ - -#define DWT_CTRL_POSTINIT_Pos 5 /*!< DWT CTRL: POSTINIT Position */ -#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTRL: POSTINIT Mask */ - -#define DWT_CTRL_POSTPRESET_Pos 1 /*!< DWT CTRL: POSTPRESET Position */ -#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTRL: POSTPRESET Mask */ - -#define DWT_CTRL_CYCCNTENA_Pos 0 /*!< DWT CTRL: CYCCNTENA Position */ -#define DWT_CTRL_CYCCNTENA_Msk (0x1UL << DWT_CTRL_CYCCNTENA_Pos) /*!< DWT CTRL: CYCCNTENA Mask */ - -/* DWT CPI Count Register Definitions */ -#define DWT_CPICNT_CPICNT_Pos 0 /*!< DWT CPICNT: CPICNT Position */ -#define DWT_CPICNT_CPICNT_Msk (0xFFUL << DWT_CPICNT_CPICNT_Pos) /*!< DWT CPICNT: CPICNT Mask */ - -/* DWT Exception Overhead Count Register Definitions */ -#define DWT_EXCCNT_EXCCNT_Pos 0 /*!< DWT EXCCNT: EXCCNT Position */ -#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL << DWT_EXCCNT_EXCCNT_Pos) /*!< DWT EXCCNT: EXCCNT Mask */ - -/* DWT Sleep Count Register Definitions */ -#define DWT_SLEEPCNT_SLEEPCNT_Pos 0 /*!< DWT SLEEPCNT: SLEEPCNT Position */ -#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL << DWT_SLEEPCNT_SLEEPCNT_Pos) /*!< DWT SLEEPCNT: SLEEPCNT Mask */ - -/* DWT LSU Count Register Definitions */ -#define DWT_LSUCNT_LSUCNT_Pos 0 /*!< DWT LSUCNT: LSUCNT Position */ -#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL << DWT_LSUCNT_LSUCNT_Pos) /*!< DWT LSUCNT: LSUCNT Mask */ - -/* DWT Folded-instruction Count Register Definitions */ -#define DWT_FOLDCNT_FOLDCNT_Pos 0 /*!< DWT FOLDCNT: FOLDCNT Position */ -#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL << DWT_FOLDCNT_FOLDCNT_Pos) /*!< DWT FOLDCNT: FOLDCNT Mask */ - -/* DWT Comparator Mask Register Definitions */ -#define DWT_MASK_MASK_Pos 0 /*!< DWT MASK: MASK Position */ -#define DWT_MASK_MASK_Msk (0x1FUL << DWT_MASK_MASK_Pos) /*!< DWT MASK: MASK Mask */ - -/* DWT Comparator Function Register Definitions */ -#define DWT_FUNCTION_MATCHED_Pos 24 /*!< DWT FUNCTION: MATCHED Position */ -#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUNCTION: MATCHED Mask */ - -#define DWT_FUNCTION_DATAVADDR1_Pos 16 /*!< DWT FUNCTION: DATAVADDR1 Position */ -#define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) /*!< DWT FUNCTION: DATAVADDR1 Mask */ - -#define DWT_FUNCTION_DATAVADDR0_Pos 12 /*!< DWT FUNCTION: DATAVADDR0 Position */ -#define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) /*!< DWT FUNCTION: DATAVADDR0 Mask */ - -#define DWT_FUNCTION_DATAVSIZE_Pos 10 /*!< DWT FUNCTION: DATAVSIZE Position */ -#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUNCTION: DATAVSIZE Mask */ - -#define DWT_FUNCTION_LNK1ENA_Pos 9 /*!< DWT FUNCTION: LNK1ENA Position */ -#define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) /*!< DWT FUNCTION: LNK1ENA Mask */ - -#define DWT_FUNCTION_DATAVMATCH_Pos 8 /*!< DWT FUNCTION: DATAVMATCH Position */ -#define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) /*!< DWT FUNCTION: DATAVMATCH Mask */ - -#define DWT_FUNCTION_CYCMATCH_Pos 7 /*!< DWT FUNCTION: CYCMATCH Position */ -#define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) /*!< DWT FUNCTION: CYCMATCH Mask */ - -#define DWT_FUNCTION_EMITRANGE_Pos 5 /*!< DWT FUNCTION: EMITRANGE Position */ -#define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) /*!< DWT FUNCTION: EMITRANGE Mask */ - -#define DWT_FUNCTION_FUNCTION_Pos 0 /*!< DWT FUNCTION: FUNCTION Position */ -#define DWT_FUNCTION_FUNCTION_Msk (0xFUL << DWT_FUNCTION_FUNCTION_Pos) /*!< DWT FUNCTION: FUNCTION Mask */ - -/*@}*/ /* end of group CMSIS_DWT */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_TPI Trace Port Interface (TPI) - \brief Type definitions for the Trace Port Interface (TPI) - @{ - */ - -/** \brief Structure type to access the Trace Port Interface Register (TPI). - */ -typedef struct -{ - __IO uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Register */ - __IO uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Register */ - uint32_t RESERVED0[2]; - __IO uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Register */ - uint32_t RESERVED1[55]; - __IO uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register */ - uint32_t RESERVED2[131]; - __I uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Register */ - __IO uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Register */ - __I uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counter Register */ - uint32_t RESERVED3[759]; - __I uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER */ - __I uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */ - __I uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */ - uint32_t RESERVED4[1]; - __I uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ - __I uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ - __IO uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ - uint32_t RESERVED5[39]; - __IO uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ - __IO uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ - uint32_t RESERVED7[8]; - __I uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */ - __I uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */ -} TPI_Type; - -/* TPI Asynchronous Clock Prescaler Register Definitions */ -#define TPI_ACPR_PRESCALER_Pos 0 /*!< TPI ACPR: PRESCALER Position */ -#define TPI_ACPR_PRESCALER_Msk (0x1FFFUL << TPI_ACPR_PRESCALER_Pos) /*!< TPI ACPR: PRESCALER Mask */ - -/* TPI Selected Pin Protocol Register Definitions */ -#define TPI_SPPR_TXMODE_Pos 0 /*!< TPI SPPR: TXMODE Position */ -#define TPI_SPPR_TXMODE_Msk (0x3UL << TPI_SPPR_TXMODE_Pos) /*!< TPI SPPR: TXMODE Mask */ - -/* TPI Formatter and Flush Status Register Definitions */ -#define TPI_FFSR_FtNonStop_Pos 3 /*!< TPI FFSR: FtNonStop Position */ -#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFSR: FtNonStop Mask */ - -#define TPI_FFSR_TCPresent_Pos 2 /*!< TPI FFSR: TCPresent Position */ -#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFSR: TCPresent Mask */ - -#define TPI_FFSR_FtStopped_Pos 1 /*!< TPI FFSR: FtStopped Position */ -#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFSR: FtStopped Mask */ - -#define TPI_FFSR_FlInProg_Pos 0 /*!< TPI FFSR: FlInProg Position */ -#define TPI_FFSR_FlInProg_Msk (0x1UL << TPI_FFSR_FlInProg_Pos) /*!< TPI FFSR: FlInProg Mask */ - -/* TPI Formatter and Flush Control Register Definitions */ -#define TPI_FFCR_TrigIn_Pos 8 /*!< TPI FFCR: TrigIn Position */ -#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFCR: TrigIn Mask */ - -#define TPI_FFCR_EnFCont_Pos 1 /*!< TPI FFCR: EnFCont Position */ -#define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFCR: EnFCont Mask */ - -/* TPI TRIGGER Register Definitions */ -#define TPI_TRIGGER_TRIGGER_Pos 0 /*!< TPI TRIGGER: TRIGGER Position */ -#define TPI_TRIGGER_TRIGGER_Msk (0x1UL << TPI_TRIGGER_TRIGGER_Pos) /*!< TPI TRIGGER: TRIGGER Mask */ - -/* TPI Integration ETM Data Register Definitions (FIFO0) */ -#define TPI_FIFO0_ITM_ATVALID_Pos 29 /*!< TPI FIFO0: ITM_ATVALID Position */ -#define TPI_FIFO0_ITM_ATVALID_Msk (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIFO0: ITM_ATVALID Mask */ - -#define TPI_FIFO0_ITM_bytecount_Pos 27 /*!< TPI FIFO0: ITM_bytecount Position */ -#define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIFO0: ITM_bytecount Mask */ - -#define TPI_FIFO0_ETM_ATVALID_Pos 26 /*!< TPI FIFO0: ETM_ATVALID Position */ -#define TPI_FIFO0_ETM_ATVALID_Msk (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIFO0: ETM_ATVALID Mask */ - -#define TPI_FIFO0_ETM_bytecount_Pos 24 /*!< TPI FIFO0: ETM_bytecount Position */ -#define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIFO0: ETM_bytecount Mask */ - -#define TPI_FIFO0_ETM2_Pos 16 /*!< TPI FIFO0: ETM2 Position */ -#define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIFO0: ETM2 Mask */ - -#define TPI_FIFO0_ETM1_Pos 8 /*!< TPI FIFO0: ETM1 Position */ -#define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIFO0: ETM1 Mask */ - -#define TPI_FIFO0_ETM0_Pos 0 /*!< TPI FIFO0: ETM0 Position */ -#define TPI_FIFO0_ETM0_Msk (0xFFUL << TPI_FIFO0_ETM0_Pos) /*!< TPI FIFO0: ETM0 Mask */ - -/* TPI ITATBCTR2 Register Definitions */ -#define TPI_ITATBCTR2_ATREADY_Pos 0 /*!< TPI ITATBCTR2: ATREADY Position */ -#define TPI_ITATBCTR2_ATREADY_Msk (0x1UL << TPI_ITATBCTR2_ATREADY_Pos) /*!< TPI ITATBCTR2: ATREADY Mask */ - -/* TPI Integration ITM Data Register Definitions (FIFO1) */ -#define TPI_FIFO1_ITM_ATVALID_Pos 29 /*!< TPI FIFO1: ITM_ATVALID Position */ -#define TPI_FIFO1_ITM_ATVALID_Msk (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIFO1: ITM_ATVALID Mask */ - -#define TPI_FIFO1_ITM_bytecount_Pos 27 /*!< TPI FIFO1: ITM_bytecount Position */ -#define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIFO1: ITM_bytecount Mask */ - -#define TPI_FIFO1_ETM_ATVALID_Pos 26 /*!< TPI FIFO1: ETM_ATVALID Position */ -#define TPI_FIFO1_ETM_ATVALID_Msk (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIFO1: ETM_ATVALID Mask */ - -#define TPI_FIFO1_ETM_bytecount_Pos 24 /*!< TPI FIFO1: ETM_bytecount Position */ -#define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIFO1: ETM_bytecount Mask */ - -#define TPI_FIFO1_ITM2_Pos 16 /*!< TPI FIFO1: ITM2 Position */ -#define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIFO1: ITM2 Mask */ - -#define TPI_FIFO1_ITM1_Pos 8 /*!< TPI FIFO1: ITM1 Position */ -#define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIFO1: ITM1 Mask */ - -#define TPI_FIFO1_ITM0_Pos 0 /*!< TPI FIFO1: ITM0 Position */ -#define TPI_FIFO1_ITM0_Msk (0xFFUL << TPI_FIFO1_ITM0_Pos) /*!< TPI FIFO1: ITM0 Mask */ - -/* TPI ITATBCTR0 Register Definitions */ -#define TPI_ITATBCTR0_ATREADY_Pos 0 /*!< TPI ITATBCTR0: ATREADY Position */ -#define TPI_ITATBCTR0_ATREADY_Msk (0x1UL << TPI_ITATBCTR0_ATREADY_Pos) /*!< TPI ITATBCTR0: ATREADY Mask */ - -/* TPI Integration Mode Control Register Definitions */ -#define TPI_ITCTRL_Mode_Pos 0 /*!< TPI ITCTRL: Mode Position */ -#define TPI_ITCTRL_Mode_Msk (0x1UL << TPI_ITCTRL_Mode_Pos) /*!< TPI ITCTRL: Mode Mask */ - -/* TPI DEVID Register Definitions */ -#define TPI_DEVID_NRZVALID_Pos 11 /*!< TPI DEVID: NRZVALID Position */ -#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEVID: NRZVALID Mask */ - -#define TPI_DEVID_MANCVALID_Pos 10 /*!< TPI DEVID: MANCVALID Position */ -#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEVID: MANCVALID Mask */ - -#define TPI_DEVID_PTINVALID_Pos 9 /*!< TPI DEVID: PTINVALID Position */ -#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEVID: PTINVALID Mask */ - -#define TPI_DEVID_MinBufSz_Pos 6 /*!< TPI DEVID: MinBufSz Position */ -#define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEVID: MinBufSz Mask */ - -#define TPI_DEVID_AsynClkIn_Pos 5 /*!< TPI DEVID: AsynClkIn Position */ -#define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEVID: AsynClkIn Mask */ - -#define TPI_DEVID_NrTraceInput_Pos 0 /*!< TPI DEVID: NrTraceInput Position */ -#define TPI_DEVID_NrTraceInput_Msk (0x1FUL << TPI_DEVID_NrTraceInput_Pos) /*!< TPI DEVID: NrTraceInput Mask */ - -/* TPI DEVTYPE Register Definitions */ -#define TPI_DEVTYPE_SubType_Pos 0 /*!< TPI DEVTYPE: SubType Position */ -#define TPI_DEVTYPE_SubType_Msk (0xFUL << TPI_DEVTYPE_SubType_Pos) /*!< TPI DEVTYPE: SubType Mask */ - -#define TPI_DEVTYPE_MajorType_Pos 4 /*!< TPI DEVTYPE: MajorType Position */ -#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEVTYPE: MajorType Mask */ - -/*@}*/ /* end of group CMSIS_TPI */ - - -#if (__MPU_PRESENT == 1) -/** \ingroup CMSIS_core_register - \defgroup CMSIS_MPU Memory Protection Unit (MPU) - \brief Type definitions for the Memory Protection Unit (MPU) - @{ - */ - -/** \brief Structure type to access the Memory Protection Unit (MPU). - */ -typedef struct -{ - __I uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ - __IO uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ - __IO uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ - __IO uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */ - __IO uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */ - __IO uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Alias 1 Region Base Address Register */ - __IO uint32_t RASR_A1; /*!< Offset: 0x018 (R/W) MPU Alias 1 Region Attribute and Size Register */ - __IO uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Alias 2 Region Base Address Register */ - __IO uint32_t RASR_A2; /*!< Offset: 0x020 (R/W) MPU Alias 2 Region Attribute and Size Register */ - __IO uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Alias 3 Region Base Address Register */ - __IO uint32_t RASR_A3; /*!< Offset: 0x028 (R/W) MPU Alias 3 Region Attribute and Size Register */ -} MPU_Type; - -/* MPU Type Register */ -#define MPU_TYPE_IREGION_Pos 16 /*!< MPU TYPE: IREGION Position */ -#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ - -#define MPU_TYPE_DREGION_Pos 8 /*!< MPU TYPE: DREGION Position */ -#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ - -#define MPU_TYPE_SEPARATE_Pos 0 /*!< MPU TYPE: SEPARATE Position */ -#define MPU_TYPE_SEPARATE_Msk (1UL << MPU_TYPE_SEPARATE_Pos) /*!< MPU TYPE: SEPARATE Mask */ - -/* MPU Control Register */ -#define MPU_CTRL_PRIVDEFENA_Pos 2 /*!< MPU CTRL: PRIVDEFENA Position */ -#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ - -#define MPU_CTRL_HFNMIENA_Pos 1 /*!< MPU CTRL: HFNMIENA Position */ -#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ - -#define MPU_CTRL_ENABLE_Pos 0 /*!< MPU CTRL: ENABLE Position */ -#define MPU_CTRL_ENABLE_Msk (1UL << MPU_CTRL_ENABLE_Pos) /*!< MPU CTRL: ENABLE Mask */ - -/* MPU Region Number Register */ -#define MPU_RNR_REGION_Pos 0 /*!< MPU RNR: REGION Position */ -#define MPU_RNR_REGION_Msk (0xFFUL << MPU_RNR_REGION_Pos) /*!< MPU RNR: REGION Mask */ - -/* MPU Region Base Address Register */ -#define MPU_RBAR_ADDR_Pos 5 /*!< MPU RBAR: ADDR Position */ -#define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ - -#define MPU_RBAR_VALID_Pos 4 /*!< MPU RBAR: VALID Position */ -#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ - -#define MPU_RBAR_REGION_Pos 0 /*!< MPU RBAR: REGION Position */ -#define MPU_RBAR_REGION_Msk (0xFUL << MPU_RBAR_REGION_Pos) /*!< MPU RBAR: REGION Mask */ - -/* MPU Region Attribute and Size Register */ -#define MPU_RASR_ATTRS_Pos 16 /*!< MPU RASR: MPU Region Attribute field Position */ -#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */ - -#define MPU_RASR_XN_Pos 28 /*!< MPU RASR: ATTRS.XN Position */ -#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */ - -#define MPU_RASR_AP_Pos 24 /*!< MPU RASR: ATTRS.AP Position */ -#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */ - -#define MPU_RASR_TEX_Pos 19 /*!< MPU RASR: ATTRS.TEX Position */ -#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */ - -#define MPU_RASR_S_Pos 18 /*!< MPU RASR: ATTRS.S Position */ -#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */ - -#define MPU_RASR_C_Pos 17 /*!< MPU RASR: ATTRS.C Position */ -#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */ - -#define MPU_RASR_B_Pos 16 /*!< MPU RASR: ATTRS.B Position */ -#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */ - -#define MPU_RASR_SRD_Pos 8 /*!< MPU RASR: Sub-Region Disable Position */ -#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ - -#define MPU_RASR_SIZE_Pos 1 /*!< MPU RASR: Region Size Field Position */ -#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ - -#define MPU_RASR_ENABLE_Pos 0 /*!< MPU RASR: Region enable bit Position */ -#define MPU_RASR_ENABLE_Msk (1UL << MPU_RASR_ENABLE_Pos) /*!< MPU RASR: Region enable bit Disable Mask */ - -/*@} end of group CMSIS_MPU */ -#endif - - -#if (__FPU_PRESENT == 1) -/** \ingroup CMSIS_core_register - \defgroup CMSIS_FPU Floating Point Unit (FPU) - \brief Type definitions for the Floating Point Unit (FPU) - @{ - */ - -/** \brief Structure type to access the Floating Point Unit (FPU). - */ -typedef struct -{ - uint32_t RESERVED0[1]; - __IO uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control Register */ - __IO uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address Register */ - __IO uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Control Register */ - __I uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 */ - __I uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 */ - __I uint32_t MVFR2; /*!< Offset: 0x018 (R/ ) Media and FP Feature Register 2 */ -} FPU_Type; - -/* Floating-Point Context Control Register */ -#define FPU_FPCCR_ASPEN_Pos 31 /*!< FPCCR: ASPEN bit Position */ -#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCCR: ASPEN bit Mask */ - -#define FPU_FPCCR_LSPEN_Pos 30 /*!< FPCCR: LSPEN Position */ -#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCCR: LSPEN bit Mask */ - -#define FPU_FPCCR_MONRDY_Pos 8 /*!< FPCCR: MONRDY Position */ -#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCCR: MONRDY bit Mask */ - -#define FPU_FPCCR_BFRDY_Pos 6 /*!< FPCCR: BFRDY Position */ -#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCCR: BFRDY bit Mask */ - -#define FPU_FPCCR_MMRDY_Pos 5 /*!< FPCCR: MMRDY Position */ -#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCCR: MMRDY bit Mask */ - -#define FPU_FPCCR_HFRDY_Pos 4 /*!< FPCCR: HFRDY Position */ -#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCCR: HFRDY bit Mask */ - -#define FPU_FPCCR_THREAD_Pos 3 /*!< FPCCR: processor mode bit Position */ -#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCCR: processor mode active bit Mask */ - -#define FPU_FPCCR_USER_Pos 1 /*!< FPCCR: privilege level bit Position */ -#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCCR: privilege level bit Mask */ - -#define FPU_FPCCR_LSPACT_Pos 0 /*!< FPCCR: Lazy state preservation active bit Position */ -#define FPU_FPCCR_LSPACT_Msk (1UL << FPU_FPCCR_LSPACT_Pos) /*!< FPCCR: Lazy state preservation active bit Mask */ - -/* Floating-Point Context Address Register */ -#define FPU_FPCAR_ADDRESS_Pos 3 /*!< FPCAR: ADDRESS bit Position */ -#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCAR: ADDRESS bit Mask */ - -/* Floating-Point Default Status Control Register */ -#define FPU_FPDSCR_AHP_Pos 26 /*!< FPDSCR: AHP bit Position */ -#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDSCR: AHP bit Mask */ - -#define FPU_FPDSCR_DN_Pos 25 /*!< FPDSCR: DN bit Position */ -#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDSCR: DN bit Mask */ - -#define FPU_FPDSCR_FZ_Pos 24 /*!< FPDSCR: FZ bit Position */ -#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDSCR: FZ bit Mask */ - -#define FPU_FPDSCR_RMode_Pos 22 /*!< FPDSCR: RMode bit Position */ -#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDSCR: RMode bit Mask */ - -/* Media and FP Feature Register 0 */ -#define FPU_MVFR0_FP_rounding_modes_Pos 28 /*!< MVFR0: FP rounding modes bits Position */ -#define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR0: FP rounding modes bits Mask */ - -#define FPU_MVFR0_Short_vectors_Pos 24 /*!< MVFR0: Short vectors bits Position */ -#define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR0: Short vectors bits Mask */ - -#define FPU_MVFR0_Square_root_Pos 20 /*!< MVFR0: Square root bits Position */ -#define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR0: Square root bits Mask */ - -#define FPU_MVFR0_Divide_Pos 16 /*!< MVFR0: Divide bits Position */ -#define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR0: Divide bits Mask */ - -#define FPU_MVFR0_FP_excep_trapping_Pos 12 /*!< MVFR0: FP exception trapping bits Position */ -#define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR0: FP exception trapping bits Mask */ - -#define FPU_MVFR0_Double_precision_Pos 8 /*!< MVFR0: Double-precision bits Position */ -#define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR0: Double-precision bits Mask */ - -#define FPU_MVFR0_Single_precision_Pos 4 /*!< MVFR0: Single-precision bits Position */ -#define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR0: Single-precision bits Mask */ - -#define FPU_MVFR0_A_SIMD_registers_Pos 0 /*!< MVFR0: A_SIMD registers bits Position */ -#define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL << FPU_MVFR0_A_SIMD_registers_Pos) /*!< MVFR0: A_SIMD registers bits Mask */ - -/* Media and FP Feature Register 1 */ -#define FPU_MVFR1_FP_fused_MAC_Pos 28 /*!< MVFR1: FP fused MAC bits Position */ -#define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR1: FP fused MAC bits Mask */ - -#define FPU_MVFR1_FP_HPFP_Pos 24 /*!< MVFR1: FP HPFP bits Position */ -#define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR1: FP HPFP bits Mask */ - -#define FPU_MVFR1_D_NaN_mode_Pos 4 /*!< MVFR1: D_NaN mode bits Position */ -#define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR1: D_NaN mode bits Mask */ - -#define FPU_MVFR1_FtZ_mode_Pos 0 /*!< MVFR1: FtZ mode bits Position */ -#define FPU_MVFR1_FtZ_mode_Msk (0xFUL << FPU_MVFR1_FtZ_mode_Pos) /*!< MVFR1: FtZ mode bits Mask */ - -/* Media and FP Feature Register 2 */ - -/*@} end of group CMSIS_FPU */ -#endif - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) - \brief Type definitions for the Core Debug Registers - @{ - */ - -/** \brief Structure type to access the Core Debug Register (CoreDebug). - */ -typedef struct -{ - __IO uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status Register */ - __O uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Register */ - __IO uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Register */ - __IO uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Control Register */ -} CoreDebug_Type; - -/* Debug Halting Control and Status Register */ -#define CoreDebug_DHCSR_DBGKEY_Pos 16 /*!< CoreDebug DHCSR: DBGKEY Position */ -#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ - -#define CoreDebug_DHCSR_S_RESET_ST_Pos 25 /*!< CoreDebug DHCSR: S_RESET_ST Position */ -#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ - -#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24 /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ -#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ - -#define CoreDebug_DHCSR_S_LOCKUP_Pos 19 /*!< CoreDebug DHCSR: S_LOCKUP Position */ -#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ - -#define CoreDebug_DHCSR_S_SLEEP_Pos 18 /*!< CoreDebug DHCSR: S_SLEEP Position */ -#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ - -#define CoreDebug_DHCSR_S_HALT_Pos 17 /*!< CoreDebug DHCSR: S_HALT Position */ -#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ - -#define CoreDebug_DHCSR_S_REGRDY_Pos 16 /*!< CoreDebug DHCSR: S_REGRDY Position */ -#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ - -#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5 /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ -#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ - -#define CoreDebug_DHCSR_C_MASKINTS_Pos 3 /*!< CoreDebug DHCSR: C_MASKINTS Position */ -#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ - -#define CoreDebug_DHCSR_C_STEP_Pos 2 /*!< CoreDebug DHCSR: C_STEP Position */ -#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ - -#define CoreDebug_DHCSR_C_HALT_Pos 1 /*!< CoreDebug DHCSR: C_HALT Position */ -#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ - -#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0 /*!< CoreDebug DHCSR: C_DEBUGEN Position */ -#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL << CoreDebug_DHCSR_C_DEBUGEN_Pos) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ - -/* Debug Core Register Selector Register */ -#define CoreDebug_DCRSR_REGWnR_Pos 16 /*!< CoreDebug DCRSR: REGWnR Position */ -#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ - -#define CoreDebug_DCRSR_REGSEL_Pos 0 /*!< CoreDebug DCRSR: REGSEL Position */ -#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL << CoreDebug_DCRSR_REGSEL_Pos) /*!< CoreDebug DCRSR: REGSEL Mask */ - -/* Debug Exception and Monitor Control Register */ -#define CoreDebug_DEMCR_TRCENA_Pos 24 /*!< CoreDebug DEMCR: TRCENA Position */ -#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ - -#define CoreDebug_DEMCR_MON_REQ_Pos 19 /*!< CoreDebug DEMCR: MON_REQ Position */ -#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ - -#define CoreDebug_DEMCR_MON_STEP_Pos 18 /*!< CoreDebug DEMCR: MON_STEP Position */ -#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ - -#define CoreDebug_DEMCR_MON_PEND_Pos 17 /*!< CoreDebug DEMCR: MON_PEND Position */ -#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ - -#define CoreDebug_DEMCR_MON_EN_Pos 16 /*!< CoreDebug DEMCR: MON_EN Position */ -#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ - -#define CoreDebug_DEMCR_VC_HARDERR_Pos 10 /*!< CoreDebug DEMCR: VC_HARDERR Position */ -#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ - -#define CoreDebug_DEMCR_VC_INTERR_Pos 9 /*!< CoreDebug DEMCR: VC_INTERR Position */ -#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ - -#define CoreDebug_DEMCR_VC_BUSERR_Pos 8 /*!< CoreDebug DEMCR: VC_BUSERR Position */ -#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ - -#define CoreDebug_DEMCR_VC_STATERR_Pos 7 /*!< CoreDebug DEMCR: VC_STATERR Position */ -#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ - -#define CoreDebug_DEMCR_VC_CHKERR_Pos 6 /*!< CoreDebug DEMCR: VC_CHKERR Position */ -#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ - -#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5 /*!< CoreDebug DEMCR: VC_NOCPERR Position */ -#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ - -#define CoreDebug_DEMCR_VC_MMERR_Pos 4 /*!< CoreDebug DEMCR: VC_MMERR Position */ -#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ - -#define CoreDebug_DEMCR_VC_CORERESET_Pos 0 /*!< CoreDebug DEMCR: VC_CORERESET Position */ -#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL << CoreDebug_DEMCR_VC_CORERESET_Pos) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ - -/*@} end of group CMSIS_CoreDebug */ - - -/** \ingroup CMSIS_core_register - \defgroup CMSIS_core_base Core Definitions - \brief Definitions for base addresses, unions, and structures. - @{ - */ - -/* Memory mapping of Cortex-M4 Hardware */ -#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */ -#define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ -#define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ -#define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ -#define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address */ -#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ -#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ -#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */ - -#define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register not in SCB */ -#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */ -#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */ -#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */ -#define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct */ -#define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct */ -#define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct */ -#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration struct */ - -#if (__MPU_PRESENT == 1) - #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */ - #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ -#endif - -#if (__FPU_PRESENT == 1) - #define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ - #define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ -#endif - -/*@} */ - - - -/******************************************************************************* - * Hardware Abstraction Layer - Core Function Interface contains: - - Core NVIC Functions - - Core SysTick Functions - - Core Debug Functions - - Core Register Access Functions - ******************************************************************************/ -/** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference -*/ - - - -/* ########################## NVIC functions #################################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_NVICFunctions NVIC Functions - \brief Functions that manage interrupts and exceptions via the NVIC. - @{ - */ - -/** \brief Set Priority Grouping - - The function sets the priority grouping field using the required unlock sequence. - The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. - Only values from 0..7 are used. - In case of a conflict between priority grouping and available - priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. - - \param [in] PriorityGroup Priority grouping field. - */ -__STATIC_INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) -{ - uint32_t reg_value; - uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07); /* only values 0..7 are used */ - - reg_value = SCB->AIRCR; /* read old register configuration */ - reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk); /* clear bits to change */ - reg_value = (reg_value | - ((uint32_t)0x5FA << SCB_AIRCR_VECTKEY_Pos) | - (PriorityGroupTmp << 8)); /* Insert write key and priorty group */ - SCB->AIRCR = reg_value; -} - - -/** \brief Get Priority Grouping - - The function reads the priority grouping field from the NVIC Interrupt Controller. - - \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). - */ -__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping(void) -{ - return ((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos); /* read priority grouping field */ -} - - -/** \brief Enable External Interrupt - - The function enables a device-specific interrupt in the NVIC interrupt controller. - - \param [in] IRQn External interrupt number. Value cannot be negative. - */ -__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn) -{ -/* NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); enable interrupt */ - NVIC->ISER[(uint32_t)((int32_t)IRQn) >> 5] = (uint32_t)(1 << ((uint32_t)((int32_t)IRQn) & (uint32_t)0x1F)); /* enable interrupt */ -} - - -/** \brief Disable External Interrupt - - The function disables a device-specific interrupt in the NVIC interrupt controller. - - \param [in] IRQn External interrupt number. Value cannot be negative. - */ -__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn) -{ - NVIC->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* disable interrupt */ -} - - -/** \brief Get Pending Interrupt - - The function reads the pending register in the NVIC and returns the pending bit - for the specified interrupt. - - \param [in] IRQn Interrupt number. - - \return 0 Interrupt status is not pending. - \return 1 Interrupt status is pending. - */ -__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) -{ - return((uint32_t) ((NVIC->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if pending else 0 */ -} - - -/** \brief Set Pending Interrupt - - The function sets the pending bit of an external interrupt. - - \param [in] IRQn Interrupt number. Value cannot be negative. - */ -__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn) -{ - NVIC->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* set interrupt pending */ -} - - -/** \brief Clear Pending Interrupt - - The function clears the pending bit of an external interrupt. - - \param [in] IRQn External interrupt number. Value cannot be negative. - */ -__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn) -{ - NVIC->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */ -} - - -/** \brief Get Active Interrupt - - The function reads the active register in NVIC and returns the active bit. - - \param [in] IRQn Interrupt number. - - \return 0 Interrupt status is not active. - \return 1 Interrupt status is active. - */ -__STATIC_INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn) -{ - return((uint32_t)((NVIC->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if active else 0 */ -} - - -/** \brief Set Interrupt Priority - - The function sets the priority of an interrupt. - - \note The priority cannot be set for every core interrupt. - - \param [in] IRQn Interrupt number. - \param [in] priority Priority to set. - */ -__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) -{ - if(IRQn < 0) { - SCB->SHPR[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M System Interrupts */ - else { - NVIC->IP[(uint32_t)(IRQn)] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for device specific Interrupts */ -} - - -/** \brief Get Interrupt Priority - - The function reads the priority of an interrupt. The interrupt - number can be positive to specify an external (device specific) - interrupt, or negative to specify an internal (core) interrupt. - - - \param [in] IRQn Interrupt number. - \return Interrupt Priority. Value is aligned automatically to the implemented - priority bits of the microcontroller. - */ -__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn) -{ - - if(IRQn < 0) { - return((uint32_t)(SCB->SHPR[((uint32_t)(IRQn) & 0xF)-4] >> (8 - __NVIC_PRIO_BITS))); } /* get priority for Cortex-M system interrupts */ - else { - return((uint32_t)(NVIC->IP[(uint32_t)(IRQn)] >> (8 - __NVIC_PRIO_BITS))); } /* get priority for device specific interrupts */ -} - - -/** \brief Encode Priority - - The function encodes the priority for an interrupt with the given priority group, - preemptive priority value, and subpriority value. - In case of a conflict between priority grouping and available - priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. - - \param [in] PriorityGroup Used priority group. - \param [in] PreemptPriority Preemptive priority value (starting from 0). - \param [in] SubPriority Subpriority value (starting from 0). - \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority(). - */ -__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) -{ - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - uint32_t PreemptPriorityBits; - uint32_t SubPriorityBits; - - PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp; - SubPriorityBits = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS; - - return ( - ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) | - ((SubPriority & ((1 << (SubPriorityBits )) - 1))) - ); -} - - -/** \brief Decode Priority - - The function decodes an interrupt priority value with a given priority group to - preemptive priority value and subpriority value. - In case of a conflict between priority grouping and available - priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. - - \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority(). - \param [in] PriorityGroup Used priority group. - \param [out] pPreemptPriority Preemptive priority value (starting from 0). - \param [out] pSubPriority Subpriority value (starting from 0). - */ -__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority) -{ - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - uint32_t PreemptPriorityBits; - uint32_t SubPriorityBits; - - PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp; - SubPriorityBits = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS; - - *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1); - *pSubPriority = (Priority ) & ((1 << (SubPriorityBits )) - 1); -} - - -/** \brief System Reset - - The function initiates a system reset request to reset the MCU. - */ -__STATIC_INLINE void NVIC_SystemReset(void) -{ - __DSB(); /* Ensure all outstanding memory accesses included - buffered write are completed before reset */ - SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | - (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | - SCB_AIRCR_SYSRESETREQ_Msk); /* Keep priority group unchanged */ - __DSB(); /* Ensure completion of memory access */ - while(1); /* wait until reset */ -} - -/*@} end of CMSIS_Core_NVICFunctions */ - - -/* ########################## Cache functions #################################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_CacheFunctions Cache Functions - \brief Functions that configure Instruction and Data cache. - @{ - */ - -/* Cache Size ID Register Macros */ -#define CCSIDR_WAYS(x) (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Pos) -#define CCSIDR_SETS(x) (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos ) -#define CCSIDR_LSSHIFT(x) (((x) & SCB_CCSIDR_LINESIZE_Msk ) >> SCB_CCSIDR_LINESIZE_Pos ) - - -/** \brief Enable I-Cache - - The function turns on I-Cache - */ -__STATIC_INLINE void SCB_EnableICache(void) -{ - #if (__ICACHE_PRESENT == 1) - __DSB(); - __ISB(); - SCB->ICIALLU = 0; // invalidate I-Cache - SCB->CCR |= SCB_CCR_IC_Msk; // enable I-Cache - __DSB(); - __ISB(); - #endif -} - - -/** \brief Disable I-Cache - - The function turns off I-Cache - */ -__STATIC_INLINE void SCB_DisableICache(void) -{ - #if (__ICACHE_PRESENT == 1) - __DSB(); - __ISB(); - SCB->CCR &= ~SCB_CCR_IC_Msk; // disable I-Cache - SCB->ICIALLU = 0; // invalidate I-Cache - __DSB(); - __ISB(); - #endif -} - - -/** \brief Invalidate I-Cache - - The function invalidates I-Cache - */ -__STATIC_INLINE void SCB_InvalidateICache(void) -{ - #if (__ICACHE_PRESENT == 1) - __DSB(); - __ISB(); - SCB->ICIALLU = 0; - __DSB(); - __ISB(); - #endif -} - - -/** \brief Enable D-Cache - - The function turns on D-Cache - */ -__STATIC_INLINE void SCB_EnableDCache(void) -{ - #if (__DCACHE_PRESENT == 1) - uint32_t ccsidr, sshift, wshift, sw; - uint32_t sets, ways; - - ccsidr = SCB->CCSIDR; - sets = CCSIDR_SETS(ccsidr); - sshift = CCSIDR_LSSHIFT(ccsidr) + 4; - ways = CCSIDR_WAYS(ccsidr); - wshift = __CLZ(ways) & 0x1f; - - __DSB(); - - do { // invalidate D-Cache - int32_t tmpways = ways; - do { - sw = ((tmpways << wshift) | (sets << sshift)); - SCB->DCISW = sw; - } while(tmpways--); - } while(sets--); - __DSB(); - - SCB->CCR |= SCB_CCR_DC_Msk; // enable D-Cache - - __DSB(); - __ISB(); - #endif -} - - -/** \brief Disable D-Cache - - The function turns off D-Cache - */ -__STATIC_INLINE void SCB_DisableDCache(void) -{ - #if (__DCACHE_PRESENT == 1) - uint32_t ccsidr, sshift, wshift, sw; - uint32_t sets, ways; - - ccsidr = SCB->CCSIDR; - sets = CCSIDR_SETS(ccsidr); - sshift = CCSIDR_LSSHIFT(ccsidr) + 4; - ways = CCSIDR_WAYS(ccsidr); - wshift = __CLZ(ways) & 0x1f; - - __DSB(); - - SCB->CCR &= ~SCB_CCR_DC_Msk; // disable D-Cache - - do { // clean & invalidate D-Cache - int32_t tmpways = ways; - do { - sw = ((tmpways << wshift) | (sets << sshift)); - SCB->DCCISW = sw; - } while(tmpways--); - } while(sets--); - - - __DSB(); - __ISB(); - #endif -} - - -/** \brief Invalidate D-Cache - - The function invalidates D-Cache - */ -__STATIC_INLINE void SCB_InvalidateDCache(void) -{ - #if (__DCACHE_PRESENT == 1) - uint32_t ccsidr, sshift, wshift, sw; - uint32_t sets, ways; - - ccsidr = SCB->CCSIDR; - sets = CCSIDR_SETS(ccsidr); - sshift = CCSIDR_LSSHIFT(ccsidr) + 4; - ways = CCSIDR_WAYS(ccsidr); - wshift = __CLZ(ways) & 0x1f; - - __DSB(); - - do { // invalidate D-Cache - int32_t tmpways = ways; - do { - sw = ((tmpways << wshift) | (sets << sshift)); - SCB->DCISW = sw; - } while(tmpways--); - } while(sets--); - - __DSB(); - __ISB(); - #endif -} - - -/** \brief Clean D-Cache - - The function cleans D-Cache - */ -__STATIC_INLINE void SCB_CleanDCache(void) -{ - #if (__DCACHE_PRESENT == 1) - uint32_t ccsidr, sshift, wshift, sw; - uint32_t sets, ways; - - ccsidr = SCB->CCSIDR; - sets = CCSIDR_SETS(ccsidr); - sshift = CCSIDR_LSSHIFT(ccsidr) + 4; - ways = CCSIDR_WAYS(ccsidr); - wshift = __CLZ(ways) & 0x1f; - - __DSB(); - - do { // clean D-Cache - int32_t tmpways = ways; - do { - sw = ((tmpways << wshift) | (sets << sshift)); - SCB->DCCSW = sw; - } while(tmpways--); - } while(sets--); - - __DSB(); - __ISB(); - #endif -} - - -/** \brief Clean & Invalidate D-Cache - - The function cleans and Invalidates D-Cache - */ -__STATIC_INLINE void SCB_CleanInvalidateDCache(void) -{ - #if (__DCACHE_PRESENT == 1) - uint32_t ccsidr, sshift, wshift, sw; - uint32_t sets, ways; - - ccsidr = SCB->CCSIDR; - sets = CCSIDR_SETS(ccsidr); - sshift = CCSIDR_LSSHIFT(ccsidr) + 4; - ways = CCSIDR_WAYS(ccsidr); - wshift = __CLZ(ways) & 0x1f; - - __DSB(); - - do { // clean & invalidate D-Cache - int32_t tmpways = ways; - do { - sw = ((tmpways << wshift) | (sets << sshift)); - SCB->DCCISW = sw; - } while(tmpways--); - } while(sets--); - - __DSB(); - __ISB(); - #endif -} - - -/*@} end of CMSIS_Core_CacheFunctions */ - - - -/* ################################## SysTick function ############################################ */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_SysTickFunctions SysTick Functions - \brief Functions that configure the System. - @{ - */ - -#if (__Vendor_SysTickConfig == 0) - -/** \brief System Tick Configuration - - The function initializes the System Timer and its interrupt, and starts the System Tick Timer. - Counter is in free running mode to generate periodic interrupts. - - \param [in] ticks Number of ticks between two interrupts. - - \return 0 Function succeeded. - \return 1 Function failed. - - \note When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the - function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b> - must contain a vendor-specific implementation of this function. - - */ -__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) -{ - if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible */ - - SysTick->LOAD = ticks - 1; /* set reload register */ - NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1); /* set Priority for Systick Interrupt */ - SysTick->VAL = 0; /* Load the SysTick Counter Value */ - SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - SysTick_CTRL_TICKINT_Msk | - SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ - return (0); /* Function successful */ -} - -#endif - -/*@} end of CMSIS_Core_SysTickFunctions */ - - - -/* ##################################### Debug In/Output function ########################################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_core_DebugFunctions ITM Functions - \brief Functions that access the ITM debug interface. - @{ - */ - -extern volatile int32_t ITM_RxBuffer; /*!< External variable to receive characters. */ -#define ITM_RXBUFFER_EMPTY 0x5AA55AA5 /*!< Value identifying \ref ITM_RxBuffer is ready for next character. */ - - -/** \brief ITM Send Character - - The function transmits a character via the ITM channel 0, and - \li Just returns when no debugger is connected that has booked the output. - \li Is blocking when a debugger is connected, but the previous character sent has not been transmitted. - - \param [in] ch Character to transmit. - - \returns Character to transmit. - */ -__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch) -{ - if ((ITM->TCR & ITM_TCR_ITMENA_Msk) && /* ITM enabled */ - (ITM->TER & (1UL << 0) ) ) /* ITM Port #0 enabled */ - { - while (ITM->PORT[0].u32 == 0); - ITM->PORT[0].u8 = (uint8_t) ch; - } - return (ch); -} - - -/** \brief ITM Receive Character - - The function inputs a character via the external variable \ref ITM_RxBuffer. - - \return Received character. - \return -1 No character pending. - */ -__STATIC_INLINE int32_t ITM_ReceiveChar (void) { - int32_t ch = -1; /* no character available */ - - if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) { - ch = ITM_RxBuffer; - ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ - } - - return (ch); -} - - -/** \brief ITM Check Character - - The function checks whether a character is pending for reading in the variable \ref ITM_RxBuffer. - - \return 0 No character available. - \return 1 Character available. - */ -__STATIC_INLINE int32_t ITM_CheckChar (void) { - - if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) { - return (0); /* no character available */ - } else { - return (1); /* character available */ - } -} - -/*@} end of CMSIS_core_DebugFunctions */ - - - - -#ifdef __cplusplus -} -#endif - -#endif /* __CORE_CM7_H_DEPENDANT */ - -#endif /* __CMSIS_GENERIC */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmFunc.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmFunc.h deleted file mode 100644 index 01089f1..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmFunc.h +++ /dev/null @@ -1,637 +0,0 @@ -/**************************************************************************//** - * @file core_cmFunc.h - * @brief CMSIS Cortex-M Core Function Access Header File - * @version V4.00 - * @date 28. August 2014 - * - * @note - * - ******************************************************************************/ -/* Copyright (c) 2009 - 2014 ARM LIMITED - - All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of ARM nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - * - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------*/ - - -#ifndef __CORE_CMFUNC_H -#define __CORE_CMFUNC_H - - -/* ########################### Core Function Access ########################### */ -/** \ingroup CMSIS_Core_FunctionInterface - \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions - @{ - */ - -#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/ -/* ARM armcc specific functions */ - -#if (__ARMCC_VERSION < 400677) - #error "Please use ARM Compiler Toolchain V4.0.677 or later!" -#endif - -/* intrinsic void __enable_irq(); */ -/* intrinsic void __disable_irq(); */ - -/** \brief Get Control Register - - This function returns the content of the Control Register. - - \return Control Register value - */ -__STATIC_INLINE uint32_t __get_CONTROL(void) -{ - register uint32_t __regControl __ASM("control"); - return(__regControl); -} - - -/** \brief Set Control Register - - This function writes the given value to the Control Register. - - \param [in] control Control Register value to set - */ -__STATIC_INLINE void __set_CONTROL(uint32_t control) -{ - register uint32_t __regControl __ASM("control"); - __regControl = control; -} - - -/** \brief Get IPSR Register - - This function returns the content of the IPSR Register. - - \return IPSR Register value - */ -__STATIC_INLINE uint32_t __get_IPSR(void) -{ - register uint32_t __regIPSR __ASM("ipsr"); - return(__regIPSR); -} - - -/** \brief Get APSR Register - - This function returns the content of the APSR Register. - - \return APSR Register value - */ -__STATIC_INLINE uint32_t __get_APSR(void) -{ - register uint32_t __regAPSR __ASM("apsr"); - return(__regAPSR); -} - - -/** \brief Get xPSR Register - - This function returns the content of the xPSR Register. - - \return xPSR Register value - */ -__STATIC_INLINE uint32_t __get_xPSR(void) -{ - register uint32_t __regXPSR __ASM("xpsr"); - return(__regXPSR); -} - - -/** \brief Get Process Stack Pointer - - This function returns the current value of the Process Stack Pointer (PSP). - - \return PSP Register value - */ -__STATIC_INLINE uint32_t __get_PSP(void) -{ - register uint32_t __regProcessStackPointer __ASM("psp"); - return(__regProcessStackPointer); -} - - -/** \brief Set Process Stack Pointer - - This function assigns the given value to the Process Stack Pointer (PSP). - - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) -{ - register uint32_t __regProcessStackPointer __ASM("psp"); - __regProcessStackPointer = topOfProcStack; -} - - -/** \brief Get Main Stack Pointer - - This function returns the current value of the Main Stack Pointer (MSP). - - \return MSP Register value - */ -__STATIC_INLINE uint32_t __get_MSP(void) -{ - register uint32_t __regMainStackPointer __ASM("msp"); - return(__regMainStackPointer); -} - - -/** \brief Set Main Stack Pointer - - This function assigns the given value to the Main Stack Pointer (MSP). - - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) -{ - register uint32_t __regMainStackPointer __ASM("msp"); - __regMainStackPointer = topOfMainStack; -} - - -/** \brief Get Priority Mask - - This function returns the current state of the priority mask bit from the Priority Mask Register. - - \return Priority Mask value - */ -__STATIC_INLINE uint32_t __get_PRIMASK(void) -{ - register uint32_t __regPriMask __ASM("primask"); - return(__regPriMask); -} - - -/** \brief Set Priority Mask - - This function assigns the given value to the Priority Mask Register. - - \param [in] priMask Priority Mask - */ -__STATIC_INLINE void __set_PRIMASK(uint32_t priMask) -{ - register uint32_t __regPriMask __ASM("primask"); - __regPriMask = (priMask); -} - - -#if (__CORTEX_M >= 0x03) || (__CORTEX_SC >= 300) - -/** \brief Enable FIQ - - This function enables FIQ interrupts by clearing the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __enable_fault_irq __enable_fiq - - -/** \brief Disable FIQ - - This function disables FIQ interrupts by setting the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -#define __disable_fault_irq __disable_fiq - - -/** \brief Get Base Priority - - This function returns the current value of the Base Priority register. - - \return Base Priority register value - */ -__STATIC_INLINE uint32_t __get_BASEPRI(void) -{ - register uint32_t __regBasePri __ASM("basepri"); - return(__regBasePri); -} - - -/** \brief Set Base Priority - - This function assigns the given value to the Base Priority register. - - \param [in] basePri Base Priority value to set - */ -__STATIC_INLINE void __set_BASEPRI(uint32_t basePri) -{ - register uint32_t __regBasePri __ASM("basepri"); - __regBasePri = (basePri & 0xff); -} - - -/** \brief Get Fault Mask - - This function returns the current value of the Fault Mask register. - - \return Fault Mask register value - */ -__STATIC_INLINE uint32_t __get_FAULTMASK(void) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - return(__regFaultMask); -} - - -/** \brief Set Fault Mask - - This function assigns the given value to the Fault Mask register. - - \param [in] faultMask Fault Mask value to set - */ -__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - __regFaultMask = (faultMask & (uint32_t)1); -} - -#endif /* (__CORTEX_M >= 0x03) || (__CORTEX_SC >= 300) */ - - -#if (__CORTEX_M == 0x04) || (__CORTEX_M == 0x07) - -/** \brief Get FPSCR - - This function returns the current value of the Floating Point Status/Control register. - - \return Floating Point Status/Control register value - */ -__STATIC_INLINE uint32_t __get_FPSCR(void) -{ -#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) - register uint32_t __regfpscr __ASM("fpscr"); - return(__regfpscr); -#else - return(0); -#endif -} - - -/** \brief Set FPSCR - - This function assigns the given value to the Floating Point Status/Control register. - - \param [in] fpscr Floating Point Status/Control value to set - */ -__STATIC_INLINE void __set_FPSCR(uint32_t fpscr) -{ -#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) - register uint32_t __regfpscr __ASM("fpscr"); - __regfpscr = (fpscr); -#endif -} - -#endif /* (__CORTEX_M == 0x04) || (__CORTEX_M == 0x07) */ - - -#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/ -/* GNU gcc specific functions */ - -/** \brief Enable IRQ Interrupts - - This function enables IRQ interrupts by clearing the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_irq(void) -{ - __ASM volatile ("cpsie i" : : : "memory"); -} - - -/** \brief Disable IRQ Interrupts - - This function disables IRQ interrupts by setting the I-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_irq(void) -{ - __ASM volatile ("cpsid i" : : : "memory"); -} - - -/** \brief Get Control Register - - This function returns the content of the Control Register. - - \return Control Register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_CONTROL(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, control" : "=r" (result) ); - return(result); -} - - -/** \brief Set Control Register - - This function writes the given value to the Control Register. - - \param [in] control Control Register value to set - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_CONTROL(uint32_t control) -{ - __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); -} - - -/** \brief Get IPSR Register - - This function returns the content of the IPSR Register. - - \return IPSR Register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_IPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); - return(result); -} - - -/** \brief Get APSR Register - - This function returns the content of the APSR Register. - - \return APSR Register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_APSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, apsr" : "=r" (result) ); - return(result); -} - - -/** \brief Get xPSR Register - - This function returns the content of the xPSR Register. - - \return xPSR Register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_xPSR(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); - return(result); -} - - -/** \brief Get Process Stack Pointer - - This function returns the current value of the Process Stack Pointer (PSP). - - \return PSP Register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_PSP(void) -{ - register uint32_t result; - - __ASM volatile ("MRS %0, psp\n" : "=r" (result) ); - return(result); -} - - -/** \brief Set Process Stack Pointer - - This function assigns the given value to the Process Stack Pointer (PSP). - - \param [in] topOfProcStack Process Stack Pointer value to set - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp, %0\n" : : "r" (topOfProcStack) : "sp"); -} - - -/** \brief Get Main Stack Pointer - - This function returns the current value of the Main Stack Pointer (MSP). - - \return MSP Register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_MSP(void) -{ - register uint32_t result; - - __ASM volatile ("MRS %0, msp\n" : "=r" (result) ); - return(result); -} - - -/** \brief Set Main Stack Pointer - - This function assigns the given value to the Main Stack Pointer (MSP). - - \param [in] topOfMainStack Main Stack Pointer value to set - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp, %0\n" : : "r" (topOfMainStack) : "sp"); -} - - -/** \brief Get Priority Mask - - This function returns the current state of the priority mask bit from the Priority Mask Register. - - \return Priority Mask value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_PRIMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, primask" : "=r" (result) ); - return(result); -} - - -/** \brief Set Priority Mask - - This function assigns the given value to the Priority Mask Register. - - \param [in] priMask Priority Mask - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_PRIMASK(uint32_t priMask) -{ - __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); -} - - -#if (__CORTEX_M >= 0x03) - -/** \brief Enable FIQ - - This function enables FIQ interrupts by clearing the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_fault_irq(void) -{ - __ASM volatile ("cpsie f" : : : "memory"); -} - - -/** \brief Disable FIQ - - This function disables FIQ interrupts by setting the F-bit in the CPSR. - Can only be executed in Privileged modes. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_fault_irq(void) -{ - __ASM volatile ("cpsid f" : : : "memory"); -} - - -/** \brief Get Base Priority - - This function returns the current value of the Base Priority register. - - \return Base Priority register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_BASEPRI(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, basepri_max" : "=r" (result) ); - return(result); -} - - -/** \brief Set Base Priority - - This function assigns the given value to the Base Priority register. - - \param [in] basePri Base Priority value to set - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_BASEPRI(uint32_t value) -{ - __ASM volatile ("MSR basepri, %0" : : "r" (value) : "memory"); -} - - -/** \brief Get Fault Mask - - This function returns the current value of the Fault Mask register. - - \return Fault Mask register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_FAULTMASK(void) -{ - uint32_t result; - - __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); - return(result); -} - - -/** \brief Set Fault Mask - - This function assigns the given value to the Fault Mask register. - - \param [in] faultMask Fault Mask value to set - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); -} - -#endif /* (__CORTEX_M >= 0x03) */ - - -#if (__CORTEX_M == 0x04) || (__CORTEX_M == 0x07) - -/** \brief Get FPSCR - - This function returns the current value of the Floating Point Status/Control register. - - \return Floating Point Status/Control register value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_FPSCR(void) -{ -#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) - uint32_t result; - - /* Empty asm statement works as a scheduling barrier */ - __ASM volatile (""); - __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); - __ASM volatile (""); - return(result); -#else - return(0); -#endif -} - - -/** \brief Set FPSCR - - This function assigns the given value to the Floating Point Status/Control register. - - \param [in] fpscr Floating Point Status/Control value to set - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __set_FPSCR(uint32_t fpscr) -{ -#if (__FPU_PRESENT == 1) && (__FPU_USED == 1) - /* Empty asm statement works as a scheduling barrier */ - __ASM volatile (""); - __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc"); - __ASM volatile (""); -#endif -} - -#endif /* (__CORTEX_M == 0x04) || (__CORTEX_M == 0x07) */ - - -#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/ -/* IAR iccarm specific functions */ -#include <cmsis_iar.h> - - -#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/ -/* TI CCS specific functions */ -#include <cmsis_ccs.h> - - -#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/ -/* TASKING carm specific functions */ -/* - * The CMSIS functions have been implemented as intrinsics in the compiler. - * Please use "carm -?i" to get an up to date list of all intrinsics, - * Including the CMSIS ones. - */ - - -#elif defined ( __CSMC__ ) /*------------------ COSMIC Compiler -------------------*/ -/* Cosmic specific functions */ -#include <cmsis_csm.h> - -#endif - -/*@} end of CMSIS_Core_RegAccFunctions */ - -#endif /* __CORE_CMFUNC_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmInstr.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmInstr.h deleted file mode 100644 index 2e3bb0e..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmInstr.h +++ /dev/null @@ -1,880 +0,0 @@ -/**************************************************************************//** - * @file core_cmInstr.h - * @brief CMSIS Cortex-M Core Instruction Access Header File - * @version V4.00 - * @date 28. August 2014 - * - * @note - * - ******************************************************************************/ -/* Copyright (c) 2009 - 2014 ARM LIMITED - - All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of ARM nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - * - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------*/ - - -#ifndef __CORE_CMINSTR_H -#define __CORE_CMINSTR_H - - -/* ########################## Core Instruction Access ######################### */ -/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface - Access to dedicated instructions - @{ -*/ - -#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/ -/* ARM armcc specific functions */ - -#if (__ARMCC_VERSION < 400677) - #error "Please use ARM Compiler Toolchain V4.0.677 or later!" -#endif - - -/** \brief No Operation - - No Operation does nothing. This instruction can be used for code alignment purposes. - */ -#define __NOP __nop - - -/** \brief Wait For Interrupt - - Wait For Interrupt is a hint instruction that suspends execution - until one of a number of events occurs. - */ -#define __WFI __wfi - - -/** \brief Wait For Event - - Wait For Event is a hint instruction that permits the processor to enter - a low-power state until one of a number of events occurs. - */ -#define __WFE __wfe - - -/** \brief Send Event - - Send Event is a hint instruction. It causes an event to be signaled to the CPU. - */ -#define __SEV __sev - - -/** \brief Instruction Synchronization Barrier - - Instruction Synchronization Barrier flushes the pipeline in the processor, - so that all instructions following the ISB are fetched from cache or - memory, after the instruction has been completed. - */ -#define __ISB() __isb(0xF) - - -/** \brief Data Synchronization Barrier - - This function acts as a special kind of Data Memory Barrier. - It completes when all explicit memory accesses before this instruction complete. - */ -#define __DSB() __dsb(0xF) - - -/** \brief Data Memory Barrier - - This function ensures the apparent order of the explicit memory operations before - and after the instruction, without ensuring their completion. - */ -#define __DMB() __dmb(0xF) - - -/** \brief Reverse byte order (32 bit) - - This function reverses the byte order in integer value. - - \param [in] value Value to reverse - \return Reversed value - */ -#define __REV __rev - - -/** \brief Reverse byte order (16 bit) - - This function reverses the byte order in two unsigned short values. - - \param [in] value Value to reverse - \return Reversed value - */ -#ifndef __NO_EMBEDDED_ASM -__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) -{ - rev16 r0, r0 - bx lr -} -#endif - -/** \brief Reverse byte order in signed short value - - This function reverses the byte order in a signed short value with sign extension to integer. - - \param [in] value Value to reverse - \return Reversed value - */ -#ifndef __NO_EMBEDDED_ASM -__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int32_t __REVSH(int32_t value) -{ - revsh r0, r0 - bx lr -} -#endif - - -/** \brief Rotate Right in unsigned value (32 bit) - - This function Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. - - \param [in] value Value to rotate - \param [in] value Number of Bits to rotate - \return Rotated value - */ -#define __ROR __ror - - -/** \brief Breakpoint - - This function causes the processor to enter Debug state. - Debug tools can use this to investigate system state when the instruction at a particular address is reached. - - \param [in] value is ignored by the processor. - If required, a debugger can use it to store additional information about the breakpoint. - */ -#define __BKPT(value) __breakpoint(value) - - -#if (__CORTEX_M >= 0x03) || (__CORTEX_SC >= 300) - -/** \brief Reverse bit order of value - - This function reverses the bit order of the given value. - - \param [in] value Value to reverse - \return Reversed value - */ -#define __RBIT __rbit - - -/** \brief LDR Exclusive (8 bit) - - This function executes a exclusive LDR instruction for 8 bit value. - - \param [in] ptr Pointer to data - \return value of type uint8_t at (*ptr) - */ -#define __LDREXB(ptr) ((uint8_t ) __ldrex(ptr)) - - -/** \brief LDR Exclusive (16 bit) - - This function executes a exclusive LDR instruction for 16 bit values. - - \param [in] ptr Pointer to data - \return value of type uint16_t at (*ptr) - */ -#define __LDREXH(ptr) ((uint16_t) __ldrex(ptr)) - - -/** \brief LDR Exclusive (32 bit) - - This function executes a exclusive LDR instruction for 32 bit values. - - \param [in] ptr Pointer to data - \return value of type uint32_t at (*ptr) - */ -#define __LDREXW(ptr) ((uint32_t ) __ldrex(ptr)) - - -/** \brief STR Exclusive (8 bit) - - This function executes a exclusive STR instruction for 8 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#define __STREXB(value, ptr) __strex(value, ptr) - - -/** \brief STR Exclusive (16 bit) - - This function executes a exclusive STR instruction for 16 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#define __STREXH(value, ptr) __strex(value, ptr) - - -/** \brief STR Exclusive (32 bit) - - This function executes a exclusive STR instruction for 32 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -#define __STREXW(value, ptr) __strex(value, ptr) - - -/** \brief Remove the exclusive lock - - This function removes the exclusive lock which is created by LDREX. - - */ -#define __CLREX __clrex - - -/** \brief Signed Saturate - - This function saturates a signed value. - - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (1..32) - \return Saturated value - */ -#define __SSAT __ssat - - -/** \brief Unsigned Saturate - - This function saturates an unsigned value. - - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (0..31) - \return Saturated value - */ -#define __USAT __usat - - -/** \brief Count leading zeros - - This function counts the number of leading zeros of a data value. - - \param [in] value Value to count the leading zeros - \return number of leading zeros in value - */ -#define __CLZ __clz - - -/** \brief Rotate Right with Extend (32 bit) - - This function moves each bit of a bitstring right by one bit. The carry input is shifted in at the left end of the bitstring. - - \param [in] value Value to rotate - \return Rotated value - */ -#ifndef __NO_EMBEDDED_ASM -__attribute__((section(".rrx_text"))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value) -{ - rrx r0, r0 - bx lr -} -#endif - - -/** \brief LDRT Unprivileged (8 bit) - - This function executes a Unprivileged LDRT instruction for 8 bit value. - - \param [in] ptr Pointer to data - \return value of type uint8_t at (*ptr) - */ -#define __LDRBT(ptr) ((uint8_t ) __ldrt(ptr)) - - -/** \brief LDRT Unprivileged (16 bit) - - This function executes a Unprivileged LDRT instruction for 16 bit values. - - \param [in] ptr Pointer to data - \return value of type uint16_t at (*ptr) - */ -#define __LDRHT(ptr) ((uint16_t) __ldrt(ptr)) - - -/** \brief LDRT Unprivileged (32 bit) - - This function executes a Unprivileged LDRT instruction for 32 bit values. - - \param [in] ptr Pointer to data - \return value of type uint32_t at (*ptr) - */ -#define __LDRT(ptr) ((uint32_t ) __ldrt(ptr)) - - -/** \brief STRT Unprivileged (8 bit) - - This function executes a Unprivileged STRT instruction for 8 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - */ -#define __STRBT(value, ptr) __strt(value, ptr) - - -/** \brief STRT Unprivileged (16 bit) - - This function executes a Unprivileged STRT instruction for 16 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - */ -#define __STRHT(value, ptr) __strt(value, ptr) - - -/** \brief STRT Unprivileged (32 bit) - - This function executes a Unprivileged STRT instruction for 32 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - */ -#define __STRT(value, ptr) __strt(value, ptr) - -#endif /* (__CORTEX_M >= 0x03) || (__CORTEX_SC >= 300) */ - - -#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/ -/* GNU gcc specific functions */ - -/* Define macros for porting to both thumb1 and thumb2. - * For thumb1, use low register (r0-r7), specified by constrant "l" - * Otherwise, use general registers, specified by constrant "r" */ -#if defined (__thumb__) && !defined (__thumb2__) -#define __CMSIS_GCC_OUT_REG(r) "=l" (r) -#define __CMSIS_GCC_USE_REG(r) "l" (r) -#else -#define __CMSIS_GCC_OUT_REG(r) "=r" (r) -#define __CMSIS_GCC_USE_REG(r) "r" (r) -#endif - -/** \brief No Operation - - No Operation does nothing. This instruction can be used for code alignment purposes. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __NOP(void) -{ - __ASM volatile ("nop"); -} - - -/** \brief Wait For Interrupt - - Wait For Interrupt is a hint instruction that suspends execution - until one of a number of events occurs. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __WFI(void) -{ - __ASM volatile ("wfi"); -} - - -/** \brief Wait For Event - - Wait For Event is a hint instruction that permits the processor to enter - a low-power state until one of a number of events occurs. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __WFE(void) -{ - __ASM volatile ("wfe"); -} - - -/** \brief Send Event - - Send Event is a hint instruction. It causes an event to be signaled to the CPU. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __SEV(void) -{ - __ASM volatile ("sev"); -} - - -/** \brief Instruction Synchronization Barrier - - Instruction Synchronization Barrier flushes the pipeline in the processor, - so that all instructions following the ISB are fetched from cache or - memory, after the instruction has been completed. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __ISB(void) -{ - __ASM volatile ("isb"); -} - - -/** \brief Data Synchronization Barrier - - This function acts as a special kind of Data Memory Barrier. - It completes when all explicit memory accesses before this instruction complete. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __DSB(void) -{ - __ASM volatile ("dsb"); -} - - -/** \brief Data Memory Barrier - - This function ensures the apparent order of the explicit memory operations before - and after the instruction, without ensuring their completion. - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __DMB(void) -{ - __ASM volatile ("dmb"); -} - - -/** \brief Reverse byte order (32 bit) - - This function reverses the byte order in integer value. - - \param [in] value Value to reverse - \return Reversed value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __REV(uint32_t value) -{ -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) - return __builtin_bswap32(value); -#else - uint32_t result; - - __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); - return(result); -#endif -} - - -/** \brief Reverse byte order (16 bit) - - This function reverses the byte order in two unsigned short values. - - \param [in] value Value to reverse - \return Reversed value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __REV16(uint32_t value) -{ - uint32_t result; - - __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); - return(result); -} - - -/** \brief Reverse byte order in signed short value - - This function reverses the byte order in a signed short value with sign extension to integer. - - \param [in] value Value to reverse - \return Reversed value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE int32_t __REVSH(int32_t value) -{ -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - return (short)__builtin_bswap16(value); -#else - uint32_t result; - - __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); - return(result); -#endif -} - - -/** \brief Rotate Right in unsigned value (32 bit) - - This function Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. - - \param [in] value Value to rotate - \param [in] value Number of Bits to rotate - \return Rotated value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __ROR(uint32_t op1, uint32_t op2) -{ - return (op1 >> op2) | (op1 << (32 - op2)); -} - - -/** \brief Breakpoint - - This function causes the processor to enter Debug state. - Debug tools can use this to investigate system state when the instruction at a particular address is reached. - - \param [in] value is ignored by the processor. - If required, a debugger can use it to store additional information about the breakpoint. - */ -#define __BKPT(value) __ASM volatile ("bkpt "#value) - - -#if (__CORTEX_M >= 0x03) || ((defined(__CORTEX_SC)) && (__CORTEX_SC >= 300)) - -/** \brief Reverse bit order of value - - This function reverses the bit order of the given value. - - \param [in] value Value to reverse - \return Reversed value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __RBIT(uint32_t value) -{ - uint32_t result; - - __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); - return(result); -} - - -/** \brief LDR Exclusive (8 bit) - - This function executes a exclusive LDR instruction for 8 bit value. - - \param [in] ptr Pointer to data - \return value of type uint8_t at (*ptr) - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __LDREXB(volatile uint8_t *addr) -{ - uint32_t result; - -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) ); -#else - /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not - accepted by assembler. So has to use following less efficient pattern. - */ - __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); -#endif - return ((uint8_t) result); /* Add explicit type cast here */ -} - - -/** \brief LDR Exclusive (16 bit) - - This function executes a exclusive LDR instruction for 16 bit values. - - \param [in] ptr Pointer to data - \return value of type uint16_t at (*ptr) - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint16_t __LDREXH(volatile uint16_t *addr) -{ - uint32_t result; - -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) ); -#else - /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not - accepted by assembler. So has to use following less efficient pattern. - */ - __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); -#endif - return ((uint16_t) result); /* Add explicit type cast here */ -} - - -/** \brief LDR Exclusive (32 bit) - - This function executes a exclusive LDR instruction for 32 bit values. - - \param [in] ptr Pointer to data - \return value of type uint32_t at (*ptr) - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __LDREXW(volatile uint32_t *addr) -{ - uint32_t result; - - __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); - return(result); -} - - -/** \brief STR Exclusive (8 bit) - - This function executes a exclusive STR instruction for 8 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr) -{ - uint32_t result; - - __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); - return(result); -} - - -/** \brief STR Exclusive (16 bit) - - This function executes a exclusive STR instruction for 16 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr) -{ - uint32_t result; - - __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); - return(result); -} - - -/** \brief STR Exclusive (32 bit) - - This function executes a exclusive STR instruction for 32 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - \return 0 Function succeeded - \return 1 Function failed - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) -{ - uint32_t result; - - __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); - return(result); -} - - -/** \brief Remove the exclusive lock - - This function removes the exclusive lock which is created by LDREX. - - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __CLREX(void) -{ - __ASM volatile ("clrex" ::: "memory"); -} - - -/** \brief Signed Saturate - - This function saturates a signed value. - - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (1..32) - \return Saturated value - */ -#define __SSAT(ARG1,ARG2) \ -({ \ - uint32_t __RES, __ARG1 = (ARG1); \ - __ASM ("ssat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ - __RES; \ - }) - - -/** \brief Unsigned Saturate - - This function saturates an unsigned value. - - \param [in] value Value to be saturated - \param [in] sat Bit position to saturate to (0..31) - \return Saturated value - */ -#define __USAT(ARG1,ARG2) \ -({ \ - uint32_t __RES, __ARG1 = (ARG1); \ - __ASM ("usat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ - __RES; \ - }) - - -/** \brief Count leading zeros - - This function counts the number of leading zeros of a data value. - - \param [in] value Value to count the leading zeros - \return number of leading zeros in value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __CLZ(uint32_t value) -{ - uint32_t result; - - __ASM volatile ("clz %0, %1" : "=r" (result) : "r" (value) ); - return ((uint8_t) result); /* Add explicit type cast here */ -} - - -/** \brief Rotate Right with Extend (32 bit) - - This function moves each bit of a bitstring right by one bit. The carry input is shifted in at the left end of the bitstring. - - \param [in] value Value to rotate - \return Rotated value - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __RRX(uint32_t value) -{ - uint32_t result; - - __ASM volatile ("rrx %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); - return(result); -} - - -/** \brief LDRT Unprivileged (8 bit) - - This function executes a Unprivileged LDRT instruction for 8 bit value. - - \param [in] ptr Pointer to data - \return value of type uint8_t at (*ptr) - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint8_t __LDRBT(volatile uint8_t *addr) -{ - uint32_t result; - -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - __ASM volatile ("ldrbt %0, %1" : "=r" (result) : "Q" (*addr) ); -#else - /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not - accepted by assembler. So has to use following less efficient pattern. - */ - __ASM volatile ("ldrbt %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); -#endif - return ((uint8_t) result); /* Add explicit type cast here */ -} - - -/** \brief LDRT Unprivileged (16 bit) - - This function executes a Unprivileged LDRT instruction for 16 bit values. - - \param [in] ptr Pointer to data - \return value of type uint16_t at (*ptr) - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint16_t __LDRHT(volatile uint16_t *addr) -{ - uint32_t result; - -#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - __ASM volatile ("ldrht %0, %1" : "=r" (result) : "Q" (*addr) ); -#else - /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not - accepted by assembler. So has to use following less efficient pattern. - */ - __ASM volatile ("ldrht %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); -#endif - return ((uint16_t) result); /* Add explicit type cast here */ -} - - -/** \brief LDRT Unprivileged (32 bit) - - This function executes a Unprivileged LDRT instruction for 32 bit values. - - \param [in] ptr Pointer to data - \return value of type uint32_t at (*ptr) - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __LDRT(volatile uint32_t *addr) -{ - uint32_t result; - - __ASM volatile ("ldrt %0, %1" : "=r" (result) : "Q" (*addr) ); - return(result); -} - - -/** \brief STRT Unprivileged (8 bit) - - This function executes a Unprivileged STRT instruction for 8 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __STRBT(uint8_t value, volatile uint8_t *addr) -{ - __ASM volatile ("strbt %1, %0" : "=Q" (*addr) : "r" ((uint32_t)value) ); -} - - -/** \brief STRT Unprivileged (16 bit) - - This function executes a Unprivileged STRT instruction for 16 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __STRHT(uint16_t value, volatile uint16_t *addr) -{ - __ASM volatile ("strht %1, %0" : "=Q" (*addr) : "r" ((uint32_t)value) ); -} - - -/** \brief STRT Unprivileged (32 bit) - - This function executes a Unprivileged STRT instruction for 32 bit values. - - \param [in] value Value to store - \param [in] ptr Pointer to location - */ -__attribute__( ( always_inline ) ) __STATIC_INLINE void __STRT(uint32_t value, volatile uint32_t *addr) -{ - __ASM volatile ("strt %1, %0" : "=Q" (*addr) : "r" (value) ); -} - -#endif /* (__CORTEX_M >= 0x03) || (__CORTEX_SC >= 300) */ - - -#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/ -/* IAR iccarm specific functions */ -#include <cmsis_iar.h> - - -#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/ -/* TI CCS specific functions */ -#include <cmsis_ccs.h> - - -#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/ -/* TASKING carm specific functions */ -/* - * The CMSIS functions have been implemented as intrinsics in the compiler. - * Please use "carm -?i" to get an up to date list of all intrinsics, - * Including the CMSIS ones. - */ - - -#elif defined ( __CSMC__ ) /*------------------ COSMIC Compiler -------------------*/ -/* Cosmic specific functions */ -#include <cmsis_csm.h> - -#endif - -/*@}*/ /* end of group CMSIS_Core_InstructionInterface */ - -#endif /* __CORE_CMINSTR_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmSimd.h b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmSimd.h deleted file mode 100644 index ee58eee..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Include/core_cmSimd.h +++ /dev/null @@ -1,697 +0,0 @@ -/**************************************************************************//** - * @file core_cmSimd.h - * @brief CMSIS Cortex-M SIMD Header File - * @version V4.00 - * @date 22. August 2014 - * - * @note - * - ******************************************************************************/ -/* Copyright (c) 2009 - 2014 ARM LIMITED - - All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of ARM nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - * - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------*/ - - -#if defined ( __ICCARM__ ) - #pragma system_include /* treat file as system include file for MISRA check */ -#endif - -#ifndef __CORE_CMSIMD_H -#define __CORE_CMSIMD_H - -#ifdef __cplusplus - extern "C" { -#endif - - -/******************************************************************************* - * Hardware Abstraction Layer - ******************************************************************************/ - - -/* ################### Compiler specific Intrinsics ########################### */ -/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics - Access to dedicated SIMD instructions - @{ -*/ - -#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/ -/* ARM armcc specific functions */ -#define __SADD8 __sadd8 -#define __QADD8 __qadd8 -#define __SHADD8 __shadd8 -#define __UADD8 __uadd8 -#define __UQADD8 __uqadd8 -#define __UHADD8 __uhadd8 -#define __SSUB8 __ssub8 -#define __QSUB8 __qsub8 -#define __SHSUB8 __shsub8 -#define __USUB8 __usub8 -#define __UQSUB8 __uqsub8 -#define __UHSUB8 __uhsub8 -#define __SADD16 __sadd16 -#define __QADD16 __qadd16 -#define __SHADD16 __shadd16 -#define __UADD16 __uadd16 -#define __UQADD16 __uqadd16 -#define __UHADD16 __uhadd16 -#define __SSUB16 __ssub16 -#define __QSUB16 __qsub16 -#define __SHSUB16 __shsub16 -#define __USUB16 __usub16 -#define __UQSUB16 __uqsub16 -#define __UHSUB16 __uhsub16 -#define __SASX __sasx -#define __QASX __qasx -#define __SHASX __shasx -#define __UASX __uasx -#define __UQASX __uqasx -#define __UHASX __uhasx -#define __SSAX __ssax -#define __QSAX __qsax -#define __SHSAX __shsax -#define __USAX __usax -#define __UQSAX __uqsax -#define __UHSAX __uhsax -#define __USAD8 __usad8 -#define __USADA8 __usada8 -#define __SSAT16 __ssat16 -#define __USAT16 __usat16 -#define __UXTB16 __uxtb16 -#define __UXTAB16 __uxtab16 -#define __SXTB16 __sxtb16 -#define __SXTAB16 __sxtab16 -#define __SMUAD __smuad -#define __SMUADX __smuadx -#define __SMLAD __smlad -#define __SMLADX __smladx -#define __SMLALD __smlald -#define __SMLALDX __smlaldx -#define __SMUSD __smusd -#define __SMUSDX __smusdx -#define __SMLSD __smlsd -#define __SMLSDX __smlsdx -#define __SMLSLD __smlsld -#define __SMLSLDX __smlsldx -#define __SEL __sel -#define __QADD __qadd -#define __QSUB __qsub - -#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \ - ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) ) - -#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \ - ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) ) - -#define __SMMLA(ARG1,ARG2,ARG3) ( (int32_t)((((int64_t)(ARG1) * (ARG2)) + \ - ((int64_t)(ARG3) << 32) ) >> 32)) - - -#elif defined ( __GNUC__ ) /*------------------ GNU Compiler ---------------------*/ -/* GNU gcc specific functions */ -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SADD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("sadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("shadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UADD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uqadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uhadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("ssub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("shsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USUB8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("usub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uqsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uhsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("sadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("shadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uqadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uhadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("ssub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("shsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("usub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uqsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uhsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("sasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("shasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uqasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHASX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uhasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SSAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("ssax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("shsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("usax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uqsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uhsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USAD8(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("usad8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("usada8 %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -#define __SSAT16(ARG1,ARG2) \ -({ \ - uint32_t __RES, __ARG1 = (ARG1); \ - __ASM ("ssat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ - __RES; \ - }) - -#define __USAT16(ARG1,ARG2) \ -({ \ - uint32_t __RES, __ARG1 = (ARG1); \ - __ASM ("usat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) ); \ - __RES; \ - }) - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UXTB16(uint32_t op1) -{ - uint32_t result; - - __ASM volatile ("uxtb16 %0, %1" : "=r" (result) : "r" (op1)); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("uxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SXTB16(uint32_t op1) -{ - uint32_t result; - - __ASM volatile ("sxtb16 %0, %1" : "=r" (result) : "r" (op1)); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("sxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smuad %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smuadx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("smlad %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("smladx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint64_t acc) -{ - union llreg_u{ - uint32_t w32[2]; - uint64_t w64; - } llr; - llr.w64 = acc; - -#ifndef __ARMEB__ // Little endian - __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); -#else // Big endian - __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); -#endif - - return(llr.w64); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uint64_t acc) -{ - union llreg_u{ - uint32_t w32[2]; - uint64_t w64; - } llr; - llr.w64 = acc; - -#ifndef __ARMEB__ // Little endian - __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); -#else // Big endian - __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); -#endif - - return(llr.w64); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUSD (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smusd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("smusdx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("smlsd %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint32_t op3) -{ - uint32_t result; - - __ASM volatile ("smlsdx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint64_t acc) -{ - union llreg_u{ - uint32_t w32[2]; - uint64_t w64; - } llr; - llr.w64 = acc; - -#ifndef __ARMEB__ // Little endian - __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); -#else // Big endian - __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); -#endif - - return(llr.w64); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uint64_t acc) -{ - union llreg_u{ - uint32_t w32[2]; - uint64_t w64; - } llr; - llr.w64 = acc; - -#ifndef __ARMEB__ // Little endian - __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) ); -#else // Big endian - __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) ); -#endif - - return(llr.w64); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SEL (uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("sel %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QADD(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __QSUB(uint32_t op1, uint32_t op2) -{ - uint32_t result; - - __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) ); - return(result); -} - -#define __PKHBT(ARG1,ARG2,ARG3) \ -({ \ - uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \ - __ASM ("pkhbt %0, %1, %2, lsl %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \ - __RES; \ - }) - -#define __PKHTB(ARG1,ARG2,ARG3) \ -({ \ - uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \ - if (ARG3 == 0) \ - __ASM ("pkhtb %0, %1, %2" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2) ); \ - else \ - __ASM ("pkhtb %0, %1, %2, asr %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \ - __RES; \ - }) - -__attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3) -{ - int32_t result; - - __ASM volatile ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) ); - return(result); -} - - -#elif defined ( __ICCARM__ ) /*------------------ ICC Compiler -------------------*/ -/* IAR iccarm specific functions */ -#include <cmsis_iar.h> - - -#elif defined ( __TMS470__ ) /*---------------- TI CCS Compiler ------------------*/ -/* TI CCS specific functions */ -#include <cmsis_ccs.h> - - -#elif defined ( __TASKING__ ) /*------------------ TASKING Compiler --------------*/ -/* TASKING carm specific functions */ -/* not yet supported */ - - -#elif defined ( __CSMC__ ) /*------------------ COSMIC Compiler -------------------*/ -/* Cosmic specific functions */ -#include <cmsis_csm.h> - -#endif - -/*@} end of group CMSIS_SIMD_intrinsics */ - - -#ifdef __cplusplus -} -#endif - -#endif /* __CORE_CMSIMD_H */ diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math.a b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math.a deleted file mode 100644 index b01e81b5a55fb53cab77db33891053bf6a19f614..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3199620 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%0A(puN_ly zl|7?qh+T_ZmHl+fD7(4GEA542672l)D(%y1((GmkRod6j%CW27Qehvst;p_2aE1Mu z^A&aiAIt3@KC81k+Ffpcpti|QT&3LpTwALh`>rzk$$cGm(|ybA*{62f9lKX*uQaRA zZhCI1{oT0}?YMuH*c&dGVyDznVlTdMy4_vw68p9Vv+V3A7TZ_Mn``GTQf&Wp)&jd9 zQ;O`5PF-vlBwS=K)W6IwyuZ-?NZU#~4$eaRD>ZBE(i#fvtqRxM6@SgQf1kX`&LAV- z{!PeMyLmVA?6q8W*zI%6vtMAi+ivovTzfCseRi@kx%P7G2kqjTbL>UmAGV8lk!`Pe z^_U%xceZ`-&Xac4tF!F8XP>cK&Y5L@s`|X$#MDfC&ZtXvHv2Q|9nG%Vtq{ww&lb30 zcOyI9zTw3!yEFUJ>?`-(wd>$dv-h9$z>YgE)&5uVW4p*zDfXqt&+Ll7B-?Licxe}9 zlWf2H^lLkTrX>5yDevrN98I);74^~X6I-G^yZjeBMYja|(+|GcsW->l>n`|d$GR`h zUOo1Y-M(+J_M622+Xd^!+CO>DV1GO@#(tv{lfBfGXnWf^%=Q6CqU>9~u-IpPinMR? zX0y+di?lae$Zj9(5n(_3D~G*WLAd=|4=($sQ^V}DXK~w4-Wh6t;T4a);q4InTb6wG zhkpgzx3u%ydrAb`pS>(#f6O?@euJEly{Йg>>{rZ#ud&><X_VQK!_BX$Y+E3{9 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	wC+>V8mt2deu) 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�TdCRtAP%s5mS?%!KmiLTPY*0NvXH<?n^k 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x@UA$1i<{3D3Z$-wXnO8*DZ+zbpH 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�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�XOd*E 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 z	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	so!5!$7-v8w|;-?Ru<bCckB00c*AVV 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�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	U-eCy3YY)l?o!t(Shs}k8 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%0Dg~xM`}IK#&>$3u4O+bc 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%0A&V{72uF!U|_&*Kp?0v0WIlfWC#Q$ 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�L_Yl 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�Y}~a!)<TV^A~SfTje&#v;NY802!$ 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%0A0-BKksRM-z`W%n}k#j&-h&<1hWpoaRfs#2O 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 E0FG&2J^%m! diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math_softfp.a b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math_softfp.a deleted file mode 100644 index 98266c910e69f8d1a8dee49ee113af8c97b37b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3199824 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%0DYUY4WKmuT+sV+o7E3B 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�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�Ur*qRkjA&cJmIWb=Qh%`Bj0t6&HJ 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%0D3#V7wV?Z=u3Xz) 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:_j>>ydtek74sJIvfGr7cn!?=19tnn_&+xn;-do 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%0AC_;ew8R)91{!l_~4kS8X`gc9M6; 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%0Av76H^Y<yL+<#uwyt-|B9LM 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%0Ay?*>OEr|tDx-xV90%zf8&{m-<(<cEJ8 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�eKKfQi>{j~aN^;7Go)=#OQ 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%0A}>;kux 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	W3luK^i$&_ka|0 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	N{j<MwlwrNQ4GPcr3F+TTUtSb zu_aK`3*25t8dE?YThb6@U;vG85E@(h#*F=r0rasY4k5^X3y^vE#+JlbAnMTFhd#C> zfn*-2s|FfX0FB|Hk1c`L)etkbq#=YD6XXYvdqDW;V@sfQq{NIZfzEsd^{<ir0UAR< zA6vRg<k%7qCj$eh=z*CB@-K*uKDK0l6fU5C9Y`H0T+qjsKxeap`rjZkKp5mU7!B@5 zfjFQeOZXTVKx_0s<Kp=47zh|0TVh~f0EIX-;J{;F=zLHJBFhUiP&T#%uK4k8!hp3F zX+5?CI$Z-ah5}wU0b0Kd8jIj%U>F@+VqgG;3%$pdK!?GA#&$qQAAo4^-4LwM{W7c! z44^JNNE|%Y$I8F}9_s_GlLW;ZD|EjMD+2@QFguVs&>R4W2A%!^qCtIr5RL1se$YG! z6M17#B%Q@-Vq#<h8KojT_S66x3_@GKWU&>oc1gmGK@qZY$ztz(&=?^&tFkbH=eML8 z85qDPgn<PS1QR1$5@;|7JeVc}UO~jj0Xn#WiHQ}oRELR)9ef`I3oB>^5;J(L(;^8J z$}H@`AWJwv+b9{BIM`D`t9~G(OH3^6po?ypg+b#(TA=v~X3&CSW+(8_Eem@$=x9zB zCPof+(1;ZWiyeq!VL1&pk0lQ@j`RRzS_dO&UlThEXqJeBhlP_Bv`m{5v?7Xyn{@)n z5y}jl7eOj{SV1)tXdLMVh|3G*axk#H0`Ub{L1)u(F@i?j7(sVRGBAK@1W+(A)-y6N zfEFJ`f*7EACLWLlj8UNLAHa)`KqfLqgUknwc=CYkV~hcDK?9h)pfVCPpvMPVZo~&) zZUk~EKVu7MvC|?@JB3jIL<xY>tpI2Q4A*ia=&~X{1_oy6dLr=3qXAuRgjiq1hqS(k zAANn10FL!VppZsiUj#}Xj0^!F3M7rTz6dlc!N?E@qCm2kV?dy;2_r)ghyob_T3-aB zL8Gfo3?&>O8m19-eGy28ks%mFffNu}Uj$MDN+U3g%<lpv*3tDvNCQtKjsc|^8$nJm zA#)7q4g;gAtehF>9%x2JaPJ#TfcoMng9gKV1rgk@;87gN$QO9M3v952^Z^-2%z#4^ zZaOGf!6IM+MHpfyXk3OWLoATNDd?ge*mw(A5bQ0SqbO;{MhxIE0C^m&6zo)x!%_91 z4vvAeL5FP+D}AsGeIYLi0vim~1W^jI1v>o+ACww|%Y`t`#y~F7Kx{`ofo7H#=2qIQ z7XpQ~UQud}UP@|GX?lESURpi_l%1HARFqnVd~8NeeljvQu_!SwJ+&BF2vZ~nH0}*G zvACp&K`%K!H#aq}gh9_S$X741q@*Y_sk8*ul(eG6T+lXbSRqf42Dhis*6ko`g7rVC zeIF#K9R=#=g4(7a`#@{WL2(9RgD|MC45C5(Y)DfP#A9Ii!3P-&0F7OM)POLkPmR7_ z2((9iF~|alHuy>j^z}jvpuRHn-ae39VCJE(7kbagz;F|47KnlwjlN#!1QT)Vg#rYK zTQ3CKV-0G@f$Rifn7!y@I-vDOpe6<=T=0$Q%p-EWkOI=W7<^+o>zElB`e2R%wGBaz zWME)GUoT`p<a!|+RtAPCutWzn4`e+0dZ7#K#H|<7A#zM7g~;_n7D(X&YAwUk3;LMO z1P<cX3uO?wUT6g$0|RKy2sC)%=^4g{(V(z`v8i!y<ZxLp1S(rdUM~b`I}jez0aXRi z3KNtE$yqN1D(66B6NaFUATI+0sIvy*yF&S(@(jcW9c2ijL2D*JG^nr#(K%3c;QRl0 z85kO&eDKW{ywLmpco`VLV+Ono4B&MsybR!zJ3;!lLe+ye#enWPgz`aSnjm@bo?~7H z25@hhmw|x`)MMafV1TU?k^}Ks85ltOctB$j;B`Zs3=E)?#zE_RK#Mm(=D35@aWXJ~ z_ZIUqFn|_5faIe=;-E7`Kr|-<Ll%f;MV!3>O4A^7LHP|tgL+FK8Wi3j8dOGtXwW&* zAX*#bepUtseJBkMPgVv7&`GTzdGI<cRt5&}x)4?d22gJpBt8h&|5#vM|6_*ZJ{$uB z0}JpV4B;`DC7`tmNMkS(45AFWFF)|l;dr$nc}ns;*9`Uymg<HKGscuj@e`OoFf+4$ z6ksrNVKhma9yc{(TEfKC$(fT_rzB1|<aXMP-7S7r_zwY@;EbsmOq1hgU&~0IFCoi3 zm1UYp#-$$u6B17_=repc-gx)NgoAf~G&HhJXPm+`$NvL^6NB=R-;B!l#r;1pa52tN zpMK*9LqU+6+T_`8M}D&_3w>m8a{kD`d`Db!3iBN8$!CA8SfDZa?n^D@BflBovMh6S zC!hVXVZjY?j>&gl>L?%i%?g*(pM3Vmjs=_(xF+8azxz^8`Q&dlupH|wkh#pin7-W+ z=bpejg>lA>A1n?$lOb+8@S8>XhPdGbrWwYQ&;B^Ez+m#-mqyA5kX&>_{LBxA1e3|8 z6PRb1Pd@wO#)7*q&6E%PW(1oKGMi<F<>a$J9xS*i&Nun)OAF-#P@6$=)|1cvc(H(g zqQK;v;&)$KDW61gvEW43nRms7r!xOy{CeXD2Lt0wA*ibk{$^0VDQ-KFX{P<;vp;?; zu$g@KrJeG@-z;!DZ;Crkbe??n2ggFEl@60HzGP5lo_Xd6OTa-Sm){o`nJhZpb@JIC z0t;Q%Uw_G<%rgJ%4~d1xk=)=u*=_wzak0rDSy+gH+%4rMK2c)wO>x%QjPsd(F@KYs zc;g3;03^(ggX7V2y7%O>KQtD4t@i-yW}1KYhsDC<NU?Qa+;_VFWWV)3V0q^GXMZ>> zJdWgtJL1w)0w)Kok(zu3<hD5+9|bs$AcdXG<e)Xdlh6L}Sa@F?qyjnYSZCc8m!Hb~ zi|MP}WVYF7esCl(TA%sB6CgXC=c51*+vNH$N7g0G%9zbKN6O{yk0l2aCZ*12&@a8f zIAw<$!?c7sXJ4|dW`4jhmBUTe&C)I82TL{MJc#d({bpCb2TrA-)0pN3xrI!g?RE?) zw(p6DPm7!!vF_}TgoR;~uYp2--q{}+3y&fBJZfF^<Qw7&U|E)VXMYqdJcbnJG3#O{ zD^5_Fd_x?hn_-^v1W?Gc&V%KF8{#UHH#>lCbW)w*^Ml2D^~JOm2VOF)zWb7Gb>ghJ zc}_nBYU1Z4%`Z&YobWY4#6-YIz>Lv8eoEq`xM@k#xi6&5NSvQALF<{e8^4>W8>8Ek z=b+qJ_dE-J7ZdobAy8q<z`|$>YJXj0WMBYY{{j|6BA6K2&Vj~S!38aBtaS>g)MjFx z2^s=rVh5c$#|%Dn!W=vm!NRHn8bh@J$y$JRax$^7F9M11fkb>kXJs>Su!2uX;$RN| zt&xL|z=DoeVonFy2N{7a1u-2#4I*aH?n-7S&?qi5Xxl2YFKGIdiG>}sf{%%j1Jsyg z;$YDQxr~KH1VnML90HBmf|{)?b&Q~WnXLIB+nT|5EwQnH4qRpj?H2W8WMJR`-RR5m zA9_s^0|)4E1{MZZCXhkOEF7yq8X2Kn4vsUR0a_+j(4Z)2w<vfxnT3TFG}6q;C;=Kk z^#!-kK+E<)fyoHESC}i9fzc1d09`i3eG8<@A7nmg9*6rlXn|e;hzmNdj~jHR24f&- zS1V{1fCqe+PcX>ApbL6=BJvCw7(+nZU5pG2JP~<DP%h|NWS&U4Ea>D3o=CW?Ff#)K z59sotP>|LMV4fiZBbc`v%rk=W*jN}CctBSXf#qVrJeb@j5D$F&Q5eX%M_CvcctOL^ zjNu@zE-M2AFDURBBS73F5Em49jFBMjM^><N85pBLF0f={VBl2+rM_rT?Bs&DyFtMc z1NJzGYXS-uFjoR}a2p%TUM2<xK2U_=*!oJuSTuBu8ocL~4Yuc%9eK|y2kM?zPROXS z6}L6FIuGcg4F|UAPCTGXGGModKrigzM%v`c#=yXXdYuO^^ePRgVm>0S(g39&W`^1m zC=2{S{Siin01yR|2aPnNUZnwAgwDti2%=yLP`A2*T2G7&K_Kc6=&%fii5?&tq?n1J z)&rDcVHmWYk&z)7M1iD1mLcxX04W05!o*-OAJl>bwHlcjCcdc!F+dAmnHeU2sRc1W z2c9!COngyO#K^z^-X+d3aZVkG0m`1B%QNag4A35PW`>CkwV*vfT%e@D5DcO~*Tpe2 zOzfxyF~GaU875w-12I5b#2FcaKon>{I5We<8MPn=Xg50}LokTC11dxqCjO}dF}^@J z8)`W~J!H_WP7J{<%nS^m+yHV$J%|D7Ju@-{gQ!)YtK>j8GJqJMlgyAVz5oqIfF@=b z83IA;+d;-NG6aAqkl~CBfglQW>Ix%6IEVrn!N?E@qK<)W4hK=7$Yo+EDtN}s!0-+% z90;O5fSKVS3bfz@>5z5M8izxmT*Ck^FFL@%6oRle0AXz)$l5fpNdX{hL3S`Q1cE4t zp#dNY6tQUL_ki*pLn!EKFVGd}j0~Y53S<WpLk$av23f+$5DKC|mVoY9VP;?eS;EK= z3Zg)kFfs&#s5f92gn}rLe;65pK@`YpMut!j1#tnW(*sIU3?LtZPWxkI2m>V^Bd`y{ zKols-nHXvqKs3l|MuspD#RstfM1iaZt?&iWAiEhELO~SB7Dk3J5Cux=j0~Y53S=)E z=>7&a6VP65u;rkkBhYpLMurd&1x+w}Y7kBaZBj!~%EmBpOFf%13rIak88gGg190_B z3`Hz3YrzsQi<uc}4}i{0gc}9&HX}nQhys}eHI)OzhMIZ=*;EcBQ;*ajnR*0^sbOfQ z@*tUd0@+j^BvVfyn|cCnDk$B9tV6oeMUR02e3uEd*Z~>N%rJ3BJ%|AcK}LoM5Cw`W zusDbTI){jnAp}H$hL@NbN^0hV7?4~R0*f`UdT<yqFfhREVPcr*0W$j&IBCRy%!X)- z0cit;7Sas{pdtz+3%QoZL1sRPbBLLN0U}@{GatkO<wJ;oh0J^q=M-FpiOhTu=K?sD z1%ap=kYZs^J%|Cal9{2XU_OWe3O<N24l?sW98ekq%fkEsat<hwL2g%3W|<G-T!UB! zN=71Jb3lH8st}nE;(*LzW+)N?9a{@Fs)K=n0d&>}BSSc-tpy4L)G`MYvLLS_UFrcE ze+Ajk$PfaeK(WZoF!2m>JfDHbGc3t4GK7P|`T?ZqyifyTfDW5tWC#XPAd8t9CSIrk zF+dT^#4ynZR3?B9cw%IT08yaa2)?=n6hyDU;TR60Kpq1r2hku8Vs&ab$f=+R0NvIC zqOX8Mzr21vi17$w8i)d!08#^@L0)5I2nSK17(l+!1(ekxV~?O=25?w1fYd-(5E7X` z7u0SYoi-(F+B7Y(7`*42qG{8M42;ZNCGyPWHq4wQip*s;%$zpNs(Q>xHtNh(dW!Pu z(#*mN%q0rU6$*;7DkjW43Ny+rrOjlOC%Y@Rx*N7KSJ@~VX383B%PNCzVW?1GuF_-X zQz&;=X0DiEX1Euoq+U(d(9n#zNC6_b&|R6i)P|W`Z*sYIrZ&hJ1<<7uAe*$+m^t;z z-IeXNTeTqsbCC@*A4sT+xkAB=xk8V5ZoLBYMFs`t_4Rtp9~l&w^YuWNPW095F@Itx zVdk=77N5tQW8+w^t*i}ls6EIId+ki-Dm`UGOJzgZOy*1lW)VGRK?UY$J!a!HMR`XV zMMWRx(lq8^FXoo|2<EMfHsI?cQ0EGfS7{p?f>zOkFE%L7$V@AN-q8S>_#EbQ%;4Eq z2JrR@)QMHt9B4^mdMX1|W`Du=N+510AphtJmty353P_p+N6KelKZBzjHC@2xkYQ?} zi2)ouD6`|>xneMZA`F_O2BjRxZ6yRwxByRUBPN>B=Egxrf$fFfLISo77BiXYd8sK1 zU;_$*i;@`-bKHY*dKzPX8q}?VR3Z%EYQ>39p@pNBy^XD%wS%RTxr?cr(TNY#z@XOM z4e<CJou`I{J9zYkfq_At0Wyya>p+9rKQJ{Q8m103F9TwO=7vGyV0DPr0c0Z=0|Nu7 zsRmL9QUk&!EDQ{XA#Di|7d~GX#K6FSJfHnQnt{Q9338VLXtW4qG-y5>G@gZQ-gh<z z2GBX^V8g(DJO~Rk*oCZaKRW{h=-gh2EaFZB(3K#__6o=`FkHZLhXZI{8QDBTe(ZY+ zK!bJ2<~>k@>=gh_DR3dJ*$3?vKsGOsAEFN3eW10i$mV@OG7mJ@0}B_>yfU(RiTn%< zp!3tw&0B&N&Y%bfg)7K?pw)FS^FV86LFR$hBY@0c5@KL@i571l`Tfu^hpBrlf_?rO z6i3MCRk({{Kd%BbDgrVWWG4tWh%zvM&e;dCK^Wvd5DmIv5;<Hr)FI&q@&{<)A4na@ zU+DACJ47Mp<AclqVVGSY8p(SMDN+m!2GI2npcU~T^FVWIAUk1s1Ehb7Gy?-@&J4r` zVURf>8XY5x(|-OLlw%MsU}gXf1tRl7A%n~ZrA%Z#C}kn@K`8^7FTj9$UIi$`k>%0( zpjbeb7lQ980CgKc^Un+fs$N3pQ^1RK=$aiS4hC>N1Daa}*$$#bL35tG4B&0YOxz3% zppjH29>|^*kUXI|X7qa<z;mL!3=E($1f(By1|f(BuT!VsOp1$8cY@M5$h`YdKIlqM z5Fa+@{2eL|yT?HhH1^I5Nw*+%_E0|P<Ny#q2Fgzc(X0#%=}<ZwL~}AQ)Iw?SnH0PX z44^SB&>S@QObXDw6j1pEAextfVHJqxWMJ3{r9lTfg4AD!@}EKJuTYv9)Gg#>U=W1T z@=#hAN?Su|FDMOOlg`V)06tHelYt=)B+kpgkO87O5%)=yL;0;x8hnogFJ!$8$UWd` z7hdT3(VPqnD?sXa85lq_Bp`WE$^^}EgYr0t2Bm%w4a)Bz8ni|NM1#A*bT~I1yfy)J z9|kCXSs55WGa4ZK!D|#)85ovA#aBXU&=dzq9#j^CXwXTQAo?^^{tA=^rzg<;0Z{%^ zC=I%26Qmw|>I5qT!*8fK=ujPyIB1pzMDu{+5p*szlm;JX%F4h1x`!Pk51PdS(cn2H zRt5$`s5;Oz8A#j?$_Jm7!pgwl3FU*&Oksttc>vw702K$HnZk-#^8h-=6l4zg{t;FN z$fc5?eIZcwpsf!e`F<!Ld^#j3{Gj}KP<lC(UJa!|b3!0}pwm)8H28#8r1RCmXRWX@ zFkFGEzYV4DLuqh2XJudj?Lq+Q2c4h+qQU8&m4V?8R2}H-50E(MR0<Fc+Aaa2g+b{N zblxwN25n#fi7P?*ph+qa-xSIRjopLzptHI_v^!MX8%l$(+ysRulphPF6QMLX|FAMJ z<UskwP#T<%SQ!}VpnTZ*?4VgOkUgNYHb6A&JoW`pb+Gf;!S}SVGB9k0ii4)^K<f8F z`JmZF5FdPB3o8S|S*Z9GC=I^9g_VH;G_wd&_ZTV;8Z!g&Vdu1i?{i^gVE74@X8=vf zfX={y(x7QOka}?_Uk*wuL1|4WtqY}1p|mBGc7W0@P}&<x`$Oq)C=I>`hLwRK3Cah} z8-VNu-E{?`3!&l_P`U<6gJw)X@>8IE*!k}Bp?uKzA4nc{&iiht_<ksT8cLss(x4$# zkor4N{u3zu0!n{`(qEx8XtENd9(*qhD+7Zd^n7#J{V<A9zABW~gVIJ&8hlR-D+7Za zl<y9uy`eN{`V(Y+0+gQ)rL&=QIh3x3(k)QB14>VT(o>-HTqwN|N`od;LFR9R@<B7I zApS`xA9lX`6)68Mlzs@MUqI<MQ2HyB{t2ZSpy#QxKxtkmEeNG0pfv2<chD3r$bLhp zxFwXfh0-oi+5<}aL+M~B4Vv=>=}&|5i=lKmlx~629Z-5Il%5HtmqF=OP<kVj-U_An zLFq$K`ZSaV-!H?;z;Fl3e*mRHlg=RbfbWw5i9yd@XM@thP+A;Ht3YWDC=HsX2I;qj z@?D^`2b2ciBLli00m_ep(s584G_MWPUkK$_Kxy#3GOP>?u=C_Qq2jZkH26LlQ2hwy zuY}T@p!7B<y%$O!gwm&=^f@REJ8%9Ll>ZP)KZVlop!6pw{S!+6h0?6h^WDMs&w%a; zfbwOav@(=dhtm2`+89dPKxqdk?GB~Ap)~rr^>I*f*gZ9%J~?^&8sP`6gICJI&(y-T zrq0mVzyPe0@S3_6phgsyHFYr@9UGXZuuNi}HQ^`Egh>o+lP3IRP;kj${=mrGkij&G zbu!y5mf5{8m>Gm!*e9R-$j{00k%ODrO+F(oV{QiXZ0VPR3=G;q7w-OGX}J4C;DDrC z#19s0_20~&)P6H4ss3hBa{9&j>F_HC2d2;bOov{vxTyaY{-yStVU_A{mQ{?FUcWeh zaee0JI`WFk>C`J07ynnv&OSd_v_U#<USyofHj90>pbO(f)|s6f8E0<%$)KSAo9VmS zZ-#Q!-z<fWzc@cKe&%O9^oqgZ;42mv$p(g5OtX267_GTM?wZ8?k%OCQGV2AFISjKI zr!0BSGW*tZ4)~g)Tu{7$8lMa-jG(p(<2NP-2GButu+B7C4%8R}F_>ZJ&V#B`W=0Os zNC*?CiOQ@BTCB;;#0sjvnVHx@_ti6j)_pR=&Yd>~nV|<-Q3N|P475C-nS&K{EjKd< zyBlbA4rEOcGYh*VsJQ}K56S{LcOG<|4T~vAfC<#oWr3VKzX-Iz2X^i}XpsUlBS#Tv z!i$3ibdL@*3k&Fsc4iJ1P%E1i)OBL5gsdq7&62S~PN0XaDPsM=0$QTNaUQh(2!47P z2dJ~n`k4i^5Qa&ag#)xqf%OZN%fSKK-ph(OJ&g4xNb`3VP-~S_9^{ATjNpY!%%J`Y zSAKyZ1JiS`09Ss25sb|ZKA`U<Se$_q+>`qb)dp(rL9~4bOGC85*~Sb^5H`e!pI|i% zoZtfv-$RYyW@2D~81Wt~4KV`3hG_c;7H8mL1Yd^f4IU-{oqq<3amG}31_s_>21Xwc z1GET=?-XeI))y2YphZx8t3jhLejqMr5foo1Xc2-xXsI%&%fJs_a})@Y1@#aFK>KnT zgFswR!<|1fkAX25v}gbn0{o!+f*C_V+}Vr_4E*3lPaxh?Fwc;IF$}~5_2BqH%bdVG zF(w8Efo_nC!a<UnAZ{a^3u=Y(gV$k2fMh3uWI>D07$ZT8l|ZW_1VHi27zJ_>DDDJ6 z@yi$u;(}Ug0-)w3V+_bQpbPc{Ky#W9E~s537{$oI0Gd|^U9!m747y532y~|68D<6s zA<*G%ubCMbgkcIqK+D5GLk$cJf}qp@(geysjIG;2>UT3j2A+l1GeTNJLZB@&Dl7~P z!Z4L0p!H^;3vZw%fOLcR!nFT{nE;Xno8ZO5zyLNO7GwfUCD?=lP#=>4G!Vf6YGnz4 zT*}x5@?$gTP?5Qy_ylvOffR~?PFn=cBu9WG!D^?2)PgR!5df<Nb3ymoh=T_97{Ocy zu_6Y@!HkpP+Gc>Xf$q0~XajS>HiET*x&J^m3W5?n=uF2dkV_VUOcnxN9|daq2!Z-J z2CNJW!Y~CQ{}>q<oWX-l;9v!50$+B!gb#Eb3n*AYvfw}o1BrlwH4|h4OeHu_Y7i!X zbc2RZ7?*)A-4g<t0Fnip&<`_V5y%9XO0Wr_mJS1hSPKIKLk|N314s)bXjg*#eS(#N z0pf2k_cq8nF_1dY?(*#*NpR3^0IB^4;(~(~%#~$hU=RR@5ts`yi9rmcZ3+Ve!#j{# zu+}3Wt)T1kAl87n&TI?}kXQk88AL%fAn3|Hh|3Oxw1k1wfNcYFAvS@TnV?D>oXEE^ zFff1%hx?#*5;&2A8baVi4!TiK7^VQ6$QOb1K@vGg(>_o%zL>+tzyJ<QkSsVXw}M1K zu>ra#Ss11g9G15cCV+H<7f!tbUAYG~0VE4H0n`WrCvrx11_oi6O0Wqc;NeCwkWSFm zZCs!u7Qn&u7UXA8s|ONHV6GKNu^31l=*S;Sb_ND<u-d;Mwc_BgfiS_b0A?}>gOq|c z`$LreLnwtX!AikQ1_m~kY<30)2~hQdV+AC1c_VlWK90*jph`$u0m;l~#cj<Bx|u_P z8+qv?*br{$(nc_c2j_B0URDNX4$v}6PhloD1_nOV<&ylU%OwS%W<r-s3d%AX3WFA3 zMsP=h9U#QYU<fuwn41wK&cGmI0u>SEW(;KmIZ_NF1!9ULjALMsAZG0)_&Awb&^ZpE z+6#h}Knai`07QYRHPCWM+-onv^CO=bQP*CA#-14&f<P2#Z5tEA!~hTtGL4C$7PQnE zViN;oLWYqc7}WLwNrNmyti6P-go3WP0!>UYF-&v;(V%LAks$&^f$rR8W~iu{4`M(L zYKj0gG(cl$Yzz}!*p!*(gT~1~RT@Y;%x;+JAm@RMoCEfE42S}m#LQ5GY-9{5y@QNo zW+-NYuTKKm4?1pwks%mFf%GylRMdd12jy`tko8lT98?_C=7abk{frEti8HVxU^NvZ zLlCI^2bHjl3_&0YR8%rDM1e{?h>xOR8J>|L9Oe?F^^BlBK_C^34B;@ZA}up=U|?VX zMF1msZVzlVsBH)l3I+2S7#KinVnH<*BSQelH4u9PKu!k53?l<P-araLg()LL2q>T+ z3PV5&L6;LTGK7FAkTaMVs!KpL#3J~TLQwSzswNp3f<XQRt?^=Hh=P?zj11wRVhD7T zB$5X~N993`0UbR9b~31S0rCbjLv_V`5Cb&W&dg9<GatkN*~`pOT>_7KunZ^-fQ$jl zfK7oe>H`HJ8$&Gvn=;FM5E~R^5I)Cz5c?5$k^&^p12+*O&jU{kpl|^tBu0i{5Cy8* z7#RXV6eyUO844M}TEBqPSultKIR~^f4CWG$FTuxHGfeaVc>pR8G8n7`M{)zpF+dtu zkk|k<9KoVUNes+qU|;|VLE{-&2%-_>aIh#SlEAGcL~;cQf!YyBr-FclAR6Jx2&4%b zyI_MD7#Kjw2~-0kC4HDGHijaGN(Qz0ARQoONJ>ClP{1LjJdhA5pP^+pm^~oJK@%oS z2&4lfjO1nzmw+J<FTn#5DM!N01qq=!4kQH82oFS1@&>n!!0leJUXT!)8$m)4jqpGO zX@cepur6pT38D&=3c#W;Rcs7Z;6McF02LXG2<t$>4%&FY$PfggKn5@|)WDZNf>fiq z2IMP{GNceg2*IsJ2*Ha5P~is>Mv5;iWgbWfT2g`i0BtIPaz9du1yTWOF(8=*5(1Sm zNQD?k6GR9eRUjcyGXu%>AR&k<c<^E=V6YUbFjZ^}h2Y=?6-gjvNW~I(ehKUkP*WVt zU;vet5EcUiESZDy8z?El#6e*WN`tU4gNcJ^Wc{FhHcSlQTWE>9Eemqkub!Sh?7ZJ( ztC)hK{Pd#4T!pmEoYZ0kjS34h&6q^cfu;~r0p;Lgh4kd)n7qW2%(B!N&>5$L|A=G! z^U&b4>=+pslJkpF<CAlPGjmh)GC<Qh7{}W%BOP(ff^x($c$ES4h~x7Nj1kP7dcMph z^O!lkn7JdAl|f4$OB9%S^eR}Gm|rvLF$?IiFf#YodNK3rF&FDG^XaiLG2dp=Gh<<7 zZmjiU)>Q~(7SYpX&edZU)??mTug7d+!>ne*%n4H0!(;=||EboCS-?x5xk!&$Lyx)2 zCJtoO$2u?Oxr}<?6_MaIaG<qn&~;~EKKRgK^mT#p@xi{KjxG_9yOcm@q7;Ky212j2 zf~|6c96}6U>4$B7AIKCRM;C}8D2wJGOW;t1;^Q5I+(9>oIR?2KF%+P#`op_$z|fRB zD;7b{4Rv&3fUdZMoQ4BlkB8z=@Txp8fg)U#T3nh_0$NxK4$=7dAlG09_z^N-^<V-N zn22SO!+gCdc)21ZvO)eXE=ep&jRy@wL0Fl243Gu5u+xFaTmgxiJdl_Ag3cb+(|60v zDM>BL%u9DG%}XxH%+D*<N7aJ13KU!f49aDd;Po!Z_k^LWt7Kqcz`Cvy)E=eox=K*E zj-LMms(it1a|nZ?b(P>zVTd`fmI0_$h$PGa+V@!q8cKmE!?~{Vi7W#HXg&?JP7X8< z1~Lz{8VuC-MmBFL2Lpo>k^qc}zOM2)Cj&z)7JES>>7e0VsB;)%R2Ucn*dgmVLH5Dy zMPFCxA_(cm!}P)IMPFCBMjNr-543s>W*+*w$`nBc22c`5HxGSX<sNOwIWnMd0j>Xm znTNiva)}@VgABL|hnNU+A85!4*}ptGkae^m^FTuvF!RvYRUQy#V9-NaPzW*)gh6Y0 zKs0PB=$#mG>ngp(iCb6MB2L`8N)a7IID=O8!TbSQQ-|bihCSlMt*gwCfvishoyUZ4 zUF8hf(RGy!44@E)q%#o7jKK%R0!RjenHiAQRWdLz5MEaauFUYB;{#b&3A(!gdRG$( z>ng!hVZ4y^2wHy#8VUi?&Y<Z?UPyie@j?A95Dl6b1ktoQkC|5MDq&~zfKG@7xgWF% z7(|2DL-H~(Tm?-=@-i^|htj;DbxXVq44{jhK<ga9{W4ZaxdK{`s0WhgWMD7`(Yy={ zwji35fx!tx^D;2_fM`wzhCmR_%fJu~qCsZ^L21yT4Iuj~q5O6zJq=1PfzqIvS&)4P zp!}mCnwNnAGz$w72d~TGWnj1m5(nM$2c<!KNI~ZRf$|wa>xy_87`Q<+Cj$d$D<eo= z3d)xU(Yy={;B{A=kn#>BZvhhLWMFUv(X0#%u24DzM1$%TD2=|pDjzCd1)@Rg)u41Q zh~{Kqm<FZ6>!~;y7?yzetPBjWbyXWdd`<?2Js_Huf#Cp@2Ct{$WMBZVr{ZK_cnA{b zWMBYo!34z<X#XXM{tOlW1){kb7??rphIknmctJEL1A`EV=4D`z0nwZc3`!uHm4N|t z&Ob=MK8VlDz+efYIic&Qco`TxpnP8t4O;gKqCx8+p>!IE2CX*+(VPqnr68J@fuSBm zb22c1*HQ5@F!VwBGe9&e1H&9By&6PwGB9j`(x7QXkbCxm_^b>J$3QeE1H(lS&C0-V z6-qw=(V+N;(%+!;ZxGGO!0;bRgHDMCr5j<;njz47MkuWYqB$8D^r5r`l!mR3as=^N z85q1kG$>tzXjTS>P$(S-qCx9^K{ROHFNo%4U;wX=0<BvH@mU!d8liL-hz70y1<{-g z4B&NAp!L5{{t6HcTK@~8IT;vsfM`|*hCNXFD2N8-0}##0z;FdbgYp50=44=a45E1% z7~X?uZU%-QAextf0W?Je@;^Ih9S|=AgAkOK0nwZc3~C^nm4QJEN`u!)f$}wo&&j~x z4x(8Z7`&l$2#DrnV2B6NtPBjvP`U_2b22bgL+KVM4O<V@3*xgfFiZo{oD2*LK{V33 zs4XBqCj$d`9TX=6!!aoTG>B$pU^ow@Z-8h{28R0}nw5d!F_eA-qInq@zJX{?28Q1t znwNnAyzYsUfq@&eu7#C>fgehPP9g#2cksF=UIqp|kT@>`18C|Gl>Y2Md{zbqXAsTH zz~Bd^BcU{?b_1ycwLL&IsC@>aL5p8NG-zTKM1#lAhQRu4(9j>qy`bSg5Dgk)1ku+( z^&%?+!(Av1zKasHt{BRPt<(Mr<^P1zte|>@m4N|t9687w(DDutEejP_h0>Z(8nmwk zBoFE{fN1a;bgT>vj!=0IC=EV~4pja?`LOla8BjiGo))CP1j+}kzX0(;r<8zb@csc- z1_scI5)dDJUOg)V!!oFP@csc-28NAL{#Gcx2TC7+(x9amApPK@<5?LPE<wdXM=*iJ zL2Fb%H0VY{5d8rv{{>2eR;_@<!3WW^GBAMFt$_Gap!$oIfdRB|1;hvMLtte9pOpdP zgANG*(e_Yvpu?6xe9+1k5FG{;Cv|;wJyc&alm;!00htG`pII3gz}x3p8NmCuK;q#2 z3aktaYoO}U*H?qq(ty-~76*Z7&|(@8eHW_!8I*>tqy7x#e}~fO>!*1^^%`hhFq8(Z z#sQh92IU(;X)`G81f|`ebP$vdgVLboJ0SgeP(Em}4v1d~<u^cS(6KTgad17(%D^xY zDn0{B&w<jQ^*<nW8=(9hP#RXBgVq3n<U!|7favQ``P)z$v@{4L{vOH)EerzjnV|I; z`g&;4LLiX522>uj&<Dh~hVnt{eL#FaC?B-!2gFZ=@<EG!K>QLYAGGiW#BYc4L2G?L z{8>=`GAO+YN~71)pj9~_^{{o$*P-feLut@DACUZeC?B-42gHYA&|)4CTNG4pf!du= zS^-Lf*7$(rO`v?x8Xgee9m)qS<pJ@dpnTAZ9uPkl$_FjK0r4B4e9*!j5Pve14_dzi z;=|T0gI4c=_&cHUpj9>?{uwAAv|tCszYpcVhSK2rmz9A5v}Ok+53YYf<shg&0-d7; zr9q2$K=Po)Hy|3cPzOYtK;=OzbwGSr{R>)^1LA|$+kj}$S{x7!TbB%4egon+K=p%G z;ehy)p?uIP8xVgPln+{L1LE(5@<D5EK>RaMK4?u1h!3l0K}%~ueAxP8&<Yz6A6&n( zGBAMF*MRuodX<%d0kon9#McJZm#moesuxroT(1&w=Pqb`24o(ro<*-;LF+3(@}TiW z5Dglm0MVd5z#zI8TJC}l+(Nyx*UXfZGds;qjETOp*8tQQz_PyB|J7t3mkj?`Jd*4g ztr;vI1=yHBFmo`y=Hy~Ax%!qNYU*3YsH<<8yr#Zo_PY9(#Y*fgOVyRP3|Uv+GFDA_ z%apa}BLhFfhb0XhZo+Pl-7dUkkWzieZl(Hep;pSfWm!h=n6*^isaqMnQ`1s@*9PVr zy<^jAe#@YB;Vq+9>N~|O)pv`mRNl2$8NXArN_oeWW&DoaD*4@VFyHu{x>fUAMym^N znX*#fDOIVyTb7mbZlRRfJN2xTcg$60?-a9?-!*B0_-5~zvYOvAWlea?T$TDxtxEM> zyH?7(MOsDg)T>n9v1ygRTU4d|uGy;mT~k&0yXLCh9~rq1zh$ms_$a`@{84~;!9`D( z0Jj|<8TgGaIJ>bw*zhhr>%%+utPk&;t2Vq#s`~hbQ48d^)OU-dRNgJqDty<R1@c?j zyQVCV-^|`MTN%G&vtqPf@P^Uq{zXQ6x3?@>tRF>KTi!BMwY+7tI`WpOitVES8_P!l z7M=@&Zhp@<yi2$G@XlT9!#lUC4e!#bo;(+D+xvX)ix2z-?hO0E{a8@rj)8>{G?Kvx z>ga+RBVaKkf{Br>22@uua)7VNW@42F@tD}b8@X6m1wkvDkAV`M1$Zcdg?%cB!@&w# zp2)<(eh;y{nTdrRbhQgJsH$gn0v{gC!Vcc2#mE8Pj>W;UAEcLs<pZd3#lcd*#K6D` z+OWvd!3bJZ%f<p45o8D5Q}YqDRlXOr44Ru2G+oc6%)kL2isWGhjq-t3EUSWKd7)em z23F9ak1PVLpxI|mM$mc;#!a9>J_gXvG?0H8T|f(lgBch%gBS`73=G`h)5^Ah40L2* zVBi7mRb$)=;xYz-&NF9V+y=56G<?eoUhlgDBnKK*<pXWwWZVhjGBYwT@PVAhxC_M9 z0dYZ2W84kmb~7?C@PZfW?g9A?)LH_s|J@7XF-`F1Pcmd+gmS$2lZ@aTPw-M;sEh}H zB0|QU7kuL4K9C8@ObiUX;1d_YT+mU6yx<cT!CcUo0WbK(MKE_dGgvVL<9?7<ZWaax zJ~PmY;sYR0I)k|8pf%25?s8CnfQ<#TTT}oP7dV#p4XOhUkrwcAF))A*I7D9Fhgfk3 zs>+a;_i-^W2;f+P2TD6k47H%d0!l()4B{{{1b`@zG-x3l>Z&`C3?oAzh=M6VU3CYN zfi9(kDL^cx0}b4Q)}1jj1cE5gk`rcz0+#t8#wzeCzygl>AO@&M!^}{?GatkN9gWS* zP#`cL!~h*Q3ObXKk%7So6r&7*APTfYnVF%mW<H1k>Q*o^1cH+B42Tl2-@pT#kVyhY zh9HnR5QPCCg`k60k(POY918JC2#AUU6%-6*1@l1+(6$C<hO(0RAO@%_!^}`tF(1Sz zfGDe(4`P5iHH-{lAZiXoya2vN3uZj%Y9f&NpbC+hp_FAlh@k-vh*FOEAO`5T3}%K> zp7|gKsJ>)oC>59wVt_hR%nYR>^Fa)d7Z@2rK@`Z#U~v!wWHZt=MxaB*LEAZ)7$&%Z z4hjc(2gHVj59q*zK2Z6^Fu`vfXssEjNMo4b%f`sS0Mg6EFu@N*L(Omn(V!3qiGyg6 z{Y(rKTtPH=Fq2_|ABYBpE=U|igPa9Y528US1SAf#AGDYbR3b4kOz;IQD*`Q{1IZ)V z?~7!=AIN^tWD`g|lKp-l`$6V|#6dLF9?;eYuvMUm9q^`Th6(<l1xcV16%-C28np0* ziJ=&LnLNlYCWZ<AAR1&BNDYVv*#!~@(IC4(;vgDyvL;9zM1%Ya5(m*BH-N-JG}J9_ zV23a;Ft|XMrZF*0@BtN8;Lbh61Q!qu?%*>NGk|E28$fD6v=$^@{6REmfig%O$u0gM zw}9*diGygUo&GR8L6d->x`c^gf-`8}5GXT%;sj(i$bX<P2W2a0`T(7o57r8DD=6bK zGQ@x=(2fg62JprUPz*6MR5Q*883i(iks$(P66Dm*U=RgzATvWT<9v|oK%v6O5CNh< z4n#Ub5R^9(z}Yq&M1k@sGebE<7epzjt_C{?JZ=MKfl72R170IScnm0f@cwJaN%+LA zV;cU;mM~Uo;atZ=;e}k=7#V$?n7JnC>+9<q>g($>^Xruxaws!%>7kI!UK|R{mU_(Y zX&_QWAuidMxr#%9nNxweT#s2>fw@q@TVJ1<Cylv6fjL%>d2{^)=7WrSOw0_7j7d59 z$=Sh~RjCZnwMfH!Aq-@J6|O}m#zv4eQlK?5sA`bbvVbnyfULrz-uZ0s6-?lTI^gw5 za3PRmAWL^pgupAa$Xg<XV>J}mZg2pB7h6H>1lf*jRS;=sz=1OZ*lSQ%BVPbE6pm8E zSn~sFh9H-jPMBw@F)&bVy^paG@>N|!@v5(Zy5|ej4g_`mz?-cY7#KifC!lk6U~vbl z2|*iYLF!=Qp#6EED*#}8n4B-#xn2pP3=A6>A?t0B*ZIUEtw{oz0UFx`HP1k75Qdot z+D{5&gT%Q&<L)p=A(@elX0L!a1H%DUh`pe3B#;&m4eA;on|Fs3(u4<@4Z<)vP}2!{ z9nA$9#QGCZ4;E(LL?kzW^#1|PJA)Wd3^T76&3zA$%ma;Y!OUBXW*!e00|V%M7pQUY z^;Dp?KeGEi$Y5XRvmR<5sEH3U<25$}!*sNDLm)STnr|Q)rml$(`#K-cJzvP@r`_X& ztg8T-4Z<KZK=gH}y&yISOYlR|7KjbPApe5s%V^>911VfUt4=`bK=B3|mqA|V<HOIu z@C0N46vONV(MaB7_#jN&Iv)j51_pbmSs)5z4v0p_$l}yEKMiy~Kf(@>ZxK9Z&;cL_ zE(0yjPXpZ>2pO^jSp*7k5Dme^tn&f&FhOAg>Js2x=L4?d@GtQ(HX?m(52*YC&FO-V z768rVg1Vc$3=E(_Dv&s6ml22tl}jKRwATYfgYWnT&E-SYgZ9sW#KCub^D;1icAbFu z{ZM((dOi>zv=J0UgVx!BXz<xrybKISpz1*B86*zcS_Ps(8=gQk_zWvv1_n^a1~fJe z8hZfIe4wrus0@PA;5kxW1_pg7A3Qe-@(+m5%fJBInGc%V2W>kC(eY66Oc2e<zyLm* zikE=_G)@4L2cM<J3%#ccv?c|r4z!0FBo7{Q<YZuA0gYsGGBAM8fZ}9eP=xY9_cnms z4>|)Aq#k_s6E6b;crFrJ0D=4gO1U5!RF;8gP?`eKpmqR=2Bi}a4Ze;B>E17JJb~8S zfWnWJfdM=e$_ibR1v=9RDh}Fn0@4q@mWGvqp%5w#8es&9w?p~h;Rd9;*ugiwure@! z%1e+s&~P4z25klc(cpX4SQ!|0LiK~T$AH9PbK_^B;@~w~tPBjWv&%r|LxR-7&Mtci zRR<ofWo2LhZG;2KgN8goG&?BVSs56>@eSHQ4&|fIk%PuWLF!?1<Dg+i5Z@ZA-UUj- z=Eeh|{7@(j?qY+&4ax_fsmICyIRu@RfuRg4UInE=gRUU+VP}<1hl<1I%9lX-E1)#` z969W)vO`dL*xdMeC?9m6ImrAwQ2t{m{TxaYnj_~2r9;p@dngSW#RZwC4(01ZX=5l2 zKD&<<nm$<>7|_oo3x=u-htly-IvGl5Luv5ZHC6@&&{-xR`>LVhu(@*ZS~gY&hJL8{ zWGD?9RtBkuokg}DDh`_~2VIi`k_X@8#LB>M94dbrN?(T3*P--%C=EM<>@}4C9!kUJ z&VNJspmA)F`TWp1W!Twc(onuKlvan*`cT>!N?Su|dnoM=rD11}1w;9;v&Z70{A4Jd z4W+?r<3QmD<yS-LW+>ebr9lJjAos$~9$O3*Uk;_$L+Q;>8vP8i<4|$fS!9=?{OeHq zK9qh8rP1fyzeB};Lut@ZKgd1&&^c>yC@l@8m7%mclm@S%V`X44hVnsk10emdv&dj` z@j+1eNGJ`Pn+LC@1D!1h6)%L+;5Buu3=B0;egl;5gwnlG8g@1rY>gdgG6G~jc#Rz^ z0|WXQW&5G}4nt{ByC2^fO|UZ#vCN@jzxU7-$GwLZrUoWNp3$VC32uL|g8Cv13>plu zdk^nyV6TvI3!lVXy_6$xdiZ?ikBl68j7}L187v=|Sq^`c=M0-FZ++sU0;{=;|0KVO z5mQtrM@<Wupf)vn`q>|ICY=3|(#Yt><i_mA;>M8SKi7Yr(ge?pNg1~@R5Eolwq@M? zVKedW51Wl)Gj6_Q>Ad}tZME`5l}RC!L#MD!<(qc)B~Rzsmt3nEG#EZCXqI!kFTTjl z|J9RfzZqe(!{?~ZJ^PX+{qBz$2O{U){UI?yY=Yrr(J2yBS?7q&_y6$Uh(Y=8OCCl6 z2T6ysFWDIFGZ=oe{7{;~JG=ci10(mWvoARq{XhISxhc+|Dm~F)`rVgYj4bmN95fx+ z=CIF|ntWND{Woie#w5+jOMbH}-+js9syzSrZ%)^<FF9Npesh22`pp>1I-hx})Z7KX zxfof0vwxAE%QBz+H>-=vT#+e!b2wfzv)_Hmp?vf=i}Kl*9LgHAG-osY=Kf(c{f{`y z45|5CznMFh|7K8To@+csWDc*3#tcn2WfzmFcV8O0E|GA3&CI&sH<$8xantE{Uve<2 zNVvXcWOa7A`_hC_NW%FwBeRgC^J`XSreADdCFU^yV*AMSi{-o0FP=Ylf6QqRn5y)P z<14?j`zs!vvp-x8C`@Kh=5f3GQh-s?L2x#MIw*7m9AqZDykccip3OQ}ak{~LP<Sx> zX8qFso0(B`KId$!1eW=NbJ>40yWIUD(ePGWb}Gkj?yq-$6dYikB{7A44$p6<A6&m# zLht@iI3O~04JeF$L>y3>d*=sB!QCGv2af(`XJnhZ^f#C5*_V8-EOVshvi#=hVExVg zM|zIRT&~|NXO8~nWaOW9_ea14i8)>_GA?(26ii^5Z8qhJxcQWoznNWKUGDzKXyBh@ zF=@qbF6Fx~%{oP1bFjF+=48G5!)Ahtg#W9Tm1loEnQ-@|MJFh9l3j#eb1*r-=48J6 zW6FUApfF@qo5T2v?I*)8o=*zDSUxlSV*Bd(iit_sS!|a7hyNCnGW<U<a0*Wrn#won z?n@z8mRB4stgkp(&%R`H<(sQChhtXjZx&boSC4DXzLapi`$J>`+uXB1Y7Q{{=KiBR zi}g3>kGn4=To3(bca@tAQo%l(WzO9n6%$x~Gk0*#W}U_LoB0gKY|h_IUl;%8QkI_s zN(U^nWM(t{W{G6}&Hd%>O9^G!xm?gRV=xDlR@mmS%su;3LV3w=R^=Hk&TeOad}z4) zL#5%4xb2i9E^>44{t#%8nX~jahqAZJ-Iq3<60ey!JYO?&F8R%+EHd}(j~@s8U%jb0 z`{U06Z5NR1Bwn*{c)n)ky!+D56_RE^p###THjCpI&sU9KOn=m8flN^N#q`B$BI7T% zPn^HlKB~`PP_~}zI9cNt!)IP+*H=6|9KYDU-u)5MaQ27J0TE|z=es{54xISG;&9>z zhXL2rvp*Ong3{HUA3PIS=idDxaR8K~1RNNCvwr3I&HaZ#`R)&$21y5{Ioz}TU%jZ% zn#?h^6O=c8tZ6v=Bj5n*T&+2vw8Zk8^$W<422(hGGoIj^qdfQQkAwzL$gs?jo4epQ z3nM5EiOjkCL#BakF4u1k4{#d$q0j(|wYxvoG_cGun9DMQ<u^x!%3S$5M}M;`OUys} zBcOrbMQbM4Z<Z4ae={(ieJR0c>2_9JZYKL2r|BH?7yjmARCjTnDl$iM?%9_NjH)h@ zQ}6y@IpDPR>PrUKyDude86+KFvoaoWX_0W5&OY7$)$?-4*UYT0)6f23IpDJT@=H)@ z!@$@e;rN;vs@83y>ioMu<{WUF%b>#gi|v!bFP_hLf6QobpTh8q{fojcj*kq#*#3w( z3p<O>;G1<gK@k+94VT3Y=krdKbW@!zVBq8C|LSEa=%!Cb`?Eg`4v0=T`y-+OR00XO zNlXTne1_BOzqGHt`@^E~><@_vUT$}PWK2B!Qp`1a&IuQ7x3fPi8bzl>%w^DJ`0%aa z?vIehka_;EUR1KpIPLab{E!>RRB#FUlFRk(kCcf96F_Ax#{+{IcVF_jo_#5%eD)>J zYQ6~u)BHfW#VY6rOE&Ke*7<&u?*1@oxcibvnduc5lg<RLS1b%nzuCWlV%7fx1NYe< zTR`XWHE_RTWn_NE&8#=o|JBnfrMVoxnO)BQ*t4MRH|uKd`G!*%ezSiyn4>%&bh{|% zw$9_fSyqGDKQuNh`pu!t{hKlL?vD)(cYla1Sn!*hk>fYlpBT5hKXxp*`$J~~%Y2Ec zT)(-0fOP84<(tL+oAr$TT$bOg9foscTvTQs{>=n7O=tey9|8+JraTe%oU;5km#f6A zRF}Iyc5Jx&L*oFKi=dm=q}9K9lzG2SsJ{J@VYUCOhczOvxmfPLWMg!F&CPoDht5G2 z3Er<$z_OrH#@R*aH5ZffYi?#pDXl)A^%v)F)tL+mYO_>+v48fR!19angUT<ak9U8B z9Efsb`NjE*V~()1_bUc&(EX&0Hr}roxqYVIeJRFx_D9G8BRBt7&x$#w)PHea&--;r z<w?-pr9W&I2Fwkdcj_e*qljtH3a*a|ER1%iUNR_Oc*(#B3i(qnSr|{fWK#~9>OUoL zn)HS6`2jQhrU%Rnm=!QPV2<aLpmm@)y!(=?^VmxUS5Q5A<++yIYw@q*nr`89L2+x~ zCOY-wvl!@!gtefy3AhQs0$H4r$Hc$@x<GpaXao@~0U?+e*+5rUF@qL{F~jaS1s%e~ z#Ka2T#KXk?7&QA0IxdhIcE>5`vO4BJpec0N9jBna9rJ6D2<(ni@J<#EcF^)37RY&o zOf2l6TTq!nciFK(?l=W4_+WwDaSCeHvq0`R1rH9w?l=Xn&}HPv1U1e%SipU478dZf zBMz1qpcOr!gCm%rcbr;*RH5E+%Cr%DWhMtJsCBxT58RnmX5e@N>O5@$OMzDRfcq9( z`9RaBOv)S_w?MMnpo)1I*jPZ*(5#@7kC=Awflnm_AK3hb5gfS8pruS)6%0&Y!CbCN z2BvR}pi4d(xEVp65=PM3XABH)*damA2x^$}1T!%10Wm;l0rG;D?K18K*$$cz=LPLD zV%!Jff)3>11!-g44?1dZ69WSSA9!uhL6Gb{1_lOxkT~NZ5Ery4n;+yc#>1c~Xi+8x z27Zvo7>|HtLESAr@Y<lGAm4yaUgiTY?KuW=D(JvpKJd~WF!vp3eGYhO&vB6AQc$-W zytD_*1+CKLOEO?!JOR?W5p<jtXkihU2RdGi545rf%meKc-~*j92<Bz5GcfRh))s+z z6F|I(JO;*-AX9d*GcfRjW||pKf#&~(I2aiCkAT(-od$W(7Q_V&U@(HYM?qXr|B&$v zNG}&B0|WnBkYX@b1H=Wb5NA9K(hD{UG<VN<4#Zsv8eRs?V}qv7!9n{Uv};MQhLM3m z2z2`8HPD!hFh~VxgaUMA6C)F23Nr%(Ldk2m63}h94xqVlB}Pzx455Spl#0QofX)a9 z_2C&+89`UUA(V*1m4LQoMS$Gz#&{ORA}zQQCT0eP4<IF;jGznS5T@9}m4FU)E&$yK zm%%8^g6!N7xDp%CAQKA%17kL$8H$ojxDp;V28Ifdl6j1vo)*HQI*<|(P`H3j2L_#- z%(#FNEG-BMHqiNO)hrAQq9LHcOh!RQRX$;EW<F`YP&PrvAVvYu3RxO0;KF}C8_pxy zcu<dI1D((YI_M30=o%mDk!+wPTu8D4pd;CW7(>}$N3scmj$~tCK%C5mq<|H42%8A9 z00V<4jx}K5-Xue<0*D5c7|aZ{phLz%2^E4t!`+Mw0U!z_kGUYs3p{TS2%<n|@Gvt> zTu~2Vz*M8I4g;;&U}OjaQJ{$nMuu<@^$N7km|>z1hz99nVyFcTD?(fVDulpx1cSCi zgGxn4h7b@1QVDVoVtE;;{|RykBLmnyJ3v(l$UPti=&%)bhKVO?L1$}$IC3oDYbikj z9P>dO9fSbSd=RIH6|O>HK8Ul96?Fek1c(A{`C<kc2U>G3#m2w@_Be>41m+ag%m*>j z*uh4usAn^gnGfPru|t*aVP{}?0^`7Z3i1Fb@Ia?=fgC-B6|DM5Er>A#%qb|C4`R#% zJ0$=_fp(EGGfX^E3u17wft(lvqCnPx#X$^^y^IVoAX_g$Y&}v7vlV0`NS+yV`!0wv z1>)*8^=!%<^Ff>i2my)tAkHp!kToG73ToV%dJqHTBSwZu5Cw`%Murd&1&S$VhT1it zz4%~DK{iG(fP-cO=sMT=AP(qgVRnXzAOVi~AP#6s4=TVjAH)IGPf!7Y`5?|Rh`T^q zMCOD12C^8c0&#sOX!{drSf7m{U@}YKWEKz`w4j!mVd8{Z5Cb%J%f=8gnI&{G3y2M> z&%lx(MgSvdk|Ss`OYmeC5F50f4J-*_fJR$kIzepEieWYeh+<IlU;`6KGsIdD8&t=@ z)PvZd>#ktV0*x%GfLGZ=^n=(AU_QiUAa)Lz4>2!?je((r4P<`QWR~d3EFd=Mga+{S z%^*e(k|c-?+O7wd1TjE+2-p}PIzenPNUG?l1u>M^LB>L?Rbyvh@Im5(BanfCp@D&c zVG%fEhJq+ia%BM}AT|&y3siS7M1ryvD7AtzM=gi}+A+z<5DB6{8HbS}2t<JrF4$op z1}Nz=G6aDrkk!l#6F1a>7@&m7$PfmKWl%~3s|PWzfs<k=hyukv6GJ7;g$$r2gp<Hd z3<FUhhp~a3sLTOkgCYp*G7tl_H-?cR9OOulE5PC)2FM*?H-H!*cYtL;43LAsGDuEZ zQ44Ys$Q?)rgn_PQ0oljK5HXo0axx2u{RVX6HN(UOwIBw_QqbkQ;2;87$_$bLF+i5W zVhO}fg2d8-S`Y)|0GK4m4d-BzFgL&~gat?!0|NtSUJRxQ#0EJA8YmJVHfRqW_-=0y z;}ock%`kC8Ehr*Ew>f}iK+gRJE{rD5s0A@VE`_CPFdJM1PFzq6ax!Ss3``O!*cQ}+ zoD6a)*h~-u6l^f3!JG^#7(mCCF){>zC{Ss_%rNmsEr<avR(`+>GEkub@&hA7Acz8) z$;>eE4>(S4fRjlehyv*ai-Q<YL;k=G0TnbL-HZ%DAPQ<oLmh~532aCZhyv*aU7%hE zVn7XP04-JkyBt(FfpoJ$$}=92W{CH|<r`?y4Xh5N0ZE+znmW*=99SKw2m{SfF*1aM zC<f5>08s7224aD()c_|%5CfF8P;(e4MnDn4$PfgopFpVwDRIK897cu+P^k>^4HLse zc(KjIPzygX6O?>FN5wHR1b`@zyFs@@gJ@8aU}l)Or4GaZWobr+a1aHu8+5WMhz7Oe z85u%A6e#tA%TN#l;-C;%a$sZ#1%<)`a8L(;C{VzGECPoF17ukOs1gEMSPx==v_gvp zkXo=fhyn5pBSRR7g2vDmcohUn-k{Q&ks%0_1wjQd()w?NY%plz6|~_K6nsn!3?RiU zpxTxV#DZuGRA6CX2mrNW8G=C+sJ3PUt5N0vu|a{t#86NH3I$M1fX+Sy`8)^g$6ycz z3Ivca%#Wb%0w_Kh86rUx$P3I26MK+TTMsDlfYpPlDbU_IaIpavVPIeYRZpOU1i;w~ zCYZv+zyOLDP;!B%cu>WJp&gXtp(=O4RU!#)fD4{tftxu4E(of;FtmgG54sBk>`qW6 z1oAbQ19Km!VF+0b0_r+IL_tvpVL=v4gTe!p=0Gc8Kw}4>6B;itFff2lR|IVr0L}P< zRwjXtFa`D3VCTSsGR_YM2FS^Xpq)L83=E*&HRyIKB}N7Y&@EJIj0_AKj0_B*SzQZ8 z1_sa#R5pwZ44@mRKnu-bi{_IU85q(S85lro??Eg7L0uBiN@dV&E$Ey?n0rBeI#9nE zw7LM<O`!Y?YKGu)6R1^!%}t<~Ce{t0-PE8&09xq*a}THkd5)2R0dzAJsFw&DdU(VL zx!oLe3)MSD28M5pkejDKo1j3&3#dm4+TtX@1UY#Gbczw^rYX=ZQ=rubT1*TKI!usT zH$gS29TViF5kDpd2GEML5GDo&P<sG$YZPc;sELVzp^u4y0d#6V%w5FV;e^HPC?*Dm z7$ydW1SSRsQ2NGY*E}W$2GGq@pxw}*B)<!i(7;Xrb%`G_F)%z~VqgG`^MG!Q`p3k; z0J>zIhZ%A*3FuT31!e{Y6=nto9cIXBB%mG5cFYV6pqrmSyO}+h85n$+85jbX85lsj znL#_5BbXT&qL>*N;+Pp2%9t4#K&Ow?F*7i9F*7jqF*7hsVrF0f-RLxnnSlYcQ+XZI zvMEqMoQ0Wz0c1DmHY!r=0-b&Wx>+iRnSlYcgBsLX$7kmuW(J0H%#c$|z=6WRzyRvx zgSzgZng!IGcVJ;)0PR`^&60+(Fff4b7f51ZU;wpUvsf4y@>n3JiGXfo>S1AE0Nuzm ziG_gyH0ueP@dTY9a)^b20aRvyZdtm)!oUDJB?NS{(km7QhEFUE3_n;H82*5=Kj>yI z(5_Whm}?jq(A@yD6Wxv@ERa)4NU=i<bmI=_RytM&22k;3g=8;im;yAWAi~DLAi>7K z0IEnq;}SY-3=9rz3=E)~ia@s%1+XzNfKJ~4-AI(c#=rpD@eA7R3p!~7)C8Zv#=tOz zje!Al<In;&28LB^3=C`77#P;EF))B`8`{Cfz_5o6a<T^KHX+bS8lc;RKqqH>VPjzU z!N$Pw2h>?-XJBA~j_`p(2b){`pl*p^V_=A3V_<-}DFrm-LWJ8uyO3dS!sQl_8#ve* z7(hq$3xQ5)V`pGcKynwzZOG-f7-(FE0kl1eiMSmY82b~3|CS6~J1~rmD$Gpc3ylr+ zl0mCVL2LSR6H79PJ4cp*0eW)menv)SZX4!O1!gWieccM?q9$g(5*8-rRZO7cVjt9| zsVg#9C@3l_Dk>`~>NE4`F&8W7GneZj1X!4uyO=oASQwdq)+(?tF}E`*fY}q^?0>bO zGh~~=;(x(vn!%<+*iB4&`tph_jLbj4QteC%rMmjMpi^n<K-&H@mUzo6%ImW*GB?+y zu`n_JWdxbuTnDo2518EoR`{1O%~L;BUtUpOQ9d1{za1?6i!nl;g^{_dF2bIfa{_4B z2zc*E919ckTd?kFV3S@kD%i3xGEV|?-a<H2>lB!|L2kGYRyes%fte3vD}=kS&WpJM zB>NmJI}@z)IirH2ytl5tHP{Dp>PpO*D?nPFGJ=A0G1x_S81*7q7@3#Vfx`I~So1Ql z#7#!MbZgsiu+~*|O)N~z*TAx?!2Z6@s0Z@MhB_~8duE<pEKJNtz_NS5dLir$b$ZM^ zAU8p{N5O{d2HSlU?7lr<_7Sj_-Hdv+pl~_?=IsC*24U}H^kQLTJ`UEggHcak*H+$E zS05Y)r@(I61~%qYoec{U^ER-?Q((ng8Ese?nNNca+{&o8wm987orRJ4ELd_ABPfwv zsf*AyWKNA>mQY~M(9>3CR?%aQv|(1!QwGINP6V@v9&@T5vx<TmXg`mF9&?GF8VeKi zGO&%0!6wgT)LRR3_;awavltaTSs0mN96eoq5CjF)E3oQmV4ZNbqP)KDZWc!7H{jr( z0(SfxutAd<^%Qj#i}gW%ZER*?WPT48o&Z+zq0WniiFpD@2@50h=ej0lP8;Sb&_*On zW#)1(6EM3(nb}!^*;awMM1k4ghIwPX0&@eS0<*sYv!MdWzmW>e{q+%GF$u7*<Mco> z4fQt6GZ=R<bEPrMaFj5ogJS+E11Q1Ft_MZtGX`+X&#nihq-P8Yy5689rV9$$`SqYE zc)*|l${+K=svm%LE~@v^F<@b0zQ>T3?y0Y<7!Jx|i@^%+f)y+Vn|7B$A)JMgc?nb^ z!rE3>F&vyKmeqrtaSN<=Sv|<}w-`Vf55m3;ang!<FJ@62=5hrmu>TdbK@^XdHgmZG zbBZ3bssf0?qsJVf$1I~@!knSNET_kupvPQc!)#UJC}V3cZJ@8K@55Z8$L!n0e6Q{r z^M0l@@Hx_m&0CpyC1xh^CD2oRAtxq-4wwcNcuARsrHLu=$%)1BDQSlBkRmZNuNYJ; zGJv=HFn|xB25<TS@6Q44`9bXdq4r)UY$sIb1ZQNXl|VLMq3m*kI0Hp!nD0;n@9Qea zFD`)u33OW?IEKJc4Bb2hiDPh_l|oda1QIwN!32sh=v-$|x+pX=jxS-zEzKzbCkN1J z*<hpa?F=Jnw-?x0PzuvaW=Kp<j?V#;84S3#lHp9Kg~o=EWC8W}P}?*H8n(i9PBf^M z=Y+Xu%#jZ?pG4ulF{Hc>3PQc1en|9S+B*h{H&81bgh8Dy5Di*!0h(3?u|ZgYgMpzD zCJ7!-2Z=H;fcBGv=B6P$28IMZ28IM?$Q~|G=Lw_*v==BINe@WvLLLSN(3x@|HVDJ) z0__oiu|eXeco`TLfaZZg93(S9dkT>4Jz&VdFo7FlFUUTay`U)yWb?8lu<soMjn*QY z7hsEh@7QD{H-MbfB>~y924aIS%r4L#6lC)fY#A6Xa6#M$%0n>sf$n36=>h5Yl7sXt zL2M9)$t^_Nb7kOxeeW1(!2w7QXigQRKShOs0kp0h#0FuI90-F(%|J9vU9md$y<<ng z6Q~TJBe_A^8P2O?-#c~_EnGM>u%8iq70n+O9*A%T?PP+53;NzM2Mq=W(C8W15lD7{ z{D3rw!|+0fxV>W%dJGKiFvF0{LlOcrLFR)Q;QPfsg0=*~xD3poJ{X(_nx;i|35bt0 zi~|lw76#Cs8iW>*ZxK9t>>UH0B@drcz&H~c6a&ca0mT9`Ux)#8E;A@hKxGELy<^A~ zrb-EeN(x$+7OgyI01ap`k#IgVY!8_sXb%rB0|V@QXwW$opuJC^#RDK3v<DVMgYKFF z(aBKtpac!#mqPiVc|s7s6Uv_sr9rbCAo1l;K4?J{h`$%g2QBjf@j>g+Ks0FN8ARWQ z%7fA@i2oYO{|=>vKnuQj85k6yG-%Elq|P472k#ByWnciGo5{<-0J@$PBtHQp&&t36 zIyD2dX8?2@2565L_&iKb1_sbAq#$)WLFzae7{Ggdco`VL=Sg!iFq{R6^D;182hpJO ziJ>%TDIG{3c)c4Z1H&(nI4@$487F9=8!uw78EE7eWUnDeoRfh8ygZGQfx#cjkAu>n z5nqtHDkvXxBo&AcKCcpVzA{uCcAoTh5TBQU;UI_xoi7Wbc^MckfM`wzhN~c&mw^Gi z$A%L!S_^VFXtWk&F8F*(UIvE0Aa$G!44~0dkUVGv7bGtTT9wDkzyRJ`!wDJ51%;yq zNSvF2!3IQgGBCi-qx1stxfvM1duBKp7&1Y8RtAP#5Y5fN&;+7685nv%G%EuGsHwxm z&A_k}#0SL(h-PJA0Plt2W?(o0;&U=ETmsRo3=G#mG&chSc#jJw1H)GkpOt|DbTcf- z96r#xN=^m_2@nlBZxKXuGcXu}Xif$O*g2B+AU-z(LkNiGWMGH`(V#tLAR2tw7Xt&x zpP&*4M1$%e5Dh8|Ks0DMCWr>lzEI&DT+q@vka=04^bXn+1EoRrF-RP?_pci&4w{?? ziG${&K{WVi9#+Wm0uUdZ?^qcawn5c{^B*e%!$Bzj1e87lr9m?;Abp@&7Z45G>-QEa z4_agh68{C|!}j`dgVH@{6c|d&Kxt501*BdV$_LE~f%u?VArS2f759YFK~NerQv;F* z@A(9s!weM%%@~2i!Q-H;3=FkU@kS`!1*Jj92!YgrmRf>n(7mf5dNouYoZnd)7<NGU zpjk_h{81?XB$Nit_JG7eX8?fcyHN3mQ2GUwegmb!<p3xhLiwOsAdo)ro>Nu^2GCkh z5ML6M&sZ54z~uqxoN_4N7)qN%Y0#N;AoU(lKDeA<Wnh5q?E}r;faF0lI3PM5st&fd z4|F{^NW2Ux4q99a;)AY`2GKL1;&Y(%N+=ClqzRG-&Gdk1&;{rq8njFnM1#+(XJufx z16BV3N`qFbg5-Zf`QX*Opz}eY`BMl=i$Q7hb8gZ1=)v~pIYZThW{5!MgJy|9bPQA+ z)OH5(K{GZW8Z=`AqHCb?u=8$F${Wx*?NIpzP#XQ5TiE%wu=DEC&$+z=)%O5Ozl73n zp)|NWVr5|X3+1zc$`w`y1}-Qq2BoE-H2R)9*j_u>`M03uzaW44L)C+3l0f_@C_e>C zXF%zEC|wMt(f8QF&cp47%7bQuK<2^D$DI!qUks&T=i{z}^0!0j-B21dLj}?gKGz;} zt~pfvGL*grrSCy$(E4SNdeH0@i2ex`{|lu#q36!>LTS)U6G)vDl&=V-RiU&Vls1CW z)==6WN_#+QA1Dnw?>-XBPlD2EP#UzL8f0H3l-~-aJE8O>C_N2I&xg{Bq4XLk4O-3* zG6%Hy5k!N|>j2Rwq4H;;^i3#z7fL^a(yyR2XbA{NALy_`5X}dg6$0(ChSG9S8nl8E zB(DwS>qBV^C~X6!U7@rmln#Q@VNf~=N~b~Td?;NErR$+|Gn59+)Pd{;&DMeFnNab$ zP#Uxb9V8ArpBFS^2jU-q%AbVNXQ4D`l{!fN5tRQDO238D;PdcV85n*+`RM2N@`2XJ zg2D$%gVwo&%!8fZs|OV~g3{Jd+8#=~L1`~29So(zp>zh61}#JZnOgzn*Fb5|+If&T zXelU&2CcaP(MzE6pw;vsK4={dh&~JzKMtiYLg}ke`W}>i1f^d>>9<h&3zYr=rT;@| zW)4U@2DHW=WRDn>FAJp=p|mEH)`ilb_52|9j!?b_l=gwrAy7I3N+&|;R4APTr3;{R z1(dFV(#=r19ZFAt(o>-HY$!b+N-u-btDy8oD7_U*gEkz1+<OwrzXYYPLFv0t`XQ8l z1*P9X>90`wCzJ;5SOA&F2Wk_8>Tf7538g_>7(ntmP`)vgHiy!7P}&Jf`#|XcC>;)^ zqoH&Xlum=vMNqm7O4mW@CMewnrTd`tR46?YN`p30fZVqh%HIN|cR=ZbQ2Hp82JNW; zslNr~gEmlr`0t^7&~6D3pM?vOo<Lh8KzvCkAG8kw#MguJL7N^xd}k;hw8H_!kAU() z+ZjOoTqqy3cLBt2g7UkebU%~^_jf^;+e6!*pk6jeJ*<5W8p8td(c9_ZJ>8)8DO4Y< zy^eln2k78XkbZDKnU#S7G|mI!gVy?iXwWgAAR2VsCWr<dhY6xVi_Sna_zV^-XM2EF z0)pg0i!wnpc*_<m149DTJt<H+14@IofPvJ3``fGx44^yUKzz_TO%M$lcLUL|egWu` zY7ifMmJ2Hb1L$605Fd1XFo*`-R|}#+ch-VvaQ~c@fdO>iFNhC5<As%h0kn$-#0MQx z45C4+#XvM@+zUj5Zkh+t;4@%Y85q#}51`d#AbHS=G7t^!*Mr)LP=7su(xCH<K=PoK zW*{20(hNkSpD6-bbp{d#-T4ioK|@C%ng!av2CYH^@j)xmK(qi<9CVf@h%W)<!}=o% zP(EnI8b}_rVhu!tR;__(@OT2~J_@Kh(3T;PIQm&6uzNZ{%i2NmpuIF88gyDGhz6b5 z38F!}a6mNZz*`UvTJ;8^(fcu=6>uPN@L4vXejn6+(26*acng#dTA2po!|wUOI<5g~ z*Fx2U&Nl<82d%IN(Xg{k)<ES!=aqrPw?O&m{UO+WAV;9`;PDVv1_sb-IFLTjN;nV= zJM-iLR2^t{8%P|ze}sMp$`7b|&?ZHYdi4GhXmuM%9JGoKM1xk+foQDvc!5?RLHivl zP+9{@gI3vr^nuUz0mUy=9CqJ`4U`Wak6~qCK<{^f&rN4#U;u6Y0-1x}?*gr!1Bquq z%>j?!ure@!&N2symq5iUpfvbwbyfz31}MJ;N`uFFK=~KSp8%z&Kxy>;8faA>$b9hq zVxarBpz1&?^+4jF)p{U$3sigul->iS!S|4{GBAL4RDjf-fQp}i(%|tURt5&}y=0&> zfuQ2({k|tqanQ~;kU5~esv!CYR2+P78E9ey+7AM)%mc}TRtbV=@Hi7IWVIlOF9KC3 z0i|W2G-wqeNFKD35JZE=pI9NQ3PF4Ws5%oU4ZiP;6*@k}3R!IkQs)Ad2dz2;@zML0 zAy9eH3Pg}RdOs7i%@8CG>t~ig)mK1i^nNGoo|O)$JbFJAw2BdA9{Rm2uzu+hs6N<z zYUuscEl_#%ds$%p)+11P@HiSM|3dk&`&zC*`QUrlK;<=*59`-Hf%0EK={Hasw8atR z?k`Y2XjM0e&jRhgaX@JvC@lb`MW8gw_#7zzLd8L6B!bL=-TwmGR0iT3K;=!Kv;~v~ zt!@O#gH~CBXcwqB_<lD~eGKJ;)|i9j!Q*|P{0tS3fzk<38oeK#0~H5txCH4(??;30 zfn#N00Il8x$%9sKf@shxP7n=R#R;N8D>*?l?0&cfP;-|+=@n3V4V2yhr9rDdLHc$; z`Fo)B0VoYxwF#0x0p)}C<be3F`)WX|IYE5Ts!<Sq2deG?lm@LN1&M=JlY;0sQ1K5? z`U{i>tuO`2gI1Y>Xwb2JAesf*KLy`M$I8IK1LcEupMvCNpnTYUH=tFbAaM<-xDJ#? zzXu0=ZyhNALghg_xj_0{pnUZHd;nBD1WHFh=@=-T0Hsr)bOw|L?G6K(TL9&kK<Nr7 z4O-+6l84=|(*hOmfYP8njv)C7P(Eny0*DXZzW}O_q2ddm^b#ly8yDCD<-^7^!R=Lk z1_s#pvc9pop*i?WAqZh;Vq|7$YG`JT;|wAbbK>uD0kz2)knVAjWDsL0*gE%zKtfXj zV*!hsteY1jTQP&8gxmk`|Nf^Y6zpZ#51!`$HNF{G7{QytK@&5eNf)pf62ZjC2CB0_ z{Z9ra*trFu8#tJlSizMg6FcZ`F=lW>3U+P*=;SeGa8m$wZULwr!u%f8Sb&{d09qr@ z#K8`_$P;mH0XJxG80efdX2`h(pxaHDA?Fr=W>T0T=N5pR#|%5Sz!h{h0Sgl&2l!Yt z4wj!FOITRI7p8Hr^ni9Df*MOKkdq78Km)TZkdq78SwO8;4gr>pd?43zg6;%kfuCH! z32Gv+YynF#DYI~bMq*jE@_`$!${d`a3)EN;Cl|1@fLgk2pgT2KcJP5tOypt&)#;3& z2`vT&&?aJ#s~JJN4!DCE7{fpeQ0IjQWGiDh=(q&XTpka|8pa5aE#;uQOF)ibj08Ck z)UxLV*~%CNQp_}wflrEofdSND<7W(HG~j0pU;@qRv9o~2-US#zr!F#rHi$4X3W6v> z(6O$9$3d<j|JDzF25xQ!1~xGU$WCxiVFm_vkQj);A<W3lZN+U3-h|D`3s+*n#lXOY zb8k2|>fUhBR&k`=-^g3VxfmGuI-3|71sM&685sDxniv_FxF$M*uK9qNuFm5rY{Fy1 z!@wZO$^dc^*sq|uX(onRP-+B60~13nXz~Xv2O>bXO*1kCfGAKbF*1O<dLRif2IXT$ zhCmPnQo+PfzyP8pLERvR5(W?r(goU#jk?_%WCtTd5QqY409|(hqCpy%7)m%mG)!X< z=)gy?Z6E?9!^jW}qCg6euCM_2c|l4*l{A<}BrGTw>_ZrPCMYK`l!8d&R-6z21?CuQ z>d~g>lM_=?k*4S~^D;}ItKS$I7~)e>(-KQ_O5#f@3sQ?Ai_eQoQZn;O^fEvPi+~ot zL6@b2hBIKx&Tla=Dwr`>DabK%>oHd;sQEH6F)%X1mU==K0D>0t4f6$&pwPj)hLwzk ziAeDSUReoV{Fs}XTbx?LK$TPdA?s?fE_Kb%OIJWyl!;}HD`Nd8*m<}Xe&#_}LxL9U zf){&&2^7OoSA1sXm4Lm9W1S~-u_^c>0EnwVCS$DG1lt0V0W+{H%)}FAkbJ?ASDG7K zl9--a%)sF8>};i=;aHNJnxl|ZnwgVgrC@AssHtG0XQ5}JU}RuuVqk7$s-RJnnv<GX zoT{l1?HJ^%pPHMLnv#;5qH7Xwp_^2cn3tTPP?TDhS)7@lr(k4gY-nO0%iw6nz`&50 znwXTyzz7=HV|C6iDoL%-^)+W;<7M~dWa45MVi92!WfW(YV3cH(Vw7f<V^U%SjUghh z*#x!4U}YnyXm#WhXklq(Zes#XHj}bW6SN4kB(<VMk8l7D^#z*)wO$i6ZVOs(1sX2~ z#TjV)7Svn<u|XJIz%no}fRY0zNC1kj@I%%Iii6j!F@S4I(3mo4ycT30R2jIE2k-KP z3c%z*<GaY_-Qj0o0FBv!%mcXvWG~1(&^Rwl56B46=~<w$P!Jo0VRE1?^)NO_+zPbQ z5X69Dm>lR#Z)AH@1Q{4WW33>2LE<obLF=?&dO${i`sc{u0+VY+TW{zh1X*tgG7q#Y z24)^;92uquWFDx$4r;T2*dPp(1C2X_+yN2;;SePAK<8$`%mZDW1=9mk2kPI?MG}B9 zK{uTto0lSlh&O&{+=0Rww9^@+2b3N_=3Qlltce1#K^P<l!l3n<AR4A_DF^m-ouHO5 z@|^&ToY>cOg4WM~%mdj0!WNv6v<6~>Fv!0k8noU9*&jJb;R0$jg4BWh0a{Uryecw< zlY!wq$N(sY*#)9OEmo*7gAE@81858zRCa;-X(01J@dL6G*}NKl1_n^th3NyC17jo8 z$l}zv6997jEzAax>tJlqI#5uKLFR)(0+|o;1u`F$GLiY9l!eR(r3_@gAUOYn!UG}- z3ULSvL^3m=^Fbj9l7V2*odNpLHL#%i0JN?Xv~Ch23&}4;w+{&{_Jp-m7@(~aP+x#c z7<AMO1H({W{|UQ80CbfaXuTo${&ijk22fcD;)B<n@iH)g?_K9*U;xkS@G>wcgL);r zkc$jK>Kvi`a3~F)Z{cNNKtB_{7$nchz|ab%!Ry6%q3c3985qEQ9$p3p@Om*$1_tna z2`>W!c*KH}fnhsHA1?y~Y@HbB1OSlzpg0GO_kdC`hz7MCKr|?AfoM<}3!+s(9Y0nE z2K2iDKz(<Ryc1L&bc`d255CKRm4P7?Djo@?!FM{aGBBh<`Jm1|NIm#Y2UZ5~`8^;$ z=l~rMjeb`E=w4NjIBdNjXmkL?ht2!#hMKz{N`rDD6P|fj(8Y8h{h%C!djGJwsRd-n z3QWSstxOaY48S4~($K)b%*;$d!NS}CBA}4KRqyKK#>j{$aTpmiK+}Jqpa$a(NOr_H zJG;wm)`poJf|G?N2u~83$nc@Hp~3B<+Y~o}iD!R=EV%iD!QsXa7K0l<7!q#&U{Sd7 zgM*>%H%ofUZ)VpUKX?opelsz$f0kot`pvA&GVz`Gd2t;#w#m%XSf}3;XPNK7!17rR zB+ul@AmbJU;xR`v^t|9_xcP&F;l>XUgBw2t9B%xOP+*$MKCR_9gX_&7JP8fInHg{V zkYQ;0&8E!!S&pggH$(c_mkjBA)6a`@PiLIZHSv!4JMsVGJd-)6X}WREWBe?~z&nNQ zvm7JGRQ~A#^BfpF8TjTvY-6<Zf91@4=7#{onI9qoXMRX1ocSSR!1+;tljEZT2hT?Z z9)W2+7e(d^%@Lkg&3N}m$O0J`ITx<i>{3Eggr^D47yrP_rgA}Ow(xxBj~uM*A30dI zxP|`UsEPW)k{$YkMW+2XTW8yE#`HZO8F?(+I6up=Gklg~^MB>e?*Gb-&E*G2jmr;~ z9M+E<tSlcnSRP)Kf}Ui`upfM0J~(Dr7(u6bFoGt<K$jJPCZWONP=bk(4Ll#k$N^4X zOst@DD43YoL5sebZ9yr{9CT6%6ASBn(0Cr`u3;t%@a2{)?4XHd@CE`V$N(N_z!_8o zvV+bXK@0?f)`v5L7LPJJx`MV4fYwbjJAtl0WCopu$LyO4vWA5{9h9FLIYL3xR2(dz zaW^Iw7I0?ZU|9hg83bi8mO4g|7g+s4N1rq^f{wjpV*xpYolzB3{yT%yDCn9AkOvt# zK!r1-3utf<bZ96CXzeYdD~JnPeaitF(PMN2aY2sc0L{QLx`T$~K!cZ@powZmPmtlD zsYy=Iog9pQAX(5%Ag4RXI)9KXXn{5-=$c4IFc&mG#c2#W-xACP9gM*VDsvbEK#D=L zIGmuR1`w_;3j+fuXr(`6AV?N;5(Ouy;(~BzgJeP1Ttc{@m3y4gAbY`zpRq77aDi^% z1f3QLx}=#Cv=o;y7vw|{Rt5%cP)QBpf-g#A0NtVjQIiK!qYhUC<}&brS|*_2=LVaT z4^jg$1I%RL0kz0VnHU%#@&yQaFq44`bb=ZvM&>dxFhJ~?2vP%bHpCn-mw^YgG6S?a z9-^inqy}_M1w;*)%fJH)qNi|kCV<rV!rcqzGVp*_U~n?S?3x5p1DaHTm;>fAaDm2K zK`R0b;p(=7)D^?c0&^L7L25uN1|V+Q0aDWjR|DpP!kxM&bV9~Dt+=hZ)p-ONg%};! zraSR4FmNDUlg!4zz=?V<G8Z=^NG<4iOm2h>0|O5?V<;O)loz4^l>VWuZ_t=2s5S(( z*+6$CgJ@6|VP>cWb%>xU85kHq2U0RJ1b`?#P*!EAV3`kM7(qB3^Fa(y51yH!f@eO6 z0jkWH87c(kgBYMHftjH~VLpffTHe9P5CNjhKslRXq63HqtvY9BD6N?fVt|%jFfxRK zDA3tM%nYR!C<CZmpfG0$1W_P2F)~DfD3FU786rUx$W~^CN)E8~poJ;S43z@&K@5<+ zj0}+=3S<)_LlmeT0$S6-$N;*H3GQi-iHr<EAPQs}H^W31wuugGG8GI;U{gWe2VRh1 z1%nbuT$yD)NC;GDfQ3O~6%0zsBJ)8)phYt%!V>dALZB0pP=saXgIop*5GIC+E+86| z_`pg^A@*3v%m)d9Tn!cm*;C4(WFiB<u^H~vQU)dP&CQ@N<Yg!YITq|x3mKHq1bLB> zAs9q~!hxA#;+}dC1DX`}z)uweg{&1g=)*u1sN>7TP{9BS9?&KSMurd&1@bNvLxlh+ zctN>`ks%yJfgH@lP+9?^K@LJXj|`OVK&>%$kj-pHs`Eik0R;`{*uZ)a19VRjBSRR7 z0)-D)9K-;fXa&(_EHxj*0fiVNLl}qxohHS|5Cft>b}}>6Fv7hJ@(HLN$H)*2qM$xu z0r><JiHr=vAPVXe5fBZs4RknSJ;+-i^OzV)Yd|!_FQBp+oOD2mA5``-G6aAqsL324 zlR?EGBSR2~0-4CfPys4f!MZ?>0IeTmWC#XPP+dGA8q_>wWC#IKpq3!$V7Yn_1GGJh zks$y?K}`cq9)L{)`3}@tWn>5eQ6N)52S<Y30BTe+G6aAqh^|Tw&^`|@P_@Jm2BJWI zVq&NQtzH8g2Flu?le8Hbf<P41FmO;oO#nq5SShH!0kr|3&H^ngV`K;bMLsCSGBSjN zDA2MiR)%s0Lly9K=8)h6)%su~K$~ko3+ose0zvE4Kz$BIhCq-$&@wGnhBA;o5EG&g zR0o3ffhtK*N1c%YbagXW2o!^$J_;*CF-Q}L30iu_$Pf&oK=FxuBps65!MYh37?9io z69R=c)LSqiBxk~eU^X){fc6@LML~f8@;M^|+^aB8Astr;ib2TG0H|07Yh(cBLI{fi zJfsEkGANKiu7in#wg7@EMvxe2TM|qh6q2BWB|%FRLFo!64!Twhv^?+_0|NudOE7Vm z7-*{z$X_sVP&6PP_68FN(a7%m4KC2Zm%m||j&jb=Eyzi&@J%eqa4XGAF3HT#D`ps} z6H>{!1vwS*pmQDKi&7JFD4v2k&cMhl;Kf{^z${=hLr2%hz(`-q*hpJfUQty>PEk=+ zMOxojMpfEG%|u7nggIGHiCJF3Kv&DyL^I4lPEk%-UQSI>UQ3m^Qcs!L2XyL-qKv9E zvzs3C0R{!|jn=#Bo0u;!T-#`9q^l1);e<y|S>I6KP@g#?joDZMe98%Uk^xMBrW|0? zU!V(vok6~3$joyx1dq00@jTMWCYgDTMhy9-C59jZ%rXYCOhEdL7$7q>RGj(&xi2U+ zF^2&@8v~wINy^D~&Li@mllXYYAa_HE7jVn~W#%~=B5Z(!kE1a|W}c%7<kSpsxWSzO zQUE#nqW~OsF2yC7M}Ne}2e}3_4D(4vaAY8+xb*b&v6UnGpm`cB$x1Jo0W_}$o=O9U zFeqTb3@npjpsB7zP#HBO=DI-RRG<PFgh7Qcmh(xR_(1J=Qs%wjb6!}&l3}RNbTKdt z)La*64hu8_0UDzN#TRI<3v@{ahz-K9>K@d>0;vOufiP(8H|TCd5F3PHa-h}<^2quY zamcz^(69z*2`|VzP^%i$qk-uG>1StUU|0`gKru`X)KGx2K~mdT85m}Q3<7b$Eq(|C zG$)2^?-wZs2GGfoAbUaf!R!T%aUz@N&yD?T6400^vUx0ukTH3Xd7$1M%sf!j71_Le zZpgj}h^s)S^+Q;oL!6P#6H#Pf05xPl=7E~2F!MlrDv-_N=V4&@k0bzNg67VU&3mE< znZp8^2O6Y;nFqSR6{H6=5(07wA0Gn)Xdf<!4Z<Kf5Z(?AOPIQw0@&xUKzlfl=der# zvCm<Fn!O-%L3V&}jv)54NkCzM?2k7{;S4$%1LhC(Ijkju3=E+0evsK946_SFLmH|e zQ3eJNG2+f9sSsyiu!Lv<lOS`z3^W2+oEmdjpnQ+80_0l+j~-`}faab+^9&GMK_L!d zfk@CC6^MpmW(H6!z<8iJHX#Pkz1W~I0hRNhIV@bQD7|C`#4HuIBAkKz`6yg>T7$Z| zp!pS0Uk5~k<|silXjm3RgE}N28kE;TH0WS&5Dnh{#LK_{y0ad{2jw*o4LgqnJkP<) zzyO}-;ALO{by`63Cqcu)pmQ^zH0azNkT@uvf@siq0f_z$l4oUL03B=tn)d+Teay+g zzzOQ4fX@2>(V+7uKr}A{1L#C*&^a3FP`)9E=44<1jU|B01I^Kb<iY15@G>xfhMGZq zP}dG555DV|lYt=_q>q<@As0k*GBAL8svvn#c@I(#J_mu9fdPEiF((59cz+Nt1H&w+ zdhmG&ybKI0q5O3qniqNw0w)8*UMT-Kh~|Xu^WkM+xCZ6l2GP6>44{RiAp1ZkUxWM) zI{g|%e}~F5f(Fz%85r0=G%o{#5QyexU;te+26C?|h|kHu06GC1#5V)+xuJI%^D;1i zE*t}ihe5@`cNg<AfKS5)iNnq_0Ili;*$Y}R3=;1Jspn*1m;|DE85lq(SA)(20o_3b zlHUjt=VV~m2BJan4x+gs<ta!Wd`=1{1H&zlI4=XkGZ4+qzyQ93n3sV8e69f}0|V%U zYmj;_=)MO&C=I@Y7<4`jh|kHupa!Br^OPW(m4U$wN`vnn=4D`T1@So<7{KSHK&Pug z{sEODAR1J!fM`(u2GO8F9S{xf%oB0m2x#&Hq#ib(2pYfu@j)GZ5DhwC3`B#^_hE%x zJqO~0I`tqLbR!6e2Axh1qFbQp9=6XAG%o@YhwU$%3zY|*y9E+Qzk?h!0|FAqb^Zu= zKA4q(;X2eD(69?gJ!sSeM1#)*Vuh@I0P#Vqra?4l^c6&d^C9T+Ay7I5U4{mwLCe!Y z@}Maf5DmV29<*-=Di7QD2cAa;-O&ye2aThE)PsgsKy*G-96XQA%D~VD<%8#uSs55W zYgIt%7DC0r`HYo;VJ(yoTE`BOhwY~WpC`o1zyQuytPBjWb3|bK<Un&mAocv9bjZrU zAO@vD*D8R-(eDTcO&Wp3Vf)#fq3U6GgQK4x0-kweWnciGJH*PskOox`Itd<RP9c;J znt=iFYoYu`C=HsG0*S-+r!9nvFNM<UpfvcLBGBFQQ2t&h4O+bp(tirdhusB!8_EZr zEDw?g=R;NohPP1hk5C#k4F-~D1LY%D1_oXz4L+}km4QJL%9n-G==;Xd_lwy=)q!rB z1DWdy<@-Wu&^#MR9CqGFI#fIxN*6=vawrWttsbNveBKc&<ivUqe;QPNE|gvfrB_1f zwNM&;U)MpX_)#d0ejW*ErVnI3Y`+%xd?ZkQfvQKp1DpxEuLpK63HaP3(0K_^aY-mG z3#CC*hamI8=P0o<Fo4!)f%vffSLpk$Ky!;AdD#A{WT-jmP#SdVJxIO?%CCgd;CnH# z?56@vPJ-0K&Lvp}RS!FtWFwTn6-uM;j{;2#g7ja9%7dmeL442&`XKr%R2+5=3Htsf z&=e;~9c*6{XgU+b*M{!j0Zl1__;ye}X!;Pu4}|hTQ-vTtZ2u8xN)W^^hsuMd|3LgM zC?C|P!?*4N)Gq?5ht(74^#f=Q7$gts&x2@C-vC5|`iLMJeLp*BmJ}oonjHqw;CXmf z$lx%D4;lyt(YW@jgJwrT@}LoZ5RJY+9lgE)trGyL!?JF~!W6td1VRv6H)3dDVg^}f zLU`TC2{CZ{7h~N>{Hw`aO&b^|ceqV-OS!=Kk%LvljoB^Ctp&6`LMJjqK4ZcrAs+GH z48O&HD|{FH&GbR=x6&v7SFf%A3v++w=Vt%R&(8m=`?vk31Hz|YvAZ*T=4Vh(VAym? znCUY=lhCFEub7;Y5<-8l=*-BtnK6Bn5Rbrb_TK`()!}A=)^@zM_J8%<9MwGkR}Tze zCN59#fAz?SVH3zq&?*d}P0Sw!m_cT<d=y}D`N5*I{G$IWF5v_>j@PF+BwS{?FwPSC zz|1Unf%78^CyRl_4<>DcA1pGA)`Gv8KKj3UXvp}PpHcG%i;Te!CK-?#q2G+37(TKv zfb0R;qWObO=kY}*_&N`8UIqst3nOUN1taKM6VS$J(6k3w97-@TvVm@kWn$z2tsh_p zt;J+g1<gh=F|mTTZ!xih&JSdk1y%O2y<f{fOFlr$JDFg6zrbw~_&N_zjgMI80ctNW zOM>p&GBpRy7lZ0|=!P%Qf&j>dFD4dt@Hu3R9O9sAgM(!;$U+tta3bemSr1z00qSV5 zR6^EyfDUzFsbd69$HUfnfY#D7Le_a`f%;0It~Lj#lMY$u0UCng0JW_k>pVcc3J!kI zv=?}t2WYVx2WUq%qdRD&0w~RMX67+KmU)0$3S6MoD2#p}Nl*iU3$)6V(H~@|FcSj< z7wGUw2-g$D1?6$Z0FW$bcNZ7PZpcy%P@|U%bh0Ca3)=h51)4I1aL<ACT7w)8UdREu zgNbV^h#Lel3e=G0Iu5#f4$KAJq{0Q7v0(&rLB%*1sBZ+}f_9sN*IMd<%rpXdv<&2U z&~8nxsUS1KTyM}I4>!oUpk_Q5SY0_t-Ez<gSYUNv?k=!8P|?&1H?Iby?g3~gDOeqt z%LD4gF@l*4+@O*QbV?b-*b0zxZZ-x6i1lDD=qw}#ZcvE@I-Lxnt`?-uiH(7Q2W%{u z%LO(T%*+Lqx4fXm-k@19(57^Vwn~t;Hn{O%F6d|@25wM+2ij~7Q8yW+Za-Wdn0pCi zCO4?y12rBX>ZX9yfzBR+I2X)y1YQ2Y4QeoVGczzi)Xe~?OJ|2U7tDo(0+`9b4I0Y< zoskGpJ{6=KbTbshSTMI2Y%FMA@iyGpX&`kQL6?t!LjlY^0#*lFHvnn_K+Ky7QU|&~ z3ldsjE+n+T%)ekQpd&ay7u`U#tO98Poh}4%0+<UrREPn*^AWVV38HQdNL@MyEW*It zDo}04K>qGR<ZXp)ux*9x#4mW^0IiDg6b7BG#f4bq0^)MR*17N?#2FZ%i(WwMU-)pY ze*uj&g4Vx)Xi(9?#83-5WCmJ9LU!OmuZdLym0%3TEb~DO(8vZeLovsE5Cc>MGBXtO z%m*<*an8(8EHEF$xCF{=48foYRM3rGj0^!F3Uo;pGebemd=LY)8I+l!pl&{h0a`%I z$PfUcKw}bMMR2z;z?>5Z8dCzf0=zl~!~j_gUP1$6fJ$;khENa%vKXug!~ogG$PfXd zKrzkCP*FD@!~mVL!pHy`yMbE;vVf5x2t<Lh8Ye>~Lk)vWF@w^45Ery$jvFqd%rPHi zI%txeks%U9f&9qKP+0?Ca{)3}3KA3`3S=P@!^9X64GnZqrUt2E0J#nn5=;ygbs!ov zVUIMk4=U6_u3}_}0#TrjE+a!2hyoRd%nW6WV8?(uq-+cmW7v$Pz)N#L14E1q!5|9c zV`he8#DWk|_<>eBFfxRLDA2e$6GJihaA;8d$H))>qCmsEObo@4Jix%f0MZ5WHX{Rk z{Rc=0a*}Wmh=LeYS^<g@&;}4jh9D3HF{l*O1Os~*bT$#Fs$*n`26fZHr5yvPMh44* z%2CM7KsacV259vM@;U+r$QUvsLjb5w1|27gw6+EmRiKt2BSR1<#z2PzA%!F;nS=bx z$577TpyHrb04C+&>$wCNiW#ObA<KX&E0Cvz;4-BZ5EXLsK}!rkqkDV|5OW}A%FPFf zfr3u}DqdOx(*Y6%g@q79F$Y8pAqVz40|NuhjWFHi3=XOw7a_Y6VqY;6#0)v`5;TY_ zVXi~S!CWbT@H5mrm^+0SV6G^D+l6o`Os<#<W*f|<pa=&ojN)S`1czf0n3S6j5(BwL z04iQu1=9&i3!s%f=sG}Rpm2ffsDtT1w@ZKlVoM?1r7+us7-04w<Y4w;>VnxQ#83*g z3!w{UCsHbf34y!}N<c_~sp6m}XRiiNLWqO{i6oF5ED?!dCL((^c!7bG>|xe{TmTA5 z5eAHSMbZdL^PpH}WC#aQ-~+H2O27wUfpRMoLkTE5g3SaKc%WhjDaU}U1=%5l9$QE@ zfabwK3u_n|f<P411{M$vwE<)?*anbeKpBu78c}fX!6cBfBgi!%t3@!Q4#{#XB?Ks5 zL8%uhk3gdVBnnEqLg;zVUTr=|9F)pLFmoT0by$iVkP9FhF){;^Mo@VJ3Js*P3QGY6 zG9F|WJh-9B50p;80muM38X2wR0+|HTCW4t>k(>ak4<Jqewfw=xfm{VL3nM;2i&H@j zC8WX}bcrRXGXu+pkgNuB8AudVGYK&iKnpX39M~EL1_n?i1FFE0A{b;os4_#!f6#b> zYXbFqz#P!{GMK>tsvaRM1_n^>1}*9Xb$~#*0Va+t21>y&aS$6+cYsC-kdHk;76T<a zn0iq117!$M>I9{7m^i3*1<lxi8p)vOhlwMLfua&74q}5UD$r_2P&*PPjw}X>Lzp-y zE<ua>LDd(i(E<}k76WB3m^i430E!+^Z4Qb#m^g?=4zG)#QC)`7C263o)iIfQ$vLGd zsSMc9NWhpcG&I!%U&cq~sR*DYX@Yvp`FaY>f;QC#GR&L`N^<)8plkQ^<@Jp%RJ4o~ zWgL8Ul~f?YfqKkV3i`VGMwW)!hH{3ozRV62m`^b@RTwf?>Z!LdmtSL6!M4y0w15k| zNQwcxzzn<(AH3iP=Rz{b8nQw|)A$nTy;>kMsI>^pG05GB0lK^ha`pq*HMylZ&?RDq zW{@kLj6wH0ftIzQFAc-Gn90x-*FrIrC1PO1F-{K{IZMSzS|A2a;fTd$R9RI>{Ccz8 z(i|i3`3i$~(HZD~A_fKq<TDmP<J6#17KA}1trO<GSk8Q)Mmu%Zof(>rt~&z-H5fz3 zH5ov|ji6pAY=1att^lk6O2E{C2OgnoK0s0+b)a)pL2M9)wJ|`g0hk_;IB11E=$t(e z8-!tU=<CkDNJDN(1`XGPMhHRXf!qaZMZolc^n=b)-v?qqF-#79-B}$Q1H&AU0ch$# zEfM7POFjw=3=h~KcTRzn!|X+0cP7P8+`2Ozb>h~YS@A>GIYFHVZ+M`uJF`)Ttm^=U z3uxX4=05awXITOa3|C=+0UjHHm<$>KK=$t$4dT|F*$Xi+faYf*ra;!kfs99AcP1tZ z88bjv2O6$IUUya`O5D1$HKN3=JG-KR2xrhLC|J0FRy@JdGRRF&M2TB>)*%In573zx zpsmIr^FZq`Kw*b$-VW)}b!QA@+=&HScLplwaj!cA*P?jVof(>f;uJK-PR=<9uytqP zc~H=L98eF5mw^E^UItp<0~&e*(V$H*AR4?*hL-_6b_e1Qmvv{LjclOxT*06o4KD*j zEQsc0U`PVdybKJW-I5^rLMXo)L~}AQfX}DqWnciWf8k_c=m&}OLeEj)WMG&F<%7>r z;DoM&;f0=~z{$V>zITV0f#DcP9VY|BX%Ni|DYroOfsQ!@g){g(X-)=)mr(i7Aexhb z0epTmF9QP;Xkw3(fq@-Fb2Bi2&xz(`U;wX^;bdTt2Z{4CFld5kP6h_h8IhoMVc_*L zybKIZP;u}&8D0j4Kqx;PL~}DRfbZ9Vtv};rV8{oF^D;1i*Prn+FtmaA+zbr;AR6R< z5DoG_h~{Nr0PQ6Q`3JlnhMR!_*L__Vq3XfwUpN^U9)kF+3=E)M$)I_1@O@pp3=H6N zl{umJb@4JVu!Gija6;F=fbMey@p%~-z~?1%GBBt@`QZC?I2jmBL40lo20IYV%fJ9W z2bq(B0ldzImw^GaE*#|ESdct7149~!2Bmut&B?$}3Zi)#7{K@H@IvqL;$~o&3KgFZ zqCxkRfoNU^2GD#W$UN|R7H$THy-@MvAR4sJ5JZF48G>j|1_toGI@}BlPeFWM28Q<_ znv;P6e9ka01H*q1pO=Aw6SQ7~lYxOBL~}#$`vR@E1o1f;7}P;DFXG-W*gZP1`@g{F z1%uWbg4BWTVFS^;3=EMV8dT7O$^%x&IZ&YR2i3PA8dMK}Xwc*)h=#4l1GR}je9&Yj zhz3ncgJ{saD~JY-s(@(F$O(uBmoG@?dw|Os(EVdjdqKx1fYjwf`Jk~l5Ffl#l9hp> z5h@NkuL&d$TFVZiL3?FEG-wVRM1uwfK{RNz1Vn>IM?f@arW!==hnfT0v<KpYHtvCF z(EK`xhONf~O%;Rqu=D##U5^JEp91Lz%|C%?(9}4H2Cs`{WnciEXaM4a=88cy`g%Oj z*`y$G(CMTg8g%3=h)xBS2doSXpt*GrAGDSkM1$AEvO>>$VP#<Gg{qqfr9rdrAazTj zeAqg@jZi*lIvyksTdxN$pFsB-LFK{gVp$m&z~vMx1H)se_;V-?E~i)-7{KddSs57q zLB*M%`5H984>BLTFoBhUK@KVoyB7?+J{A-%P;t;{3Ly2CP(Elu0Eq7k<%3oPfcW6@ zij{!@{XVc_sJe0}T?eI`pfqR+0Z2dSybKTxT0{Y&Ve9%pYYISo@cA9A3=F%W`u0O< z&>{nn{3R&=CX~Jlr9rC>K=QD2;=e=1e?w`|G6ax3Y&|Xd{b1mG29eHjM?aq({XF(A zP&vWMz|aS!!Q~Ju1H&dLAN@S^M^N!+Q2HN~hOLuBKd&799CFY?36T52Yh*y@|AWdA z(ES}yx(iD8LFq+M8n%uNw6X%EA9jv6?4GPgP<6kc^gk$#z8(#<0t2Mq2D*L>v;+gh z_lNRRp>!scZiLdXd#yk#GeGKBL&ZT$GeG=(P(Ely28jOz%6|=|-$Uu|Q2IBN1}(_| zspp5@&jebN0pi2%rvfd-0P)?R^1e_y5K2cv=~yTYTA%?^UkK%c)?|SAT~Iz~Q3i+) zyKf4#76ZgT43!5h#sKlJLHTc>^am)-0lhDY2TFt1Xn@qi?uP;`(g5*Yq4J=$86bW( zln+{b0piy|`JmMoApS%sAGGKK#NP_#gH~OD_$Q!z&|(V^{~eSMT4Dj>GeYkp0<Ek7 z@ui@A(9#MJA9i1pGgRCiN`qEdfaJ5Ge9#gL5Wfz}2e+H?oa+SY|AN%R>OJ)OZm_Q} z1kDtH+z;yWf@sk48W0Vd5dhJk82}Is-VegczyRu_g7~1h9S{wg6#&toP3s^Uw2lTu zgXVoeG<tmqT0a942hALSXwXy+h=#3C2hGud__*$?0WF~e$;0lafz@Z2>mw};jUY=S z!6c#ek!D6P<%HKqc0l$apsbIKe>Is$_vHshuM6pJB5r(ctZpmZuDxZbn)a44>)KnU ztZ8qVtERqX^t$?%$!qFcX05Al*`lVtWr>>lmfh;=TUM<bZyBuA-?ez9y;Jd0d)FG3 z`mQ}n?HyBA+Pg(r%J0~#lHV<_Vzh60%jk9FEt6NvTjs2mw=7Xd-m+#LdCL~n@|L~o z$XkXg){hFTY##;KSUxJS?7Qgy%14CpHIJZzi;|1*2WDpB3m@MwR!w-zP^JD(y{hRg zL)C=0j8*CH)T<b+54~lqV))3x!1R%W>Gj3EFFr69xP#mLpw1%$3nS=0U`Ej90dKGX zD#66U0-Bj(Vr1J4s-_q@wu4$rOsw4?9uqrwj{*xTXsZb`IKC~wtvD8TaH8R01^10O z*g;Jf#KJ|;NgvEpL2DhIz<Zlm*uhN|Mh<Yz%)tUW37(0A1+;I46?9n)O9vz9tVA{z zPzq*e1l{)vJsTdhO%LQ=P!Ykvz!(Nf%Ajn?0X|DJ9K;1pBXg94mgz-+xS&m%9H1JT zF%r~%1f^;4dc<gu*`V{AxWLC@#(*Sw85tP3OhH-`L9&$~E@)j0BbW<1E|1F{E(>Zs zae=Nzg2*0ZWMJS91j#0W^m2nbNsM474`}}qgvm6)n+vpy3Bm*2tI7phD#e%#(gM0p zl?!xgBZLdOJ(UZT6(C$tV~7iM&^d$)Iz@_088pz90@4fGvcLrzDrN+8K`j|B(0N=C zE@&eV7ie(-gnJaU@DS8kXG{g@1vOi^KzDpWxS(AJ+>RiV!Lr<-#i9_I!MR!ud662@ ziZv!sz=DzrxKwATWdPBj<io^J3kp?`6c~d>yBHY)Kon$9F%(3B`V7!@K%jYUW`+Wm z`5*?UjAUjg;Fu3$fS0Z^fF^{&CV>c$F^mj>APQs*BSRR7f|wQvqCkc)GZfZ<O#`_H zX_g#eKoH0PP<hVC5CSp))RjS+{RSxn-D1Yb5DcO~#(+-M4+iyoKynNqn?S?FObiqJ z!2(bMG^__Y#>Ge#w5fmrWD6rh42S}qc*4jK4x&K)DQ1Rp#`z$dLFR*W7)#9uF+t8} zWC#XPpz4E}p|~ErG!Ntiq*GczCW6-TF)@@ffM}3OObio1N4kMsf+P=e5?BmW-GbCI zF_ePh3SEo`BnLGI)UyQ3gC^XeVxV*i76X|BS|<YXJBSA9V`2bxCc)ASpzbJ09}~j_ z9}o?dhr0tb90r=WXJVM(3!<U&a5sU(Knrb|7$*3EXsA4>)d02tW<M80DZ@7w&9DBN za`Qp%fVvYNA0T%?#XwB3UXa~TG0-kHuo%dVP%)4+x)^9C0W1b`7gQbSBu%gwxT_9k z!M(=-iYl-WltAW#kN6y&<kux*l0VJZh@wgUn+%N1LX6CLddxz4%zP2dRSL}fddys4 zZla!<nW3SfA#<Fbi5WAW9!MrzkC_L|@YiE5(qpz!FwxgHG0|sE)nks(W46~bWnNRS z$NZF`#K9n)xzbCWxiXEJM}di%fsqk3M~^hmpPA=m1e);&9irj{o<#?r6@zhVOnzyJ zDd_wdGZ0}8A}pwRa{#uv`ZQxB29RqhTv33zhJcjGZAi@GJ9j2C&k^UEg3LTebI|ED z77U2h1vu^^7zqc^fNzNaFXPC}b2MW>EEynvwtsM+F2evm3KV&sA5;iK%UW>Z>%u3} z!rIEx#@x;XI#q^&fhzO+psX@_t_&=kL36brHYM}>$Q2{3`b3}K2la8?kPh&G*$b+b zp+o8*XE1CLVqoxKg3Pnyo8R|ihTKaF)&y#VLmBAv`=GHpMx=>Zn7!!p`+r0r_e_d0 zK<2$c{s6UP(C7F6vk^DH4?4mYG#>ym57fejnFkt+hq(ddWO?W~3y2NEFgf)3eHjVF zJT|BW1v3xSkb&s|>DOmxV0eZk0Aqs2I*`LzM*`wcko!Qp8(`*v#y~)NKywu!^F%or z7(n~5L2M8P$$>Daw+o_S>h5zBH@|PqL)`p+2@m9+Wssd9400ccMn6}^1Swqb&F?Sa zA#Q%(Ly)-n{R*Mc`F%>}_d#U_&iQ>vLjw2wKBx$Xt}&uyejl{588nX!>coR+Q11dn zgL)ny8nk*DM1#-O=Vf33l^GyDc;1bdfdPE}1uyhmeO?BJe$WUIF9QQ;90sHgeC`D= z0|Tf(2;#4V%7YezgZPI*d{zbq(EWL!@x9X^J|_diMG(!)z;GKxb3*QH0jURVa01Pj zg6{YL@j;_9ApSp)I$j0_P#Fv2i-G2oI2jnEK{PJ|1NdAE(77s5z6prtWMHra(Yy={ zpe?K*eI8JL5QyevV1V750G?0dWMD`GiSsfrz~=kG=gYw6`N_C10W=f@vKKth4?155 zWIiW!o}ZV2;XafPp6BOfU;v*d!^yw^o<HMdVE7A_2hW@FGBAMegXUyl0G&V%3Lo&f zGMo$y3ZNl5Ug)_puz7x71_mprIH+6!g+Hi_0nwoH6-0x|Zx9U{I0Mn3b%-Du{hkKU z<`R%NI6bj4Fo4q&=)4e6ys$Dbfa*e!JZMJ%hz4!50@1K@RzM?hAbt^4J)!ee!0C*Y zfnhRKJ*aF4=?B#XAR0832ckDa<w2|4L45E)2P*>uXdn;72kqSj(V($D5Dgo@ehk(3 z97==J87l+BUnn0m{0CAGK7*eXvh4uGhmBLi=54h>@xuzej{|hh4U}&WrNQYA6h2Ts zINh-_FhoN6;Pob;^GBfkEGP{cZv@!~yBD<;D&7gDK?9H=dDyutpb<zAA2xprPIsVi zfT}+WrNJxrSs55W<BcHo;PZ@F85lqVjvzkx7Eo3O2JksXtPJ40_(0;I5l9d%2})0_ z3=E1;8hoA+D+BnndyqVAe%28x54vR(Bn}#*1ksUD@kA({3Z+4VmLT~`D8Ca*gU>Yr zoi79B!{%c_!<ZoTTcP5haZC{ZB$N*t$OQ3W^RJ+hOb{P-ehQ)aA3XC9#+Klj2M9rE z{=vf1$ONL2i1`Ol<&Jb8tptN8gYL@@{OdMoPMpc1K3QXe)+FtT3?I%l-2JiSK!e*v zH?@g3ey}*)_`#qs=LIK2%WvlNhTkl%O}`l!!MAu!_J8%f>YX^toU=c87O+q2a=Ry9 zC6Fz^{5pmC(CaLw&KEokH-2y^-1x!caOVdH!<`>I0!-7{rm{{Gc5C^~2si7_4<3bg z;?2LAl+V6oP-dLPKaFu7$3&h<XT-mW{}$(*!aI#)4$nO9$sn^2y-s0bex1gA@&}K> zNwC=h3O9a;INbRmz;Ne>hyd4gzNsLyh23B-z4Jo^#dPs$jPnF0ia<>loFY0+V2;Q< zVKmc43{L(4nJl4j<A;pHogWemcYeqS2u&BmFkJ@4boptF^CTw9KuwpNB0EiDj?6r1 zG}9#%q^8SFJ^4e%Ky4=IW)Vh9&>bV39~C&&Cf0v(U9UY$V~*y$yFXSe2xbJ`GBV3W zeYVCF&1q+UtXLrYftkzv0!UtKCd)?-PPUI69E=}1c+UQqu^{pXi%;Ya4jqY?n6dRv zTxqiEw0q*9I8&acG)HaT*&i(nssy^+vIRh~1&TFBJD!(33<}d#rgD7b;Nbko!O8QH zgGX)JrHgvdQ!2pq38=7VU||H69gLvHFKD6#EQUldF|vX47$XO`>SkgE=SU`YPzB8l zt{q@^k(7WYYryk*u)9chg7#~JOHkNdB;ezrIM_j@BVwvY7<4>^Er@{JMUo9N2yzz* z=vX)ST_oT-myrX!goA?xeDe_t3uwTbiGu}n?h-3#dlT#~5_8PENI+-DLC>f#fOfy2 zb3%x_NI>}=az+K{BrXon)D`3|5>SP}0h*73+(iPq(vUL|dPK!eMg|7XBq#^8f{rs8 z$^l(b%$Wk^$b-%o0Bx~i^a3qAx(4Ec&c|c)2DJb!K^KRBcC|scpbN*jK&RzFxS(@z zxIicHL%3d`BNRZRy^KB}y-Pt{P}K_If;v)za^eM?uE0$ThFb8|fuP_9ZT<(*pg3V> zsJ#K|N`V!E2vB>2ks$y?fu^dML6={E7@(nfW`+um`5*>lR-pp2;a?7vkQgc?=7ShL z5RSrp5Ce2a6(d6gh&l(V<`^b=fN0PXCGcK(5Chac0^Lx-#K52dN`?%TI4{2dbrqQy zCc?+p5zY+)ITz$GZia~gY!f{o_f~)eKyxy@AVJW*6&`Fd$}ICiLLd)-g`sMddB77S zpwxgOEC4>D0OT<gVG*!jK}%6lgeB&Kgg}=`pa`ShKLK(oBSSEV0v%QYy7&S_gCc{8 zp%y-A0t$2Rd>=y)hyu-FfNq}v`3bZ+k&z(?M1l4jGBN~%C~(7`p@IYCH7RgtR|tR{ z4ss6Y@&!;}gAPYzWC#LLBB1)1p%Qdj2q+xE`_4i8B^Vh(KorzI7La|QBa;{zLO>MM z5+2aR8aS&mgn%fheIlScDQrN~s|+C^3Tm|s$ZF7}1tUWUh=N)TKMnx2L=m*ynUNs? zL_w^s0Z#^jPWNME2mnzKt7|wwbJ(D>4j35%KorF48UfInZP1yOj0^!F3SxDQ1ZWu? zXh?#QApk@{tge9j8e}!7r^Uz+45FY`vw&z&hl`OR1Vn)X0dxsR9f$$4pOGODL_zHq z0ns4)85sgW6x41R5DmJ9jFBM_L`?%{jfoxgAO`68OGbte5CzH}%nTDd>OpP=9Z$)~ z5DcQAZmj{)psay(kvAwOfD#ZRLm-F(S;WLJ(E&t*1}oVZCOWVg%FG9`L8db@1cE3~ z-eUt@i()J_AH-GzCxM9$AR1%=_$Uc*VqjnZUn~LgE+az}hyv9`tPE8QhHBs$Mo=DN zW|(-Q4#Z$$WME(iao7yi=7Tt(Y{bkk@dfxa3()2ob`S?73*vzC2-v?M1}H4pL7oT6 zf;gZMVPz-*Sp;H&+zpp!fff=_hafu@)O}%Qn79EPMG(i9gUkRiL2hJbn0Nu~SkUn# z>>v)vLL|q206W$I;*}3|AXy~GPN)Yt7PN+wonhjHdXOy0F=9+$pRWK5z?=gLE|8V% z3=?;N%>i*hOCMMnia<^RF+sf^@bw;Q^Fd6|A{};yiEF^hK^#yBvNKG)0TuvpK+AKW z`aw+4DXmcbASP(BJX}AB19B}p!^9t8{U8pg`vTPuV$NY?V1VieF`=Ohu^;3yP;!9A z0=l<Y8A?IE0C@^j6S6Z*d;qou<Vw&YS$2kr4dCzqSqti=volOw02TllECC6z9bf@; zqq)Ed3>0rN;8GeCSA5WfHSq$-78!7P42mT_Xp));jw=~($qR}fK4@Zs#FET>kfoq# z;sKjI5gb*B0vQxnpu&KWAs9q~JjKLN$pWH5(ZmCeF^C71=7U5)UgiPa%c2Go1^F8k zB~Z0szbnlLiGV@_sun5=3KCH8L)C(VMQJ`r1QbwEwNO!z!$G0N1I`Q+!6BvuUpoMr zu7EVDK(#w0AVF0Kgasjy`2pa(4zh`9^sW-3H-<y@h!+|gQZ#9NoPp7XnO}jqP=T4> zrd`*-$Uxh`+CYQ3Ou;}_NkvIn*Thsy--tO=Pf4CxTtVJI+dyAFQeI9;PDx%~Nkfsj zOhHviN#9t9nNts{j#*SeUy&kZhRnr!O3b_p%!}&vm|rk(G~I@{OJ815US6M>Q-L{0 zftgFen7K+pLrI@GM~_)jfw@pmiMgbNxtURqi3K`C?FgRvb%I<50-iA>a?%z#X!GH> zpHO8>GI;h9dUFc=iV^U|8l>EEQUJPy1iZT*#~ml&9q!;w&AFvH(9P{|>);n}fN$SG z5r$lJ0^75WHlYp=7SR1CV2elaH1tTAcLt5?LW*k!22g>GWq-LNAE=8)>HISyWexcW zXwdxzpiV2O6AKDEP=^IX!!V>`WPslz0GonER|hf!q=%CEXHcAh%m86nRScTLftd{w z2VFZ0+J^&TgD^}Ew6qs_UUZ8D1H%PI%=u@~m_1AnNWVJ^0|WA@G%&ebq`7F2y4x%a z3^zbWB7!(ba-hRKk?n1fVqj3<fY=L~cLw<bM1y*0Ftb5MZ05l}{|st6A)B{E2{B)c zJpT-uJ3uz?G7m%@$ZQaX$#pX@Fd&<^1<5?n2pG(L3z7T;(*Kx;fguDI`ABl0xiDn& zjwoTDe_jjK1DjVi=VxG8fMy=ZjXTiPT^GbY{|q`)9(jMcu@Lt8XV9GvAag-}0O1@V z?EA|>b92c4ID-@}pdo5lxS;PZUn0c70O~7)%m!hYT_76Cdkh}pM9x1;Fff4j4}#1B zVURf>8XY5xQ{!F}P@@-N2gtVw9zE_gk!L_oub>b|wjZ4jiUnkOAqLPzpP(=Sl^NLP zpW#I`u8U3J3P$fW0gcpx=2<~w*`Rq`3DA%iXrC>J2JN#2(V%^{AR5cPCcaQ{@V-q> z1_toG+nfvxB~WqjJRdIuLo<{Q8cPA$Hwnt04x)J(7{L2AIT;w1LHVFNtU&JB3gzzy z(VPqn;QgAs3=E)w7m)mAkT@>`!(9*!&D5ZIFi@%n(V%h;M8oERK?{~ad{7<$(V&e3 zAR2VKGKdC^oPlW2U?GSeYWHk_hWkP8hV5U1&Huvo^TPHkfes-7sRPG5D+7Z#DEwF% zz^BH6#9{k&(f8>Rx;FzfzW~w?j$hDyU{G^m^SH46xUl;(KvNJP_2BzySfTOD%D`{} zst;6;gXFJ3`LO#m!1F+?kabcZdC*uai2ejs_YF#;@5|)^b>Knwhd^ocd0)^h2*?~= zsJsc32A?MY+Mf#LyFh7gC=I)R1AMLkD+5C`R6Gev!|vb6gYt`@G;BT?G!F!_7j#fI zhz8GHu`)1BfU27Ur9l%jAbIe)1E71^pyJ>SOj!2qqTj;-+rN7ast-1Q3_FkDB~%<X zpZo>N2cJs-TFeLCH_HO0xuG;alm^Wef!wDI<!eD{Jtz&kC&voPhuz2F3gv^=1cLMj zLHUtT8hl;>D+5C+l%ENu(f0+{K*ho57qBugv_tuzqqjlkPJ!}gKxy!K2CNJWi=q5A zP<jKD-VUXAL+Qg%8hpM1D+2>)G7MzyEvWcIC=EW}0CcYjl>ZS*|Ao?w(0#rfP?`ry zqwhmjfr@KDY0zvN$Ua*rAN^jAV5oRFlm?y01X7;@<rhNfQYc*qrJJC1Ka`#frRPBD z1yFh|l!o2Mu?NbB-N$hj%D)JuLDPXC`(Hr$AE7ktJ`VJIIC!D^iv^*y9F$gq(y;qD z^r3v%erN|M-xEs1?&pYt^5dX1Xg(6;9@xDcEl}|eC_NcUPlwWrp!6~*y%|bxhtfx& z^a&_^8A@M=(vP6@GbsHTO2hV3v%vNzLup|sEe@q&`>EBSd}AnW4y8d8sv!UPLHUtT z8n&-G3(C)f($!G99!mE>=?PF8G$RW#ZzYt!6H4!e(ifrhRVe)uO238DjL`kftWX*> zr3*4o8Oqm!(y;y4W>CHrl=gwr0Z=*#N~b~T3MgFzrTd`tBq+TEO0R&@yP)(wC=KfC z;=6YRw3!m*UeLBVCVmD6SbIU=*uu;lvd{%g!q>$ZD<~L%MIfZ1fq|KsnSz3uIrQ2R z1;XoM_JHQ0u&j%j!_l;XaSFqS#s+maHaA{35w~qW7#g<zU|O*42h)VDKNt>3{O0;C z`J3yP%x})062E!=_`k~b_J5V-#r-<d^VI7cpCvz-CM@~EaA4aHmWHiA*cNR2!8T#* z4;CWyu}xU=gXO@s9~=!^e{e0>_JeD})*l>1=;NBO<Oj!rZ9jM#w*KH-u<Zxmgsne# z2<l_BU-E-*!jd062SB@kSw9M}g6=$NzsNXOhf%>r5xNgp^#Y3liy@1V!4H-g!yimF z20xf`41ciri2i2(Bles9yU1_0Z=%0hzWBe&@u?T#d7b8V{B?>8qqWixrW~aoEIy#S zPZ&S4Ffx5)VY-8K?+JMA8MuqV!U&p!1g|OKK<?3jB^el)7}-E;JeU|cK-Uz4heP1^ zo`4$~OzfbOZJ9v}9GGDDo`9~%U|tPcb_cun1boH|2P<f9gNcJ3w1O0|rUbOvkQsDy zIy2<n6VQEx%#NUKm&~A}K;ZYDfVMO<F>-*HvvII20U6K25(%O>SU`8`v4Ymb!0tT( zEmB0g_XO0BWdt?u7#Kja86Xcba)1UI7@giQFff27bU8q6W=3Za7qnWH12ky@xfMm7 ziGcyUpPA7WG{y6piGcyMro<gQtHTUgQv&9IYG2Tr5-{g9NG64W5zGOd>%&zH8UXMC z83C%chQ`Vd(0~qT<p+ocg&g{|51{o(j0^!F3UpxsGea5Ed=LY)%7vMsjAcHE0a``M z%uvQQAH)D1qRz}v#xWnn0PPuIW+>yD4`P58donYW@yrJ?KsQ-3GnDbo2Qfg+cxHw& zf%zZ?=<FRvhA<EX>b@~D1b`^eLDJw`AV3Vz!X@xk5g-Pr4bR9B0HQ!MX<$X51OUSz zw=*&Xf+$c|o0FlCp@2cAj6rEWhzq)_fEzBP%mlvF0(5jEk|4``kN{}6Jdz;We2@TW z!!42^$9#|gXtgzxAlH150O+V9Btf3}AOX-eWF$ep`5*yMARq}sLWK*oxC!pg`5-PR z$MHafN+2EriGWro!9|ro-UNw&LKDg7ATGFUU<d?JpfCmRY=(syhz121BSR2~0tFH$ zLlG?8KwMC~bHjy{nZOAF6e381EZ`slr2`~EHgLiKg$R-$2RMj8=>kcR3!G3uA%Y~x z0}dk4`2|RVeDgsb0{H@Mr#0yOCPs!}5Cuxzs5`Ae=@_)x2eiW&M1xW<BSQp;0-Xxa z#8AcpqCrWQks$&^ftM{alyQJ)P`YJghyYRG)piVJJRln65JrXwP{IrVb=nvTYCtq7 zWim2^g2EMqK`9SpB@;s#6DVzg>|tUkV*{lgkl{=WWn7^20Wy(^p^Oi7K?ukgCWeAK zkbV#b#R9~PQU*}KL(C{;0R=6@j8YCz;6cnN<pG^}3NfP)G=vK>0(^M~)C?vhGuV*K z0N?TiHG>by47fW$27%fkpsnUcs`EiiP?}+62mw)`bqkCP;UEeWY2eN2pfCbO2}p;r z)O-*Vd>R8oFo+5PuZTgqmjpbx0kQ?WRt?O6m+}xEqSOcR!HcB9Dn@6ui9hZfI*JHB z$C8nOfz0#Hk1{Ya^Xf4dD=_maR2b^$n`s+r8)_S98)};n$zu-EV>VRKW)5m%wn@u^ zYf{o?F4JS?RnTTGYhu=e9Dxp=hXtSYT@YN944ZT&ZK@gUU$8;od1~bI&><(J!)Iy9 zn=8iLzYI4J&unmJUJ2M=*yn)_O+oX(VE2yB1Lu`cXD9ox*~APQBSzlCj69bNssypj zB|A~&ta5k>GV~8CA53$}pfhbj)fxzc<^e!7`dsn?Mg|7ZUL%kk2!rO6Ks5SX@(W=G zh5{nyk~Nu$n@a|rkGcisC{XtYWGMp!1NvNYgeU{U0~W$_$%P!m%_Un%LFU{*EeudM z599<;7Y2PUc_Ify9n@K%X#y}4eJ<Gp$vja0ftiOsm%NYza<(tn5G4Pi&m~7l5jU6I z#l^tTgw!<$#Ty8t&n5Hl5;vEe!Asm+@&aDs=8_YT!UZ&w2@4m{EGBrs02&ZCc!`@! zt`Q<`E_sdc=v*>6dznG~3Q+n1mGgM!lEIB0tecq;WjF(<Ay3I(X7JqO2tKQv)VX9( zRsxOHg7O%M29-k~8Z>SNqG4mV;O-DBWKatv4qBH2qCv;PfoRYg3=j?4Gy<Z*d&pTC zz}GW^_@GWGhz9ldKs4x<D-ex-hBIjW4oDo-Sp?Crvzt3X!*ZZI;-NICuLzO{4XA-= z@U6wH4B&&zKzz^wX%G#%#1}+^wxfY)P|q1e!_IO(4>b>VmNRJB5F`)UN&=!mqjn(r zGgRF#C=K3g&dR`mz6Tg|?HEWsX!{9>25m(H(bk}DIV%GLsILj)gZsp+3=H5s<)Aq^ zs61>>DQNvTNL@En9DH^>D+2?l&IO4tfr^9Y_E{MiU~|B*Io~r-`Fl_rwAlru?+cU< zJ{z7DdL}$80|Pg7j#3CpgVw2o)Psg8L9{kh+z3jWL220DUD#R6QBd(XC=EUfo|S<C zcD8a0RJ;R9&xF!*p)~jmc+eTdQ2t>k4Z3|9<c=Fq{v9X{8aD-rzlZX_LFr#m8gxxD zNL~OsXD9)sWuP={j#VAX2cH4Y%D`X@<-_J!?Vx-&DD4HM1EF*%l!nc*CPMicP&x-n zmq6(XC=D9j1-TD4w>lXrJ{?M<&#kV8im!*#=yR)}0b-DO=b`e~p)}}zW03e`DE~Q> z2A>_z%E0g$%Kr_e!Dq;`LeGw8Wnd77&N)g$X?Z9OK0}_Bfk7L}H-^%%v*hied}k;P z8l(of12(ss1Qkz%(z#F?Hpf~4<<~&zRw&&GrKdpY8BiK@Od-hp#ZW%DK7pPs0}@9s z@9@l3S(<|9q#y*rxhfMgqW5r%V414|ogw>SOTmS7H!(L}Hx{=kZyBntzGcXo@|H2{ z>RZMt^>=DsYVXve(%z{>nY?rLn(~$@>*`zPtn_#4UQ^yOS6zL}R5j%-OH|rBb*qwh zOTE<IsbyV#%Mz9TPA#kLErS>6q}M5LS-pziJ<B@wmeH&HU0c=Fx2#^r-ZEt!d&^uk z<t<y))VFL|SKhK`U46@5rSeYID*YXsl?wPw+P19JcPd_K@0Mq!zEh0?nN{+x*{k&3 zktmRPAhQ_lkG*AyItDh8E$i4@_9~W-3M`N_X%*O}gU_Qy%tFau0G&iT@hwBvg}01Z z7r`gdvPG%AYs&)J0W!bz-LovPxz>l?GGxI{sAc@f!3a8~_Ws2WdkWl-g32;bgfg%& zf_4Nmg2v!LjdQRV62Zj60$R7q#K;C-V#3G)KFNfM6}%9Ji5;|ik%@&BbX)=Ra!~mW zJEIn~C5MTF^*%_9gB^4Y0Ai8}w3n9|v?+!ec1G<rkTOONaLLQT0zQO-gT<MNfq@lt zpaR+%wV<=>89^6{Fff3QAptoSI(HNTI)xUrl@2m@6bj;kPR8H>?HgtUpI|#3bT|`e zbqr%T=onhiHcQS#Lk7l3(DAGfK`U01U_43C2!1k*2RccDGX=&2trz109pb_m1v2I) zNNJ)G17keM7|@|0oJlYqXz2}SGK^ORnygBJ@%li=!-5nrCV(`8R?BdKruZOS3(!ty zu=l{S9Uv}f4Gcu~9k@NuD9EVFC(O;vC(ReiCde4XC;*xXS7G4hw&P~zV_;y0US7`a zDa^pY0u|?AU|@xcvx3B_d#O3d#gN7*LoJvF#S#-kEvQ`tmIDzW4kJSVhyvaDz{n5+ zI+_MF>deRx0HQ!6*x;jJK@3on0DKfIhymI+hII8U!n8n;X&_@58A3r6$QZOEUqLDu z8G=9*NChK97>I%>1kEFW3<G1(Rh^6s!5|9ceAI~u(Cj?uE>qC4q#zo!mzjy71bn*> z$UG*730@#)gIo$y12z$Kxhew#18DU+=r~jm4cef}#8AQl+MNnMfrVj$2WT=0G%W-= z5*0*)Hvcj)6o49;U}He7N^nb^VS+D+1|3-nI{FnvgHGOJVwm6!G6Q^)55oi>5DhV- z5Ud|Wfb0ghHW?=PgJ_65N?AbNZO~Xh=r~sp4b=y?8>AP+0nGzIkF^DbBqKu%hyt|_ z85zPs6sQRZo;d)81}F?cI*g^j*T#e9uNWDEK@`Y*lpD=K4g>Ar1qBd@hB&N*1LQG~ zQOJP_3UttpVq`IpXF%t_f;<3nEC_?dK<BlB0u)3;%q-;rnF&6ooneAMhz2)n8A?H| zb&xg&&@ddhsm?IL14M%Yn}gx2pXOIzO}Y6X9w_R$KqBD7XXWOD_#oRrd;Pw#XhKCn zA|N{@7)n5A)Ivl{SU?IugdAcUBgpq4UxA_!M1!JK0ICbD^sBd~(tMC8vUy+`h<PCM z<q*3IVP=3%0|w~=`JRX2tGg!D6EgEbA|SK)prWNb-&i!|Wafj8zymEM0EHQd289(9 zLm4<8z-2Yk`NE)h0wrKjoPpFq<w2H%!x0pqkP#D5(g6#>%WVh`QI3Q7zra-!s6#wD z8${}C5aiS|@@IptGcYm>FfteDF$*Zf=o^@5nrazoni}acSLrcx>S-Dp8tCgA>S~+l z7#r#vfDXwm0-uZvmIbNd)??1pW0ufkF45Cw=F`(>cGF`vQ!p{qXD-(>F=pOZug83u zA<e-+*T7I;S6^43xm1stOF^Hxw24_jfr*KMkufnj*_a_QIoSlfBM~-5M8yq-@Yx)C zP7jUXSs(B=PRP_(Mt)I=0%#JAq!~X*n#P>%!8+9jI@S-oR}(soSDcximztsgj%%c| zY!j1{4MC~Qh=IY~+1W}#!?7ecHAf+-G&3i~O2OFNP*cG~&qB{c!N|bS#K7FhR6(OC zH77N(I8{?2+A+viKQ%WgH6<lAMb{+WLN}=>F)ukop(wR1vp6$9Pr=C0*wDm0mcbEp zs#_xHd}{_q(26Ej=lr6Q)Cyf+a|SkEc3(~=E_NXn5k^r)ab^idNk%C~X=XVlB}ULV z67qZysKy5sj35kZi#YQMw6L@?w=uOdQhuH-Wc&~mY@_=LK>>_3M?lGbLQp(Gje{?O zK%WE3U}Ru82^#!`Dugl7=YSl985ltK9D=%MpyofQ8U@Xrfcj-HJs=|tiJSvE%FMvP z2Qmbt3CX|cb3iXd7#I|Ym;<`ZPTU+2ha_Zf2jmZYb3mV=V-8T~ff}V?Ci)zZ1d@56 zJOlC)C|uCzfS5TT_oIOgLGmy99FT@2adSY7Tnr2akQNQtNKhPrF!~%&ArEnLKxc8B zXN$g{kcAgAh77ip0djXBh>gCV&;Ti1@XY}k5IF~Qg~;=4Sw`o87$}(o0+kuK=YSy9 zAf7oOP#F&HZc{P`1U`S17kd6E=>AU7zzi<~1E}l*?VAHN_CYjw6le&ZXA8dniW7RC zC?^90=#VMUK0eSHcOZZHgE}9ah<j?Yp?vT@LQVz-P?ZZ(4>}hOq#ktE5r{t<q>h(? z0ldGAlYwCsl)nW;b3*4Bco`TDL;0Y53mQ`em02JfRDOYIP(K<(g9focG^i5_q6hlC zSkSN;$Q_`8G!P9sstiPf7Egm{(4K1$y%CgNu-tbBI`$AG51TUrjkJOIPoe5TV~`*| z_<AZ<1_t!=Vp&1q#>&6|-Y?3^zyKPX1F4sVii6K5W@TW|gz^ocH0XvYkUG#Yi69!Z z<QznMLgm48eyq^=Mw(N~gvx{NlLDzPh4R7a0CYbpln-9JPsaV9usJ8#zC-YMEGwiv z0J0A>pa`PD`$}0E7+yf_djqAx=NIF-{}VPR#Sfj!0pC~5ins?9cCIXJzaePI5@eqp zR6XdNeGuOZ$`69lpxp!@anP70h|YqFgN8LheAvC8pn**gA9nBOET}rrWo97pWl;Vq zD7^_vZ-dgHkx-C2(7Ev-8hzj36R5fuP#U&B@DG#^yXR8~Iwu1fN(Gq%yXVsdDh|G% zn3aJc4$4o0(x9<ckoq1dAAR56DyTT@-p@l&{xK+h4oY8w(y;w`_n>^x;4R4fPf-3Z zC=I%603=TS+>51=F=W~WOv2}0jBxA|vLt?=Py*<}G%Wjs_}!*#n8?9Bsl`oTV$6lJ zFL_p<eaY9!;%4i{HBoT7Vn#wn<8Q{!hTjZ~-U1AhPm43m^naDfX6T}surT8RT#j+F z|Eo-9rpev{ER+3Ty)0&)d|I4!GSf_!*$O6-E}01-KLlh#e(><X%mS%qo9r#X0andE z`LsCaWVV?cvjt2gU0i=~$b^6~3$l7HF9ELCOpLBSSY)_nGFoy?+;CA~w%~l8*UmER zubIWUXA6H|W)Z#sI`dWLB`ZVIZzg4stNmXkbNIhX<l=hG!OUm_l6C*VV*U1_2=q+Y zI#8Yj73d5sjPamj6G7{vLAP#!#gGUl4t7wRj+uoO)Cp!{0q?y*Z0Z5u0nfw=n)YB~ zVh1f>X8|>5nan}EeVABSL3xh_d?2?4_<DF2cF>GJ3%Dru1yAyGu!3&IV*w2tGdqHo zsk1;f?SO{!Ks5~mvoB~BI1>vy_?&h|4sdqoU;z!=F|n|Og9>Bl{+(D*1GA11bUz_0 zXbTQYGb5<1XJY|vvSDZZ1Zqb+fm*!`pp(-;o`hU62-&a$+SbkiYF|S(?3@Knx`1vQ zWOM~pAfQ5-6Lbp$WG@bAsXZrXD*=Ri2{f0|&cwjL=mD||bb>W!51b2{bmat%WHb7L zjH(26h!_Y?f*|HSSfKMB;Q0`WCqekExUIQ8g_%Iv6%+=bKxSfqoY4x7JBC`&i7enS zVrHlX%`<?MK`><PPXLGlRrAaYB`otn3_H;AzYHZD^Fa*Im@+d%2@iO18FXVDGee2M zd=LY47aB7|Nx^&&12oIU%urG?AH<jiF`!~Thygm>mzklYW<KbsOVBBWj0`a#>Kj;5 zP0f4|1GF@QnW3fxv?K)LI0gm=P#=wvArM4?+{nlf4x&K27#JBsL6j5Nh*FmMAO_^< z#!`;?AO`4I8)k-5p7|gKD1kCFltNqpI;)Y90hH3<_JB-fWC#LLAX#RHiF@in3{b*i zW~kj$4^s&W9MF&oBSRpF0tF9f)&&$qpfxd!41pjD6gEr@B^)3c6f{f>B^jVl0VQQd zhCmPn3Ku4Zk^)fJfaVAp83I8Rr~}8uPy)(TU@Jj>)B`1Sh5!%+wT}hlThJa1Muq?o z1+s^Up@auSL+#4}g#l=r9V0^kh=STz0tyMxb%D^^4x#qdfDTOn9hkt#5Coz?5yHe! zQv;$w5yQk#Qv!Am0|R*f2gvWD422Be4ZdqaNI4G0@0x1g&F6!pK+Y6rC}Cg&$wMi) z0+8E5frLXpNDAZ+afT8Oh<*qK*AJ2ec~YFABm<%VLctY)d=3g?92S72K%pVdP*MQV z524`tK|utH3mp1EQlMZHXDF$F=!Z~n{h+V}O(=>o6o3N=Lc*m%QlM}ZXQ+W_gi>$? zAW2Z5i!;<fTn44!3Xo$0lqzso1d@Wr1PjEW5DIP%C?-J32Zw%;6ezI88A^B{`XLlt zKS&Z96FCqC5DKmU6ceDthr<Gp6f`DEAo?K`Tt6r#K#3KHevlM2CTbx1ArxFcC?-J3 zS(Kp&91{={E)9|b1-3Xt4MZc9f-3+?LSq8rvKj~lR{)C%P~QnucrY>qf+&!?LC5^o zgBYOWhCwH|)`Jex1#v*7AoSc{(7B}Spu&dDSZY3q19CAVLkNfh)o;uUCH3<`3{YW& zbZjrS2`x}r1#=IGM&^V2d<@{8<mjQDL>=0hm>yqTSejUrni5axshyzxO?+O=MGDM( zdJ7d5^`m4B4HOminJe|wY;|o7qV)CkbwP{_5JO*yIoXR@eO{J<uD-4zbA_G@bA=wW z5@hpIW?l*SBuB*FBPz~HQDy5A*kxchLT5kX<KfdLnYoGS4Dh)xQ2VneH8F<)JXZoH zP~;$oTO!S{pvDM%Hxm&PIjB1Ik{OCKt5QoU3sRBn203RWT*yeyNtmFWatx?bR|cS| zE5pG!b%k*sBdEy+Di1*zR3>8G%T&NX**q3%5*zZHnFiBdCQzJ#;tqsCof{AhIt>Ec z^8;}h7#J)V85lq(<3qXd`5Mp)5a^L;V5tcr3=9oe_A-GMp&*;Li-~~&w00e=3EcdK zut1G?WOeq;3=A*9{Xd92Ob*m4Lbg{xjDg_;mU%4D-D@yCAQLn|_k4jEPz;j;-KB+W z9)mRYc`Q)d7N!Sega;=?9f%FWFgehI8f5bXkjw+MWkBH!>O6wlFEBkI{SllD49AfK zU`$Xi2H89XY3%b@pmqHqJ)p%*AoJw885kyFna2XH_eWN@0moh@&_XZdb1`}Nu<vC8 zEeHac2eK1{UHGu?Wdb$9ko}>76fXGYv1<4j7(ln>fXoJAm|Y+m$$Jb6!o=-m3J_sn zumu?e#UOK_OcV-PoEqn1%A%MKN(Bf3dYp?1nsWfnKR|2+g*b!-BAFS``Jf$TAQ=c| zW)NafhUQgJnSnl!g<3>oI~WsH1;|v;pb9y2S%l`W!a&1ZybKJW`E$@54tVhzF9QSU z++7eK)H4Fnpm7Hf4a%<|dLmRGc%>#U0|R)yGcN-Js80%#-wl-q<qHrWd^aBGPC}?S zXzULp4xanqWnciU5C!o;XY7E+d_i{_foSmAI-JnC4qgTZVbJ&@Cj$fMR27hV@IDzL z&c;Na(*m8-0MZY-911jNl?*Z$<Zlqo$-qzqqInq@K$jSR<Uw%&at|maf@o0L1foG{ z1Vn?@rGRK~e~6WV0W|0b;?wIaOVBwbAp1Zgr63x1mmzGf3cQS*6?%6jD+2@g5G2r< zg`oIgWncjHUP1am-9iuz8l?o$p!swV4H_i_(V+eyhz6B0AR2b2C1_nMh!5@}vNABB z$0KOvEl3_T91EgFLE(!ucLk0|Rt5&pnr4tZXjl|PgYVP?o%IM+?*gS^b5)=*UXVJ_ zxG9JR-|xlBzyO=80^hC4%D@1ds{-9q22$4oH3xhKD(GxSD1Qo+23;WnQU}{7wHzwG z8cJ`5(%Yf*J}7+%N`nS&LHa@W1c7MS+!gFD#FtQYZ=p2$ekum&+zsf;43K{CU7V~8 z3<6MbaVQPGlarN!K^e-2?Xv>izXZ|;+h>J7r-i=XDiEq4c6TCZq#2|?6Dp3r-)bpT zd?l1V0;Nwt>8DT{c7`PzbWVp0N~=O?&|YnjJ?Q(P(9f1^gR1X>(o3QAN+=DRYdQtx zgNDXI=6;6qL2G<Kd?Dz59(^bc+h^nl<p)9Od?;NEr6)jX*gm24Q2u5peE~{efzt1x z^k*n706l9^1WM~eX=5lI0Hs5qG-xaz<lb5+AN_2^iBR#WP#XPg#I;cIjZk_Yls*Kd zPeSRlQ2H8_z6GVh^$m3G5y&0r<sax?CXhI2^*`#_e3qt0;Mq0^L2%B^#0YX&9}#Es zec=VUf`JvZG@OA!g8_PHC42m<NgQeyc-)xXT;1d{)PA%5j02Is=7GpR_dw)#|5urw zpwsvu=g~3RF8RSQVaX4s1)!7lo;NUm6kulg$iZ^|BID~5j0~?i1cW{?GjUu9_`zbW z{G0i6v<Rb>;twY4Zx{Ez_`qJ^&afYxj=|1hVFazCU<4JEpiPfpF(iVCkqvy`C?f}G z*#a}DiO#GF8t-IcVg;RR$Hc@A+H1iKnonegol}<px;75f)MkdAQwJK?XX0Q5Uq#Hp z4yt_-TZljl|CvD*EDPkEI?(z67RWhupd)ZuoIoSlOf2l+J*JEt%%H5v!2%i*Wny6g z9RSY6!2-(Xtda~246K!qc`j8DyN(ewuLPav0(B*ro-=}{zL-I43pnx%3>lc7g9SM9 z3yffFPSExprk7xG1};X>^|_3owIvMT`_DjO!^qtTn#6JhO{RfbTHK&nJ;-TyppFf9 z8%Wj}G{**NFY|yJ=8UeOLDKIG3=BNeK(b&is21U|1U0q1K#D;JP4Q;t88R?>gA{|x za^B25BPjO(BLf3(W}Y#W3p&M^H#5%!$^|Vd;F%3F*$1STorwY5e`jC>b3sc6_&{|V zXetx5W{)vihlzoKAG9$9bUZOXsGSF52*4Bwf)4Zo-Av2C0M-a<Ab=VNj4`016|50- zu0L2Kh#>$|0M-cd7*wMi0|NtSD3>u7v|a$LF#}{Z$VL!D0Hy$}5#(;DM$m8r=*m6D zxa%PGAg6++9l<t&7y>W_V2vOjGB5~%{0K@epb>S(BCu_sKmlt4F$7?eU`?RjDL6i< zz43|}G?~b%&f_Vpz|APkz`()Ez|3LAZ4KU`#c9F-kq2$p;?iTZ=K*uM)p-ONg%};! zraSR4FmSU%6hUVsd7yfrTwW81c~CB&ETf??NOJ^tB-lQFRt7`xOr`)gBS@TqLC^#$ zB803K<ayBKFsKy;o$3T{_G738#WhqG(({FG@B+<cFf$Yj%m*<*8&Mb;f<Y80Tp1Yx zKoltK!3P0?7$D<tZ}0-gFGC230-ci1%uvEKAH)C^7vMQm5CgR7hMA#+Z9a$rI{J<o zG@%M&fGlQY2mw(LdjjE3W`L~MWMl{e4M~7xLEFB9;FF@DOaNNP&Bzc5awe$Xz{n5` z(+=`IsB6v00GfG+i86qC@}Mi*j8x}?n4rcpBSQp;0&O8;WC#UOAXhRolrn-h_kb)1 z=`fZ8@6Q2Q#mEo@qCmwFGec25c*+;#K1T2be_*>nCW3;2iJ=&Lx*RA}nHUOcKs2a; zVPYtNPi!Ko1vT!`^@H4rF2(~g8x&}a450oKSQ?Z?K@}4t1IWo>AyBM<CLxigctNED zNHfS`U^NVoV`ZQr2@?X91yE&hH-WM_R1EGWP!5KQVRIA6yP%+AWC#XPP@jX2L;za^ z62lU2kYNJ2z3@UCtcL+nh=cg=LCsf4CyChU96ddK2=dHJ&M8evWk|M)DJaTMFG|c+ zNXyJgEmqK|urSk%Nd)aefRG9$`T04?8Ht&BF^NUF3hBwoF?oq4nPsUlpp6NJCML!p zaozO1Qe704x_S9|sk)#&2e7?EF}aD!8JT(XwUmJY$K-*bDdZBi<ou%4_~hK+%-j^c z3{cBIJ|#6Ru{5V79yB*lte3&S%)n4wl9HKMqL%?$LJu-8H?brGq8f5@Is*gqVFpHK ze!V;vCgusu3M`DwA8Yhjn3(&)>`!2JADI0a%<cuVzt!mJ>+3V;D=_mZfEf|Y(h&|U zOw2!-^jH{~yK42AD;3n4E5TDg%&<*K;Mo=MA#Y$7cuNb_PoImA5B3dpbYZ}pz(JXx z0ngZg2^8U?)Z)^d65K%#nzsS_fW&zlaHM7Cm4N*`I)6j|6YOwL0wpFV56VqUphhbL z0|W9tCQz#vRDgmosPb~+lWAdZWou(?XX#+>Wa<Ksr&4l18uAdLq3P&65GbHQ9R(;& z$$lny(*fG@0~v`v4+L682wHawk^^CId@?YAcf})*>#GPeFo4EPK+P#o-w;&of~t2= zBLb!eq<<GP0|RI$JBSU!FgZ}24r7DFx3MrVoQ2fjATE6V3DjCbw)c%F1H%U<NaF)! zAIx6#d7x$-`<XzUQ)Kh*NI+V-Ab)@s$-&G+p9fkD9a8{14k<oB<I2e9y+JY$G}a0; z4}BhJGdlwVX#F?3dFb;%e<X;T2U^C7{eCp`c_23&`<X!F-N^Gmi*W2`0`+T=<LwR) z<TM1BKS2HkvC-#&Scu%uB*07DJkS;*_cJ{a8l49sXFn5c9tc#%<C_Npw<<6;G@%vZ z43yuI2I^pe<~_i7Y4JkJBM=|d@dMG|bJchm7{KeVc^Mc$%Mn20;6>KF3=H5U)4U7} zp!^CF2aQC5Xll&^fzL<dWncjBW#MID&<1rdc%gfgSQ!{VSA&Db9j!p(usut>3=CdS zK6uX(F9Sm)ln<WY0qxC#^1<^0ybKKB^O`uJ^E<o@3~f+(@HuI`3=C7DeDL{boD2-$ z@qSJQ2JrYkCj$fMC?3$f5O{o_mx18{R6XeEAW(RKJ4T!g46yUj{($6R=c92lFo=K# z;W!x>BtbMQ1A{D-23=eaGS?8wH-*yRJFYkx7(i>-LGtK(P(b%gfW%>YP+)gkf$y^7 zWMBY|sDb3Wq2~2N=@}rJlYwC|h-PJASPrGZdrvqS81{qsoD2-;<NFt(;;{469)S3) z3=H6N)HoR!z;{(~GBEsvivNYu;CTROK@W;YP&o&pL1jFM2KB~4G^l+9qCq`e5DgkU z1=0GTkrr0SoH>XO?)|bdFgQcS-JvvSbOR(08e0X?;Q38f1_sde8z4TY-UQL$QBctQ z5L6$i{sW1F##BKx_)I5O1_p3CXJufR3RMTHUqJGp`Upf5nok4WECNz@9I78w{)70i za{|HhpsWlGusvX)fliP-Y#t4?>=MLhgQg?U03nDE+xrC?`ULSoXWWBm^z#Bi+Y><I zZczQ`^Jm~Y13`O#pz`Q@zQA_~vNABh#{C<i>R@}mKx3^S^JhTCVe@9-{KLw?um&m) zzDp3aCl1O7-yz7#zyKPJ1?dM}3k;$`!?7S5w#N&7ehf6u36h8H?E(#7g7|XKbOsuW z1@U3|2s9E4;=|^>Ktrw|egsrKXe1TH&w=tm1Ee5+1C$RtXArdc0wfL^3kA{hq4MZ^ zxIiPLAo+bzc|!9kp!1JG>aonHSQtX4Qotm^`4meFqR)@x0L?j|?O`g|GL6ILf~gy5 zHf8c#2CvI+8NDXIWs17|mN{zjTb8WLZ&|Y@zh$es3_jb9#Vh6A5--(vtWl}&mPV<) zW6Mf=w=7Hj9eY*!yX93S?^L`>->F8Gy;I97f2Ur>XnW)>gV&L_j8RA4GG!fk%Us3$ zQGpqByU@vt46oe;7+<pqg63WL!Kb=i0H0O|F$t{Ois2&%!^1a>Rqrnr>;cWe_<+I| z)JS4rVax~ZH3Cg`gANh}iy;wAEG(cwFD6E|H6SgF9N^m~m{>t0@k~tY;Qg2^tf1|A z%;0l6Vdu7i7aMS}g3s3EU<YL>#H0&olO;3gW<dD4ZJ;|`m>4<yKvr<DfG5Z~SU~B7 z)sK;Z0qxv2(0P`OphXCfqeelFW#rfkntlKu)CMa4I6wzSK@MsIl~x>wK(gS2+Ccu~ z1dRtmPHF?q-E)FgheNoaW&NDsb~pGqHqf{~Cn)(b#)9T$Knof;L8UE(3!3NV1dU2U zxO+hRjX<N15bhli7won;kX}$F#u*H92AC@YI=(Fu&b0w?LG=(LST+X4-2svXp92TV zP@JGu9gt(;7J+0zQy38LJrEbPpB2Id-Dt=Oy7>iix|;*&wjxl?1mUKExS$iTAlyYD zt`R8y!6(C=0CB<1u0)WVSy&htI6)(^j9_jN3j+feXmJLF%Vh-WgMeiQ@X905WCwI6 zf(tQE0Sb3eZ2`u$pkYDCsk98Wpy-3jLT0HL83I6J4Is}j1cNBhdJsm201yRQ5&}Lv z4#WVh0|6f%2V#Kc%+Tf*K*lgK1cE4#F^mi$APTg<0qyWOPzA}z5Coz?vZ#{-Ae%t9 z!GMk<1JNMMm>3EeKs5M%ETr-GJ_ZH`@F~0u6Z}CmNDb(WHxLa~3(CB3|AJZ!pcw(^ znQI`IGBSjLC{Wv#ks%aBftuUkIRudFL2d-;FqWDRVuCDWWC#LLpjIn*4gtgfc>`?@ z0W^id1U>Q$G?<P&Y!AvM;MO$51TPQ`l?QdE!EOa*VbJUg=qNA{4V4EqaKQ4QGzmW4 zm|=n+h=$68j0MYsY68%N0u#doPY?~22YDYX51L{Dw|*EVc!OxDJSZT*@}QOzXetGC zY#E4#%7csr%Y&vIK&w(g$HReWs65D6usld1$p0J+Up+LxdT7ec2k}7R2?`Og5(dbf zd?43xFnsmY{OYMGHy^|UjfQ~S4WdEj@-P&GPG$oWa_}i6kX4|N<6!verTNthdXOB{ z2GH~v*b-1Ug8aw9@YP%MtGA{cc!CRj_5#BMZx9W&f#(~GW-*9B*Z>LxP}p-YeD%@% z>Z1ucmJVtI$kSjOK&n6?#KG{@7jmE-hzFYA0filihT0$kvH?UOYygEKDE1(S;rVIG z%?I(IHh>zTU>iWHK-O_EeD&A->aQs`AH)NV@qj`fL_=+m0oec|5H^6)2`J<RVDSJA zXeDrbfI?e@p%`@79hi`V%YtM;;V*$K3yuLWA*VDSBnx$^C)k<L%jQ6FA^?jMXrL?2 z2Z@5>L4={01LR5&AqSTQ$$;WQ0$COu8(>0CX+B66Y8&WKAFzd>6aX2lf+uTm83&ex z5}<4eWio)K@R>$;51~wHF+gV1^z`&$6KXi-JRparP<S4mLX3fliHV7s33IF-h+)9Y zuV=tqs%OH?t!KjQpvP>kU}9pTZNj{zUXS@6LxjD)5pzWvc<T@^<WM`%<{Lu>(1sfb zX#{2)gGm!G$&g=KVhAFPK!h=fFrm&hIpFix5IcXsC!r<fWIN}TfI`tZKer$!wZb>C zB*U#VFS#T$Kd)FHG}Q(<7c3WPGzJoukS#1IvrYvr#U-!_tK8BYa|ZNnN4cdrMhv;7 zImRHu1VorZHvga)gTl!z&9Q)}!JOp+`)H(3MS+r(5d(-c29qWXkeC5&rNSA14Djt> z;7|pr1v8+tjk%>cW(>$D=H-^=7=q7XMBacj2v5v|v<Q*sn&3?e21sYak&mZ^xs?et z<VCf;MxX<ihWep-gK4i3X#NOR>%r<qP<@R&X8>BK767R}!AfCrptc2chz%@mA;Q1_ z8s7lT&ET73GGJz40JYY^n!sHN2n*EvgqaNz0iEvxx(^A&24R>S`W({&F$VBi%^-V0 z&0>&0Ks0EK4W<XAe-Vy*lhEgwkoN}Rn`1hJ<K86Dm^E^^fc6G~n&Tk%ftt-Q_kqUr zkllBQgMk4wP6cu+2*cz+V}Qu!84$VGXc`yh9399^^f{(vBKI2Y$8m2GXp9kLF38Ow z`~%0CdFXRY7DVnfQXz7$(Fr2&P5L1`I>$uG922OejAxDs(q_Ro#{??GsW8VxXwMO- zCjgow8EWU|f!9y-GBAjP#;!RT7(gq0LH+>mS>Z&?Re|@ea56A}=csrY7{Gg0I2jng z=dAHEFo3RW0L{gK2Ml=`7{Gg1I2jnyLFV!@Fo5^0a56A}@9^P;>=Om42amP$GBAMe z@Zn@&0FSxzGBC^o=>yH-fM{L@hP5D?lYwCqh~{Nr01fJa^dE%sPlISq28IhDnwNp$ z7Kr9#V7L#Wc_DYifz-c)^1*XhoD2+qp?vVzJ0}AJcuxv10|WSuA5I1a@Lm*N1_tnX zYMcxVpt~tR;bQ_C5#?lHumsVd@PN{wG6^*14Jvm*G^h*)(V#LJM1y+%AR5#^2hr$r zK%ljiAaQVdV}+j6$jZO~p4(()U;uT$LGsj^0|E`Zg3JT0i3ic3dICg)hS5MYXdD(q z!}d@e0gc?TGBBKg(x6kGK=PoIoIo^apcX{GfXahTL;~@_d*N6i>pehx&>{{H4I0S> z(V!!>K(st4K0teaptKg0)`QaEbjZrU0NX=_J_iKbI~5959|NTmpfvg%5NPNaWG`sn zGKhxlodTc#$jZO~8cPO=!{&ZK=k$X3u(=;_Iz*cLLBC@PG};VO51vcKa?T%U_!%S* z8VUu`;O!Hv&~(VkzyKPL28k<x(ibZOg9en=fzqG>YLL7Gl<xtheV{aG#2O?I+I<0{ zL2V`wjcZN_{aioLm^Mf~Y%XXE)LhUYI7s{eln<Lr1r2(G#2-P$LF;iqeDK^UD+2>) z6dc6ofbL-ugVIt^S_w+4L21x1IY>S1Jij2Qco>uhjhlnyv!Hy~-BC4AehZX_o%aVC zSO=+J1{L1|rFTGS&`3K-{tT3ley-m$sQ4==4H}9Espo+1iIRiTN>JJcN;^R5I4BLf z+X*yw57J)-74L!4u)SHUp!{`E`V5qY?acyBf-phXAA!t4FMnWjo1l?Tls!!*28Pg0 zN~m*ihS<*$G&eVdZh=bRs(1BqV`N0M!WbDeK-n2&H5h}|-+*@7fJW;;dzvH}#29p6 ze(;~YL1@w>4&e#>ZX%P4E=+dgb8B)FojB`-1jDT#91P9BnLBU&;8AG#&Eg6=l@D|} zpZ}{&cBbk10vyx*1z4uX3$RW1fAzAQZPpoa=II<W--|QNxcft(fphwO@moJ63~v1p z2$<l);bQ2<I)#1utsf!|w|>YJFi!se{oj8>SqC=|-TIrglW{i4j^^LYjP1YKl|goJ zP0tq)nC>sYGd*5_Z~7T=zF7h@K{oMD;hMoShkN>aaS<26=^QTi#o0b`F!E0anZ)*y zhfx7+=I)P-+*}_OxY#}luuZ=xyn4oI=GQL5!jsuwvxp1L68gZ*B7Q-5_AWQ(j~uL` zFIgF2zVj0Roje%m#`c<n0c0Yh4eLh^R<4gMT(2)mgU%l8XV@<bN@w6uWnl!>X^iU_ z85l~z0;mKN2RrCW4aC`l;F_3`4ZJClkpq1B2@@-L3nLRdXa_P2Xb>5G_8>De0|N_q zq8)bjAn2r47HLqi2|IfbR0gtu4#<U`JqWr-j@b!(_8@4A9Dep7xGrbp*a<2EI9NcF zicBmlyFe8J2Mg%VIaWrNbVktTS+*;no*o-$s;-_*i-Ccmjtw-?QOgFJVXk2V-5XcU zcAJ5Lp^AYWbcr2HJ|n1}VFz96!~!|HkR3E>4?Vk(g9TKJa5CC}=FLC{!9teSfWnCp zv_^x=jG2Lf(Fx>B&}<nOXyX~9Gl&aXF~J2YY8YKW6(Okd<4y&c;s!F2F@Og&Ps#}9 zfC7@o8)T3>NDj2NfhPdY)n#O0-~qXj(F0@<=u}xAP!?tM1t|tC1mFR+2q4_oAjM$U zfn`NO+q2GrCKth6dk_~iW5DPK(hJ(m#^Vp_!GgI<K(e4lCqx#sJd!68E-TE;z`z4K zE}qd}fsug$bSNs1HOP@*E@<B=4`}`tBKrfR7}S1)aJyI-7<fU0+Mpnt&cwjL#~8>| z#=yrIz&Y_p9oxhS^=wKEyr4BCAO#y?3Rw6U1DGlp7<fTFFOUrAL|3p@4zSi4^=uP2 zfVG0QTZ0t5fobIdX)R%3;0J9w1j&H3Re@||En}zvZ4?t=1l>)@@=_d}Y#0SW0U`*B zI3gxEaUBiG!pO}H+I<Duip8eEz|1GZ%fP@6Jv|b<CyRrhfg5~`Bq!GWSRjpDs5`Q_ z5i^}kTnr588?-u`7#Rf_4TV8E`MR1I8JM^xI&m>D@WUh+7zE%}fp?18@Gvk4vNC`+ zg@F<ZXrBZF?EFbkx?*CeRRPhUC1lJDwG$A9G6MsH6ev9~1c0a?U}hAE0%bh#5sV-P zsCflGx)H<xwXv8PN>LAq1nFjE2n10e-HZ%jAPS_Hks%yJf$qRU+Y$vD$Y5j$0#Oi$ zP22%GYXR&7&}Mm1^f597fhc8A0mD!VpA7{`gW7~R4y6N0fwYJ-ltPa8gHo7h#xXK5 zfXv5nI2}j|YEBLKaJy0ng<%e8YzO2I&|IsL>U<Cr6cmgMK_Ch=TE)l^4Wd8|US@`B z#`&P&0o{NKIhD>>YCebq>P|5-gn%eWD3>t8rwl>M5kZ<589*1of&&S(@d`YP&kz8j zKr_Eg3{@N;8WfO7o6<llCO}6KGBSjKD3A&!hAI{i4I1`BI@JzTzJhuej0`~_3Va9# zLlqB*1`YZkZRi5^EkKT9W|;V+4#WV(jtoN;<bXpc1q&%qnSi*F3ZxaJS{#RJ6i<W3 zt{532Kosb7ST2T%4fSjjJL=h#=7ad4;};kiLO>KKc(@oQE~salxB?^%4kQN1N=~SC zkkb>ZAQa4TaO*&x2Te(`F+@yeiJZ&=VuS7x<6|fWpIrzc<>rILKn4mhR6)+ygi?s9 zOOQ#Rkmh430qca2a`QoAputQwhLFiDp_5raY^X`7;Wi)SUr^kjn*b669pM8r0p>}N zji6M(hkD}We2^GuBA1OJU@}YKWEKz`Y9r)O&ngHd2euKk3_*xt;+Hyba);4!^FiXE zx*28)hz;KNjYTc8i$H0J5B20n@ad$W4k{Z%&}5e2$t)l?)J2eZfkhA4MWDke`54N< zp$H-6zz5ob?rMXX0J9O>q$;RrfysktWd1jBu>w8-h1flO!+*;jp-ELrk77K+z-YrP zq`;h~z$~PfrEjEdq_1yitFNzZDlNw>puk+Hz|60}T&}=erKiNqsi33H%&EX!q^GE1 zVCdv-Di2YttE$XgreL5U%Ur3TsK#8S08#|mt*36n>>R;t1(}n*$k5cLudl0Uz+4dl zn~DW(<pa%_K_+1#q!EK-kZ-)NV~9t*V~~5Oud823ylYU9e-J|4$JNh0!~-gd*!zcV z#ujc?uxFHOysu}luVaX_2Q?>h@f;Khw>-o(I3(W9(bFe1$Q3e)iZZtfnJ7dN0#D(B zy@v1jNYr`7LSsYFR4#N<7sWWxOgF@0@bn^z9OP(8jLn3w(>1{wzyxS^lDK_}kc2rB z4v>ULv7e)#r=J^m<`*di2ZuU4y9NiNO$8U1B$kvG6PWu2#cgq6Q3>e4RUC7`;AwoU zCsD$k73}Hf9_r&5G$hWZ1g$axRSX~usvMm7R9ZM&IojCU**aJ|S-P0Jnfe$V`5=vE zQuZYlrRM0Bq*j#ZfdUn=kOGupM(2w`q0Imv4<dF?B4{-jsPh8q%z#V)jU9o`odmH# z7&M*^qCu<9kmn~Q#6crW3=HDXeTyJ<pf)>bz8GX4NDm0-FfuSGf-h7C@eu9<t!zU! z&q17lVFeS!Jdj&p=7Abl$maF3Fff3Y>q1OJm<O6KMpjo28uJDj0#yi;1D#WVZ0`%u zIW;U0dqLtLEg*k@=8Iu^Kt>dEVZVzFG$aJl2T}vVFJvKm7eV2|4GkNRd7#E8vU!ua zAnHJRKo}+m>fa-q_XEj1(2+$j_d&W2Ae|7rn2Uh{bipfxhX@x?V-MLp4mrr)MUeYI zOZH*rf#&-_ZUChRkQsA%7#Pyg;teFf72Kg^0H+&}Iu-%Q*&ZM^2!qssFsLJeymv7{ z0Q(u1piv8udXQcao*}@%09yYCVuLWqeIWWA=mv2R1ByW>)qv)9K>h%Yv4Yfr!WndW zB9gNit_UzNfbL3%YJ=wwke#4GFqrrpQOKQDp!F@FaWRm2AoD?Chiu**F$M-Jm?mgg zAaUVLkohnUHO{aUg&78>L9PQczyve+b}}#%OfZAbMgcRy1TzE37hoosU}gZNOfVBn zFf)Ks7MKYpm>EDR1Iz>y%nX7Ipl|_&2Uvgs6ygvTh-Aj#gF+A_1Hqs(E@A6oK=lD= zUKunH2$6;61B@aa$61!3!XBg+UZ*lJfVw(d!VC<c1=%1PlvY4A=$t_i4H}9A(V%i= zIGuY5+S37=69v!x@j}W)5Fb4E$IHL~I_Mw72krF+(cpbwyomEJ!TY{=85k5noi<*` zWzisY)*wDB1A{%3b_UU){emExmw_Q1L~}AQfamyl85qFlByuu9*3$AaFn~s1L36%U zAa%UZyWMyh7$$=FoD2-$yWMyh7(nCNAa&ro-FO)o)<fmNcf0X2Fo4fN<b>Ys#>>EP z7Ag-u50RIF0X)aY$-n?U2a%V70W_`)GVcRO9WSIj1o8hv`JAAEaZUyXJ`l~zz#svl zIidR{c^MeM=N)n~Fo5Uyco`VXpz_urnwNnAyx)tHfdPDX7cT<?c;6Q%0|RK=3Mkx? zLFzam>!U#YA}GHcM6)t5fcHnTGBCjI<hl$Me+#9-b92zF2%1v@<#G@W8o371p!^4- zL3t5GgFEL$oDYh=pAj@f0@4o}#s<-#D~Uifcnt+B0|RJO9>fO?W`StX8Y>Xp2%1V@ zWnci+Q6N63P6N@Cq2jPPZO|}2NE}qBfN0p=b)dQf#0L%KgXmLGeV}0v5FdPwE7HEj zmr!}o)*g^NXw(x#g9iISH0&-qA5i?VGB5-{X>j@j?Zbrf(a+}u&y%n+FieKZ&w|q6 zwGW_ut581de9j$EK5WhzeD4G+<jiQ0J3!M5AR3$=LHkyr>cRVVSs56>gCeZZ^awf= z5gOlYP#QD=0n!iKzYCjlR)NZc(<3Vbg8`HenxO!x2VZE#3Qdo!3=H7iVyp}dp!=*q z@=;LrpeYOxKNrd`gVM0O<v?>9AbC*x3q*q^H9$0YUoI;H!wsl<*#2D51OiANHpl!O zD*qcwgJwZM^5UR5G*$-iGzf?fn&<)1K2UMc^bLrg0_A5wY0x|gNE~)P=RBx5Yz`TA zH{2$uIQrc21E}~DC=Hru0h#v)$`^pn<%&RQ&|SPBc@-$%3QF5S=`biA1*OxVbQY8b z&D?<W_d)rKp!6~*y$MQ#&eH&?L!V220+oLOrNQ+Sp1I`$X!-)x!f12L##r}v;+k7F zfE}+%cy4(Eq)7ljFB3MmJei|;1H+^SH$FGU$vPKU-Q?YP+%z&2elvW?&QSi%{ChQs z{Ph|{{#0~x5CP4%E|l?qmF)mxDa!i4$^x?%%KE>`1hW|JSw9M}f=<x9b&+v4+v~$@ z9Iu%r7{GVPabJjloTB-`5NZ~q4ckX1w$B%tq4T!jI0rW@SQtT5ri`G52k4MTuox1- z#K^`CN)L=2pk@OzXs<W?EKTsnTqgE|3=9m+pu-H9VP|QAZbxJW&p5!&(gYny$;82$ z2Z|C7cF>$FVp}ISBLf37Xh970EX`QZ)=kJ+nzxx47~p4Vf@VCK7&*XKKXR~ucW<+> zfDVRX;$ZpD#K6GH$O@getp+t&*+AzS)U$zB-`25#_M+FaWiv4_)Ubi->1wu_ka=6s z0vlH7ye+6ehn~gB4mxy!6>=6Qbl&zRsF;PF#R*!c!-aGfCl}ILoZO%ZUf5ZjJdB`f zi_sC>&;<>lgTj{aEHeWGFDTzbrh7rXMqco=EO@#XH0Qx91DX$Y0o4(p*#$mz5Z4XV zL<7wW@#(<1Ad~q(1~Ynt6odA+@`KOg^Z_XbouSMRK93X3z0AnKz@G^^j}y#&4&j<G zFoL<i85tP(z|*q6AibcwJNdxQ1#^{{7#IXVdp<!kOQ3lj#yHR|)PkVu1axGAAZX1U zh#>@1APj2xc!J^rq7k&X479L}F@7Zz0|QtiX#EdZBZwgcQvlWo@)*=c&_!sVX$Hmw z(7GM4MzGZ&8$k>qm;$gykh`H8K>-Wusxc-?Ged0zovIAB5yTLJDFAB(`4FlRl&nDQ zWyaDFm_|^u1gsIn5P~THYg`TXqX=lb7AR&x1+*w*AX5ngg9zx@S&$fLp$}M$Nt7{w zrJBJ}jX?x72mq2>z|6n^mSX|QRe|L|ha7_B_Q2%WKysBJIWbU91j&K)fEpj-jG&|0 zS-(K1pCv%EhZ00iKa0VS>||hILCi(7k~aMeJ`5B*BMdn^6g2P50h+xA%?!h4oxzjV zJn#u*<g-ITGtRuIbJcuEbJc7N4E(64hYHA|ogOL(J3Ukgc6z8V?DS9(*z`5X7Ez>m zZ84Yx1A{o+Szup)=Cvho%xi<X&!Bm25Dm(AOboT4BnHYTU<_(@GBN~!D9|(>GefBW z_#92pLKH@ZP!I)5Jd6wxAPTf?mzklWW<H1kGLDe}G?oK42}FR5VPpsdQ6O6w8A3o5 zsA~;Acof8N1oy84K@=#pfyF@#(DWAg3{nsSG<VC$5D20YK;<>)Y*G*d<QztZ5D*2i z9hC4u7K1U!T1JK-5Cz)13!2&o(IAyf3==^OWUw+&X#g4#V`K;bWg5`x45U5IpezqE zpAmfH0ayd5sSYxfks%mFfqcx!5Dub1ZenIAXPghx0V<H$7-|_n7o>sMpsm%63?U#2 z6kN;<C5UNikU8d{BATI;0d!p<C~%n=Dr!J<Gg!O=!~|Q9q!!e9Ko<kWEV>xT#b7Z| zIRtVW(wYKLj6j4yOI*OJKt&+THDCb-1_q>1f(d~NJg73bLqKI2R1EGAP%#A+gF6J| z8<5A4X4|m@KDhG(whnFq%7zn=6ev1DGzf#L1SSUX(IdppOk&L24gaZ1wC$dS;G?7% z85pQ_s^}30MrHv$<^lx;W&s;!&IlGJX2{W@U%<zR_JEHO{R(DxgW2D}>@G0-XN{hB zWF&K51hdQ<KNcqDZ{Sl!dqJm)dVx<BRZ(C9O+_XqCmZ9KWh8Rm3+!$1v>o_VPcRF- zF%oG)26-Nm$m2@ky2+kM#C3=%++?)5R+Je+#ITtmbe|}AJ`hC>^rTa`dGLv+%)AnC zSYS*rg3SOEpovAW9gumkkvMON2sexwL#kYAh`G-c6yQixVX&Bm?mR`_bXpKxl#IOJ zG%-0Ddg0v=I_nfv=YooJ5C#?RSmzd<_zW1RF|Rm!)+s2M!5G}lV_;yQWL|L!*dz!6 ztF%E40OZ*T5mDmi6+!!8UNA$<0+BHHq0cMYh%zu(Fhl0|K;tSPdqJ%aP?HR%2c&-k z3j+hF{|sV-FiZ}8Uhy+40|RK4G)N5y!_=YAE0#zwFo4dn1I<r?{0FlaeO_@Rj{U0W z^NJzReUu>cK(jY6^FU*;FgJkQa}mdWRnV9%$Q>XxAe@3^9%#rJW*+*y;zJI|xH?D= z2*d0`pI0n_?pFo54>VK+GY>Qd4AKK?N`myC;bLF_Ee8j&K^P<l!l1EX5Dinu#7Eq` zVjPaU@i68U`5@=~f$Rifko!P1Xs!r3TxyWQ1vI_}QU^*e=<|vf_=uZVoFPoyyy6X! z(RoD%jCn**41i(@f<brTL0AwHd0r7z7Z5YA2yWS7+qYV1XbNupLgp0>O&K6(=z``A zLD!9gXi(V#qCtyoK{Tj42%<sd3OVzN#-QFCFC<-p=8M344F|zFs??rWGzJZh@-i@h z#y>&+1mD=r3%wVQ6}mT-m4N{~U&zV80G_YmWnkz7>EmR8%+v5PFwBMW7lCMA=sA#_ z3=A8g{M{g$lL2zF4=)45DJcIuh~{NrxCx>;85qFlL2@!Me24PE^DvwY4B&YfP6h_> z`H#E|4B+_}P6h@|(7XmO1A{S$=44<%-}~ne6$hXH$jQJE3*xgfFeE~0@HwiS3=H7A zn?UnYP;u}%keraaLP7JCpkZpz{J<=zJop?{P6mc`P(Ezl@F0lK$-r<5N}mVOtPBjW z`9$zM4JQM`bEr7@997W#6Nt~rzyR8F1hNl2-w4|C2pR`xWnd5m(V)9pK{P7^g9?;3 z2GJmYLup444cZ$ErTsuOCj$d$-w??CnIJwZ14Ap6UI?Z4Lh17$8dT|k(m!Z#B9sP= z0D$!4n&$+y6+rT!Is!z42M$;n7_6cCK__j2#6kHKM1ywifN0Q7G9VgseGG^O?R5gt z=}>*yP#QEm4H5?pk%MT^UAZ8-6Dkin2NA>vwPQf^T&Va$C=EIy5F`#dZv#Yw>NF4y zI*S2BgU<5?(XjbX^m`Fu=eL6MAC`Gg(0DmWKX^W$m4N}Yn+(Kf2c=_H1_pj84L)iT zX)mujR2;Me0;C=^)(xUT1JNKFe4iyN0|RJ?9mEIkU;~|R3)Kf+&dtie0NUpUk_S(A zutLv0W@TWghN=V2w}9lq=N_{%Fie7qgXjCP%&UUWL1txO*bY^<A4<dKS3!gNAoH$6 z#lb^3Nb{?pVSSK1czz$`e^B~nWnd77(x72)kUaPtWL5?S&=@|558gY@%D?~`!3Xid z=OD8(Fo1^YL44SrUC;<Th+hIV4>Yh2;)C-o(tQ3Ls61%293;OU$_LjAc;@jyTj)UQ zLA4y(JRWRfj;KANh6V;^kb_zY&*RBJ780S)<GIJbn#9$#q0x=uLtBIY2L=wtj{@v0 zZj2v!Si{_69&CK~ylTrk_o|QY1b#VuSkb`#mZfUSTc)ZjZ<(uLC$xgjRsH(z07T8_ z$qlG_b~LcQWvZI;mZj>-TUM-k%I>1-n9{)dma%HeTehkzZ`rZxP(smBaFNlj^({jc zJILi96<9#Ch|(9Pyk)4mf_C~V%$1Yxxc?C7nf08}?&uGO24sDYFLJ*2l4N|%1v*2P zRqX<UnvWX~N+=jyWVB^`%UA`Prxe3$3*$!?#)o$pZ5@BG<bYJaxX1*Wt891u!P3+J z-1P@XPw{i{cN4gJU$B99qt1Q7#=!ngfXfFg$}kZ$Ps%V8Bytoig08L^t7rmNQJd$W zgK5E&It(m~%RoCVLD%Mi=4(J5DoC>mLNYP3f!6^ra)5TKFfp-$Z|P)W2hSF=u!8oX zGlLdjFk6I!ia!>1@M+W>te_pKOdRYPpt(*KR?v_T6AL@2WMKwn3l=AkT}&+O;58VG z9Ic?N!odPQp`C>Vba)OE2MefvV`XGYX9Vw9oC0z#8))jW9+aUN>exVSvs$)#M$num zXn%V(8)$_|6$3l?g3x?MP&v%r1v0sV5!6rNU;$0pa)Nd_GMy9$o5~F0aAoE(Fr5+y zNpgeF<UTD9Ixc~MhY>Wm3_Vd7bZ9gvL>NJ*H}l>EZ4(UzsRC6-yrAhR#xM{UbQU}> zXcInTIH($N1MRT{ZB1f~1R0+W;)0I;g>d7U85sCL=aDkTffR?cFfj1{Vt_7$15JA5 zfUYAK0G$oO3A(2hv^g)Hm4QJJ)FJ}81EL(XNfor#ny~=1!UU|m8>ajrNckg11_p$3 zP_+iC8W~GKhiZV8^Rh882!KpaW@BIwJcFVfv>gb1qgMrJofBAjKTP>0kn(LX<w790 zgD%|#RgjFGV5R?HO4ZpJ7z9BrHn2k&gc(7no3r{ef@6kJ1Qb6+Y$m10Y#wx)j<VT2 zSw=(QAjVKO*yVo$u<1L&&L&0%&?Zy{2Jo$aFhvXu!kANZA~>e#K-(ah7-|(jG$>&* zG1P(*04RNeF=+oHBSQd)GJ{Npaez06fo9W~8A^EOgBYM84Q7TC0q|vap!2wx8A?Rv zgBYNbYnd5JB<6z{pfhus8A@d4gBYOWpO_g+6y}2%plr#=5CWn=J21g_1A-W!#kJt; z06`4UiOXOeAO>jSmXRR@bjS_paCt_CNDu|O#}lj`!~h*A!pIN;qCn@$gAD~SK#dKs zA`k<#@`aHh1az1UXnh0Ntsq7dXr%?nOCZK72!~@nhygm~6YLBS19ZUxSPzH+3O{f# zfI|*SfI^OuArM4?au+j0X$AOlMNr-W@7Dz}KskevArwS`nrzGrr7ZJ74A8nu@IGD; z0~7{e?I4B_*h!@<^Fa(yV1Si@f&=6gMutET1@Z_ZLnw#>c>`=6hyf~5!6tzi3qfTz zLm<Lyr7ZJdUSnhkMR=^V2EGXs<TsFy7#V^<6v*SKM=XOxLAx567)rp4n?aMTpyQT7 zG-zOpiJ^o8ls-Un@*r^#Jp)wgGn5E`QU|EO1&M=bP(8xLP$B_J5TK$DBo3lMyKzD0 zgMtHm@c=`K1Sk=J76gODL2(V*8xK+sqQQ+#h7$0>Mc|GhLx}(=Xut=?FqCkBLI!lR z6-X~AV8Dy_7)lsGAp<_Fh@nIR6fod}VHipTKp}Gv)R1H-0gdN?!UVL#odN1^7EmYO z4eX~0{vaCaZywO}EU1tM9j*(aq5c*D72n{7KEnim5DoRW3}`Vfs7?i`2hmV}vmp6f z2Fc$npvy*r!0wvh52B&|W&x!LsJ}&!{LO>pZx$qfvmp6f2Fc$dNd5-(ufYBW5uiYT zZmtF~K}mp-Aqqr+e8R{O2BJVKG?^L7>gR(Ppyk7i3}GM&6oJePWsLJdNf@-G24s@4 z)O-*V6rqd^p&$yhk%XC{w0=H_0a_)@$PfymKz;<Ds15QY$P<hVVIT_R2S$ca5Cux4 zXg6YlvKTnufEb{{hnb-?Wj-jcfpQgC2E>47uax;P!@)8zGr=5?|3Mh!TS)v*@CTU# ziX%|Gfx@^K8YduiAPg!FKo)~@B8UNXLB@QLE|A4w84v^Nf()<=KxTnukX%p!&zc}p zAt`NwKPZ+#szELQ#Ts~7Gs6T>FBaqg@O3#Li@^m0hyis$4zdeskc*fcunR!ug7tu0 z05TZN0UHTA`h$Ui0g|RC_=7?Wq#EP`P#OXs?uFz6Sc%8T5Q=1f0o;B@hEOE`7r+Z( zq#gDkBS0w&WCbYTKw$-9gWR?iEy!WngpnZ-bgUVq@DBtf6lf_3^8-vF$RL<X5F4fx z#D=K_HSItxN(S(m4iHgLVuP?CZ7|S+22k1n)uFI-0g4%rc`$XLm;=?Mpzs38fdUrU z98g68szza93JOn<8kl}qK!9=<C@?|U3KV#tfB>n5sROmEV0j5tPlhovFn}&10{JtA z5wiFmR5gO!2GR@D2cnVP;|*#LGk}_@Orz@`AeX;lUg?T{yDH?ELq>=&;*wNCSE@o) zg60kwSiy;n`8oq5Gp`<Vv7Q1muL27b^9w!Dji@sMOIVng--Fq+0_W-LvoJB=)l17| zVPu{M<=)gwi)UeEUIgV{g>WZAHG*ztofz1pqHn;$#Qab%jhQb3bkS;{4QP3U9!Rz; zu!&g?w9ev`o{cjLBlCK&&Wm8V^?_c>V4X+w(pVUo_XK*eFfktiyJlM;$dxz1%2ot= zG0TCtyYy_BE7O=v85kMi6Wu7AxYKg-6Vb0p1swzl+PCbPhgg$AgI(MO{-q_@PvZuS z=%*p<CVlM%af?PEX$8FD8#?(8nwke$9uEovq_ex>VTW(A253LMXCAK2-f$zJ`;|xV z-Lc>_hqgEeWAO#%x(V=#6=+1^T_sVJ8($1r&;k#1_@bCWd1N;OsGWy=W;gPh2~d^b z#HY~0(aPS&*3R0&(#hP#)W_(|2kJ*sVa)_6sgLf(235X@J-C#tnE=HX#56>M1vK=8 zJZD`YMckSR(7qzj923ku(0n_H4H^_eHgACx0|RI-3pAGx8gc{GW1v0)`kD#QeiqOO z7|09|hM5Oy7Qxsc@pG&U48iOm76ilOKn-7Hdw<9<Fg)OZtknRC!|X+0Goi>!++OS( zs*vU!$RGIDOgQo~Fo5=oLR^Q4H}o|VFH|9W%s}RWrmtY`Ltir?$;ZF|niE7f4>Z;V z@)u0pLY=t1*ck#044~uLVERDe2g0EFB@hjo4+F{N2@|(w;*>CPd$CzWAam0ovq2c- zUl5JHX2L-o5ze5w43IiddO=?^VIxA^nhDUow4kOgXf-ovCo#x8(3~JB?2wlHFt|uD zFo5RJL2d$JP*{Lybc`&{!tfDvaTr_)GpG{+=P@uagARm6;Un7!l4oInOrgLOfm{b; zgXBRu2AK~E31mLV7sz~2%0%XaQWi2Fw3-H)Prbd^pt6OCH4~7A4YoBCpu!&1z)53Z z01d@})<S@WVL&u!2nIxhhF?H5Xy^q*gF=UrwGyBKOwbwv(53(o4Jx}pv@dArhL?c> zJjct+zyRLM3c9NmDh?X50;#Kp@<DkU#P5gl!IK=IH3m>VXm|%CzX{3*pT`W^lMLm9 z&tnFyF@W;H=P~m#Fo4EKLHh1O#ld@6c^MeMcW;9B9E19}ybKJW6X`(e(D$-}&spY# z?!D%Pp7YJgzyKN&1E~kk&4Sh#K+OT4^UcY?06J#_BoFFtg68(YbF#b)4B&IVIU(@_ zk_Vsj%?Vvg!OFk@>Pa(kGcbVf(&S`d*a<S16T0`Bm4N{?CjgqG1fTEC4L#QzX${3& zka|`I29&v2Zs;CsP6h^XP`49wzB!0yg`VTh%D|up;&U@F*n((I1_scC3CP{xZYnEu zPc<uaEd@7pPc<h4Lm^Z>Y!7P_h!4#&Aa{atBZvmIfj~5<+yK#_vIInfyZ@{V44^s` z#0Qm~Aezux0?;-<kUG#l6A%qsLjbyK3&e-5A;<^CJLqmxC=J@V0Fp;vO8{E01QG|Q zJ5~k;^tA+_b#owj(7|*ddOOs--B22w{*cZCKMxhZ45h(C3aktau(brwq2jNh^d~3{ zJ|lpYfdNz~g6x5<DF96hf%u?<A3-!|E(%1052gjJ4S~ixXy^qb4w?!C(ctvU%D`X; zl?RRIgT%d|eDIyhtPBj`bPSqvhl+y-CRm~8)q}zhDh?W60qF;)V^#(R*xjb+YYV_@ zgJ9{Il>s~q4AKWWwiiUh));`-2(d!$-~fq($|n#FzJr;Sf#E9DUQl@j5(iD8f#{b| zaaejszeAQ0lnz-Lz}<b2dhi(otPBi7P;uDaZj`&3k@5rVZduqG1#o^q+S?rnH768G zgJu*#_JDSNg6LwXIP9!}dMLjcN_RtP*j>$_17<<`KzE9QXz*Gi&>9V>I?!Y-NPIJt zzZ*(}?{Eg~eTVW-LuuIBqw7%qeJK4HO2gJ5fsPXfnTx(>9K0rpm4SgBv^EH|mIF$| z_L76PIfC@bL&ephv^JCmuTf%UU@(XB?V+?Ylm?v~4ASop<%6bRLHuMWKO0KtL+NrT zT@9t1p>#Wx?uXKoq4aDhJs(OhhtjK|^kyi%9ZK(q(ubk+X($a|8^y}Na2?9O4W%DL z>E}@TJ(T_orGG=||4^D8x|f_AN()12aVRYhrIn$yHk8(f(&kXw8cI7uX?G|MnzIIl zUo@1Dz9+sADqaeuYoK%kl<tJmp!1wS=1hU|XF%zNP<knp2CdHqsoMhO?}pO*q4WtT z4cl9P8Opy7r5`|P*k1eBQ2u);{S8Y0g3_RQcaVL&pz|7785qQ%v=o$9hSKU#+5k$M zKxtbj?Fgm4ptK*922JOK%uj~$v!Qf8lm?w&1(L6Z@<9{(AbvlTKLbk7fznH%^hzkb z2}*B+()*$GVJLkDN?(A|p!EVE^PfWbZ=v)@DE$*k|Ao?^l>;F4f@};7AX*Aa%Ry;% zD6I{pO`x;|ly-#Du29+!N(Vt{(1HYzx#>`TK9nwo($!EJv?c_k4zx4@L{El_&w|qP zp!9Mmy&6hyg3{Zd^nNIP7)payIDpK%2Ib#_(vP6@D=7UAN`uxrfYgKT1OU;T?2vHb zh0-EWS^`RgmPLTnX+!zOP}&?y+e2w*C=G5m<5^1v>Sch;LvQzh`ePt*^!5*ExCbPT z-VOrob_I!pwtRzV&{<p{8r;riWncg=-vOPq0&PFQ&X56(4S>{vb_RoJ(8>`I4ca~m zqCv+QgJ{qWRuB!^<O!l-?IX}yY7if^1sp_!mXd&I*jh{Q6cy-R5U9PNX=ji;xSh_* zzyO+h2Jt~tu^<{Wy#k`QK-GiW@2m_Au=`ZNb5Nl6EmR&n)yfK4fsVEo&)gWi3J*fS z?@Y&WriO*NnFT~8;k9@UpvXbHGhO%P2mWmv^g#2GT>c*zxF>MvPST%fIN4yr*_RBf z89vlD-u<y-!r7NvtHa#l-Fn=b-A=jP`oW-Z=LbW>ogXX=O}{x@n|?DWFXU#LIFXxe zBGb%UKUgL>zG`)3n#eYj=c59T<Ev&zwuvi+nI|^<=49;n&Dq()?f+_qDc4k&SB)-n zg*m3MPrdt+$#sdO>uYw_TR%7wVtz=}oPEjQ+AG}lo1O9QORaRSSusCEY@A+oI&n>E z;^vveIrY{L4u!if*`T`oU#&Ffp5FAEIsNVrg9-kxrdfErYIpK{)#!QlhrtBCNq1i| zbl!c*p}gZY6G!H2X3n!<K3Av2YZeaA*Q}gpU$S(@{1DN(^@GPC=7)rj|Eq<TO~08L zTYfVuw{rWxnq+bIhslIJ!mh6xJw0AEyYf#FntJPpfJ4j=fta&D946d-$&(JUL+mvN zoBL}{c98y-->i&xU$VIRznWli_D4X&*&i+w?!M&f6nV|T;`*AC734#R89XumuNGUj z{AN`?`@?6#-5&uHKsI{3YIcG6AYg*nl)EnlI`6&|a^3ctgDw3vCp*YCm`O1|cz8fI z-ufXTaQ3B!Yr}6w*O(syJZFD|OlbJc*trlC-Ud?OSdo}0HFJir<Eu``TR&tP#3x8i zy!%o_d6J~_Yj)<dFBz0?{g7~o`N6`oS~%thM~vj;mfx)DEx#FDH*zoHmYFCw>F!H0 z#=9>ylp7=*Uo$iMzglS=^Mgf4dUDJU4x6(tSs0ssb1*jl=1@NSQbYOfkAeodSsJrF zUbTBTy=ryxe>K5!Huu>d4HJ|mp9RT5<3$23URadxzLe^ec+JG&`I?z?x3I!I*~v<? zG-t0Dc6-(6=JcxBNnx7&bS02(*Sjxe(#<5@U$e6J3M)>%`%=yo7N>KCm8af)so-iR zo&K7Y{q9R8S6Fz#?(sPLQp>ge%Zzoa-3;cQeaVonH&1_lHlv)2yvrgty=nT>@BY}* zAn}2jGw*`l4E>pBU$U)c_{hP*_>qI>><@tn5kEM5Vt#PwfI_R~HxoFN&c0+yzx#t@ zLc|Xi8~;~Rto&ciG`stQXF|hoX2!EWCM<A!)#-Nk$Ak&~uO?V|zH0S6`(wfcko?&n zGZui-@ZBFXCN%wKR))m;j0yg)mRjC@$pB5|pcHfV$CL@Z!v3!&S*cIG`%;Awlm{3j z9bdCDdcA7)@_)71`tD0L*Sjwnl!c^|U$cVaRO&SYllN;z=Cd!^lv!r;eB|I^wC4E8 z!ND?l&c(Yg*;X6QvzrgH<=9IG*W)i4R-1v=i}Dw^gU_D=4+XI>g8Kc8pn=FBumCE- z#K;Ej4={3oyN^t);9fNoJLrHdW^hSv4m#q1iG?+e3ABtH)VHw!_hebv4};c?fhN6~ ze8FWk2P^0t6ebRK&_p!iY#Y$oam=6t;+P#l+g6xC{Ssy;&{9yy`8d9rpn{c!-5q2$ zBL}!U!@&YtD9FUZ0zN2=g9X%wVFeZ3&^tv~EkTP$n;AjJy|A%>j*Ves0WBk9X9V?T z7(qrcFvx&<_@FhC9H4<SMi0;$8_;2b9H7xgMo$p;Bm)Bj2WX(1(F=4L2<TWYQ1!^b z=nd-if=+?s0Cl$+eL!5$g<_nb-Y%mb$S%-YM^4cEI)t0Y%)r2vXu!be4|2{D76t~c zBp46WB;-nl@g}n}FmR>7cvo2&7&t+74Pyw%3F4sYn}Jb~QI$`ao0(6VFO*G?F^EwB z)OdiNO~S{(z>I5^BUBu`GLa2-IR-m?*&w$%k07HEqXXM?Cmsd{4(K{YZckw*HU<Vx z)Z<3DP>&k{ryEd+f=<8y(IAI{Rv3b4P*5{7)Pk;T1FHiQpaEG%h5!%+ZYwZMbO6zy z_5w3Q6$|)kZ!Yk1w<?bLAjTC4M_@jP0lL<TnW0KzK8W!Ll=v8`6y}2%po>Nr8KOX^ z16hIkFboqNK(rk*XiT-DW<H1kI>3vOAp%5!?tfxts6ecw0XYuj5JrYT5CuBzgPUQZ z3)@5oHkm30rTHKMkaKvE1eFmkL=i@~6-5}~YOrt>gA&MaWr+KQm>C$j8LAjSLK9us zl;(p3L_o(OF;p>>F~}4%$bf}GLLk3#L4?6#NS<~9c{&QLZK4ZX1;h#qnfV|gkiX%6 zs$fu>4-x<c1TRAc$X8(JSjfN^7a@Wq2oxkzETEvAxThY(fX3|}(6tsIbzlrq#mEp0 zqCjex7$*9FXpmYahFVb553CGCfW(;?CNh9%s60p*j6s<VWCj<*JP;Es2I7O-a%>D? zlUc$ivw)VyfUXmQUAh2bgG&d7S_TjeS~dr}Gy=p1Eqei_Q4lS_#J~VE2gC-Qj|aQB z0K|r@aj#_n(V)FlFmpg`@SZ7#TJYW}K4yeDAod1ux~pXX(MP~?kSirXY{<D{wG1E{ zwC@;ZABZgm>N7IbGJt4McrY_e?5G1VKmo(dP}>1o3j_`YP;h`k0zG6vJA#-QCT^$) zF}N5(&VpDCVuOa*U|s;R>%bXm;*2^F1GMxA7KR`;D3gK02}Fa=C4|X=*r5A;nHeUo zs0T4X1s&|}2@o5UA(<H_&Zq-1u7N`sa%IOY&;k~4Xh8T3%nS^m1Pe16#0Di=HioFl zEYXu$K<rcCTsv_=9f<J(tQm4w28azxv9RC+u|XjP(+pxmLk)4LEvRe()mn@UK_Chg zCQJ-f3?LfhP0$T3AR6RwCWa~j5Dh9(m>8-gKr|?~F)>tC*fBFOfVQeJGK7FAQ08G` zsHgzZAZIW!RDe1u;CKQR7N7#3ks%U9fouZZ?gFAgHZd_&@qp-Okj1zl3S=o0LzM`K z23g9)P$dJRp_bQx^6wka*=7vEAPQtD=nx+e4YeFp+rljeaTpmQKorPQCWe{>kO|Yk zCIo?~Z{WmQQvsqOCe)xfAH-o~2mnz~6H-7XfbQ#KWC#FJAe~GMH8mg_Y68eUup2-L z71TRnXPCIBp3O*gJ}A}x0BwF?hz3!hL;${Z2Ne6DeS#2$#!~Y^98eNqWQYV&pa=&i zD-Z*85F<M%jj<WZ%m;Bm)*>DA10I|Q+YhRWzzleO58)x|e-OVHG`PqB+G;}dnzrG8 zgb&84Mc{4CkRw7;@=M|iit<xHml5bCgQh+)ma;K1Fcg=hWagFVWq=|Xw1x@Ga<(%J zj5dnQd|u$YMQoUh6qxz+)*0v<=<Dk1${5+E8tCgPTI(vx%QJIDFqe55XfT)S8E7z9 z=s7c2=z(q)DbtH`(bf0#W-eEl&&=86tqszlt*@xBqomGU;ic1J#$2w)%&Es*;ib#W z)x=!kWyV~gXA04wuj|dsnWkd^QKGMHsH<pgE2m_rsU*wHRie*at_QM8Ltj@>UXi&> zp$ueBxgIl@0&|HTGq;|;yS|dFzP`S^zN|jT{!S%1WgSI*U3n$hGTjW_Nalz%W(_aq z2t8(_YtO)*ax>QT(bd)0*Yz~eG0@lb)GgIl)RiyuoXA|3#;iV1QQljhiG_iY5wy-N zD7CmWr-T7?+KMBXbYdX9fDA2S5C;xX<<uDP5-ISV7Es6Gx$FeIE(+yHAS~CKz%CU5 zyA#LFCZMp0FD}hREXo6I1_K)pCQ$6aad`<?A(#N^1ucmKn>Z3q7J`I2$lJuPT?1uS z%#4nF=Fgy9um&2l#I;@x)EIC=U$559=*S1^m5{Pt4ej0#<P66!#22iAj<^M_aRK$& zK-D6st_IOC3~IoE*ovTTGpKtH;xItYw}3Li6vzw^gV^<Ips{0+9%Oq#@dYvigkhC9 zXl({a9Y_p>16UwuG=SJ343qOjyW=545^_d7Xj>>N(p?&$!w6w|K>9)5Xi(n*#0FuQ z9B57+#s-NmVPjzEg*g@)79erZIRMD3ayUQ%%Fe(5vKQ140{H_(gSP)5n`ek)9U5q@ z35t12ko8d@^FTZIVCMBAxdG&kKwgMC5F3PHc7e_xKsHYT$vjZrftd&D_`&pm^e2MO z+=oRzl3kz?31ss$lpyQSK<)#biwiRkv{Msg9%zjO$h=Sd3=9j=%mc}9gPILfH(3b# zI<)<ev<GUEf{bH$FNA#^8fXmz$Xu`@1_lNVVeISBKx-b5{b7I<F2YFZ1vD~*yoxJ9 zn1KN_)&nyiW*3M?@*V@|(hJZno1kGf(0B(ZTtMqdKz1UVXCR5)A29P_G{}4yn;PrT zq+o`DX^`u{3^2jW0Ln37CYWGmKw5wajt5YR21|hnW(H8o1T(<|Gk6s-m<cAB89*rm z%mfq63<3<YNL!W}7(gKomI4!?vw6S_C;_@d1j+<c%nU*dphH4IVFD^MK<m(OH&oFV zpP`iA;Ep0S*OY;_|AE#@fzJ)$WdNUB3*x7OhBSE@7(nY=LHu$kAJn}E@j+*Cf#``) zanKkCh`$`l2hT<EGBAMG@bEG)fX@TrWnch}SAx{R){udQX+eDON#LM+ETH;9SAT=% zv{*r7s-OWz5X}ia_k)*#K@!TB1JS$;44}aR(3&dn8Z%x72GC{7AU<d>J;;2}mP-&H zyf%lIfdO<>Ifx$x)eqWU1mc6v1P7@v28nYrFo4gk;ACLvhw{N|Z#Wqk!1pC^Lf4Y< zGBE6d%7Y>t<Ze(31<{}~3q*tR5{O2hn*<H#g2W9${$_>beGnfu7m0q(3$@o~q0c>n z<B^qt0XFBj66&tCP#PSstPBjWIYw}NvNABh&UXO~A%NTuT4M~N!D|9p85rI|^@I9h zAaU3|7wBuP(9dmwo!8<C3SU+R25@|_Lbip0%qfJ5!|uUAUpoc9hlQ1aVJcMJ3Mjn> zO7Dfz2ca}*03BrR11KN;92WGoP@oZZka}KF_Z&2*3Z=pKt*|mMfYzad<iY1Fu`)1# zhTuVb3#d8=DD48JLBmrZdC;145S;-P&w<hvP`U<6!_H>`ALGx;zyLZy0;CUgzB!0q z0#ygQ?_vX#zXeJkfYL{x^aUt=1xka@S7L>n?*}pu{XPuP00~GOH2wpk(a%`|4FQA1 z!DB<9wRE7N999Mf4Jd5@rA?qT?A{C)C?Ea)j7X?>ER+UKT7b+ig7TZ7H0)jt^tDT{ zHA{=3>efSP*qSBKQSBh}4nW1vK<Num`UaG~1EoP@q9FC4fi4jJ6)OG{O0$B-OF`uq zloo>0pz%|XdL<}d4N4n9X)`G81f|`ebP$w=-O~{d<tIbwd?;NErR$+|GnDR!(vzVy zXqpG)julY;dMLdaN~5nmIt~>-4W-f79^HqEKZeqT)*gZE24T<@4<H&e(FCGlYmXG6 zYj9Mdv@Vo3gwmE!8ny<>1<Ln;(g9F91WLz1=>#a90i|=GbTO2Mtx2kf@|&SFXzB~( zzUff@JSe>gO0R;_>!9>jD7_O(AB56Jp)_dn3}oI-DE|SJegdW6K<N)q`a6{V4W*eu z(`ul#gisnZ`vx*k8p_vz(mGJu7)qN%X$L6n0;L0?bSRXLfzk<3IulCgLg^|fT?eH> zT@KK?AXt5eULV5BY0!Wx+S(IKOUPmpFbQ9KVxXX402YCep!1*1%oG&N4K2;U!U}}f zo}@sw6~NDdl3);J0IfY~*}yz`G6%z?W;e!(Op_Tt^fb(JV^CsH=5Z5nlXQ!9+xmmy zz?L6O6VyA-{O(lF>)85(rQ!JRHsv$F+ZmsCNd9K~dE$4w@|GVg2i|pTc+JU>`1)nx zncr>7Cw})ZZu!AALHsw{kF7sA4ybp6^>=P~&B2iP`b8l~KS(#otgSzI8kTpy>)i5# z?*Pn<6Tf?uPyB9Yl=;o}XTxhAhQ!xz3U_^E<N}@Y1k%IuQGjK`MW(ro^K=;1To$`9 zPGguO@`0IE_5$NP?vE_oCbHH)Sb9u;u+&)pV9GK1!E^>>8pu>+6B%tmY9Z#ausppu zh12C#b4nX0^K7?QjcIZTJo8KvSfI1<pilvY$*JeywZfoCWnf_p1WgHmW~M=xG=asC z2qs20(EI=sBL`?p6EnCyqY64?gNcb1yzrNa9n{8P2F>X+!S0*^4RSM|0W}q1cg}!r zDqsdTB7H&AcT60tR-l@hgB{eMKupntx;V_Bv43V$(CT((P0+j%<oX%VNoLGWpc#MW z&7jTzWU8Nq9lVO0kpq0u6bH*ukfkgvAZ1J(ET9Q>R?zY;mP$rY50bSQ)Wxa;&(^bo znl3EOjG!5BHWtwRoNO$hmF4V=pe^l;poS&`1LzP4P+%}}fEw70?x2HVKtl)|pov9B z4-gmBGU5OocgX0ukpZ%Z8{AD{^a7m|02=b)04*$I^agSDnHU&2uY>xYzM#$X(IBn| zDEPr#(86Z$%)KATIiRb4z%%z?9;jjj&)kD~H$ij!pqYCx&w+)3fwLWCYB0zNb3l#O zAvbdm3TpK0J0QKS01yS*5X#694WdBn0GSy|ndXBSphbM((`-Nt(8@e!hEk6CAO@%j z%*;^A13noD)XoLp{sCfuHX<-Ggo5^jfzG2~WQYb)plt`t4AnLBL5xSBB*su(Hy^|R zUE;>b5DlV0X#=bX)W9_X#T-KbhyuAD=}rw$ngN~006mun<Z4ES5D*0#=;C6S7{XS~ zAXCbq1fHY<Ih_X~rpz)QBm(jSvM9n=$f5}EA&UykhxwC>p_HMTL1tnIo6>xche4iW zVwe~LazE&d21bTJ5Cw8SNEqaB7zXv#85x2=6u4W)Pz&y!fiANFT{r@wL8dS<)CPcP z(69p|LlB69m<GCo4`vnvxUbI05De<FgLE=6OpF21Ae~GMwJ{(XqHQ85!@~7})PN@K zK{QAWXrdTIL)F67fx7yj@I{`c2Jt~^VRObHHb@_`8khmN^n=b?fzAAa7JPy>VZr#I z6b35%V0_TRPLLfiK8TIWK3LjiVkiZ7)<LnAotqCw^|F_dzEXiz*dF_iLvXi&Ok zVkoTv(V)0wWQc$zPbP-y8d&;dVyFf!RR#MDl-xjxiHV_<2}Fa8XJRO21JNMknHWmB zKs3mBCWcZz5DhY(iJ`O(M1v;x85zPr<q^nuCWh)d5Dm%(Obpea(M2?CN|1b0g5;YL zux~(1CYTsXctA9GIV(d+4Ty&LCLCl9c=rxNNezgGSW|+<Hzi2EDM9j03D`Fv<Cz#r z_&_wscqWFDx_6+FA5fjcP*R6vHrxxK1OS@MWn>5jQJ@YoBSRF30@V=A3{{Na`~&J3 z!>+*ru|c&6BSR>N0<Fjb9}xtKchG^Qj10jb3X}wx7$$;(9~@X9;~`^q;DQ<~22ulN zKnZ02W3a17r;Jk*lQLs6^OAE)Q&K_mlaN_sPpAOakvQ<t*^CSfWKJ2MW?-~o=2w8t z7<(}bq#5d}Xfksu=xCcUS1B-a>S^i9Fmro>czT8gDw;Au2KojD@=DBAdd!?&x(3XV zka<}zW}}i816>0HeSPNgG-fUv<}xp4Z3U|+eda0kUQDd06S1UBzJk37p40^2b%H#H z3l;?*Gl6{B3usDm(9fxY{eo?7(9o2Dz;!Ml|Bb*YSE|gq6F+a8SDG7~m|KvOTFfvQ zCul+AwYcVIL1in}`B~6p5LM=9hyEojpy@==JO^kT08}M`+7Tcch9UJA0|PzgXF>4= zvlmulqR-EQ_L774y~5Oi+zw)+&(HRVFff4bMh49rf@YgQ=7G9v=<~Cn)po?p&prYz z6a*OrvJBJ%gVN~pvo2x`3=3EZ&(FTVakmQk{Ol9xogW~7fSS}Wf1uCLa&QtiKl=sA zJW$?&nTI|<D*-yA9~QVs{sr}}L34~y?=!H-5H~;jpNoNECoC~R%>x;aK0mvIm$>;^ z5gd1`pwG|x;J8}_eSVfl1`>Xta0bm5!omf8ezt{=xcONXVFm_J4~fwHY>3F{{46E& zv!F5q=lm?V$%K1;7IcvcsNADueipR;7c~C}+GqlzLE}Xr8a(gE%fJ9Wi-DJcAsIAY z#mm3|T3`T@2i>6rqMM-Npmh`=K6v{HF9QRpuLk17=4WANee8v*2OZ4_k_X>U4?QCY z#J>-fe+H$&XDaYAFnovd!DlG&GBAJ+M+K<|U2F^*e}>(|pbhGSa56A}N85NA7_6au z(3v+N^`IkRLG!NQvl4h27$TwaplvB2d2sKAlL2y=BQNwG22KVB@L37G3=C~h_27FL zc%k!roD2+$q2l2CQaBkH!1pb1GBBKlieCcJybKKB`95d?1adbhpMq#mSq7qE<Jjo) zwxGd0kUXgB2hpHWM-UCWp94J7$;!Y08vX-`gHARD(ZQf_1Dyo{r9oGvg2cgFh*%jI za-rg&avLNL>Slsy&?TWD8Z=r5qCw-LAR2bI2IwYi5FfPJ2SkJR6@h5j*&3jsPY@q= zw#GiFJ>YqHRtARCP(G*}1E~X_?ZV2y06SX)G+GG~2MxP|XwW(EAR2a02l|;BuzNXR z^Sht{S&(}0{5&i4%okS3J!Bwp@O(VzEEG_@ure@!@6BOlV91B^K_}pY)HOr-;P_^R z&dakhFu?BJm<5#w9S;gp4?7bBeBLT6^voAl1_s!C?@_3FaJpb+V1S*C0lq(nm4V?d zRQ?H+2H&T{%D?~`p9Pu!2P)1CoiAmF(xCgRLGrNsIi#WD@=zKypbL^WhVreUG-xOt zB<>F7gLkvBGBAKfd_m&zQ1N^y4c`04%D@2HH3pK0oq+)w5(e?-L)D?5aREEq;xJSm z{azjPGc90eS$u}72MscV%;$&BbAs+c2k~KNS13cpVP{w9L;0|?E3Bb>*x42CP(JMJ ziXbRI3`)mA=_Du(8rBBcR|e(RL220hZx@u`2c<#V2tev*LHUcI^fD;D4oYu=(mSCv z>>i(^Q2t3M4H`%XnRge;e+s2vLg|lC8a5yN7s_XZ&WmzFX<jHT3Z*5Xv;ve?fzmoq z+5k#}hVDW3yFmFqP#Uz}5F{P}<;Otj6eyhmr3;{R36!pZ(y%itI-vX>C=Hq$0GYc0 z%3ltpS3~JdP#Sbj9!MSRtct@>@$*m`HeY-T%D)GtpF?TbeDNnJA9hv+xL(C`CIIev zMMEP~$V4HSBs8yRW={OPVh(8N4{cBT{kMKqAGXB5n#990f5W@<s+<d~Zai*jZdcwi zWKDU?7&Y}RL)O)|j8SRt)V$Q*v1XaPYp*JMr(Tu%uGMSmTc)fjZ<(V~-z|%}@|G#f z{9Q^_>AU4sAhlQDGDl&mXUPJoo${77>dIRdH1(`#>X&&<ean`0<t<y5>buscD{tAO z%-^|2mAqSCrS?v(D(#)B*VMP{S?2Fpt3YCD?^Ho<%wn`-`KZ8R{w}qu?A`Jz){hFT zGcWqT@{vh!NpunVz|16jVZvL6tczd_^Ob7Ugtv@fpOwB-2bl~p$%^qK2P4cRhL0Q! z4=*;qWvDv-mZ9pyo&t9U(2_|=y$<dSurPvdN?`;YHlz#|KqZ(M*-}7d5oCUmiHQ|_ zQyFAZk%@&BbS5D)cv8;-v{9Fdg&kaDa<GDqb7$gU2eoGq(}$poUYJ4qc9~&!w)_Rv zhm0KH;+=y9TwAiRfac?vI9Nbyb6Aa-7#LU}cdoFpfHwBBGlJR-jG)7wAlD#*+{*~+ zBQh{Xf`)@Zvr!zNbj%1I9bOOGxeK~>i7^^f$%7W0ae``T#u$)d#$fO*1dOpD4(K2= zF3^fO#(0oTTNoJ_xInXl5bg&?1_o}>zTE_nqzDrO12<^jE||9l!~^Zy1@l0QakxRV ze_-Ak&|Dy>J;9g?asa3#q2P8BiuUayZR6!)U;ypg<+I|phVJU+#<GnU6pWx59S{v} zN;1@fT56ym2V+okjgcV$M1dxAz!QBS2IvS6@I)Vo0XlyJJhum8fWn!Xp;Tf%hyj`% zVP+^*0MFuqwplYWgn}s0CTd2801yS5@?~ZyV3`kMfF_xk845V&gBYMud`1S)rgN}U zKm^Dgj0}Mw3N(Mi$xz5p0GY-EaY6G|+;Aafj`<(~&;m;&L4o-o0noezlAy$VkO0WB zNP-YYgRY@KvIfKjO_K1yt*K#<nGX^Hc?(%oX+B5<<U>XVP^Sard@u&>lV@ZI0#Tq4 zN4-@8qyp4+0?oLAXpjm}{D8z^80334hIybCHfXgm1Nhhyh6#Qk8Z>3Z#4y1NL__pW z@Pp|C(dc@iYCx@OkTe4*Zoy4)h6z3(8Wg>t88Q$JZelY`@Bz`Fm<G*|foSm3M}`SL zAQ}|uObn$0AQ}{=ObiozKr|?9nHWkXKr|>^m>5bcKoJgFY5-CLqCs)a#8AKhqCs)b z#83dAcmhQ)XdfpN!vt>-4T@RNY#oROZ9oKxgJ@9Xf@bSLH27E-h6&yv8sr8hhEfp_ z4Y7ZM56Di4Jrh8^L$Lor_JBA{3=@1oG{}6=Z6P2UG-U@82hkw&K{uR$Xwa-9NE}3i z%x7XK5dhJkf(9fGqQTt&h7t)74Y9wZ0%X4wsM*Uf!52h>F2Z19C}aT95O)=#_#eE4 zm0^Mxhz7ZbiJ^oAM1vH8;v7VS+yk251JR&T3?vSsLGEE<C;|H)ye@=cf;Wf;xrd3N zL<U4d-Bkl}ml(ud-XI#}9wvrD77z_}7bpn8;RPZ<!(X7gJd9N5gP5Qs#>fx@q97OQ zhJh&1v^V(n50EXOv=7o@ECs%b1JvhbWC#LLpm}a)h9buKAcH{|+gu$e(Sqb)7?}@V zZ#ufYQ<wC)I>?c&<j>XJWndK6W#&_0F49wE=GF7l*VZ@E*VWfIG}JWG)Hl^K2C;RF zb)jqn0|QMH<|;jXQ+-V%eSLk<)=706edY)+W}^r@&<;w7aG4%6r;R>nwoY9^UmrYC zhdjlGWr_-P!YoxLV=%Tr!nYqLXCxLeB;{l~=aoQC+lR}5Hs3+E;h_kDHa0@%{GjK@ zBc1IJk_1nfp=bebVFVK>!Z=RtA5oKTBuvjjQZ+ax!4t8NxB<mdDQp@O9L69KFasJr z$jAE+@~JkAxi(PIi(EE3^9i)Dv@*9bfi7F6#{3#6hmG!k1P3u_t^~xOWd9>_{RM8- zF)%Qo&##q$E>4752A!t?*^55EwnUhL0d(mRXubqAEe0|V)OSLkUjyBNxfo;s6vK>0 z-~TwBnSlXxo+eZoXxj;xi9Ww3BFezvK*ao-4UzL}AySBWA5g0T<`4AwwHOYFI<TXV z!UZ&L4;_vMOQj&02kKwK%mXzvV15TF%;8{Q0F6<C*dPp(L!VzOks@w>Er5%Gp_+*K zwbMMr&9AA0_GEz^2E{P<q0g@+@Iub3hAM+!Tm>4JMh=%6q;SDEzt+P`-29r35Tw%% znqPyN2kKFR>_p!Gn1ka!0hoJXG|Yb>J}ve?g7zbV_O^k{N8FYH;SHtzkf1UI*L)kK z4#YX%1}e=V`yn|Qz;y`|9|HqueicN6?kxb(lAv)M9tH+g5DiURAaT%L3LqMM#y%ed z1Ne-6J_ZI*Ck-SHD#t)H_>6r%=o$Nb3=H5QAU*~L@caxP0|WSseLe;T(DF`@dhi+h zd<+cWv(EXTXPxsgFn~H)AbIe9IzH&xoO}!npd;u&<E7vmg<<nBTnr50c{n}>hT9-_ zb3xKDNI$5{&cwyQ@E#=2$H4FtL~}7PfX<Bq$#a7`Kzs}gpfl@0>OdVdkT~cLU=SZX z55vd6U<^{n#lQf*7oCfN0X+Z4#lR2?6$j71a6!sskbdx)p`Zc{WFMY;>_LNEApd|m z<RDrbs$L&TgXcF{85qF(0azIr!1J7-`^lm5;Ozjc3=E)Ci9q_}q2l2APF4m6^fOk$ z`%*#ovP0E@=Ra8)7}}tGaD1>bFieK>!SkR<`x`-{a3Fg?BX1yj7gQa1#1Cm-BRD=- z85lqV0U&jt@k0;|o(Bcp2>{gxTFVI%2dxwZ(Tbq(WMyDbh0>rk-ym_&API;D&wsK) z?>t~-U`T+f1Mf#=Wncge3xd>@L&ZVoV1f9c^RGZOXlM{bgRaB_(F>sJmOyFHSRqIp zv~~qVAAyR)&VmQub->EN06O9cBoCes1?~5Pssjx!g2Z9_9vMJmuAumb(xBl+kUXya zj-WHjK=R;i7NGsDP<`OhT2=-I*uF;(s5t1jE|7ZIK1lR?>e2T@!tSew?TZB6ybRJ0 z+VugVVf!K{K+T8ki-g@{4;ml^se|o{1l{!w;_rc~hwY0z0p%0gANc~R4z^Dc)LsFZ z2iqqJI%f#PXMxTKfrey3eAxa-1*kaaXep4m4wMhuCusrY+dyg9K1mNKKLARHK<OAL zodBgXpmYwDE`ib&P`Uw1w?OG0C_Mp6&w$c%pfqR@8RSmTIdUL+2UHxkj}mmA97y~G zR2;UC@(Pp>+ei5T%17T%`2{KtIzbC$4yZu@qCux=foLA+JdpsDmVnZrefA)E*!-CW zR2(*cW&-7dM!iAmJfQqwC=EOFJr2rGg3_5#Iu}ZpLFp<e-3p~)XTDE>@?mGbg9fZY z>q9_o3y{5_8XH7|+I1irWgbfad@KV4NL=5<(9{q-g9RZ7&SROFnLtz$-XAA{WgZJO zg9X|nH`z_|LYf<o8?zgOs(gle!mNz=j715TfACCb|F!g&e5QJ0d}imbr9Wq7E=p|w zwe-jR%p*To7PS9b`km44$Pb<gM}CMjJWpi)sK5-GN4g82JCgpu%p`Jw!+^su;0K2d zhoR#S0h@pyEH)eln?Ex6AO6U|%&|ZJ1A{Z8mE#W{n>QEtzWBfonj_i{%3q*BV_;zf z)n$wcOpq-i$el-!JQE`uxNKqMhz1qSOsp~>olNYY3Ig1qV}_jz3z~{&UI^N^13MQM zyr_nQ6@32(2RmqMJ7TH`G$IM!X~qIM3|0*^4+K68mWhQOyzhXKg9Bt02Mg#9EG8Bf z&>%Gv2McJ&H!J8$71laN&<!bU;8`Vh@Pe9ZCPvUGG&4IR0|Q5XfguA^H4{jHBfr21 z#^waww#-xu7H8mM1dq^zT2GL+2FS~d+@R8v(Gj$k2UHJpPX%=>oIqUAjn>?tb88u$ zLFR&11@VBEoG`kAxS&P|Z)P3?qZ_E&V+`g24Lvh@gE*kUQy$RfFbEfPd;$-6jU8CF zjFEwX2edm6A`7};hX=G1p3w)S7j(5N59m@52p6<<kOy=}4uty=q!)C&1B44&Fu?~J zat56~0`^TNNGm^R`-Kt{0|P&(<^^pW1mzqCLD0FGp5Xq85J(efISy#tpRokAU;?ZO zRC9neftE@L!xVruf)+_IFn~3J)~ABnB#bqn8Uw5mwD}LLaU~N2gD^}1SmR!>jUpf$ zL3e0_7Wpu?f;EBa1+XU2B_P5uNw6l+^&emlQTs?-X3!)Vt2&RTumU%uFyu5`4l8bJ z@Y%Vrvv9#2E*$6QawAQ=u`w|4pq`)0i!|}Z#lXNP%V;PZ#2CsJ!5s;<kDrynP#ARX zt^hY9Xuq(a36w7cQVBYy7p78}n-RoiU=Tr;0R;+Z5)_m_8EP3o-F<MgnV}YxdZDtA zW9k_h0zf;4K~p%448b4@)DUN62mn!_GfJ2l3M%G<W)eVCnT!kpAPSVU!QybE7+|Ia zB1{VbnFcZfZN3Ynf{`HzM1dCcGBQMiD3AkDr@laqVvr(6h8Pe9n&n_*2m?`|HY|AV z0Axc70|NsqLp6i3)O-*VVqp--#a*DHhoPu`K8OJ_pOFF73I;nGG#mn&N?>FN2T>ps zLDM=Q8e}LFLkWliD+S4eHk~mt1c4}!63|Q!hz6-)VkiNH6<8@~wg{9V7#YGr6i5kZ z@&`mim4Zq@uu@Q_0%ZXvhGGd24U$K4AIMTQP$|O@4x%8kpgt2=GiWCxL<lsD0~P|= z2hMK{;UEek3*X@c>Wx8!K$G@h4Inc>?qy^^5dx`VVlV&=gMgJ`u^nU;$oY&6D7K^P z1StWDAt?iS6yy{nJ3&GqRmgT?@c=C2Bk2SQq3Z+{93U|yWuTA*moA_d4%kbGf*r&K z6^o$s1qu(4XF*~x3`#UGHn^eA0B%N%-hEBX-Pg(ad0B`vLX-20Qsa|zgEMne^fEx5 z9gH1d%t(iZvY_9V4Y?GHfr0rj10yp(BXgmi9y34aI_WhmUM!5vx2hGCG^ACPS(un- zvVbndep{`l1mg9vfbOsURjtRu#M}m!X{gZyN&IC7DZ5gw$84%#qAz30?5M|lks%^B zGLpG6LY=u%kC{h-iJ5_s5wT~BigQSmo}Gz&Lp0LFQD$C{Awy<fkP(P51`#Giot#+& zIc_vQJ}@}c32EORED9Mi^E^!mZSxul2Wn>Kd4dAi6BNLn#th_49)Tt+kx$bkJa+|) z1-;}!xw8v0Mu@z(3%Qj6DneZ_&)#HUpkUq!79gW%ZbB+2*qAsab55YUksziaM!i9E zNiefPa-anwpga6PY!HUYfyNp^<M|*l5VjCzU;vE^ff`xJb55X68cYvJ9q1lB&~iHv z8-!tUpt&R%8zep(bY%v(ZwcZd?p6kkT_W3iLX?34G|mIE7u4tl_5DFKXiOQ|yrt~e z?|v>qJ3I7+1Y|A=WFDwB3NsHhmxOHIQFh4P*$~$u+z0B7BD?R01Oo%8RRl5*dCmzm zmxOHITXx7gcy#kXy-Q^CG$gUlIf3?~fXoBg1v29)Cj$fM1Q-w-gh6s34BD##qG9Ta zaLhS@I-<;wEioYN4Ci>T?}Y-*C4tNXD*|;ucu~)X1%)3-4zwo%*&hayh;W9@5rN_j zH0OX6?F=@ceI+0RpcrNsh=w%rAQCqOiQCh~A<V!48b62VLc|-452Hcm!`RfAa{|Rb z%sfPHgNV>$jtMk(1McmEtptTQm;ok;Idc=#qy~ivsBA}@V}cdUddUpv^Gh%((8UxC z44|<(P#ys7MFPb$hz8FsfzF@=bzHfjb4xssc}tKycy5W8fdSNo0P(?dOT5s%K)ehL z;5|TC&e{aeZSXQMfDRi1>1za;58C4drD11ng6?1k$uEV9gGOsWeDE9w=qyU8IA}pN zNE|$Ofpjl3CunRRbp9@g2Ax?5r9t=GgZ5%kdZuO?$UM;AG!V_n0O^eIGBDIb`7I!t zmw}-VL~}AQOa{@Q`=~)QCj-MG5Y5ZL06wFUlYs%ehYNI;C`g<Wa-K5CU#Fn_^B|g+ zfdRZ{hm(N;w4WC=W(vBi0(9T=SCBj>1H(Tk4c@E6&A`9|8m5EY+sw+q0NbOZ1r-PH z&EaHV0FB&%%!AEYxI*PYqirB@*jz<2R2+O(BkcZWRtAPrkT@#?Lmi0bWMJq7(X5cN z4x}GEC&39hZx|H*%b@bBpfvbiT4+H8QV%MhKr}dAvO>xv5FgZ@0nxbT-poMhf)$!B zS)p^DNON$Y6}KS$pwR~q4eB<7=vb&e&>$j+52}AaH0WS25Dhx72SkGw)q-g7Tqr98 z1E?MV@j>+lh+YIW2evm2cBUw3co8HI8ioYXu(?ps;VvLPXdNbq2CdQu(ct^WSs55$ zb8z4}QC0?quTb;BbE2RM9TeZ7xhg2l3#A32G-zxSWFB~Kl$C)2yjPKxfk7WC4?aVd z6}o4Um4N{?_z6-Eo+|~-Q9{+h&LmBO^1<n!m4N{?Ito$`o;ziQo+Zl)y{8-$|4{X? zGfF|jry%u9q2g<yG&udULeo9cea@$$^5FCjy8jx=hoyhe2rI}uaQbIuU;uAs0EG)Q zU4e#NLGrLYYM^0O5Fa$84WdD#tsvSGsvb1n3gY`h`JfS25Fa!I528T>tsok<Ck-^r z3gWjz)q@6BL445NL?9Y8z6zq(Lgn{D>4Q)jG^PrYhn+<V8d?SMpF`zA1FInZZzvx; zw}NMn5U8#OsfXno(3Am)52`0XG;B^4G|Yl}HlZQbdoj%{v7b$7W@bwC*@O+a=U&)V zE`a7;(!et>OMi*~h|gI1OZ?}25c%sqi2UyV%EH6{m8GZuD=RPmSLW`Fb}cU$*q<jb ze-vN_of7!yqW>!%nM9Wa@LnC^3oM2#1_nP^Y#6N+f3VmX{A99W{K&!xnr&hD$il$< znV(tl2b;}X&}<8Pf%{odxPoh27DmvGc#NQi6X+5uuox17xP#9UG?oeS5;N?qKQ@pd zOzfc1E@nB9EbOd5@O6BkX?kYZS%2X2hXa&A8JIZOK_^Nfrd>eivonJ>8?!(T_yetT zV1XR)2b$Jk0Uz+k#KI2Vcgn~C+BL+)!2&)qkc9;t(a<~iKx2ulmEh?XR!~LFS_eMi z4{`?|J9wE!AS3voKky-fklC0(umEH>2Eyk211fBS!Qu>DjG(HS5ww;9vJwOoHjLb$ zJ(-M7poQb0l9?McB+cjy;(`{9aD(O>7+pYRAt-El+(DzLULdYBBLf3(W}YDfqc`YS zL(oh<Z)Tnml=~DSYYgRr@+xm;o(Yr-x@M414`h@NNG}6FXqpJrh5`ivV;rai5CAPr zn9Ib#AOJdhY9kW^gCI<S5NIj;QE(F#tP!LM6laX_prQb*@divIXo6c1rU0xFG_}nD zu@R&RR0}aC<bl+KYy@3y4z>}rBUBKk0IU(T7Zj=yq)7|p{KVxjji3`Xz#2hYKLue5 zz#2iDKN%PVLF3w>mHj**=QB2g!myK>fq@6qj)HJOv(+F|hw=;z8v_F$Vtz)3n}LB} zmeEicG_L}iW)Xl*$OyvbTZCX!GN2R*o?!v)$^jLG;7XdI7F70u<v;{zj2U|0A!y$^ zGefb!d=LY)i-wUQ7({{2A7Eq%08yY|XJ#m<n-5}uCNdZq0zedGhP9w(KFCNIh8P_P zqCoKr-I`R)pfn%EbzlHpC<xvZRm`BI%rYM&0J0gnuL&dwaSCW#6_REU7t~yV?qDir zP^w{2nhz2IITl$|W<E#+wC{wGArM4?yui#*i0VwxOavoC5QqW=5b8`1$S<I_7ibHJ zk?MR96XYL8h8Pe9TG7PF5C)<^t_M&2fUE?W1=3+G1wNe-H2K5G5Coz?X%=PE2*?;v zmSSQk2Jesp1q~xZ1c(CVY0%Y&4k9A*$_gsts*3YLLLdtm!6)Z|9LE4M0F<?u7>Zdy zG)N~SLnMd-%?a@`R5BnL01|>20BY&M4FF{^CWc}T5Dn7F$PfjhK&?k!hALzOKtd1$ z;8Q*z7l2eVF%<KFXiy)Bm!TY47f1-A3qGR*(gg}MkjKI9U|<0I1*8ml#sw5OAa5gi z86*VN3W^Z0ZjczdR#0$&Jd8BW0}_I21?32^R*)FFR!~5IyvoP`_a;aPsuk3l0BZ$_ zp=*T&0n$VdDAqw)1nDj~PzD0+0^?#RsGGv%pyHq=KOe*gDP?2`22r3RB)J$0s$kM! z8yOfFK=~J3U?WW%fl@9^9z-Ma!Rx>vJ+jg1A>yZpz$d>jGB8kUdgurPBQqZ(bCDi1 zA85*_i3v12G`;QwXhTto9<zdiK688ovvx#`mWuvXW_idI4|tykm;mki08jXUkGli! z5@7)I!Fxpt4Nc=q7^+f>@);<dz=@A{401PQz%h@5*u(@GG%++~h>s6+42~dbHiy_5 z1#s9yr+zZ?O2A%*?SX;sDvFN}at&q}33EG$$sDRo^bx<E2z^FqFdp9rUI&hAjt5i@ zy70-gu(z_cv9_~xFn2O_fyM_ZpW_)lw+~d$fG{{b85kHSnd1S)6UZzOhSlllb3CB4 zbuU6HK9Dl_{vPx>o&~}T44^wwKx5gUo+ZdUP-Txk$J5KqzyRvffeiz76`&0CIUdlu z&g)2n{V@Nc&+%x0&h2ByJhu;hjwb=fz9P^V8+6DI?2;2ma}W6Dcp7l*D?*>+xq)OJ zs09NH7tmN8%ugVTCvY$@>_HNMF+pQ{$nJYV<Q$I=7Xw2-TD*bGM4#iiP2?PpIgWir zprHzoxgbA)Z~>8XJRgw41vKLT3m4GXKT@<aEFp4^$3cj=Ii7;iIUWXb&g}!We?jpK zDl@Ro@qk+o*ynf#^1MFqz7<{u23p^z_8Bxx#mm3|I!gyMX96DM=4D_of{qn~&hQ6~ zeS&Y*;Dqdf1E~Y=OW}m>3nJlMKG=DD;QO{X85lsLSD-nK%^>?YA!n$9%!lniIRg@B zWnj1sqB$XZ7(wb^g7~0&!=Usx5Y5TJzz7;nWQ8oV0=XN!|Ado)K^7#=$-sa<h7DTW z4KmLPB+tsgU<akaW7wPw3}GNXC+7KT;C&{X3=FWb>~fGg(7qxN%?T;PK<1*~w*|U0 z5+n}0Zwt1+1T@YD@;7K*0!SWw?-nlu!zrkFpfU>NA5eJ%qCsUchz1SKfoRYOB8Ucc zGC?$<eO1n&cxPo`01YdG)Pu)XSsB19OF?|_qIgyY2H5_pG^l#ex>S%nXowO-gGW$7 z{)Wnf)~JHS(a#%P2bBkv;~;tTxg5|z9UyVod4ix}P!Jz<qy~rv-D(1&!N)VPGBBXe z)quuGLGo&#bim5M06Rwze6A$YIfCv``5-7A2Bl-6bRv`npDPL4PX^_K7fiA;FjPYM z;5kZG28IqOAAJ8GXdfAr4^G#t3=FXQ<TgOXVf(FiL;2uyCs`R7z~@b}GB8|&ii3u6 zLH>cIb3$`9usIsg`gxE((6}#%2G3QpGBALSqXO~GK<SB<fx#9^J3?vL93|-NDv&zR zKrx8UhRUO-^Dd}(ACv|S7=zS<(>E&v12{diGB9j~%7aFYLGmY|e9$;Ch!49z4m4a0 z;(vh3g9eL1eAqrH(C{#b4?9N?G)fHOYeV<{fX0YHeAsz`piyBEA9hY4XmA+BPlKul z4Gn|%RZu=?Kp4aawevtUXhax9FM!I!_AhOL@^?e&{ZN|F+!CI-BTH=O&*7RoGBq|L zdf$!?=<X%7^XEQnna-hq!4|w@M=pcWRxM#(259Gv%MXbhxlGVL9G4#gIl(_Ta$J6J z<OsiI&kBCankD>}xhnWAW7WoYZdo7SrDbh==U(;kU3wMETlOrMx2#z#Z<(uH-ZEBQ zy;#p^;bIA%P2#=4oWW?top9kTBUmlyM7M))8LL32ynVa~I?)XrCZK|i0XlyKDm=h^ zG=hnR1=Mb5Vq^o&<uEaFc!Nq4CRQm>VqszjwS}2jSRI%c7??r(N|-D_W4BB!;7KJW z4pz|GEG7<i&@?b&!U!};%xn(Q;sjoA!NLxjGGc;H4S^3r<zNBLX|jUms8~7}H5nKf zU}w33?rUTO6(S4_pfia;4rb&?WMW`o3<jMM1uBj?Ky7Nq5D*tMjm41$k_`nd+5k;p zbArZH8N)$b(BWI0po=mYV?bvbfv&RT1kG(jxS$gfIKkWC!Lp#m5S*afGa<5@7#SEi zL33`5u^_#m<4QS2K^B3zpvB&tpsP|LvdW-qp+F@lgc}5IXERcJ(!-tyyzzuvod-1c z;J`NBi3hUxgb#6M8*KLp^awXl@G*c~1DbsR(V#G8LOZh!ROK-;1b`^eB6miHU=Rh` zl)%hToG>560M$~A48b4@v{;6bApk^y(g*k`HV^~UpaLJo24a9(g=j~yfsAKl2n11} zVPZyx5D*1QP|OS^3G+b=knxNRAs`B5JlehxPz}k*5Coz?z92Y70J4dZAsj@3Dsx7L zP!I*O2YlxX$QF=U&?y2C6SVn)ks$~~fqaBAMF5&x1<g-0GK7IBklR5ULO?XgB;*Yt zAbHSmHX}nAh=NLk#+t#=0TKfZPct%vfhedn$WpL0OpFn{6&oxB8a@Y&gM$t}1JR&e z46F=aeKh6ggP0H#5NDEslz_(iL1&49XwZBPE5lb`O?mL75>z>8qdnMkkP^^d2_}XK zejwTlykX|6pQikL5EH5#)Q$lw2Ppw@m>4GbgJ{s44--Q%XsjG859%0zQX2BYHBfwk zC7}c|AH3Lt0le*+*n#n6tC)hK{Pd#4T!pmEoYZ0kjS34h&6vcJ+|(QhsZf%ipOc)C z2pMQrNKa0V$xAHBEK7|s(X-GqG%+!bNi53MP0uUUMNz4nm!Fr4au!xhZensqW?m`- zJuSt1Sq^x}7ji@c`G;>^1&xC%#7e6xGHWX^hw14vD=RR^>FMhm>YJD_m+P6Bm}-Go z0eZ|w7`z;0R1{}2b15(}F)%VxW%Ls=bPhkLisbXLzysq%4rD{Z3VKcx6?Q{p=6Qnl zPI#Iyz(>KslLKG^G(#{FM#I4o2%hyo?0G<pkS7-9#wX_%<W$7NQY*tSAMXZL1klnA z+;DNE(ivLt@Ebip3mm+lF((j%l5uY2>Ic;C2bqUH&JEgb4jNMd$$>D;UQl}(dHmH! zfPn#Y1_+^XZqOmepmr<BED(m7hd$1Inu&p-2vUE7l)=Z>(Z{);2r@8$&dvbY3mR7k z`2$3wk8^|WX9hKz!G<A?uY(#m$o`lj0$I-rG7sN4cPw<>E4q0gzag8q1j#&56Ab1) z^l|Q7P@fhS7)b6zALrg8Lfl>kId%qyLbUJ$84nsC0nxC%4E>zg&(A{N%kY|$xV;Q2 zT#$9>uy6tS7sN*2%diJ2T=0!^gU$g1U2+OC1B5|thtWvhV|c?y+&H(4!028EO2)ZC zWd^o!Zb;(->o_;!oGcE=9yriABxpVZM3cLh0enstF9QSka0^}r2JpfcUg$YlywG#9 zco`V-K|Oh11_tmNab5-n(8?E(z2I}1cp+PyL45GNCA`pcvUnL7z~^M~LeI(K#c@s+ zC-j^wUg$YloX~T!co`T#g8`s%R`5AlywG#9Kzjh7?g3p!3X%tpGx9PpfbS{cMBHNo z9%tl)t_kO5U@!%Z+i@~5fXB&s85mrkd{Ac|<o;kNA9VaXh!0*1&dI=#4ie{OU?>F9 zoX|DlybKHtP(COxfySXg`4mKh$|w*G>LY?^P?-s$agF<eI$0ojQ11yu6B_pgjY@#j z!PfMHyH%_V44{4|NF20g5=4XNC$NnBf)=`h<UvP^fN1pdw7~Jk%D}J|6wa&+44}~w zkUG$6UJwl$8UfLu@(4u3*7n23he2Z{AaU6EF#7pggvN=%=bf=KFo5^4ure@!&WHh- z2OBR&KYt4xf2<4)zM%MEWnc(_(%^W+avm3Gv<75e1ymh)PYWvp1MFTJ(C`gNemYcs z9+U>}X<=nx0FCE><hMb^K?6D<{z)hwcK^&(C?9+-G%Ivogq48-G~xqN54(Q`G^zsP zvw()mSQ!}5*Ytyigh2A@P<ilt2rB~vcy9~Re25cN9yDeIQV*UNVP#+dt<nbZlc4g1 z#zDd99JHqh6#x8)^NT<&@#4aw67Wv@e0>Gj`9-+KLCp+_UqjCU8Wcer2L+v7#Gui% zfnj3l-3`AQ{>1<4`NQ+^zoFm<MkcBKYd$hD&v58)V1FmTwd>u3D#l6T?*z1ryn_U0 zOR>Kbu)6=&uqyqXdez@|&#T1WO_<gBn=}0jzyGTQ4wqN%EG@q|Tp#f}y>ewb^wA-x z^EVTeH-(|)H_K}OSGUUCUU{>1{ANr4#P9UV9jvMauFC&a6DPzxkXaqSS)jV1W+`9c zcX{Q^vV@`GH;XIdY=}KU4AmRgd}QL`d3~qG|5Xl;(=VP+46_*&q!Ju9F>QdHjpQl7 z<@n_}gEDu*e}&J_??;-)GcYvxf#<D2g$x4=Bj^AgM$jk>XiyR?hD0zivVrdCVde#` z(U$>VW5vh;I{lo9iS-jG@|oB{XAClf*0(al*6{N(GcYhaF)}c~*YJb#Ei>ryFJ@ox z)DZ_Oc$XFjJLmvA#OQ1mNDpZL7mF6CCBzK6t_ixFA2cHXS<VlhZ)foZt%PJ^VF%yX z#K-~OB*MW0p7&v4xdF;194unY3=FJ{tm%xPY|r)()G%QK<>-1g(0QJ9Y@pJumhBJ| z149iP=!CRtHqaiRDh75}kj8vQP;J2u8gyl?1Fz_3pUcR=z}n0RT4llxI;xMggAvpU z;$YDNjmLs6w`RJ^1l~Bn3@QP*z{T)YCeThMZtzu9*THNC9!4c*1_nl3u){#14XSrQ zG$Z)DB|DIDpmR$2K;;6Xy&oe31E@si2VGyr=m?Sp6`=f=KqJ0jE@*EP|8~&*@n9~f z+Tu@zb3q#TK~p6Vy`a@i{Gir2gbTU@iyyQ(n$ZaqXCS=-ER4>eDN(^cARAmk`UQ1C z&0jZ=3I=}AG!COX=+dgoj0_AypwbakLxF}C8U2Jo8=XKGVu`@SM2i?17(i20U@ww8 z@XW%<%?&!n2y~_qn+5|jpA0Vp13U5sBOLq;+}xhR3=EuljNrj&q*IW%pl2F^4?Y6j z9ReDb26K3jPeJkoubhXDUh}dtFoRA`f(}>nL5+ZN`4P+R!KWRGL)-^G14)pV0qg*< zYf#QTVqg%4EyovuEyou{S&q*FDkB+c!7Fz`vBbnss{o=wX@rTP7PM0Z6pmmFs{a`o z0zee#$~DlabHIEM3zR7t83I5QNFPK3tOZJdMg*XDkAN~KXapWagC|}YCPsj0&?XTk zhS~@a4Kfp?21J7lL>v7EIRNSo&?z(!>p(2fW<2QCC?L1sbP{MeJd#?FHAo}$AX(7G z>qv{EK|+w;WF&|J9m2%O5CYl*3%a|Gks%U9fpR1xLkNfhY3E@mW-wGKV(?d0G*X!l zI<5=Uu3%&cg82~X2qRGVfX)_UWC#Swf-bgWWC#RNAh$6y)YQW_GJu={F$f-1NGs7n zvLMTu8G<K+q81$fpqzmeW+2^=Fay~IvH-#Zs|8&&4?m#_v_%0diftep6fs~)D1poe zw;&+*C1M%Kc1tWS@l7nra4XGAF3HT#E5;n-rRNCqzzl1HkB))2Mv_5;8_<Q_o_WP3 zMHC(UW6#LUqsLsLpuo%nI`^lS6?CxA*D5bV6E|jF1?EC8W_|@@$0f|!Hq4@W-WGlq z%$y3%U`nsl!p}n8P}WziMM;jCOM$r{f|=JwpNWlukufu`#LOhVgdrm_CyfCzc5D$} z!r&O>8}I8F;t}uT>gOKf5$_rl<R8QU9uqA~%wZ@?%qdMpS{SaUr;ic;`Y0{4WQ38y zo>8vxzMjFpjv>w-3{)9ykB@iuiDD>8%`J!ryU`Hq`gHL4HGD`OG>{D$&_xk~`#i)o zI3(W9(bFe1$Q9yMa6mza*}>L;hle4724=$bItICi`nvjsK*OypvB;39mFu7}WKi%! z7o``P8ON7^&dNzjErOpuRN!A)!jP0%QXF5Fm}7`*h#u^|5wUC?9_W6Kex81A;8b7; zCX@5?%8-&>sI#+ca4^!DMQKHe$)MB>3UzS&ffEQQU4R+Tm_|;<49K@&fY?r%CB=r2 zTwjt{Qd*2;ou{9BsE=dNU_7!2RCge+We3$G&;p+URN^~fo>%0=2WmBtb!HK)JY*Q+ zBm4{ugXs=>P&~on4Av+BjnTlyQ9*K`bNtcoS^$aLqn-1kBh0`6Iwu=6HjccO9W(}q zY~FTe$a+tZ86XUkO9VCSK>|>Gg@u6uw0;cA1yzG!CTMI3c?`Wolz{=X#~)-bsC^3Z z2Z#o(6@Zxy()f=J`*}s6MHI;9T@lAV#t*vV7}-3~7&>Si3}iM4!{k66OJwt&Aejfs zGcfmo#;9O=K>GFA85lt0Dj+rp!{k6?TFB;o5yw8p4>}_lq{jfH8PrYYWMBZTJA-n; z;RlijoyP*AVd_$GtYzN{G6U(nqJucjD*`Vaf?2}A!0>~IfdO>(Buoh8Ul1E~-6gU= z{vd@5zA=6SUIqrx_#4O!5C*v&MuWQ2AT|h}5QMA`2KA|7=7Hh|WGA?<4pIa<Pf3`8 z0r|>Kn0ZiXIE5@ujq{2?Zh;%lz`_7>BREpPg0N5ma~SAxei6uigquJ-h}|HPnDdK3 z`3)3CpfUtL<_{~TQBE#`2|~{-BI7;`Lr`CokAVTStOj)7189B`M1w991ks?YAVD-} z-4cif%>#mHP#FNC!S~PeLC5#`7#KijkAcKN^JgF$JWkBVzyLb)3&aP_gMn!9{quYb z44^}*L45F8MSKhlpurdr|31`Rpe`eb59*hJXwdo3AQ}|EAR4sl4Mc<QU*Kb40H4Io z$G`wS(}<6OK^`<v#0MSE=VM?1pY6g2y?>mKfdPE~I3IMpo)3EO0w46u7Cr`s9*}-k z28Ibx8hq~p7xbQaF6cU7KIr%^7Xt%mhz8^y@Te6R1H&<pK0XEp@O=whka7qle;*{y z1s&hzV_<j(<$ngzd<+bKK{OWw0~2Tnjt_cf5f=l4Ae0Y2vxtj<K?BMMkL&U=Fo5q7 z=VM?1t#1U~`++{L3tGwu5(h0>1dZ=zf%Jp!n*h<EiC0j#gU-%@(x7q`qz;sxK{Tk> z45GokQ&z~FBZv<w^FXvYR3CUC5$TK}(EK(?9<*^EM1$vzSRtccAU<fM4n!A1^@GzD zD|G${bcPO89Gt#DXXrrrpt2sM54J8HR91ud;4`wY%tL_B#$rXxD}fGq2dM|AKUQe^ zV`X3fjrxJaA4BbV4y8fka3FE;J;9)G0>u+61GrrV5(f>gfoSj<@~jLDppi8YAAAud zD|9}Im4U$$st<IMJ4hZpuSCRILpe}=pgXfb`ar|0Ai5eV4jTFc@j+v(AR4?MgO!0{ zCR85%o)FO3AV}R#s66QGb`T$SUkGUU55&I?l?M&`f%tErd~kYYWnlOY<)iP@01XO) z)PvJ2E3}+~?o|VcgUUn@4JxHUH0;bI&`2W_(me=>X1<}R9`Zbb1&*_L42&#@y$7KJ z%RB;uM!}XG&<w)o+nWTfXK$LbN%#XJo607!{VX5<n=Wuz;n2ECYZLoB0j*u{UQ~&{ z6X4SIb`X$;&LU_d&mvgO-X#2+`NN^l{!9lxpEnTr&Gf<H^LYd5O$WX@1Tg$&2J;#i z8a4_1X83&g^Lb;T-^`z#Kc6>d*mU@-LooAi1~6|n1H>GV8A87qJ~@3pZ*=IZLy+_) zCaC(^45Gi8zq)=tZ<@=nc2nF=me*HGQUr82x&C7LvSbra1A~IYrh+{M?u<4cLGuL- z{}sN$<_p|1LHQpP84N6p>p|nnpo!jN$gKddBm)C%z5vt^WroccfN~u(=&B`VRbNm> zVPf3^GLMP<AgHMWs#}=NLF3y@EUci5PnbV~ge^dahA^?PgRkP@U<IvWVd7v1T~LIW zFOUSy7l8I8LFWrH85tN@OhKzonL#sgERLZ4EX>@@3=AwzxgeWa*ugtC7&*Wj7&ur! zBm7J(ESjL@{2VN@pkaUbe8FOn_t-$YKkM1}85kJq*g!4TTDC|=#C*XO1_lPS`2tXL zm9-KwUjSN8!dk}&8vkdX$;7~bI$r=TtWf3)K+QL%t4yHz1#ZwPbEfNHHUkeMXyTdC z4nAK18lDA(IAp%S9#o8griA%G^T&)1p!ovEKz`7q8>16Q4s_HY|76fuK9~zym(CAb z9uJWP6^@YU0kCX1=voD^;b1PP3J_=o#kn(RSC{~3ik{I0G!G!i!su$k#K0i54`i}C zNLC1RASI&*NR~lh8Ay{SXj!^2XodhZM+mAy7z0E=GX$V5Qlc<1G0+SF=)f<qy~ARL zfQx|veTD!rVZgv3h&){&ggjj!jC_6%1A_=`x<C{*T_A>Yx&V|cm>6n7wK6Cm!5EZ^ z85ux_5;B0KQ3sYmDv%U_h7uqOKrGP0ZbpUx5Cyvbijg4{ba)h|A)qDrPz50KKo}$h zI?INUAs9q~=js?H_=9Lr;$vh808yY5IIS7D7z`%)Gk}gafl_juPgOX-sDea_z~T@A zH5n9nH6xYzAOj%Xs$dWWx`Bj)k&D5g6s(Q&Gt3x#R-miJWf{mh)G`NR2iS)YrkV_O zjRpk{C^SHmAnXjq3|xQyOU(yy!1H_zp`i5@puQa=LkOrT1BzEh2GHhrP~?Hn*a6*a zfHd6#icru&jf@OIAPN-SybQ=e2cHcAWob}Z#LiFvjs>^`DDQ((CX%V(W+K>1Pz4WW zfD<W%1tCG{4Z>nzI0tG*j80;}w+>)#2!Px?0O|OF_c$X?r=ffj;{XFAGcO}^u>vzM zXcD6vJc;qWO3&9o#X`kMHQR9$bG9C{h@QT-p)7a?Ll>FlD{Ew*saB?>!CYd)%&7;N z!60hp0(^!I_<$Giz&L2sm&7>?a8SU<nuAg1Fd*mR(0mdCIv`EfgadN(7IH&3c#Iom z>H{<mjx_rK_bhZ^9d<-cUTH4r^AVuA8Sr@gNZ307@~k0bwhTP401wGvoO2LVnFa$z zAlO21+@eopfK&c3nZbapH$|Sq0F4{K3VBe0@5IN`!raOPS>jH?yv5KzfoE{dTY%yQ z7EiD$8-3mabZ&Aks8I=32pX#dG12EO<_JT^r$FPGpzb2bJkb0B`n<(NX2>`R$P5sM znTI}av73c~0d#%>NDT<X)S=H?91(?#*MaN>*$1;1G-e6Y1JYlO<DLajFAy}g4N?Qb zAxPutpf(Q7JWxjv*}U1%Gl)TYKo};6K5vnNWFDx!1TzmbmIc!T(!ZJ=a()1a4Z<)v z^m&UCBIhk?iJZ5%PvpFXHI6fQ(B~~mp!Y9>`~bor|AJ`rd5apPZ~={)gVcfI542_- zd7fbbk@FT7MBeRPF^J|ZKnsOHVS~JV6~rG(^A?~o1Z~~|+&n|<Qh+sIq2qy6n706x zQJ`^k@c1$x1NhQ75FfOh3Pgi0y#&$Vv+R-X?*{Kn7{T)v;PGER1_tnXC0q;);Bj9* zXh)2TfdM@J%g4ZQ7t}H1g5I&f$G`v{|K(y}0H0sN$H4F#Di2<l&d0#O4I2OBV_=Yj z(wa~jbf7dS9>90BvO?yyLF2x`AbBnZ2G}_zuruaUq2i!C08$4k6F@Ym+yv3Ec?nR5 z6vPJ&Yk+9<b8<ifWFT?y{1z(%19*Omm4N}AURW8xC%l5>!Sh_K3=FBD!9-RD25`Dz zg-q6h<Us=*AR08f0ir=iTYzZL5F3aF?`L6!?q>m=69YA81C$0W>jkL;?ehZBu=xn^ zd=}Dt0{GAh(7Jw5xUxdeIbvmCPy~esD+7Zbl!l%E0z0c8cK!=`_=3j#K=wsL^??Tc zKzz_S-5?rvS4AaM9yE9d5(nQ=0ovCA6^EVw0vZGW-H`$dfAsjlJC2{32ip#S*bjhX z9N)y))QH$|{0K;;%?cXX0Nr>b$soqS<N0CBfzP6B4ZMLr6dcN!j(ucsU;dj#`KdVj zZ&q_ggTNmO0@iK}N(X<lDSy}#!2r5z7~~i5c|afr0}CT)%{e3JsA5yF04l-6$Ohgs z!N}1Iiee^Ka11fAgEqo2gK94(*nPvGBYBv?^GvY&hC!pp%%Gi~OpwLy9IVQq=;mMt z-DrUr1P9d#%%F))X2{jUpnFM}!B-E1Yei;Xa3W=42k(Jl<N%!-!o<M>o>^sK0i8b2 z#KGbP8k}xtU|?XWgPeg6nlNQ)29IL1f!DY*+Ax9!yFtDKjZ%YXM$kw&dj$idEl38G z#W+Cc5i{C@xSXIV9YzPxWvigf#g)jw=m-)A&ERn-K{<?pkW)*XKr)~M+8KC2EYLOp zUeKU90}}(EHppqMpouI-Mt+cu4AeQg1jnjx(CTt_)OFt+$m6zXN0@LSU53lXzyMlU z4qGwK#lXPB$ml5yGLcu2!BbeD73HjUdmbAe1_pjL2GELiP<Vn@e1jHQgGw<_Afq3J z0%~0{GJy78f){!~Mry%286dY^gW`aZApk^yW?Y#W3hL*B7$C#g7(O!wxT(U2<3L#x zq>zQ7fWb%w!~&^gVJN6KQUS3*de|X)j6lUE*dCB3$VuB_APS_02c(AcoeJkWRZA7P z>DWg0K&ru}KnZ02EKtgZY=<LidGhdIjjX4q4?&)J$vLGdsnC%<XyFK6os4k_DHGBq zq|6WvxrrqidKsXk1sX(3&d<%w&x<cfOv*_uh6qCr&0}C-wq*pLJ*~jZrJxO3XI!bL zUg+S9vd$Ph5C<Nkz`bS|?m(&xiok|F^1>2x$X^x=b~o|@V5CtvP_Pt398J_JU&yjv zjFYCpgEn9SG;%W%#>qena7!36^HNePke1~ZXXb@~QWvNSC*f2L26ty?D+LWl&>=Yr zNu`-NDOL)`=7yRIpc8RS6pRcEO$^M9OcgYWQgc!hi&Hffq8)>L^;2_`Qd3e=Q*=$@ zEp(HL67!NX6pB*IGK(|w^AwB>jSWrAV;LMl+prQ-6O%F-7(u(LSe^5WN>VFyea#uz zc-eh9nYh@6SVR~_8O50;7$q5{7^Ruzn3NbnZAe^WRG^~EiQF?Zic)j*N>VFI^pKO@ zkY8RqVC!o^l@)001JvdO)hwX)9VmW4Y!C+3rXU&=^^hhYh{wQifDf{s6SQs-qy~gR zEi%wnNRW9DRSXQE@t#^F0T>gs%mCTE6MTqukRZ3f%nL$WUkf_h@hZ%4BstJTDa>q; zG-y^GbY3xt4Z<)v(49%h_Hqa?Fo0T#Ab)_wVfKRdY{T?`^n=bg1Xc4OHVDJyKzs2) z`aohJd_n-S4i{t|=qN#$d7wTGOb<xiT4snk5F3PHa-cplvUxX<%mZyBg_#GsvlXTX zq<=3n0|RJZG>8qtFgeiHE@bmw2q5AOv@Qc?9_W%LkRDKa0O^lrWncj9PX@6;7$gV6 zpamr$8m4Y9JNC0SKzq}X?+umYz<$;SWJ(oe0|W<fK-RrMc!-f2&?Ycse|$g+7tnep zm_N|RvuZdP7(jR2!OR1>9mEFFNW-iQ4!jHu0gRBn)v)m~P<stzC%7j7(!{{PFoBPO z0n~VdazR~77!!pCnGX}7#yVV3T*1r(g$k(41j?%rF_7;eED*`e0Lnoi76dbcFDZhs zK_oK+$X6g11T!;$QYwTEBAFRLDGkJeU}gqX+nE^z!L!_;@PViR#Q=l_BAFS``5@PV zWFQ!{P8W1W1}Ka`WesRNOA#UkCc)++74N9aa-ppal&TVP*DR9=`D0$7Ys)}mC*U(5 z_@MVV@<Hzx<%8ZY%Eth{76_ycJchvsJ>!9ofdPEB10VG4Y0%nMP=}R|fdMq03{sE2 zRu?>0!N<S=9;@JEU;r&I0I36w?}BL1{z?!HD(gV>L#TQ0pfvhgNzj3nptYyqyV|%A zYjnY#UOooM*}h!Rvo^RG7(na3K<0wh7J>9-gSrrqwR#Mou?bL$0@0v)97KcS1Vn?% zKoAY;)PQJG$AZw$$^i9fLFT~Lq=LrtL445oKZpi*{8^#l$jZO~>gR&QSAoI-biNRj z2Ce%CiGxx;zOj=!kUwE(DWI=`1SKuV5=g>hCq^bjpD8N?$!@4)CteI6>=_$41-5uH z8T}M+IQW&pndLY0XGQ~~9|8>0Jkl(JzZs03Kc6>H_`t{z`-8>10Cem$<Sb=yE@5E= zZ8>HHWi`-3QLq>iffzdh4a0$pFecdjfp<WGz{C!kvtb5xi<w|&4}gbJz{75^`vbva zb{wqWLkl?AK_^lp#!kR16G0OV%#iy7LF;{)A@>JDhEbA0k;B3cPQ#2G;Hxz`SimvM z!eR@OgN~hm7B;g$?+*l>OUVMgKadeTYh#Oh?8FW<-~mdK9H233Mh6g=6LcIjqa$ei z2R3%%1QG|$cyT2$FoHRtBdxeW>&6+KL2`_NSjJ93SKYF<4WY3U(58IQ_IlFCPQZzP zp_TzegGyv3hFVYo08dV!mK`GlsBXqGb^?-=0yo71KosZ<RPfjdOgE?q0ZD+yN(@y% zERYh=ScxI16agy(iGWT=McTGb>L3XCh=|cakfh9*Oz4;gWCTP{Paks-1UzR%@)4t; zIvL*}h#hDUL`Ivr5;P2=p6uYG&&1Ba$Os-l0Ixs-vxpc10Xq+}w1_%m7?|saKz;#_ zTo{@XHF5!40yH{y!9Zy2!qAjDTifxk=>hFQPEAn&A1^xy2S6Aw*Xe+&YH(@C0NHEk z%Etn_5`lq%lr=h-;~&Fena+?K|7fA|_(u;7#y>z~1hDi5>T7}6=;I$}_!$^L(@dc8 z3Q#i@RPBQ*boB9$FlOxgkkQ9KVvzdfpk5`+JoNF8G9t%6a*)ge^-5vpf&2#Z6Ubj} z%nS^mX%G+_gkf^%;~zCdj(;c+IsVZ^<oL%ucH+iABsf5`s~{ghFv!0k7W(){3sSg% z$`z10P`sg!e>f01{=q`z_(#a-_y+@h$3MVrA*AI!kWMNCV*CSi<rV{IEQlK8AK=zM z9|Hq;Ee9WTEe9V11EIajLv8#6e5Vl?1A`B!E6m5hK(Fx+P%jiTP5~Z2VuhaN3fdzK z>JGCqFn~IyAbIfiHX`<P5*p6{onf1=uRwS_!`RG#*tH-tKotej*^r>MAZ+g@aLs=! zUG??dfh@Im?NuM&3H<u|?syf;Rq=NdtQf7?-%YUk@$Pxm{kOtd<?qs~(%&ts+5<ib zQo!o)XAWl236VeExo2&E$52)N?pYO=m-)N&DyG-Xj1%87WL<pAn5F)X4XmsDojU0J zNUj3+=ATNS?T;>?@)5My88V*B!pH*JItSX!4Jr&llE|2eg$1-7hna;HG}Xw&$Ohic z&By`Xe9y%C53~sqv@?oH4Rn(>6B9dVyaH6ZGBBA#)`GBtw(T*ou!D!LI9R`dVvd6y zJb=f-4!Tf=g#&a&ju~hf6w6Zv1_owF@F)rk`&*DwMvljzG{?aL8a`p-U;(WvVg(&R z3cD?b5j0-S7{|B|>TJ-m5T;rNM$o=L(1MY8m;?uC0Ul!_hzmLzf&;XF7{Uc@M&iuO zV}S5L&gKGbf@e$u9d*nY%$>-<m<-a!Qp{ka0$NZ4<uMwmaON>ErhrZu0If#g01XH* zrh=4i2Dyd@!~%_o@PhU+ffks6#@$$3K+RZ2Mt+bB2`?~FVc_Pr;|8tYVS%1M2tMeK z70Ll0E69drfeF`iCmzsp5Znt)Kqm=;mYBd6k+3l^fR>mbjf+sW!~}G(IwL~>hyq0l z8^dSjuMC=?fC2>$c)c5Fue}1p7fluhh6eku{+cqN5dOxZDfiW1vzXCH1;kXs&;hz| z1#ATLxH{0d2<Xlh5Dhwfh=<{;pXMZghVKU7HD$nyQo!Xs!vxTBZ?Hzt9srO^WRpN@ zK!bnCV%SDiKz;!m0ws|7;4^kdM^%U#RRNW?G+0`4pMjB)nN!b%xk}GO+fXUSP}@*H zGmyDb&rn6nsEvsmHo^iPS4o2`DWLxH5%_i~aEBYbRs${sDoL@NCkI(40v`B*j=!Ml zfGu_a9i|R85KN$`fsN9Dl#GtNpp3kL2gbm04hectB!EUtz~PN|g%Kp3f&&|*3Cw^- z(4Zew0SzW2uPXuZp~V&hxZI*>ECrOzM%R+S!V}hqCiXrS(3${{9?%>d$P7^Z1CA3A z2edpEN~5nO0ZlK1`mUfc2vAE4gh71twIrZ9Q_vYKP-Eb8@91kuIQSVDKnF~N%mcXv zW*+)l63`*d*I|Z%Comu!^tB|S%nS^mGxi~}3~+nV$5I>wh#O0}L*!V>1*ASczOj@) zM2@9AKr#>CSPBmd0|V&z33UIWkEMXtV1VKY6waU(0<dsKUrVxym4N|t2_>?5pmc)1 zmV}*yxV0q7M6M;7gLV%*$bBF;ppT{eKnfRpV<~%x97|~+axCS-AR0>n?Y#hn4QOo% zgocnqX)Ot;tiijM1XA&#j-`N#eE3)jh{M1Dy6=#Zu@v+*B%tGdKx-|)$M^6-_rvf( z?}_GvtdRrBgT`DzG<aJ9=$tfAcae{Q0d(UgNF2Ntf{%d#H1-MNgU{jOV_*QC-T~r+ zx@aI8biM?L2Je62V_*QSu>$cyWgTd2;Wo%zRtE545umjnpdAq)`TrnsE(Qir{~5&R z1NBq6p!c_MF)%2C_<Rfu;KOye7#PB#eDM9xTnr4LQ-eVIKq&`g4=BHZXi(V&qCsT@ zhz505K{Tjd0nwn|Du{-y4FUC6L45F`L#zx8u(ctTAosB{Fmyv{&|x|tb)fDPh+Yg8 z2ZsYI0|WRvS_;QdlJko}i*Z56Vj;#*%(0(~WnyGO^to6TSjJEUJ~9M*>}U9>;QV3B z9A0j}#jjg}!+xkR#4;TP@2p`^J}A!qo6(%nB<zO@bY~4KY-bGv^qy@{;4`o=g2o*f zL4$dqRSaM;Bm%KE1T^Q)#Ka0+5CRHtP`{i3bzcp54HIl%4fs$fP)>vIs{tn~4tCHj zHHft#p!H77prhjn?5hFY*~`Sp0p1$N!2(`-!omVt4FKC$1L^|9_SJwEYQp!`fYy{T z+A)HbZ-Bh!03tw@IB1s(XqW`Nkp{dr1av+rBY6J|=Xuc3kP~Ra1JrW{?W+N={{YQm zfQCW99L7LS(9JQ7E+C^PgNz-~`)WWfY|y?M5Df}s^nEp;0D>;t0A+Y~hJuEMh6bkj zAP%TDMLMwtw7v|K;usl1Kolr>GBcDQ?g9X<4FO58FqAMDseo7@B`gdj^@vS0AT=OS zq!V|rjcI^f3UV0?BlE$hp^c7d5FFEhm3=fA)39fhGGH#VVdhg%moa6AZkAz1I+P!= zQUo*v0CfrEToJ50S#WlEp<4BlAxFQUj4nVr&L~1)dvR=bK~V_qHG>Hh;n58)X$;^I zBIHFP$@#^g9Y~Pi1`Rn-Wq1nSYAZB09NL>@u&fmUjprhlU2as_F9XdCL;pDXLA724 zxo!c~dZ2hiALCd+<a!ZMKa80DGAoE&F9JG40JQ!V<R%aX^}9hd`WOf3I8xBsYLFZV z!_=XValGJXU|7JwzyRv=gPO1)|ANK<Kz$dO9+3VVBF8v7kow-Bege!q^z|Y=M2>OH zKr#>C7{?rD28KCE4u&z&$2e9Hxn9JA$n_$#h+Hr7jmY&P21M?c*?<%-pjH_yoIz8h z;KkvfNMm4Nh#_)}LxIRKj)Fln#sRu!58_Rb?;$J@Ih4jYKxGZiF%D?)j<R0{Du%RP z#29ogJt!<F8RHn;FT=oqZL9;-O9G8W5W8On91pAv44`-g=>v63L3A*5EF%g^gI5q> zSuX;<0~qNHcTj&7q#rbc528Wi-{kIx0Vf^w{V=%3K1_(;53>bSaiFaqY1qW@l_6Mq z6NC1i{R_SxaF*UQlXLOwMqwV0Xr|el1hz<RGWaRzaOf+86U%R=PmG2JKLi<sc!XGl ze={gKq3)6a4SO+w*TsM`Hv@E^j3omD1O9z7pw$%Mq7Z$b3}`$M%RU+KDiPQ|8PL2x z6IJ)gfJe7jSU?R4*jNbYPCypuJ{fQ!4%;UK>J%f5g@7jgL4Ie9V`N}J9SZ@SM+_MY z0bQ-f0p2U)1llVD8YJXQWPt340qraT?UezKhp-ef7^*-v%YcVO7=t03W%3yr7~ltu zfQFe^+iF0=D~$XgYYDFdfv)!eFaBUbED9mG4up-|bs(^1AzTdLqehUHg^+mE2xwFZ zG$aC|L1B$&y9}rtU}OjeQJ?`UR)&Ix0}S&)Oi&9SX>0^ESq3Tuv>1xPC;vju|CQrn zXn^o#3hND3rZ9mHQkHX2b5K!oP@4}@53*kmss|KNP$hWvfzk#DgVGRW(k>80fsA5i zC`63MfX3lK5-bcLlR+$y5*7xKQ$YGb7~9|rNEJv9hLQQ;OPogsUx*ug0k8d}`ZgVV zMoDiaKV>5s=6pS7357z?J{=C&DiZMW0q`gYcx^$Uv0;1(_?9<lZNPwKTMqug7qBPb zgCyX=0nBj|$k+f}6=;wEx+DRziUjN!6lt&-U;;&Wbe~Rs8kQj#Nce(+6)|iwx=)8m z3DoZcwb_u@lz@sw<f1Ep;(a=>yfeDC1QxEKa0jtLbAX`n18~EO0kV%DBo4zcb)d=z z#0IrzL2{t#61iG|_2@v&B}nrUq>6z-h97a>1xO7DgX}|JThhY7z|aJ;0HO`P#shtA zi3&e)=ajH9F))B8#-PT*%|jn|xy!`BAb`bQ^l_IIBF`y#OXRqViXi0t5zsgezHt{` z7Kl1@f1saJVuEBIzHt{>76yjdSp17V?&2bdh&Rx@F)ZHD*Ou%ca@<9V$h9S9M6NB_ zK;%9hAEa;rl`AlRppU!UAadMg4w2(7ZwAr03uqxcB>jMV4`G4Gp)~FSDr@kMyMUWH zh_xlKA|Iu?h3==J!Z{_NDNxY(!*JQB1FDEYYf;ppYf3=pf`a&VAU+oZLm-IeV_*Q^ z%?6rBhK`GXQWR*M15}5DXi!HBM1#6!AX){g4*i@G(5Yr1dGJ~tR_J~wRt5&xU3#G2 zF-RUXC;*~C8z(?CXz2im26dM~H29nrR!CV7;=|U~fO^m%KIpt=5DmUtk(GhrAJjdd zdW@2B8PHNDlzlz8#$}Anh(4!e4y58lIj7|QTe&LG-kz=R7^>3VEw3tn*ACj_1K!`W z_uX^w{vHAF{vH9V9q*1q_xBtJ@6`G8?s=Bjy9rd^-y;VaWdIc*phf_QM#fAmETDBl zi2XgF{WVOC9N>dxm{>s<YO#PX%7pFj0j(Zl0WV2{?e78K`^dr$UT(#~3aXu%IM_i4 z#WJz5gVw9C$RqamfYwaG_xG@a5-B4G_<l(a7VtHk94v;QBUq1smcMo|YBDe|urY#m z95Kei_xFI8cOmWXi34r20eOjo4|FwH0*DK89|!2ZN=7gjv|<XpzX!|%t(W2g?Kxsh z1SM0*{+=X|Hu(M?C=a^7CmA$42=X_FE@;I}3P>qv(G&v@h=sDh2b7*i%>EwG!aGKW z01yR=6!iT)pfUlp_lNlXJun@}J8(d)08lFxBnF~EEn6Ojul|~o{Gj`LKxI34To`G8 z52!o?sRZo`0;LTQ2B`tr05S>02Vrc(F(AKy<X{+?KNpl_M~7pG8jb;#xinY{bB}?M znUiseJNB(Tc*j;CE<%jfP=EIid~AjIaT~~h4R{<0I)sDRssc9-Wh4T$>=rzd113<^ zjBfft+4O_4k_Nux2OM;uPz5uf0gt?$2eyt16xc)KycAHI4yDW@dv6b@F%I(g==cjP zJYijMO2%K1>k&{p9Aq}AMuRjXK|BTq79z)AK)1FMv$uzb$h|#oM2^3JZmlI|Z;uO+ zdwZS`IsS45X*~wM@fQ{%$6uZxnTK!uMTCWcVIeH?L5)91G%=u$zkDHb-OE-Y_x5lR zIsTGH<oL@1BKP+EK?)a8%L|lFLF0eu<1Yt@9Divca{T4WAR2!G&0j;J8RUBi3q%g3 z@fT28gLnJ|(iB1+e*qQw@bMQAhk*e!&P&O<7w~ui()qBXdwUqb=f#4?XhGu~ppGht z2GuJd8q`w-(SvbsPjP7y(R+K$ER2XBM}dq_!N*Y~7(^L#Uw+_kackKygM(o*;{@Fc zjczG!9B#sHXMb=UV4gVHEh*!|50(SVG9G5MXB^E4`6199@IzpA*RK^n4*y_i==rti zQ&d9xuVvrnCA9up_;Ke)M$VfF%pV1qA6;aeaTjF9OlHO?w>d77E>bQGGXy>`Gjm>u z`N6^+_=Cl}<=27_jMh#+Sh&AlWZAIy#RvWZ_wS%Phd_k@0}CVQ>>Kdq=%D+@!D2`R z6C+zWNG&7ydKxAsR(}wWiG4ZfU=wgD3cG^`bX+)O%MWa?5a{?;CJxqMP#=?n9du+d zVuR2lkbclr=PZzmcOscU_soOOTw!4cpH9rk0lHX+iGu~SpofWt1++AliGw8@G@b(L zqO;a9f=<g}V*w3Xu#1B%sb&ISz{3n0h~daDFl1n=W&(}aapV^m!PuPO0i9Z~I0F|W z=+YoYkUJoIcR@a91XaikjLx82en9ORZqQ&IqYH=&8Z_Ys?XP2W1#v+uYq>$&-x%FM z)_evn<n9C2svaON=<;};yCAL~$cd8~85nq^;oQw2?t3`*7>N4?&b<lZf;#<-{vf@e zE5UeFL9$@3I1>W{52$$zk<|imLEB{@T+oOYFKA#AbWk~{z+z01WMW|81Dzcm0Ahf` zz8Z8<JxqZBXn1lq`1~BOM$oZ3pqVem)F6<0kj8Z&21w&UkVcpSu*NG0ji9r5Kt&>B zS~o~NNaJ%51Eld6NFz)ESR*fZ)(>nW=-6LBkpI$;fYgIDDljuJ@PRZMGcz#o!xVru zx`8zcg8T?d6`<{CjHO`zrNT6|f;7P-!J3wWH8D_WVG=(BH+ba|yB;GmXeAM=I*+HY z0ypS@8V=|UNZ^xfK<Ckb<v|w}aUmaTBgiPk=m1*G#K6GK$^bS5bb2ov0|O7@&Lq&0 zHoVAp+Jh|MgWYP+54+V~0CuarAhKFeVg?O7g2tQ~YC+f7fKP&FVyIOBwShosl!>7h zG^_+w3AqRfdP@>G^)bYNDA2+)W`+`u`5*@9m>Fh<5}x@W253DQGee2Md=LY4*#jd( z2#Bfx#U(=whypF;W@f0VnGa%s>||sBjjF?~1X;ky5D3x*YN;?X1cE4#VrGUyWL=;$ z$k22JfpkI41nusJ%R(1dfhh2vLWWuf5Dm(kObinPKr~1f6GJU%Vh5}Zl$}7gnlds3 zfGBWcWQYV&Ad{IHD(mNi7$6H786rUxXe^M8p_YNoSZY3q4Nis(!5|7WJ<7~bTt6Sg z0NI4J(hKBYP-roMcDXSyFo5zB6GI8;G;Xj%lo%Koz?qK$WFJ@v6w=^q#Q-|H3M>T5 z?jXl8f{$hc3xPC(=QS7#7(g_{;DQ1W4RS9d_$EHEQcygCrkIhU0#wpLRDlX%uqsgT z01*OJ<8UF6*-V7(0O`i(Pf*DOF	B2{s+%QZ#3QgwR3*#7zUIFL(ffiWP`iaL0p$ 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�I)*pZ;<!~s5<amHkP@& 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 diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/license.txt b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/license.txt deleted file mode 100644 index 139c1ff..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/Lib/license.txt +++ /dev/null @@ -1,28 +0,0 @@ -All pre-build libraries contained in the folders "ARM" and "GCC" -are guided by the following license: - -Copyright (C) 2009-2014 ARM Limited. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of ARM nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/README.txt b/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/README.txt deleted file mode 100644 index e42a543..0000000 --- a/embedded/atsams70-hwtest/atsams70-hwtest/atsams70-hwtest/src/ASF/thirdparty/CMSIS/README.txt +++ /dev/null @@ -1,42 +0,0 @@ -* ------------------------------------------------------------------- -* Copyright (C) 2011-2014 ARM Limited. All rights reserved. -* -* Date: 17 February 2014 -* Revision: V4.00 -* -* Project: Cortex Microcontroller Software Interface Standard (CMSIS) -* Title: Release Note for CMSIS -* -* ------------------------------------------------------------------- - - -NOTE - Open the index.html file to access CMSIS documentation - - -The Cortex Microcontroller Software Interface Standard (CMSIS) provides a single standard across all -Cortex-Mx processor series vendors. It enables code re-use and code sharing across software projects -and reduces time-to-market for new embedded applications. - -CMSIS is released under the terms of the end user license agreement ("CMSIS_END_USER_LICENCE_AGREEMENT.pdf"). -Any user of the software package is bound to the terms and conditions of the end user license agreement. - - -You will find the following sub-directories: - -Documentation - Contains CMSIS documentation. - -DSP_Lib - MDK project files, Examples and source files etc.. to build the - CMSIS DSP Software Library for Cortex-M0, Cortex-M3, Cortex-M4 processors. - -Include - CMSIS Core Support and CMSIS DSP Include Files. - -Lib - CMSIS DSP Libraries. - -RTOS - CMSIS RTOS API template header file. - -Driver - CMSIS Peripheral Driver Interface. - -Pack - CMSIS Software Packs. - Mechanism to install software, device support, APIs, and example projects. - -SVD - CMSIS SVD Schema files and Conversion Utility. diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/board.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/board.h deleted file mode 100644 index 0dc09cd..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/board.h +++ /dev/null @@ -1,448 +0,0 @@ -/** - * \file - * - * \brief Standard board header file. - * - * This file includes the appropriate board header file according to the - * defined board (parameter BOARD). - * - * Copyright (c) 2009-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _BOARD_H_ -#define _BOARD_H_ - -/** - * \defgroup group_common_boards Generic board support - * - * The generic board support module includes board-specific definitions - * and function prototypes, such as the board initialization function. - * - * \{ - */ - -#include "compiler.h" - -#ifdef __cplusplus -extern "C" { -#endif - - -/*! \name Base Boards - */ -//! @{ -#define EVK1100 1 //!< AT32UC3A EVK1100 board. -#define EVK1101 2 //!< AT32UC3B EVK1101 board. -#define UC3C_EK 3 //!< AT32UC3C UC3C-EK board. -#define EVK1104 4 //!< AT32UC3A3 EVK1104 board. -#define EVK1105 5 //!< AT32UC3A EVK1105 board. -#define STK600_RCUC3L0 6 //!< STK600 RCUC3L0 board. -#define UC3L_EK 7 //!< AT32UC3L-EK board. -#define XPLAIN 8 //!< ATxmega128A1 Xplain board. -#define STK600_RC064X 10 //!< ATxmega256A3 STK600 board. -#define STK600_RC100X 11 //!< ATxmega128A1 STK600 board. -#define UC3_A3_XPLAINED 13 //!< ATUC3A3 UC3-A3 Xplained board. -#define UC3_L0_XPLAINED 15 //!< ATUC3L0 UC3-L0 Xplained board. -#define STK600_RCUC3D 16 //!< STK600 RCUC3D board. -#define STK600_RCUC3C0 17 //!< STK600 RCUC3C board. -#define XMEGA_B1_XPLAINED 18 //!< ATxmega128B1 Xplained board. -#define XMEGA_A1_XPLAINED 19 //!< ATxmega128A1 Xplain-A1 board. -#define XMEGA_A1U_XPLAINED_PRO 20 //!< ATxmega128A1U XMEGA-A1U Xplained Pro board. -#define STK600_RCUC3L4 21 //!< ATUCL4 STK600 board. -#define UC3_L0_XPLAINED_BC 22 //!< ATUC3L0 UC3-L0 Xplained board controller board. -#define MEGA1284P_XPLAINED_BC 23 //!< ATmega1284P-Xplained board controller board. -#define STK600_RC044X 24 //!< STK600 with RC044X routing card board. -#define STK600_RCUC3B0 25 //!< STK600 RCUC3B0 board. -#define UC3_L0_QT600 26 //!< QT600 UC3L0 MCU board. -#define XMEGA_A3BU_XPLAINED 27 //!< ATxmega256A3BU Xplained board. -#define STK600_RC064X_LCDX 28 //!< XMEGAB3 STK600 RC064X LCDX board. -#define STK600_RC100X_LCDX 29 //!< XMEGAB1 STK600 RC100X LCDX board. -#define UC3B_BOARD_CONTROLLER 30 //!< AT32UC3B1 board controller for Atmel boards. -#define RZ600 31 //!< AT32UC3A RZ600 MCU board. -#define SAM3S_EK 32 //!< SAM3S-EK board. -#define SAM3U_EK 33 //!< SAM3U-EK board. -#define SAM3X_EK 34 //!< SAM3X-EK board. -#define SAM3N_EK 35 //!< SAM3N-EK board. -#define SAM3S_EK2 36 //!< SAM3S-EK2 board. -#define SAM4S_EK 37 //!< SAM4S-EK board. -#define STK600_RCUC3A0 38 //!< STK600 RCUC3A0 board. -#define STK600_MEGA 39 //!< STK600 MEGA board. -#define MEGA_1284P_XPLAINED 40 //!< ATmega1284P Xplained board. -#define SAM4S_XPLAINED 41 //!< SAM4S Xplained board. -#define ATXMEGA128A1_QT600 42 //!< QT600 ATXMEGA128A1 MCU board. -#define ARDUINO_DUE_X 43 //!< Arduino Due/X board. -#define STK600_RCUC3L3 44 //!< ATUCL3 STK600 board. -#define SAM4L_EK 45 //!< SAM4L-EK board. -#define STK600_MEGA_RF 46 //!< STK600 MEGA RF EVK board. -#define XMEGA_C3_XPLAINED 47 //!< ATxmega384C3 Xplained board. -#define STK600_RC032X 48 //!< STK600 with RC032X routing card board. -#define SAM4S_EK2 49 //!< SAM4S-EK2 board. -#define XMEGA_E5_XPLAINED 50 //!< ATxmega32E5 Xplained board. -#define SAM4E_EK 51 //!< SAM4E-EK board. -#define ATMEGA256RFR2_XPLAINED_PRO 52 //!< ATmega256RFR2 Xplained Pro board. -#define SAM4S_XPLAINED_PRO 53 //!< SAM4S Xplained Pro board. -#define SAM4L_XPLAINED_PRO 54 //!< SAM4L Xplained Pro board. -#define ATMEGA256RFR2_ZIGBIT 55 //!< ATmega256RFR2 zigbit. -#define XMEGA_RF233_ZIGBIT 56 //!< ATxmega256A3U with AT86RF233 Zigbit. -#define XMEGA_RF212B_ZIGBIT 57 //!< ATxmega256A3U with AT86RF212B Zigbit. -#define SAM4S_WPIR_RD 58 //!< SAM4S-WPIR-RD board. -#define SAMD20_XPLAINED_PRO 59 //!< SAM D20 Xplained Pro board. -#define SAM4L8_XPLAINED_PRO 60 //!< SAM4L8 Xplained Pro board. -#define SAM4N_XPLAINED_PRO 61 //!< SAM4N Xplained Pro board. -#define XMEGA_A3_REB_CBB 62 //!< XMEGA REB Controller Base board. -#define ATMEGARFX_RCB 63 //!< RFR2 & RFA1 RCB. -#define SAM4C_EK 64 //!< SAM4C-EK board. -#define RCB256RFR2_XPRO 65 //!< RFR2 RCB Xplained Pro board. -#define SAMG53_XPLAINED_PRO 66 //!< SAMG53 Xplained Pro board. -#define SAM4CP16BMB 67 //!< SAM4CP16BMB board. -#define SAM4E_XPLAINED_PRO 68 //!< SAM4E Xplained Pro board. -#define SAMD21_XPLAINED_PRO 69 //!< SAM D21 Xplained Pro board. -#define SAMR21_XPLAINED_PRO 70 //!< SAM R21 Xplained Pro board. -#define SAM4CMP_DB 71 //!< SAM4CMP demo board. -#define SAM4CMS_DB 72 //!< SAM4CMS demo board. -#define ATPL230AMB 73 //!< ATPL230AMB board. -#define SAMD11_XPLAINED_PRO 74 //!< SAM D11 Xplained Pro board. -#define SAMG55_XPLAINED_PRO 75 //!< SAMG55 Xplained Pro board. -#define SAML21_XPLAINED_PRO 76 //!< SAM L21 Xplained Pro board. -#define SAMD10_XPLAINED_MINI 77 //!< SAM D10 Xplained Mini board. -#define SAMDA1_XPLAINED_PRO 78 //!< SAM DA1 Xplained Pro board. -#define SAMW25_XPLAINED_PRO 79 //!< SAMW25 Xplained Pro board. -#define SAMC21_XPLAINED_PRO 80 //!< SAM C21 Xplained Pro board. -#define SAMV71_XPLAINED_ULTRA 81 //!< SAMV71 Xplained Ultra board. -#define ATMEGA328P_XPLAINED_MINI 82 //!< ATMEGA328P Xplained MINI board. -#define ATMEGA328PB_XPLAINED_MINI 83 //!< ATMEGA328PB Xplained MINI board. -#define SAMB11_XPLAINED_PRO 84 //!< SAM B11 Xplained Pro board. -#define SAME70_XPLAINED 85 //!< SAME70 Xplained board. -#define SAML22_XPLAINED_PRO 86 //!< SAM L22 Xplained Pro board. -#define SAML22_XPLAINED_PRO_B 87 //!< SAM L22 Xplained Pro board. -#define SAMR21ZLL_EK 88 //!< SAMR21ZLL-EK board. -#define ATMEGA168PB_XPLAINED_MINI 89 //!< ATMEGA168PB Xplained MINI board. -#define ATMEGA324PB_XPLAINED_PRO 90 //!< ATMEGA324PB Xplained Pro board. -#define SAMB11CSP_XPLAINED_PRO 91 //!< SAM B11 CSP Xplained Pro board. -#define SAMB11ZR_XPLAINED_PRO 92 //!< SAM B11 ZR Xplained Pro board. -#define SAMR30_XPLAINED_PRO 93 //!< SAM R30 Xplained Pro board. -#define SAMHA1G16A_XPLAINED_PRO 94 //!< SAM HA1G16A Xplained Pro board. -#define SIMULATOR_XMEGA_A1 97 //!< Simulator for XMEGA A1 devices. -#define AVR_SIMULATOR_UC3 98 //!< Simulator for the AVR UC3 device family. -#define USER_BOARD 99 //!< User-reserved board (if any). -#define DUMMY_BOARD 100 //!< Dummy board to support board-independent applications (e.g. bootloader). -//! @} - -/*! \name Extension Boards - */ -//! @{ -#define EXT1102 1 //!< AT32UC3B EXT1102 board -#define MC300 2 //!< AT32UC3 MC300 board -#define SENSORS_XPLAINED_INERTIAL_1 3 //!< Xplained inertial sensor board 1 -#define SENSORS_XPLAINED_INERTIAL_2 4 //!< Xplained inertial sensor board 2 -#define SENSORS_XPLAINED_PRESSURE_1 5 //!< Xplained pressure sensor board -#define SENSORS_XPLAINED_LIGHTPROX_1 6 //!< Xplained light & proximity sensor board -#define SENSORS_XPLAINED_INERTIAL_A1 7 //!< Xplained inertial sensor board "A" -#define RZ600_AT86RF231 8 //!< AT86RF231 RF board in RZ600 -#define RZ600_AT86RF230B 9 //!< AT86RF230B RF board in RZ600 -#define RZ600_AT86RF212 10 //!< AT86RF212 RF board in RZ600 -#define SENSORS_XPLAINED_BREADBOARD 11 //!< Xplained sensor development breadboard -#define SECURITY_XPLAINED 12 //!< Xplained ATSHA204 board -#define USER_EXT_BOARD 99 //!< User-reserved extension board (if any). -//! @} - -#if BOARD == EVK1100 -# include "evk1100/evk1100.h" -#elif BOARD == EVK1101 -# include "evk1101/evk1101.h" -#elif BOARD == UC3C_EK -# include "uc3c_ek/uc3c_ek.h" -#elif BOARD == EVK1104 -# include "evk1104/evk1104.h" -#elif BOARD == EVK1105 -# include "evk1105/evk1105.h" -#elif BOARD == STK600_RCUC3L0 -# include "stk600/rcuc3l0/stk600_rcuc3l0.h" -#elif BOARD == UC3L_EK -# include "uc3l_ek/uc3l_ek.h" -#elif BOARD == STK600_RCUC3L4 -# include "stk600/rcuc3l4/stk600_rcuc3l4.h" -#elif BOARD == XPLAIN -# include "xplain/xplain.h" -#elif BOARD == STK600_MEGA - /*No header-file to include*/ -#elif BOARD == STK600_MEGA_RF -# include "stk600.h" -#elif BOARD == ATMEGA256RFR2_XPLAINED_PRO -# include "atmega256rfr2_xplained_pro/atmega256rfr2_xplained_pro.h" -#elif BOARD == ATMEGA256RFR2_ZIGBIT -# include "atmega256rfr2_zigbit/atmega256rfr2_zigbit.h" -#elif BOARD == STK600_RC032X -# include "stk600/rc032x/stk600_rc032x.h" -#elif BOARD == STK600_RC044X -# include "stk600/rc044x/stk600_rc044x.h" -#elif BOARD == STK600_RC064X -# include "stk600/rc064x/stk600_rc064x.h" -#elif BOARD == STK600_RC100X -# include "stk600/rc100x/stk600_rc100x.h" -#elif BOARD == UC3_A3_XPLAINED -# include "uc3_a3_xplained/uc3_a3_xplained.h" -#elif BOARD == UC3_L0_XPLAINED -# include "uc3_l0_xplained/uc3_l0_xplained.h" -#elif BOARD == STK600_RCUC3B0 -# include "stk600/rcuc3b0/stk600_rcuc3b0.h" -#elif BOARD == STK600_RCUC3D -# include "stk600/rcuc3d/stk600_rcuc3d.h" -#elif BOARD == STK600_RCUC3C0 -# include "stk600/rcuc3c0/stk600_rcuc3c0.h" -#elif BOARD == SAMG53_XPLAINED_PRO -# include "samg53_xplained_pro/samg53_xplained_pro.h" -#elif BOARD == SAMG55_XPLAINED_PRO -# include "samg55_xplained_pro/samg55_xplained_pro.h" -#elif BOARD == XMEGA_B1_XPLAINED -# include "xmega_b1_xplained/xmega_b1_xplained.h" -#elif BOARD == STK600_RC064X_LCDX -# include "stk600/rc064x_lcdx/stk600_rc064x_lcdx.h" -#elif BOARD == STK600_RC100X_LCDX -# include "stk600/rc100x_lcdx/stk600_rc100x_lcdx.h" -#elif BOARD == XMEGA_A1_XPLAINED -# include "xmega_a1_xplained/xmega_a1_xplained.h" -#elif BOARD == XMEGA_A1U_XPLAINED_PRO -# include "xmega_a1u_xplained_pro/xmega_a1u_xplained_pro.h" -#elif BOARD == UC3_L0_XPLAINED_BC -# include "uc3_l0_xplained_bc/uc3_l0_xplained_bc.h" -#elif BOARD == SAM3S_EK -# include "sam3s_ek/sam3s_ek.h" -# include "system_sam3s.h" -#elif BOARD == SAM3S_EK2 -# include "sam3s_ek2/sam3s_ek2.h" -# include "system_sam3sd8.h" -#elif BOARD == SAM3U_EK -# include "sam3u_ek/sam3u_ek.h" -# include "system_sam3u.h" -#elif BOARD == SAM3X_EK -# include "sam3x_ek/sam3x_ek.h" -# include "system_sam3x.h" -#elif BOARD == SAM3N_EK -# include "sam3n_ek/sam3n_ek.h" -# include "system_sam3n.h" -#elif BOARD == SAM4S_EK -# include "sam4s_ek/sam4s_ek.h" -# include "system_sam4s.h" -#elif BOARD == SAM4S_WPIR_RD -# include "sam4s_wpir_rd/sam4s_wpir_rd.h" -# include "system_sam4s.h" -#elif BOARD == SAM4S_XPLAINED -# include "sam4s_xplained/sam4s_xplained.h" -# include "system_sam4s.h" -#elif BOARD == SAM4S_EK2 -# include "sam4s_ek2/sam4s_ek2.h" -# include "system_sam4s.h" -#elif BOARD == MEGA_1284P_XPLAINED - /*No header-file to include*/ -#elif BOARD == ARDUINO_DUE_X -# include "arduino_due_x/arduino_due_x.h" -# include "system_sam3x.h" -#elif BOARD == SAM4L_EK -# include "sam4l_ek/sam4l_ek.h" -#elif BOARD == SAM4E_EK -# include "sam4e_ek/sam4e_ek.h" -#elif BOARD == SAMD20_XPLAINED_PRO -# include "samd20_xplained_pro/samd20_xplained_pro.h" -#elif BOARD == SAMD21_XPLAINED_PRO -# include "samd21_xplained_pro/samd21_xplained_pro.h" -#elif BOARD == SAMR21_XPLAINED_PRO -# include "samr21_xplained_pro/samr21_xplained_pro.h" -#elif BOARD == SAMR30_XPLAINED_PRO -# include "samr30_xplained_pro/samr30_xplained_pro.h" -#elif BOARD == SAMR21ZLL_EK -# include "samr21zll_ek/samr21zll_ek.h" -#elif BOARD == SAMD11_XPLAINED_PRO -# include "samd11_xplained_pro/samd11_xplained_pro.h" -#elif BOARD == SAML21_XPLAINED_PRO && defined(__SAML21J18A__) -# include "saml21_xplained_pro/saml21_xplained_pro.h" -#elif BOARD == SAML22_XPLAINED_PRO -# include "saml22_xplained_pro/saml22_xplained_pro.h" -#elif BOARD == SAML22_XPLAINED_PRO_B -# include "saml22_xplained_pro_b/saml22_xplained_pro_b.h" -#elif BOARD == SAML21_XPLAINED_PRO && defined(__SAML21J18B__) -# include "saml21_xplained_pro_b/saml21_xplained_pro.h" -#elif BOARD == SAMD10_XPLAINED_MINI -# include "samd10_xplained_mini/samd10_xplained_mini.h" -#elif BOARD == SAMDA1_XPLAINED_PRO -# include "samda1_xplained_pro/samda1_xplained_pro.h" -#elif BOARD == SAMHA1G16A_XPLAINED_PRO -# include "samha1g16a_xplained_pro/samha1g16a_xplained_pro.h" -#elif BOARD == SAMC21_XPLAINED_PRO -# include "samc21_xplained_pro/samc21_xplained_pro.h" -#elif BOARD == SAM4N_XPLAINED_PRO -# include "sam4n_xplained_pro/sam4n_xplained_pro.h" -#elif BOARD == SAMW25_XPLAINED_PRO -# include "samw25_xplained_pro/samw25_xplained_pro.h" -#elif BOARD == SAMV71_XPLAINED_ULTRA -# include "samv71_xplained_ultra/samv71_xplained_ultra.h" -#elif BOARD == MEGA1284P_XPLAINED_BC -# include "mega1284p_xplained_bc/mega1284p_xplained_bc.h" -#elif BOARD == UC3_L0_QT600 -# include "uc3_l0_qt600/uc3_l0_qt600.h" -#elif BOARD == XMEGA_A3BU_XPLAINED -# include "xmega_a3bu_xplained/xmega_a3bu_xplained.h" -#elif BOARD == XMEGA_E5_XPLAINED -# include "xmega_e5_xplained/xmega_e5_xplained.h" -#elif BOARD == UC3B_BOARD_CONTROLLER -# include "uc3b_board_controller/uc3b_board_controller.h" -#elif BOARD == RZ600 -# include "rz600/rz600.h" -#elif BOARD == STK600_RCUC3A0 -# include "stk600/rcuc3a0/stk600_rcuc3a0.h" -#elif BOARD == ATXMEGA128A1_QT600 -# include "atxmega128a1_qt600/atxmega128a1_qt600.h" -#elif BOARD == STK600_RCUC3L3 -# include "stk600/rcuc3l3/stk600_rcuc3l3.h" -#elif BOARD == SAM4S_XPLAINED_PRO -# include "sam4s_xplained_pro/sam4s_xplained_pro.h" -#elif BOARD == SAM4L_XPLAINED_PRO -# include "sam4l_xplained_pro/sam4l_xplained_pro.h" -#elif BOARD == SAM4L8_XPLAINED_PRO -# include "sam4l8_xplained_pro/sam4l8_xplained_pro.h" -#elif BOARD == SAM4C_EK -# include "sam4c_ek/sam4c_ek.h" -#elif BOARD == SAM4CMP_DB -# include "sam4cmp_db/sam4cmp_db.h" -#elif BOARD == SAM4CMS_DB -# include "sam4cms_db/sam4cms_db.h" -#elif BOARD == SAM4CP16BMB -# include "sam4cp16bmb/sam4cp16bmb.h" -#elif BOARD == ATPL230AMB -# include "atpl230amb/atpl230amb.h" -#elif BOARD == XMEGA_C3_XPLAINED -# include "xmega_c3_xplained/xmega_c3_xplained.h" -#elif BOARD == XMEGA_RF233_ZIGBIT -# include "xmega_rf233_zigbit/xmega_rf233_zigbit.h" -#elif BOARD == XMEGA_A3_REB_CBB -# include "xmega_a3_reb_cbb/xmega_a3_reb_cbb.h" -#elif BOARD == ATMEGARFX_RCB -# include "atmegarfx_rcb/atmegarfx_rcb.h" -#elif BOARD == RCB256RFR2_XPRO -# include "atmega256rfr2_rcb_xpro/atmega256rfr2_rcb_xpro.h" -#elif BOARD == XMEGA_RF212B_ZIGBIT -# include "xmega_rf212b_zigbit/xmega_rf212b_zigbit.h" -#elif BOARD == SAM4E_XPLAINED_PRO -# include "sam4e_xplained_pro/sam4e_xplained_pro.h" -#elif BOARD == ATMEGA328P_XPLAINED_MINI -# include "atmega328p_xplained_mini/atmega328p_xplained_mini.h" -#elif BOARD == ATMEGA328PB_XPLAINED_MINI -# include "atmega328pb_xplained_mini/atmega328pb_xplained_mini.h" -#elif BOARD == SAMB11_XPLAINED_PRO -# include "samb11_xplained_pro/samb11_xplained_pro.h" -#elif BOARD == SAME70_XPLAINED -# include "same70_xplained/same70_xplained.h" -#elif BOARD == ATMEGA168PB_XPLAINED_MINI -# include "atmega168pb_xplained_mini/atmega168pb_xplained_mini.h" -#elif BOARD == ATMEGA324PB_XPLAINED_PRO -# include "atmega324pb_xplained_pro/atmega324pb_xplained_pro.h" -#elif BOARD == SAMB11CSP_XPLAINED_PRO -# include "samb11csp_xplained_pro/samb11csp_xplained_pro.h" -#elif BOARD == SAMB11ZR_XPLAINED_PRO -# include "samb11zr_xplained_pro/samb11zr_xplained_pro.h" -#elif BOARD == SIMULATOR_XMEGA_A1 -# include "simulator/xmega_a1/simulator_xmega_a1.h" -#elif BOARD == AVR_SIMULATOR_UC3 -# include "avr_simulator_uc3/avr_simulator_uc3.h" -#elif BOARD == USER_BOARD - // User-reserved area: #include the header file of your board here (if any). -# include "user_board.h" -#elif BOARD == DUMMY_BOARD -# include "dummy/dummy_board.h" -#else -# error No known Atmel board defined -#endif - -#if (defined EXT_BOARD) -# if EXT_BOARD == MC300 -# include "mc300/mc300.h" -# elif (EXT_BOARD == SENSORS_XPLAINED_INERTIAL_1) || \ - (EXT_BOARD == SENSORS_XPLAINED_INERTIAL_2) || \ - (EXT_BOARD == SENSORS_XPLAINED_INERTIAL_A1) || \ - (EXT_BOARD == SENSORS_XPLAINED_PRESSURE_1) || \ - (EXT_BOARD == SENSORS_XPLAINED_LIGHTPROX_1) || \ - (EXT_BOARD == SENSORS_XPLAINED_BREADBOARD) -# include "sensors_xplained/sensors_xplained.h" -# elif EXT_BOARD == RZ600_AT86RF231 -# include "at86rf231/at86rf231.h" -# elif EXT_BOARD == RZ600_AT86RF230B -# include "at86rf230b/at86rf230b.h" -# elif EXT_BOARD == RZ600_AT86RF212 -# include "at86rf212/at86rf212.h" -# elif EXT_BOARD == SECURITY_XPLAINED -# include "security_xplained.h" -# elif EXT_BOARD == USER_EXT_BOARD - // User-reserved area: #include the header file of your extension board here - // (if any). -# endif -#endif - - -#if (defined(__GNUC__) && defined(__AVR32__)) || (defined(__ICCAVR32__) || defined(__AAVR32__)) -#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling. - -/*! \brief This function initializes the board target resources - * - * This function should be called to ensure proper initialization of the target - * board hardware connected to the part. - */ -extern void board_init(void); - -#endif // #ifdef __AVR32_ABI_COMPILER__ -#else -/*! \brief This function initializes the board target resources - * - * This function should be called to ensure proper initialization of the target - * board hardware connected to the part. - */ -extern void board_init(void); -#endif - - -#ifdef __cplusplus -} -#endif - -/** - * \} - */ - -#endif // _BOARD_H_ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/init.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/init.c deleted file mode 100644 index 32fba36..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/init.c +++ /dev/null @@ -1,21 +0,0 @@ -/** - * \file - * - * \brief User board initialization template - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <asf.h> -#include <board.h> -#include <conf_board.h> - -void board_init(void) -{ - /* This function is meant to contain board-specific initialization code - * for, e.g., the I/O pins. The initialization can rely on application- - * specific board configuration, found in conf_board.h. - */ -} diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/user_board.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/user_board.h deleted file mode 100644 index 39980a7..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/boards/user_board/user_board.h +++ /dev/null @@ -1,40 +0,0 @@ -/** - * \file - * - * \brief User board definition template - * - */ - - /* This file is intended to contain definitions and configuration details for - * features and devices that are available on the board, e.g., frequency and - * startup time for an external crystal, external memory devices, LED and USART - * pins. - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef USER_BOARD_H -#define USER_BOARD_H - -#include <conf_board.h> - -// External oscillator settings. -// Uncomment and set correct values if external oscillator is used. - -// External oscillator frequency -//#define BOARD_XOSC_HZ 8000000 - -// External oscillator type. -//!< External clock signal -//#define BOARD_XOSC_TYPE XOSC_TYPE_EXTERNAL -//!< 32.768 kHz resonator on TOSC -//#define BOARD_XOSC_TYPE XOSC_TYPE_32KHZ -//!< 0.4 to 16 MHz resonator on XTALS -//#define BOARD_XOSC_TYPE XOSC_TYPE_XTAL - -// External oscillator startup time -//#define BOARD_XOSC_STARTUP_US 500000 - - -#endif // USER_BOARD_H diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/genclk.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/genclk.h deleted file mode 100644 index 503a50a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/genclk.h +++ /dev/null @@ -1,199 +0,0 @@ -/** - * \file - * - * \brief Generic clock management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef CLK_GENCLK_H_INCLUDED -#define CLK_GENCLK_H_INCLUDED - -#include "parts.h" - -#if SAM3S -# include "sam3s/genclk.h" -#elif SAM3U -# include "sam3u/genclk.h" -#elif SAM3N -# include "sam3n/genclk.h" -#elif SAM3XA -# include "sam3x/genclk.h" -#elif SAM4S -# include "sam4s/genclk.h" -#elif SAM4L -# include "sam4l/genclk.h" -#elif SAM4E -# include "sam4e/genclk.h" -#elif SAM4N -# include "sam4n/genclk.h" -#elif SAM4C -# include "sam4c/genclk.h" -#elif SAM4CM -# include "sam4cm/genclk.h" -#elif SAM4CP -# include "sam4cp/genclk.h" -#elif SAMG -# include "samg/genclk.h" -#elif SAMV71 -# include "samv71/genclk.h" -#elif SAMV70 -# include "samv70/genclk.h" -#elif SAME70 -# include "same70/genclk.h" -#elif SAMS70 -# include "sams70/genclk.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/genclk.h" -#elif UC3A3 -# include "uc3a3_a4/genclk.h" -#elif UC3B -# include "uc3b0_b1/genclk.h" -#elif UC3C -# include "uc3c/genclk.h" -#elif UC3D -# include "uc3d/genclk.h" -#elif UC3L -# include "uc3l/genclk.h" -#else -# error Unsupported chip type -#endif - -/** - * \ingroup clk_group - * \defgroup genclk_group Generic Clock Management - * - * Generic clocks are configurable clocks which run outside the system - * clock domain. They are often connected to peripherals which have an - * asynchronous component running independently of the bus clock, e.g. - * USB controllers, low-power timers and RTCs, etc. - * - * Note that not all platforms have support for generic clocks; on such - * platforms, this API will not be available. - * - * @{ - */ - -/** - * \def GENCLK_DIV_MAX - * \brief Maximum divider supported by the generic clock implementation - */ -/** - * \enum genclk_source - * \brief Generic clock source ID - * - * Each generic clock may be generated from a different clock source. - * These are the available alternatives provided by the chip. - */ - -//! \name Generic clock configuration -//@{ -/** - * \struct genclk_config - * \brief Hardware representation of a set of generic clock parameters - */ -/** - * \fn void genclk_config_defaults(struct genclk_config *cfg, - * unsigned int id) - * \brief Initialize \a cfg to the default configuration for the clock - * identified by \a id. - */ -/** - * \fn void genclk_config_read(struct genclk_config *cfg, unsigned int id) - * \brief Read the currently active configuration of the clock - * identified by \a id into \a cfg. - */ -/** - * \fn void genclk_config_write(const struct genclk_config *cfg, - * unsigned int id) - * \brief Activate the configuration \a cfg on the clock identified by - * \a id. - */ -/** - * \fn void genclk_config_set_source(struct genclk_config *cfg, - * enum genclk_source src) - * \brief Select a new source clock \a src in configuration \a cfg. - */ -/** - * \fn void genclk_config_set_divider(struct genclk_config *cfg, - * unsigned int divider) - * \brief Set a new \a divider in configuration \a cfg. - */ -/** - * \fn void genclk_enable_source(enum genclk_source src) - * \brief Enable the source clock \a src used by a generic clock. - */ - //@} - -//! \name Enabling and disabling Generic Clocks -//@{ -/** - * \fn void genclk_enable(const struct genclk_config *cfg, unsigned int id) - * \brief Activate the configuration \a cfg on the clock identified by - * \a id and enable it. - */ -/** - * \fn void genclk_disable(unsigned int id) - * \brief Disable the generic clock identified by \a id. - */ -//@} - -/** - * \brief Enable the configuration defined by \a src and \a divider - * for the generic clock identified by \a id. - * - * \param id The ID of the generic clock. - * \param src The source clock of the generic clock. - * \param divider The divider used to generate the generic clock. - */ -static inline void genclk_enable_config(unsigned int id, enum genclk_source src, unsigned int divider) -{ - struct genclk_config gcfg; - - genclk_config_defaults(&gcfg, id); - genclk_enable_source(src); - genclk_config_set_source(&gcfg, src); - genclk_config_set_divider(&gcfg, divider); - genclk_enable(&gcfg, id); -} - -//! @} - -#endif /* CLK_GENCLK_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/osc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/osc.h deleted file mode 100644 index e67f01f..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/osc.h +++ /dev/null @@ -1,185 +0,0 @@ -/** - * \file - * - * \brief Oscillator management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef OSC_H_INCLUDED -#define OSC_H_INCLUDED - -#include "parts.h" -#include "conf_clock.h" - -#if SAM3S -# include "sam3s/osc.h" -#elif SAM3XA -# include "sam3x/osc.h" -#elif SAM3U -# include "sam3u/osc.h" -#elif SAM3N -# include "sam3n/osc.h" -#elif SAM4S -# include "sam4s/osc.h" -#elif SAM4E -# include "sam4e/osc.h" -#elif SAM4C -# include "sam4c/osc.h" -#elif SAM4CM -# include "sam4cm/osc.h" -#elif SAM4CP -# include "sam4cp/osc.h" -#elif SAM4L -# include "sam4l/osc.h" -#elif SAM4N -# include "sam4n/osc.h" -#elif SAMG -# include "samg/osc.h" -#elif SAMV71 -# include "samv71/osc.h" -#elif SAMV70 -# include "samv70/osc.h" -#elif SAME70 -# include "same70/osc.h" -#elif SAMS70 -# include "sams70/osc.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/osc.h" -#elif UC3A3 -# include "uc3a3_a4/osc.h" -#elif UC3B -# include "uc3b0_b1/osc.h" -#elif UC3C -# include "uc3c/osc.h" -#elif UC3D -# include "uc3d/osc.h" -#elif UC3L -# include "uc3l/osc.h" -#elif XMEGA -# include "xmega/osc.h" -#else -# error Unsupported chip type -#endif - -/** - * \ingroup clk_group - * \defgroup osc_group Oscillator Management - * - * This group contains functions and definitions related to configuring - * and enabling/disabling on-chip oscillators. Internal RC-oscillators, - * external crystal oscillators and external clock generators are - * supported by this module. What all of these have in common is that - * they swing at a fixed, nominal frequency which is normally not - * adjustable. - * - * \par Example: Enabling an oscillator - * - * The following example demonstrates how to enable the external - * oscillator on XMEGA A and wait for it to be ready to use. The - * oscillator identifiers are platform-specific, so while the same - * procedure is used on all platforms, the parameter to osc_enable() - * will be different from device to device. - * \code - osc_enable(OSC_ID_XOSC); - osc_wait_ready(OSC_ID_XOSC); \endcode - * - * \section osc_group_board Board-specific Definitions - * If external oscillators are used, the board code must provide the - * following definitions for each of those: - * - \b BOARD_<osc name>_HZ: The nominal frequency of the oscillator. - * - \b BOARD_<osc name>_STARTUP_US: The startup time of the - * oscillator in microseconds. - * - \b BOARD_<osc name>_TYPE: The type of oscillator connected, i.e. - * whether it's a crystal or external clock, and sometimes what kind - * of crystal it is. The meaning of this value is platform-specific. - * - * @{ - */ - -//! \name Oscillator Management -//@{ -/** - * \fn void osc_enable(uint8_t id) - * \brief Enable oscillator \a id - * - * The startup time and mode value is automatically determined based on - * definitions in the board code. - */ -/** - * \fn void osc_disable(uint8_t id) - * \brief Disable oscillator \a id - */ -/** - * \fn osc_is_ready(uint8_t id) - * \brief Determine whether oscillator \a id is ready. - * \retval true Oscillator \a id is running and ready to use as a clock - * source. - * \retval false Oscillator \a id is not running. - */ -/** - * \fn uint32_t osc_get_rate(uint8_t id) - * \brief Return the frequency of oscillator \a id in Hz - */ - -#ifndef __ASSEMBLY__ - -/** - * \brief Wait until the oscillator identified by \a id is ready - * - * This function will busy-wait for the oscillator identified by \a id - * to become stable and ready to use as a clock source. - * - * \param id A number identifying the oscillator to wait for. - */ -static inline void osc_wait_ready(uint8_t id) -{ - while (!osc_is_ready(id)) { - /* Do nothing */ - } -} - -#endif /* __ASSEMBLY__ */ - -//@} - -//! @} - -#endif /* OSC_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/pll.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/pll.h deleted file mode 100644 index 23e930c..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/pll.h +++ /dev/null @@ -1,341 +0,0 @@ -/** - * \file - * - * \brief PLL management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef CLK_PLL_H_INCLUDED -#define CLK_PLL_H_INCLUDED - -#include "parts.h" -#include "conf_clock.h" - -#if SAM3S -# include "sam3s/pll.h" -#elif SAM3XA -# include "sam3x/pll.h" -#elif SAM3U -# include "sam3u/pll.h" -#elif SAM3N -# include "sam3n/pll.h" -#elif SAM4S -# include "sam4s/pll.h" -#elif SAM4E -# include "sam4e/pll.h" -#elif SAM4C -# include "sam4c/pll.h" -#elif SAM4CM -# include "sam4cm/pll.h" -#elif SAM4CP -# include "sam4cp/pll.h" -#elif SAM4L -# include "sam4l/pll.h" -#elif SAM4N -# include "sam4n/pll.h" -#elif SAMG -# include "samg/pll.h" -#elif SAMV71 -# include "samv71/pll.h" -#elif SAMV70 -# include "samv70/pll.h" -#elif SAME70 -# include "same70/pll.h" -#elif SAMS70 -# include "sams70/pll.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/pll.h" -#elif UC3A3 -# include "uc3a3_a4/pll.h" -#elif UC3B -# include "uc3b0_b1/pll.h" -#elif UC3C -# include "uc3c/pll.h" -#elif UC3D -# include "uc3d/pll.h" -#elif (UC3L0128 || UC3L0256 || UC3L3_L4) -# include "uc3l/pll.h" -#elif XMEGA -# include "xmega/pll.h" -#else -# error Unsupported chip type -#endif - -/** - * \ingroup clk_group - * \defgroup pll_group PLL Management - * - * This group contains functions and definitions related to configuring - * and enabling/disabling on-chip PLLs. A PLL will take an input signal - * (the \em source), optionally divide the frequency by a configurable - * \em divider, and then multiply the frequency by a configurable \em - * multiplier. - * - * Some devices don't support input dividers; specifying any other - * divisor than 1 on these devices will result in an assertion failure. - * Other devices may have various restrictions to the frequency range of - * the input and output signals. - * - * \par Example: Setting up PLL0 with default parameters - * - * The following example shows how to configure and enable PLL0 using - * the default parameters specified using the configuration symbols - * listed above. - * \code - pll_enable_config_defaults(0); \endcode - * - * To configure, enable PLL0 using the default parameters and to disable - * a specific feature like Wide Bandwidth Mode (a UC3A3-specific - * PLL option.), you can use this initialization process. - * \code - struct pll_config pllcfg; - if (pll_is_locked(pll_id)) { - return; // Pll already running - } - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_defaults(&pllcfg, 0); - pll_config_set_option(&pllcfg, PLL_OPT_WBM_DISABLE); - pll_enable(&pllcfg, 0); - pll_wait_for_lock(0); \endcode - * - * When the last function call returns, PLL0 is ready to be used as the - * main system clock source. - * - * \section pll_group_config Configuration Symbols - * - * Each PLL has a set of default parameters determined by the following - * configuration symbols in the application's configuration file: - * - \b CONFIG_PLLn_SOURCE: The default clock source connected to the - * input of PLL \a n. Must be one of the values defined by the - * #pll_source enum. - * - \b CONFIG_PLLn_MUL: The default multiplier (loop divider) of PLL - * \a n. - * - \b CONFIG_PLLn_DIV: The default input divider of PLL \a n. - * - * These configuration symbols determine the result of calling - * pll_config_defaults() and pll_get_default_rate(). - * - * @{ - */ - -//! \name Chip-specific PLL characteristics -//@{ -/** - * \def PLL_MAX_STARTUP_CYCLES - * \brief Maximum PLL startup time in number of slow clock cycles - */ -/** - * \def NR_PLLS - * \brief Number of on-chip PLLs - */ - -/** - * \def PLL_MIN_HZ - * \brief Minimum frequency that the PLL can generate - */ -/** - * \def PLL_MAX_HZ - * \brief Maximum frequency that the PLL can generate - */ -/** - * \def PLL_NR_OPTIONS - * \brief Number of PLL option bits - */ -//@} - -/** - * \enum pll_source - * \brief PLL clock source - */ - -//! \name PLL configuration -//@{ - -/** - * \struct pll_config - * \brief Hardware-specific representation of PLL configuration. - * - * This structure contains one or more device-specific values - * representing the current PLL configuration. The contents of this - * structure is typically different from platform to platform, and the - * user should not access any fields except through the PLL - * configuration API. - */ - -/** - * \fn void pll_config_init(struct pll_config *cfg, - * enum pll_source src, unsigned int div, unsigned int mul) - * \brief Initialize PLL configuration from standard parameters. - * - * \note This function may be defined inline because it is assumed to be - * called very few times, and usually with constant parameters. Inlining - * it will in such cases reduce the code size significantly. - * - * \param cfg The PLL configuration to be initialized. - * \param src The oscillator to be used as input to the PLL. - * \param div PLL input divider. - * \param mul PLL loop divider (i.e. multiplier). - * - * \return A configuration which will make the PLL run at - * (\a mul / \a div) times the frequency of \a src - */ -/** - * \def pll_config_defaults(cfg, pll_id) - * \brief Initialize PLL configuration using default parameters. - * - * After this function returns, \a cfg will contain a configuration - * which will make the PLL run at (CONFIG_PLLx_MUL / CONFIG_PLLx_DIV) - * times the frequency of CONFIG_PLLx_SOURCE. - * - * \param cfg The PLL configuration to be initialized. - * \param pll_id Use defaults for this PLL. - */ -/** - * \def pll_get_default_rate(pll_id) - * \brief Get the default rate in Hz of \a pll_id - */ -/** - * \fn void pll_config_set_option(struct pll_config *cfg, - * unsigned int option) - * \brief Set the PLL option bit \a option in the configuration \a cfg. - * - * \param cfg The PLL configuration to be changed. - * \param option The PLL option bit to be set. - */ -/** - * \fn void pll_config_clear_option(struct pll_config *cfg, - * unsigned int option) - * \brief Clear the PLL option bit \a option in the configuration \a cfg. - * - * \param cfg The PLL configuration to be changed. - * \param option The PLL option bit to be cleared. - */ -/** - * \fn void pll_config_read(struct pll_config *cfg, unsigned int pll_id) - * \brief Read the currently active configuration of \a pll_id. - * - * \param cfg The configuration object into which to store the currently - * active configuration. - * \param pll_id The ID of the PLL to be accessed. - */ -/** - * \fn void pll_config_write(const struct pll_config *cfg, - * unsigned int pll_id) - * \brief Activate the configuration \a cfg on \a pll_id - * - * \param cfg The configuration object representing the PLL - * configuration to be activated. - * \param pll_id The ID of the PLL to be updated. - */ - -//@} - -//! \name Interaction with the PLL hardware -//@{ -/** - * \fn void pll_enable(const struct pll_config *cfg, - * unsigned int pll_id) - * \brief Activate the configuration \a cfg and enable PLL \a pll_id. - * - * \param cfg The PLL configuration to be activated. - * \param pll_id The ID of the PLL to be enabled. - */ -/** - * \fn void pll_disable(unsigned int pll_id) - * \brief Disable the PLL identified by \a pll_id. - * - * After this function is called, the PLL identified by \a pll_id will - * be disabled. The PLL configuration stored in hardware may be affected - * by this, so if the caller needs to restore the same configuration - * later, it should either do a pll_config_read() before disabling the - * PLL, or remember the last configuration written to the PLL. - * - * \param pll_id The ID of the PLL to be disabled. - */ -/** - * \fn bool pll_is_locked(unsigned int pll_id) - * \brief Determine whether the PLL is locked or not. - * - * \param pll_id The ID of the PLL to check. - * - * \retval true The PLL is locked and ready to use as a clock source - * \retval false The PLL is not yet locked, or has not been enabled. - */ -/** - * \fn void pll_enable_source(enum pll_source src) - * \brief Enable the source of the pll. - * The source is enabled, if the source is not already running. - * - * \param src The ID of the PLL source to enable. - */ -/** - * \fn void pll_enable_config_defaults(unsigned int pll_id) - * \brief Enable the pll with the default configuration. - * PLL is enabled, if the PLL is not already locked. - * - * \param pll_id The ID of the PLL to enable. - */ - -/** - * \brief Wait for PLL \a pll_id to become locked - * - * \todo Use a timeout to avoid waiting forever and hanging the system - * - * \param pll_id The ID of the PLL to wait for. - * - * \retval STATUS_OK The PLL is now locked. - * \retval ERR_TIMEOUT Timed out waiting for PLL to become locked. - */ -static inline int pll_wait_for_lock(unsigned int pll_id) -{ - Assert(pll_id < NR_PLLS); - - while (!pll_is_locked(pll_id)) { - /* Do nothing */ - } - - return 0; -} - -//@} -//! @} - -#endif /* CLK_PLL_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/genclk.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/genclk.h deleted file mode 100644 index fbb069a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/genclk.h +++ /dev/null @@ -1,269 +0,0 @@ -/** - * \file - * - * \brief Chip-specific generic clock management. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_GENCLK_H_INCLUDED -#define CHIP_GENCLK_H_INCLUDED - -#include <osc.h> -#include <pll.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup genclk_group - * @{ - */ - -//! \name Programmable Clock Identifiers (PCK) -//@{ -#define GENCLK_PCK_0 0 //!< PCK0 ID -#define GENCLK_PCK_1 1 //!< PCK1 ID -#define GENCLK_PCK_2 2 //!< PCK2 ID -//@} - -//! \name Programmable Clock Sources (PCK) -//@{ - -enum genclk_source { - GENCLK_PCK_SRC_SLCK_RC = 0,//!< Internal 32kHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_SLCK_XTAL = 1,//!< External 32kHz crystal oscillator as PCK source clock - GENCLK_PCK_SRC_SLCK_BYPASS = 2,//!< External 32kHz bypass oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_4M_RC = 3,//!< Internal 4MHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_8M_RC = 4,//!< Internal 8MHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_12M_RC = 5,//!< Internal 12MHz RC oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_XTAL = 6,//!< External crystal oscillator as PCK source clock - GENCLK_PCK_SRC_MAINCK_BYPASS = 7,//!< External bypass oscillator as PCK source clock - GENCLK_PCK_SRC_PLLACK = 8,//!< Use PLLACK as PCK source clock - GENCLK_PCK_SRC_MCK = 9,//!< Use Master Clk as PCK source clock -}; - -//@} - -//! \name Programmable Clock Prescalers (PCK) -//@{ - -enum genclk_divider { - GENCLK_PCK_PRES_1 = PMC_PCK_PRES(0), //!< Set PCK clock prescaler to 1 - GENCLK_PCK_PRES_2 = PMC_PCK_PRES(1), //!< Set PCK clock prescaler to 2 - GENCLK_PCK_PRES_4 = PMC_PCK_PRES(2), //!< Set PCK clock prescaler to 4 - GENCLK_PCK_PRES_8 = PMC_PCK_PRES(3), //!< Set PCK clock prescaler to 8 - GENCLK_PCK_PRES_16 = PMC_PCK_PRES(4), //!< Set PCK clock prescaler to 16 - GENCLK_PCK_PRES_32 = PMC_PCK_PRES(5), //!< Set PCK clock prescaler to 32 - GENCLK_PCK_PRES_64 = PMC_PCK_PRES(6), //!< Set PCK clock prescaler to 64 -}; - -//@} - -struct genclk_config { - uint32_t ctrl; -}; - -static inline void genclk_config_defaults(struct genclk_config *p_cfg, - uint32_t ul_id) -{ - ul_id = ul_id; - p_cfg->ctrl = 0; -} - -static inline void genclk_config_read(struct genclk_config *p_cfg, - uint32_t ul_id) -{ - p_cfg->ctrl = PMC->PMC_PCK[ul_id]; -} - -static inline void genclk_config_write(const struct genclk_config *p_cfg, - uint32_t ul_id) -{ - PMC->PMC_PCK[ul_id] = p_cfg->ctrl; -} - -//! \name Programmable Clock Source and Prescaler configuration -//@{ - -static inline void genclk_config_set_source(struct genclk_config *p_cfg, - enum genclk_source e_src) -{ - p_cfg->ctrl &= (~PMC_PCK_CSS_Msk); - - switch (e_src) { - case GENCLK_PCK_SRC_SLCK_RC: - case GENCLK_PCK_SRC_SLCK_XTAL: - case GENCLK_PCK_SRC_SLCK_BYPASS: - p_cfg->ctrl |= (PMC_PCK_CSS_SLOW_CLK); - break; - - case GENCLK_PCK_SRC_MAINCK_4M_RC: - case GENCLK_PCK_SRC_MAINCK_8M_RC: - case GENCLK_PCK_SRC_MAINCK_12M_RC: - case GENCLK_PCK_SRC_MAINCK_XTAL: - case GENCLK_PCK_SRC_MAINCK_BYPASS: - p_cfg->ctrl |= (PMC_PCK_CSS_MAIN_CLK); - break; - - case GENCLK_PCK_SRC_PLLACK: - p_cfg->ctrl |= (PMC_PCK_CSS_PLLA_CLK); - break; - - case GENCLK_PCK_SRC_MCK: - p_cfg->ctrl |= (PMC_PCK_CSS_MCK); - break; - - default: - break; - } -} - -static inline void genclk_config_set_divider(struct genclk_config *p_cfg, - uint32_t e_divider) -{ - p_cfg->ctrl &= ~PMC_PCK_PRES_Msk; - p_cfg->ctrl |= e_divider; -} - -//@} - -static inline void genclk_enable(const struct genclk_config *p_cfg, uint32_t ul_id) -{ - PMC->PMC_PCK[ul_id] = p_cfg->ctrl; - pmc_enable_pck(ul_id); -} - -static inline void genclk_disable(uint32_t ul_id) -{ - pmc_disable_pck(ul_id); -} - -static inline void genclk_enable_source(enum genclk_source e_src) -{ - switch (e_src) { - case GENCLK_PCK_SRC_SLCK_RC: - if (!osc_is_ready(OSC_SLCK_32K_RC)) { - osc_enable(OSC_SLCK_32K_RC); - osc_wait_ready(OSC_SLCK_32K_RC); - } - break; - - case GENCLK_PCK_SRC_SLCK_XTAL: - if (!osc_is_ready(OSC_SLCK_32K_XTAL)) { - osc_enable(OSC_SLCK_32K_XTAL); - osc_wait_ready(OSC_SLCK_32K_XTAL); - } - break; - - case GENCLK_PCK_SRC_SLCK_BYPASS: - if (!osc_is_ready(OSC_SLCK_32K_BYPASS)) { - osc_enable(OSC_SLCK_32K_BYPASS); - osc_wait_ready(OSC_SLCK_32K_BYPASS); - } - break; - - case GENCLK_PCK_SRC_MAINCK_4M_RC: - if (!osc_is_ready(OSC_MAINCK_4M_RC)) { - osc_enable(OSC_MAINCK_4M_RC); - osc_wait_ready(OSC_MAINCK_4M_RC); - } - break; - - case GENCLK_PCK_SRC_MAINCK_8M_RC: - if (!osc_is_ready(OSC_MAINCK_8M_RC)) { - osc_enable(OSC_MAINCK_8M_RC); - osc_wait_ready(OSC_MAINCK_8M_RC); - } - break; - - case GENCLK_PCK_SRC_MAINCK_12M_RC: - if (!osc_is_ready(OSC_MAINCK_12M_RC)) { - osc_enable(OSC_MAINCK_12M_RC); - osc_wait_ready(OSC_MAINCK_12M_RC); - } - break; - - case GENCLK_PCK_SRC_MAINCK_XTAL: - if (!osc_is_ready(OSC_MAINCK_XTAL)) { - osc_enable(OSC_MAINCK_XTAL); - osc_wait_ready(OSC_MAINCK_XTAL); - } - break; - - case GENCLK_PCK_SRC_MAINCK_BYPASS: - if (!osc_is_ready(OSC_MAINCK_BYPASS)) { - osc_enable(OSC_MAINCK_BYPASS); - osc_wait_ready(OSC_MAINCK_BYPASS); - } - break; - -#ifdef CONFIG_PLL0_SOURCE - case GENCLK_PCK_SRC_PLLACK: - pll_enable_config_defaults(0); - break; -#endif - - case GENCLK_PCK_SRC_MCK: - break; - - default: - Assert(false); - break; - } -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_GENCLK_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/osc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/osc.h deleted file mode 100644 index 191c4ed..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/osc.h +++ /dev/null @@ -1,247 +0,0 @@ -/** - * \file - * - * \brief Chip-specific oscillator management functions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_OSC_H_INCLUDED -#define CHIP_OSC_H_INCLUDED - -#include "board.h" -#include "pmc.h" - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/* - * Below BOARD_XXX macros are related to the specific board, and - * should be defined by the board code, otherwise default value are used. - */ -#if !defined(BOARD_FREQ_SLCK_XTAL) -# warning The board slow clock xtal frequency has not been defined. -# define BOARD_FREQ_SLCK_XTAL (32768UL) -#endif - -#if !defined(BOARD_FREQ_SLCK_BYPASS) -# warning The board slow clock bypass frequency has not been defined. -# define BOARD_FREQ_SLCK_BYPASS (32768UL) -#endif - -#if !defined(BOARD_FREQ_MAINCK_XTAL) -# warning The board main clock xtal frequency has not been defined. -# define BOARD_FREQ_MAINCK_XTAL (12000000UL) -#endif - -#if !defined(BOARD_FREQ_MAINCK_BYPASS) -# warning The board main clock bypass frequency has not been defined. -# define BOARD_FREQ_MAINCK_BYPASS (12000000UL) -#endif - -#if !defined(BOARD_OSC_STARTUP_US) -# warning The board main clock xtal startup time has not been defined. -# define BOARD_OSC_STARTUP_US (15625UL) -#endif - -/** - * \weakgroup osc_group - * @{ - */ - -//! \name Oscillator identifiers -//@{ -#define OSC_SLCK_32K_RC 0 //!< Internal 32kHz RC oscillator. -#define OSC_SLCK_32K_XTAL 1 //!< External 32kHz crystal oscillator. -#define OSC_SLCK_32K_BYPASS 2 //!< External 32kHz bypass oscillator. -#define OSC_MAINCK_4M_RC 3 //!< Internal 4MHz RC oscillator. -#define OSC_MAINCK_8M_RC 4 //!< Internal 8MHz RC oscillator. -#define OSC_MAINCK_12M_RC 5 //!< Internal 12MHz RC oscillator. -#define OSC_MAINCK_XTAL 6 //!< External crystal oscillator. -#define OSC_MAINCK_BYPASS 7 //!< External bypass oscillator. -//@} - -//! \name Oscillator clock speed in hertz -//@{ -#define OSC_SLCK_32K_RC_HZ CHIP_FREQ_SLCK_RC //!< Internal 32kHz RC oscillator. -#define OSC_SLCK_32K_XTAL_HZ BOARD_FREQ_SLCK_XTAL //!< External 32kHz crystal oscillator. -#define OSC_SLCK_32K_BYPASS_HZ BOARD_FREQ_SLCK_BYPASS //!< External 32kHz bypass oscillator. -#define OSC_MAINCK_4M_RC_HZ CHIP_FREQ_MAINCK_RC_4MHZ //!< Internal 4MHz RC oscillator. -#define OSC_MAINCK_8M_RC_HZ CHIP_FREQ_MAINCK_RC_8MHZ //!< Internal 8MHz RC oscillator. -#define OSC_MAINCK_12M_RC_HZ CHIP_FREQ_MAINCK_RC_12MHZ //!< Internal 12MHz RC oscillator. -#define OSC_MAINCK_XTAL_HZ BOARD_FREQ_MAINCK_XTAL //!< External crystal oscillator. -#define OSC_MAINCK_BYPASS_HZ BOARD_FREQ_MAINCK_BYPASS //!< External bypass oscillator. -//@} - -static inline void osc_enable(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - break; - - case OSC_SLCK_32K_XTAL: - pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL); - break; - - case OSC_SLCK_32K_BYPASS: - pmc_switch_sclk_to_32kxtal(PMC_OSC_BYPASS); - break; - - - case OSC_MAINCK_4M_RC: - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz); - break; - - case OSC_MAINCK_8M_RC: - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz); - break; - - case OSC_MAINCK_12M_RC: - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz); - break; - - - case OSC_MAINCK_XTAL: - pmc_switch_mainck_to_xtal(PMC_OSC_XTAL, - pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US, - OSC_SLCK_32K_RC_HZ)); - break; - - case OSC_MAINCK_BYPASS: - pmc_switch_mainck_to_xtal(PMC_OSC_BYPASS, - pmc_us_to_moscxtst(BOARD_OSC_STARTUP_US, - OSC_SLCK_32K_RC_HZ)); - break; - } -} - -static inline void osc_disable(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - case OSC_SLCK_32K_XTAL: - case OSC_SLCK_32K_BYPASS: - break; - - case OSC_MAINCK_4M_RC: - case OSC_MAINCK_8M_RC: - case OSC_MAINCK_12M_RC: - pmc_osc_disable_fastrc(); - break; - - case OSC_MAINCK_XTAL: - pmc_osc_disable_xtal(PMC_OSC_XTAL); - break; - - case OSC_MAINCK_BYPASS: - pmc_osc_disable_xtal(PMC_OSC_BYPASS); - break; - } -} - -static inline bool osc_is_ready(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - return 1; - - case OSC_SLCK_32K_XTAL: - case OSC_SLCK_32K_BYPASS: - return pmc_osc_is_ready_32kxtal(); - - case OSC_MAINCK_4M_RC: - case OSC_MAINCK_8M_RC: - case OSC_MAINCK_12M_RC: - case OSC_MAINCK_XTAL: - case OSC_MAINCK_BYPASS: - return pmc_osc_is_ready_mainck(); - } - - return 0; -} - -static inline uint32_t osc_get_rate(uint32_t ul_id) -{ - switch (ul_id) { - case OSC_SLCK_32K_RC: - return OSC_SLCK_32K_RC_HZ; - - case OSC_SLCK_32K_XTAL: - return BOARD_FREQ_SLCK_XTAL; - - case OSC_SLCK_32K_BYPASS: - return BOARD_FREQ_SLCK_BYPASS; - - case OSC_MAINCK_4M_RC: - return OSC_MAINCK_4M_RC_HZ; - - case OSC_MAINCK_8M_RC: - return OSC_MAINCK_8M_RC_HZ; - - case OSC_MAINCK_12M_RC: - return OSC_MAINCK_12M_RC_HZ; - - case OSC_MAINCK_XTAL: - return BOARD_FREQ_MAINCK_XTAL; - - case OSC_MAINCK_BYPASS: - return BOARD_FREQ_MAINCK_BYPASS; - } - - return 0; -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_OSC_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/pll.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/pll.h deleted file mode 100644 index 5006ebb..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/pll.h +++ /dev/null @@ -1,269 +0,0 @@ -/** - * \file - * - * \brief Chip-specific PLL definitions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_PLL_H_INCLUDED -#define CHIP_PLL_H_INCLUDED - -#include <osc.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup pll_group - * @{ - */ - -#define PLL_OUTPUT_MIN_HZ 160000000 -#define PLL_OUTPUT_MAX_HZ 500000000 - -#define PLL_INPUT_MIN_HZ 3000000 -#define PLL_INPUT_MAX_HZ 32000000 - -#define NR_PLLS 2 -#define PLLA_ID 0 -#define UPLL_ID 1 //!< USB UTMI PLL. - -#define PLL_UPLL_HZ 480000000 - -#define PLL_COUNT 0x3fU - -enum pll_source { - PLL_SRC_MAINCK_4M_RC = OSC_MAINCK_4M_RC, //!< Internal 4MHz RC oscillator. - PLL_SRC_MAINCK_8M_RC = OSC_MAINCK_8M_RC, //!< Internal 8MHz RC oscillator. - PLL_SRC_MAINCK_12M_RC = OSC_MAINCK_12M_RC, //!< Internal 12MHz RC oscillator. - PLL_SRC_MAINCK_XTAL = OSC_MAINCK_XTAL, //!< External crystal oscillator. - PLL_SRC_MAINCK_BYPASS = OSC_MAINCK_BYPASS, //!< External bypass oscillator. - PLL_NR_SOURCES, //!< Number of PLL sources. -}; - -struct pll_config { - uint32_t ctrl; -}; - -#define pll_get_default_rate(pll_id) \ - ((osc_get_rate(CONFIG_PLL##pll_id##_SOURCE) \ - * CONFIG_PLL##pll_id##_MUL) \ - / CONFIG_PLL##pll_id##_DIV) - -/* Force UTMI PLL parameters (Hardware defined) */ -#ifdef CONFIG_PLL1_SOURCE -# undef CONFIG_PLL1_SOURCE -#endif -#ifdef CONFIG_PLL1_MUL -# undef CONFIG_PLL1_MUL -#endif -#ifdef CONFIG_PLL1_DIV -# undef CONFIG_PLL1_DIV -#endif -#define CONFIG_PLL1_SOURCE PLL_SRC_MAINCK_XTAL -#define CONFIG_PLL1_MUL 0 -#define CONFIG_PLL1_DIV 0 - -/** - * \note The SAMV71 PLL hardware interprets mul as mul+1. For readability the - * hardware mul+1 is hidden in this implementation. Use mul as mul effective - * value. - */ -static inline void pll_config_init(struct pll_config *p_cfg, - enum pll_source e_src, uint32_t ul_div, uint32_t ul_mul) -{ - uint32_t vco_hz; - - Assert(e_src < PLL_NR_SOURCES); - - if (ul_div == 0 && ul_mul == 0) { /* Must only be true for UTMI PLL */ - p_cfg->ctrl = CKGR_UCKR_UPLLCOUNT(PLL_COUNT); - } else { /* PLLA */ - /* Calculate internal VCO frequency */ - vco_hz = osc_get_rate(e_src) / ul_div; - Assert(vco_hz >= PLL_INPUT_MIN_HZ); - Assert(vco_hz <= PLL_INPUT_MAX_HZ); - - vco_hz *= ul_mul; - Assert(vco_hz >= PLL_OUTPUT_MIN_HZ); - Assert(vco_hz <= PLL_OUTPUT_MAX_HZ); - - /* PMC hardware will automatically make it mul+1 */ - p_cfg->ctrl = CKGR_PLLAR_MULA(ul_mul - 1) | CKGR_PLLAR_DIVA(ul_div) \ - | CKGR_PLLAR_PLLACOUNT(PLL_COUNT); - } -} - -#define pll_config_defaults(cfg, pll_id) \ - pll_config_init(cfg, \ - CONFIG_PLL##pll_id##_SOURCE, \ - CONFIG_PLL##pll_id##_DIV, \ - CONFIG_PLL##pll_id##_MUL) - -static inline void pll_config_read(struct pll_config *p_cfg, uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - p_cfg->ctrl = PMC->CKGR_PLLAR; - } else { - p_cfg->ctrl = PMC->CKGR_UCKR; - } -} - -static inline void pll_config_write(const struct pll_config *p_cfg, uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - pmc_disable_pllack(); // Always stop PLL first! - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl; - } else { - PMC->CKGR_UCKR = p_cfg->ctrl; - } -} - -static inline void pll_enable(const struct pll_config *p_cfg, uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - pmc_disable_pllack(); // Always stop PLL first! - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | p_cfg->ctrl; - } else { - PMC->CKGR_UCKR = p_cfg->ctrl | CKGR_UCKR_UPLLEN; - } -} - -/** - * \note This will only disable the selected PLL, not the underlying oscillator (mainck). - */ -static inline void pll_disable(uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - pmc_disable_pllack(); - } else { - PMC->CKGR_UCKR &= ~CKGR_UCKR_UPLLEN; - } -} - -static inline uint32_t pll_is_locked(uint32_t ul_pll_id) -{ - Assert(ul_pll_id < NR_PLLS); - - if (ul_pll_id == PLLA_ID) { - return pmc_is_locked_pllack(); - } else { - return pmc_is_locked_upll(); - } -} - -static inline void pll_enable_source(enum pll_source e_src) -{ - switch (e_src) { - case PLL_SRC_MAINCK_4M_RC: - case PLL_SRC_MAINCK_8M_RC: - case PLL_SRC_MAINCK_12M_RC: - case PLL_SRC_MAINCK_XTAL: - case PLL_SRC_MAINCK_BYPASS: - osc_enable(e_src); - osc_wait_ready(e_src); - break; - - default: - Assert(false); - break; - } -} - -static inline void pll_enable_config_defaults(unsigned int ul_pll_id) -{ - struct pll_config pllcfg; - - if (pll_is_locked(ul_pll_id)) { - return; // Pll already running - } - switch (ul_pll_id) { -#ifdef CONFIG_PLL0_SOURCE - case 0: - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_init(&pllcfg, - CONFIG_PLL0_SOURCE, - CONFIG_PLL0_DIV, - CONFIG_PLL0_MUL); - break; -#endif -#ifdef CONFIG_PLL1_SOURCE - case 1: - pll_enable_source(CONFIG_PLL1_SOURCE); - pll_config_init(&pllcfg, - CONFIG_PLL1_SOURCE, - CONFIG_PLL1_DIV, - CONFIG_PLL1_MUL); - break; -#endif - default: - Assert(false); - break; - } - pll_enable(&pllcfg, ul_pll_id); - while (!pll_is_locked(ul_pll_id)); -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_PLL_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.c deleted file mode 100644 index 8e21e83..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.c +++ /dev/null @@ -1,261 +0,0 @@ -/** - * \file - * - * \brief Chip-specific system clock management functions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <sysclk.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup sysclk_group - * @{ - */ - -#if defined(CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) -/** - * \brief boolean signalling that the sysclk_init is done. - */ -uint32_t sysclk_initialized = 0; -#endif - -/** - * \brief Set system clock prescaler configuration - * - * This function will change the system clock prescaler configuration to - * match the parameters. - * - * \note The parameters to this function are device-specific. - * - * \param ul_pres The CPU clock will be divided by \f$2^{mck\_pres}\f$ - */ -void sysclk_set_prescalers(uint32_t ul_pres) -{ - pmc_mck_set_prescaler(ul_pres); - SystemCoreClockUpdate(); -} - -/** - * \brief Change the source of the main system clock. - * - * \param ul_src The new system clock source. Must be one of the constants - * from the <em>System Clock Sources</em> section. - */ -void sysclk_set_source(uint32_t ul_src) -{ - switch (ul_src) { - case SYSCLK_SRC_SLCK_RC: - case SYSCLK_SRC_SLCK_XTAL: - case SYSCLK_SRC_SLCK_BYPASS: - pmc_mck_set_source(PMC_MCKR_CSS_SLOW_CLK); - break; - - case SYSCLK_SRC_MAINCK_4M_RC: - case SYSCLK_SRC_MAINCK_8M_RC: - case SYSCLK_SRC_MAINCK_12M_RC: - case SYSCLK_SRC_MAINCK_XTAL: - case SYSCLK_SRC_MAINCK_BYPASS: - pmc_mck_set_source(PMC_MCKR_CSS_MAIN_CLK); - break; - - case SYSCLK_SRC_PLLACK: - pmc_mck_set_source(PMC_MCKR_CSS_PLLA_CLK); - break; - - case SYSCLK_SRC_UPLLCK: - pmc_mck_set_source(PMC_MCKR_CSS_UPLL_CLK); - break; - } - - SystemCoreClockUpdate(); -} - -#if defined(CONFIG_USBCLK_SOURCE) || defined(__DOXYGEN__) -/** - * \brief Enable USB clock. - * - * \note The SAMV71 UDP hardware interprets div as div+1. For readability the hardware div+1 - * is hidden in this implementation. Use div as div effective value. - * - * \param pll_id Source of the USB clock. - * \param div Actual clock divisor. Must be superior to 0. - */ -void sysclk_enable_usb(void) -{ - Assert(CONFIG_USBCLK_DIV > 0); - -#ifdef CONFIG_PLL0_SOURCE - if (CONFIG_USBCLK_SOURCE == USBCLK_SRC_PLL0) { - struct pll_config pllcfg; - - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_defaults(&pllcfg, 0); - pll_enable(&pllcfg, 0); - pll_wait_for_lock(0); - pmc_switch_udpck_to_pllack(CONFIG_USBCLK_DIV - 1); - pmc_enable_udpck(); - return; - } -#endif - - if (CONFIG_USBCLK_SOURCE == USBCLK_SRC_UPLL) { - - pmc_enable_upll_clock(); - pmc_switch_udpck_to_upllck(CONFIG_USBCLK_DIV - 1); - pmc_enable_udpck(); - return; - } -} - -/** - * \brief Disable the USB clock. - * - * \note This implementation does not switch off the PLL, it just turns off the USB clock. - */ -void sysclk_disable_usb(void) -{ - pmc_disable_udpck(); -} -#endif // CONFIG_USBCLK_SOURCE - -void sysclk_init(void) -{ - struct pll_config pllcfg; - - /* Set flash wait state to max in case the below clock switching. */ - system_init_flash(CHIP_FREQ_CPU_MAX); - - /* Config system clock setting */ - if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_RC) { - osc_enable(OSC_SLCK_32K_RC); - osc_wait_ready(OSC_SLCK_32K_RC); - pmc_switch_mck_to_sclk(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_XTAL) { - osc_enable(OSC_SLCK_32K_XTAL); - osc_wait_ready(OSC_SLCK_32K_XTAL); - pmc_switch_mck_to_sclk(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_BYPASS) { - osc_enable(OSC_SLCK_32K_BYPASS); - osc_wait_ready(OSC_SLCK_32K_BYPASS); - pmc_switch_mck_to_sclk(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_4M_RC) { - /* Already running from SYSCLK_SRC_MAINCK_4M_RC */ - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_8M_RC) { - osc_enable(OSC_MAINCK_8M_RC); - osc_wait_ready(OSC_MAINCK_8M_RC); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_12M_RC) { - osc_enable(OSC_MAINCK_12M_RC); - osc_wait_ready(OSC_MAINCK_12M_RC); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_XTAL) { - osc_enable(OSC_MAINCK_XTAL); - osc_wait_ready(OSC_MAINCK_XTAL); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_BYPASS) { - osc_enable(OSC_MAINCK_BYPASS); - osc_wait_ready(OSC_MAINCK_BYPASS); - pmc_switch_mck_to_mainck(CONFIG_SYSCLK_PRES); - } - -#ifdef CONFIG_PLL0_SOURCE - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_PLLACK) { - pll_enable_source(CONFIG_PLL0_SOURCE); - pll_config_defaults(&pllcfg, 0); - pll_enable(&pllcfg, 0); - pll_wait_for_lock(0); - pmc_mck_set_division(CONFIG_SYSCLK_DIV); - pmc_switch_mck_to_pllack(CONFIG_SYSCLK_PRES); - } -#endif - - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_UPLLCK) { - pll_enable_source(CONFIG_PLL1_SOURCE); - pll_config_defaults(&pllcfg, 1); - pll_enable(&pllcfg, 1); - pll_wait_for_lock(1); - pmc_mck_set_division(CONFIG_SYSCLK_DIV); - pmc_switch_mck_to_upllck(CONFIG_SYSCLK_PRES); - } - /* Update the SystemFrequency variable */ - SystemCoreClockUpdate(); - - /* Set a flash wait state depending on the new cpu frequency */ - system_init_flash(sysclk_get_cpu_hz()); - -#if (defined CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) - /* Signal that the internal frequencies are setup */ - sysclk_initialized = 1; -#endif -} - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.h deleted file mode 100644 index 4a2826a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sams70/sysclk.h +++ /dev/null @@ -1,473 +0,0 @@ -/** - * \file - * - * \brief Chip-specific system clock management functions. - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef CHIP_SYSCLK_H_INCLUDED -#define CHIP_SYSCLK_H_INCLUDED - -#include <osc.h> -#include <pll.h> - -/** - * \page sysclk_quickstart Quick Start Guide for the System Clock Management - * service (SAMV71) - * - * This is the quick start guide for the \ref sysclk_group "System Clock - * Management" service, with step-by-step instructions on how to configure and - * use the service for specific use cases. - * - * \section sysclk_quickstart_usecases System Clock Management use cases - * - \ref sysclk_quickstart_basic - * - \ref sysclk_quickstart_use_case_2 - * - * \section sysclk_quickstart_basic Basic usage of the System Clock Management - * service - * This section will present a basic use case for the System Clock Management - * service. This use case will configure the main system clock to 120MHz, - * using an internal PLL module to multiply the frequency of a crystal attached - * to the microcontroller. - * - * \subsection sysclk_quickstart_use_case_1_prereq Prerequisites - * - None - * - * \subsection sysclk_quickstart_use_case_1_setup_steps Initialization code - * Add to the application initialization code: - * \code - sysclk_init(); -\endcode - * - * \subsection sysclk_quickstart_use_case_1_setup_steps_workflow Workflow - * -# Configure the system clocks according to the settings in conf_clock.h: - * \code sysclk_init(); \endcode - * - * \subsection sysclk_quickstart_use_case_1_example_code Example code - * Add or uncomment the following in your conf_clock.h header file, - * commenting out all other definitions of the same symbol(s): - * \code - #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK - - // Fpll0 = (Fclk * PLL_mul) / PLL_div - #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL - #define CONFIG_PLL0_MUL (120000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 - - // Fbus = Fsys / BUS_div - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 -\endcode - * - * \subsection sysclk_quickstart_use_case_1_example_workflow Workflow - * -# Configure the main system clock to use the output of the PLL module as - * its source: - * \code #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK \endcode - * -# Configure the PLL module to use the fast external fast crystal - * oscillator as its source: - * \code #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL \endcode - * -# Configure the PLL module to multiply the external fast crystal - * oscillator frequency up to 120MHz: - * \code - #define CONFIG_PLL0_MUL (120000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 -\endcode - * \note For user boards, \c BOARD_FREQ_MAINCK_XTAL should be defined in the - * board \c conf_board.h configuration - * file as the frequency of the fast crystal attached to the microcontroller. - * -# Configure the main clock to run at the full 120MHz, disable scaling of - * the main system clock speed: - * \code - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 -\endcode - * \note Some dividers are powers of two, while others are integer division - * factors. Refer to the formulas in the conf_clock.h template commented - * above each division define. - */ - -/** - * \page sysclk_quickstart_use_case_2 Advanced use case - Peripheral Bus Clock - * Management (SAMV71) - * - * \section sysclk_quickstart_use_case_2 Advanced use case - Peripheral Bus - * Clock Management - * This section will present a more advanced use case for the System Clock - * Management service. This use case will configure the main system clock to - * 96MHz, using an internal PLL module to multiply the frequency of a crystal - * attached to the microcontroller. The USB clock will be configured via the - * same PLL module. - * - * \subsection sysclk_quickstart_use_case_2_prereq Prerequisites - * - None - * - * \subsection sysclk_quickstart_use_case_2_setup_steps Initialization code - * Add to the application initialization code: - * \code - sysclk_init(); -\endcode - * - * \subsection sysclk_quickstart_use_case_2_setup_steps_workflow Workflow - * -# Configure the system clocks according to the settings in conf_clock.h: - * \code sysclk_init(); \endcode - * - * \subsection sysclk_quickstart_use_case_2_example_code Example code - * Add or uncomment the following in your conf_clock.h header file, - * commenting out all other definitions of the same symbol(s): - * \code - #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK - - // Fpll0 = (Fclk * PLL_mul) / PLL_div - #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL - #define CONFIG_PLL0_MUL (96000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 - - // Fbus = Fsys / BUS_div - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 - - // Fusb = Fsys / USB_div - #define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL0 - #define CONFIG_USBCLK_DIV 2 -\endcode - * - * \subsection sysclk_quickstart_use_case_2_example_workflow Workflow - * -# Configure the main system clock to use the output of the PLL0 module as - * its source: - * \code #define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK \endcode - * -# Configure the PLL0 module to use the fast external fast crystal - * oscillator as its source: - * \code #define CONFIG_PLL0_SOURCE PLL_SRC_MAINCK_XTAL \endcode - * -# Configure the PLL0 module to multiply the external fast crystal - * oscillator frequency up to 96MHz: - * \code - #define CONFIG_PLL0_MUL (96000000UL / BOARD_FREQ_MAINCK_XTAL) - #define CONFIG_PLL0_DIV 1 -\endcode - * \note For user boards, \c BOARD_FREQ_MAINCK_XTAL should be defined in the - * board \c conf_board.h configuration file as the frequency of the fast - * crystal attached to the microcontroller. - * -# Configure the main clock to run at the full 96MHz, disable scaling of - * the main system clock speed: - * \code - #define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 -\endcode - * \note Some dividers are powers of two, while others are integer division - * factors. Refer to the formulas in the conf_clock.h template commented - * above each division define. - * -# Configure the USB module clock to use the output of the PLL0 module as - * its source with division 2: - * \code - #define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL0 - #define CONFIG_USBCLK_DIV 2 -\endcode - */ - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \weakgroup sysclk_group - * @{ - */ - -//! \name Configuration Symbols -//@{ -/** - * \def CONFIG_SYSCLK_SOURCE - * \brief Initial/static main system clock source - * - * The main system clock will be configured to use this clock during - * initialization. - */ -#ifndef CONFIG_SYSCLK_SOURCE -# define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC -#endif -/** - * \def CONFIG_SYSCLK_PRES - * \brief Initial CPU clock divider (mck) - * - * The MCK will run at - * \f[ - * f_{MCK} = \frac{f_{sys}}{\mathrm{CONFIG\_SYSCLK\_PRES}}\,\mbox{Hz} - * \f] - * after initialization. - */ -#ifndef CONFIG_SYSCLK_PRES -# define CONFIG_SYSCLK_PRES 0 -#endif - -//@} - -//! \name Master Clock Sources (MCK) -//@{ -#define SYSCLK_SRC_SLCK_RC 0 //!< Internal 32kHz RC oscillator as master source clock -#define SYSCLK_SRC_SLCK_XTAL 1 //!< External 32kHz crystal oscillator as master source clock -#define SYSCLK_SRC_SLCK_BYPASS 2 //!< External 32kHz bypass oscillator as master source clock -#define SYSCLK_SRC_MAINCK_4M_RC 3 //!< Internal 4MHz RC oscillator as master source clock -#define SYSCLK_SRC_MAINCK_8M_RC 4 //!< Internal 8MHz RC oscillator as master source clock -#define SYSCLK_SRC_MAINCK_12M_RC 5 //!< Internal 12MHz RC oscillator as master source clock -#define SYSCLK_SRC_MAINCK_XTAL 6 //!< External crystal oscillator as master source clock -#define SYSCLK_SRC_MAINCK_BYPASS 7 //!< External bypass oscillator as master source clock -#define SYSCLK_SRC_PLLACK 8 //!< Use PLLACK as master source clock -#define SYSCLK_SRC_UPLLCK 9 //!< Use UPLLCK as master source clock -//@} - -//! \name Master Clock Prescalers (MCK) -//@{ -#define SYSCLK_PRES_1 PMC_MCKR_PRES_CLK_1 //!< Set master clock prescaler to 1 -#define SYSCLK_PRES_2 PMC_MCKR_PRES_CLK_2 //!< Set master clock prescaler to 2 -#define SYSCLK_PRES_4 PMC_MCKR_PRES_CLK_4 //!< Set master clock prescaler to 4 -#define SYSCLK_PRES_8 PMC_MCKR_PRES_CLK_8 //!< Set master clock prescaler to 8 -#define SYSCLK_PRES_16 PMC_MCKR_PRES_CLK_16 //!< Set master clock prescaler to 16 -#define SYSCLK_PRES_32 PMC_MCKR_PRES_CLK_32 //!< Set master clock prescaler to 32 -#define SYSCLK_PRES_64 PMC_MCKR_PRES_CLK_64 //!< Set master clock prescaler to 64 -#define SYSCLK_PRES_3 PMC_MCKR_PRES_CLK_3 //!< Set master clock prescaler to 3 -//@} - -//! \name Master Clock Division (MCK) -//@{ -#define SYSCLK_DIV_1 PMC_MCKR_MDIV_EQ_PCK //!< Set master clock division to 1 -#define SYSCLK_DIV_2 PMC_MCKR_MDIV_PCK_DIV2 //!< Set master clock division to 2 -#define SYSCLK_DIV_4 PMC_MCKR_MDIV_PCK_DIV4 //!< Set master clock division to 4 -#define SYSCLK_DIV_3 PMC_MCKR_MDIV_PCK_DIV3 //!< Set master clock division to 3 -//@} - -//! \name USB Clock Sources -//@{ -#define USBCLK_SRC_PLL0 0 //!< Use PLLA -#define USBCLK_SRC_UPLL 1 //!< Use UPLL -//@} - -/** - * \def CONFIG_USBCLK_SOURCE - * \brief Configuration symbol for the USB generic clock source - * - * Sets the clock source to use for the USB. The source must also be properly - * configured. - * - * Define this to one of the \c USBCLK_SRC_xxx settings. Leave it undefined if - * USB is not required. - */ -#ifdef __DOXYGEN__ -# define CONFIG_USBCLK_SOURCE -#endif - -/** - * \def CONFIG_USBCLK_DIV - * \brief Configuration symbol for the USB generic clock divider setting - * - * Sets the clock division for the USB generic clock. If a USB clock source is - * selected with CONFIG_USBCLK_SOURCE, this configuration symbol must also be - * defined. - */ -#ifdef __DOXYGEN__ -# define CONFIG_USBCLK_DIV -#endif - -/** - * \name Querying the system clock - * - * The following functions may be used to query the current frequency of - * the system clock and the CPU and bus clocks derived from it. - * sysclk_get_main_hz() and sysclk_get_cpu_hz() can be assumed to be - * available on all platforms, although some platforms may define - * additional accessors for various chip-internal bus clocks. These are - * usually not intended to be queried directly by generic code. - */ -//@{ - -/** - * \brief Return the current rate in Hz of the main system clock - * - * \todo This function assumes that the main clock source never changes - * once it's been set up, and that PLL0 always runs at the compile-time - * configured default rate. While this is probably the most common - * configuration, which we want to support as a special case for - * performance reasons, we will at some point need to support more - * dynamic setups as well. - */ -#if (defined CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) -extern uint32_t sysclk_initialized; -#endif -static inline uint32_t sysclk_get_main_hz(void) -{ -#if (defined CONFIG_SYSCLK_DEFAULT_RETURNS_SLOW_OSC) - if (!sysclk_initialized ) { - return OSC_MAINCK_4M_RC_HZ; - } -#endif - - /* Config system clock setting */ - if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_RC) { - return OSC_SLCK_32K_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_XTAL) { - return OSC_SLCK_32K_XTAL_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_SLCK_BYPASS) { - return OSC_SLCK_32K_BYPASS_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_4M_RC) { - return OSC_MAINCK_4M_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_8M_RC) { - return OSC_MAINCK_8M_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_12M_RC) { - return OSC_MAINCK_12M_RC_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_XTAL) { - return OSC_MAINCK_XTAL_HZ; - } else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_MAINCK_BYPASS) { - return OSC_MAINCK_BYPASS_HZ; - } -#ifdef CONFIG_PLL0_SOURCE - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_PLLACK) { - return pll_get_default_rate(0); - } -#endif - -#ifdef CONFIG_PLL1_SOURCE - else if (CONFIG_SYSCLK_SOURCE == SYSCLK_SRC_UPLLCK) { - return PLL_UPLL_HZ; - } -#endif - else { - /* unhandled_case(CONFIG_SYSCLK_SOURCE); */ - return 0; - } -} - -/** - * \brief Return the current rate in Hz of the CPU clock - * - * \todo This function assumes that the CPU always runs at the system - * clock frequency. We want to support at least two more scenarios: - * Fixed CPU/bus clock dividers (config symbols) and dynamic CPU/bus - * clock dividers (which may change at run time). Ditto for all the bus - * clocks. - * - * \return Frequency of the CPU clock, in Hz. - */ -static inline uint32_t sysclk_get_cpu_hz(void) -{ - /* CONFIG_SYSCLK_PRES is the register value for setting the expected */ - /* prescaler, not an immediate value. */ - return sysclk_get_main_hz() / - ((CONFIG_SYSCLK_PRES == SYSCLK_PRES_3) ? 3 : - (1 << (CONFIG_SYSCLK_PRES >> PMC_MCKR_PRES_Pos))); -} - -/** - * \brief Retrieves the current rate in Hz of the peripheral clocks. - * - * \return Frequency of the peripheral clocks, in Hz. - */ -static inline uint32_t sysclk_get_peripheral_hz(void) -{ - /* CONFIG_SYSCLK_PRES is the register value for setting the expected */ - /* prescaler, not an immediate value. */ - return sysclk_get_main_hz() / - (((CONFIG_SYSCLK_PRES == SYSCLK_PRES_3) ? 3 : (1 << (CONFIG_SYSCLK_PRES >> PMC_MCKR_PRES_Pos))) * CONFIG_SYSCLK_DIV); -} - -/** - * \brief Retrieves the current rate in Hz of the Peripheral Bus clock attached - * to the specified peripheral. - * - * \param module Pointer to the module's base address. - * - * \return Frequency of the bus attached to the specified peripheral, in Hz. - */ -static inline uint32_t sysclk_get_peripheral_bus_hz(const volatile void *module) -{ - UNUSED(module); - return sysclk_get_peripheral_hz(); -} -//@} - -//! \name Enabling and disabling synchronous clocks -//@{ - -/** - * \brief Enable a peripheral's clock. - * - * \param ul_id Id (number) of the peripheral clock. - */ -static inline void sysclk_enable_peripheral_clock(uint32_t ul_id) -{ - pmc_enable_periph_clk(ul_id); -} - -/** - * \brief Disable a peripheral's clock. - * - * \param ul_id Id (number) of the peripheral clock. - */ -static inline void sysclk_disable_peripheral_clock(uint32_t ul_id) -{ - pmc_disable_periph_clk(ul_id); -} - -//@} - -//! \name System Clock Source and Prescaler configuration -//@{ - -extern void sysclk_set_prescalers(uint32_t ul_pres); -extern void sysclk_set_source(uint32_t ul_src); - -//@} - -extern void sysclk_enable_usb(void); -extern void sysclk_disable_usb(void); - -extern void sysclk_init(void); - -//! @} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -#endif /* CHIP_SYSCLK_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sysclk.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sysclk.h deleted file mode 100644 index 86e4bf7..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/clock/sysclk.h +++ /dev/null @@ -1,194 +0,0 @@ -/** - * \file - * - * \brief System clock management - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef SYSCLK_H_INCLUDED -#define SYSCLK_H_INCLUDED - -#include "parts.h" -#include "conf_clock.h" - -#if SAM3S -# include "sam3s/sysclk.h" -#elif SAM3U -# include "sam3u/sysclk.h" -#elif SAM3N -# include "sam3n/sysclk.h" -#elif SAM3XA -# include "sam3x/sysclk.h" -#elif SAM4S -# include "sam4s/sysclk.h" -#elif SAM4E -# include "sam4e/sysclk.h" -#elif SAM4C -# include "sam4c/sysclk.h" -#elif SAM4CM -# include "sam4cm/sysclk.h" -#elif SAM4CP -# include "sam4cp/sysclk.h" -#elif SAM4L -# include "sam4l/sysclk.h" -#elif SAM4N -# include "sam4n/sysclk.h" -#elif SAMG -# include "samg/sysclk.h" -#elif SAMV71 -# include "samv71/sysclk.h" -#elif SAMV70 -# include "samv70/sysclk.h" -#elif SAME70 -# include "same70/sysclk.h" -#elif SAMS70 -# include "sams70/sysclk.h" -#elif (UC3A0 || UC3A1) -# include "uc3a0_a1/sysclk.h" -#elif UC3A3 -# include "uc3a3_a4/sysclk.h" -#elif UC3B -# include "uc3b0_b1/sysclk.h" -#elif UC3C -# include "uc3c/sysclk.h" -#elif UC3D -# include "uc3d/sysclk.h" -#elif UC3L -# include "uc3l/sysclk.h" -#elif XMEGA -# include "xmega/sysclk.h" -#elif MEGA -# include "mega/sysclk.h" -#else -# error Unsupported chip type -#endif - -/** - * \defgroup clk_group Clock Management - */ - -/** - * \ingroup clk_group - * \defgroup sysclk_group System Clock Management - * - * See \ref sysclk_quickstart. - * - * The <em>sysclk</em> API covers the <em>system clock</em> and all - * clocks derived from it. The system clock is a chip-internal clock on - * which all <em>synchronous clocks</em>, i.e. CPU and bus/peripheral - * clocks, are based. The system clock is typically generated from one - * of a variety of sources, which may include crystal and RC oscillators - * as well as PLLs. The clocks derived from the system clock are - * sometimes also known as <em>synchronous clocks</em>, since they - * always run synchronously with respect to each other, as opposed to - * <em>generic clocks</em> which may run from different oscillators or - * PLLs. - * - * Most applications should simply call sysclk_init() to initialize - * everything related to the system clock and its source (oscillator, - * PLL or DFLL), and leave it at that. More advanced applications, and - * platform-specific drivers, may require additional services from the - * clock system, some of which may be platform-specific. - * - * \section sysclk_group_platform Platform Dependencies - * - * The sysclk API is partially chip- or platform-specific. While all - * platforms provide mostly the same functionality, there are some - * variations around how different bus types and clock tree structures - * are handled. - * - * The following functions are available on all platforms with the same - * parameters and functionality. These functions may be called freely by - * portable applications, drivers and services: - * - sysclk_init() - * - sysclk_set_source() - * - sysclk_get_main_hz() - * - sysclk_get_cpu_hz() - * - sysclk_get_peripheral_bus_hz() - * - * The following functions are available on all platforms, but there may - * be variations in the function signature (i.e. parameters) and - * behavior. These functions are typically called by platform-specific - * parts of drivers, and applications that aren't intended to be - * portable: - * - sysclk_enable_peripheral_clock() - * - sysclk_disable_peripheral_clock() - * - sysclk_enable_module() - * - sysclk_disable_module() - * - sysclk_module_is_enabled() - * - sysclk_set_prescalers() - * - * All other functions should be considered platform-specific. - * Enabling/disabling clocks to specific peripherals as well as - * determining the speed of these clocks should be done by calling - * functions provided by the driver for that peripheral. - * - * @{ - */ - -//! \name System Clock Initialization -//@{ -/** - * \fn void sysclk_init(void) - * \brief Initialize the synchronous clock system. - * - * This function will initialize the system clock and its source. This - * includes: - * - Mask all synchronous clocks except for any clocks which are - * essential for normal operation (for example internal memory - * clocks). - * - Set up the system clock prescalers as specified by the - * application's configuration file. - * - Enable the clock source specified by the application's - * configuration file (oscillator or PLL) and wait for it to become - * stable. - * - Set the main system clock source to the clock specified by the - * application's configuration file. - * - * Since all non-essential peripheral clocks are initially disabled, it - * is the responsibility of the peripheral driver to re-enable any - * clocks that are needed for normal operation. - */ -//@} - -//! @} - -#endif /* SYSCLK_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/delay.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/delay.h deleted file mode 100644 index cab97f5..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/delay.h +++ /dev/null @@ -1,139 +0,0 @@ -/** - * \file - * - * \brief Common Delay Service - * - * Copyright (c) 2014-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef _DELAY_H_ -#define _DELAY_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <sysclk.h> - -#if UC3 -# include <cycle_counter.h> -#elif XMEGA -# include "xmega/cycle_counter.h" -#elif MEGA -# include "mega/cycle_counter.h" -#elif SAM -# include "sam/cycle_counter.h" -#endif - -/** - * @defgroup group_common_services_delay Busy-Wait Delay Routines - * - * This module provides simple loop-based delay routines for those - * applications requiring a brief wait during execution. Common API - * for UC3, XMEGA, and AVR MEGA. - * - * @{ - */ - -/** - * @def F_CPU - * @brief MCU Clock Frequency (Hertz) - * - * @deprecated - * The \ref F_CPU configuration constant is used for compatibility with the - * \ref group_common_services_delay routines. The common loop-based delay - * routines are designed to use the \ref clk_group modules while anticipating - * support for legacy applications assuming a statically defined clock - * frequency. Applications using a statically configured MCU clock frequency - * can define \ref F_CPU (Hertz), in which case the common delay routines will - * use this value rather than calling sysclk_get_cpu_hz() to get the current - * MCU clock frequency. - */ -#ifndef F_CPU -# define F_CPU sysclk_get_cpu_hz() -#endif - -/** - * @def delay_init - * - * @brief Initialize the delay driver. - * @param fcpu_hz CPU frequency in Hz - * - * @deprecated - * This function is provided for compatibility with ASF applications that - * may not have been updated to configure the system clock via the common - * clock service; e.g. sysclk_init() and a configuration header file are - * used to configure clocks. - * - * The functions in this module call \ref sysclk_get_cpu_hz() function to - * obtain the system clock frequency. - */ -#define delay_init(fcpu_hz) - -/** - * @def delay_s - * @brief Delay in seconds. - * @param delay Delay in seconds - */ -#define delay_s(delay) ((delay) ? cpu_delay_ms(1000 * delay, F_CPU) : cpu_delay_us(1, F_CPU)) - -/** - * @def delay_ms - * @brief Delay in milliseconds. - * @param delay Delay in milliseconds - */ -#define delay_ms(delay) ((delay) ? cpu_delay_ms(delay, F_CPU) : cpu_delay_us(1, F_CPU)) - -/** - * @def delay_us - * @brief Delay in microseconds. - * @param delay Delay in microseconds - */ -#define delay_us(delay) ((delay) ? cpu_delay_us(delay, F_CPU) : cpu_delay_us(1, F_CPU)) - -#ifdef __cplusplus -} -#endif - -/** - * @} - */ - -#endif /* _DELAY_H_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.c deleted file mode 100644 index 96669ef..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.c +++ /dev/null @@ -1,61 +0,0 @@ -/** - * \file - * - * \brief ARM functions for busy-wait delay loops - * - * Copyright (c) 2012-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "cycle_counter.h" - -// Delay loop is put to SRAM so that FWS will not affect delay time -OPTIMIZE_HIGH -RAMFUNC -void portable_delay_cycles(unsigned long n) -{ - UNUSED(n); - - __asm ( - "loop: DMB \n" - "SUBS R0, R0, #1 \n" - "BNE.N loop " - ); -} diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.h deleted file mode 100644 index 4ac1c6b..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/services/delay/sam/cycle_counter.h +++ /dev/null @@ -1,126 +0,0 @@ -/** - * \file - * - * \brief ARM functions for busy-wait delay loops - * - * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef _cycle_counter_h_ -#define _cycle_counter_h_ - -#ifdef __cplusplus -extern "C" { -#endif - - -#include <compiler.h> - -/** - * @name Convenience functions for busy-wait delay loops - * - * @def delay_cycles - * @brief Delay program execution for a specified number of CPU cycles. - * @param n number of CPU cycles to wait - * - * @def cpu_delay_ms - * @brief Delay program execution for a specified number of milliseconds. - * @param delay number of milliseconds to wait - * @param f_cpu CPU frequency in Hertz - * - * @def cpu_delay_us - * @brief Delay program execution for a specified number of microseconds. - * @param delay number of microseconds to wait - * @param f_cpu CPU frequency in Hertz - * - * @def cpu_ms_2_cy - * @brief Convert milli-seconds into CPU cycles. - * @param ms number of milliseconds - * @param f_cpu CPU frequency in Hertz - * @return the converted number of CPU cycles - * - * @def cpu_us_2_cy - * @brief Convert micro-seconds into CPU cycles. - * @param ms number of microseconds - * @param f_cpu CPU frequency in Hertz - * @return the converted number of CPU cycles - * - * @{ - */ - -/** - * \brief Delay loop to delay n number of cycles - * - * \note The function runs in internal RAM so that flash wait states - * will not affect the delay time. - * - * \param n Number of cycles - */ -void portable_delay_cycles(unsigned long n); - -/* Cortex-M7 is faster than Cortex-M3/M4/M0+ */ -#ifdef __CM7_REV - -# define cpu_ms_2_cy(ms, f_cpu) \ - (((uint64_t)(ms) * (f_cpu) + (uint64_t)(5.932e3 - 1ul)) / (uint64_t)5.932e3) -# define cpu_us_2_cy(us, f_cpu) \ - (((uint64_t)(us) * (f_cpu) + (uint64_t)(5.932e6 - 1ul)) / (uint64_t)5.932e6) - -#else - -# define cpu_ms_2_cy(ms, f_cpu) \ - (((uint64_t)(ms) * (f_cpu) + (uint64_t)(14e3 - 1ul)) / (uint64_t)14e3) -# define cpu_us_2_cy(us, f_cpu) \ - (((uint64_t)(us) * (f_cpu) + (uint64_t)(14e6 - 1ul)) / (uint64_t)14e6) - -#endif - -#define delay_cycles portable_delay_cycles - -#define cpu_delay_ms(delay, f_cpu) delay_cycles(cpu_ms_2_cy(delay, f_cpu)) -#define cpu_delay_us(delay, f_cpu) delay_cycles(cpu_us_2_cy(delay, f_cpu)) -//! @} - - -#ifdef __cplusplus -} -#endif - -#endif /* _cycle_counter_h_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt.h deleted file mode 100644 index a88c6f0..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt.h +++ /dev/null @@ -1,142 +0,0 @@ -/** - * \file - * - * \brief Global interrupt management for 8- and 32-bit AVR - * - * Copyright (c) 2010-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef UTILS_INTERRUPT_H -#define UTILS_INTERRUPT_H - -#include <parts.h> - -#if XMEGA || MEGA -# include "interrupt/interrupt_avr8.h" -#elif UC3 -# include "interrupt/interrupt_avr32.h" -#elif SAM || SAMB -# include "interrupt/interrupt_sam_nvic.h" -#else -# error Unsupported device. -#endif - -/** - * \defgroup interrupt_group Global interrupt management - * - * This is a driver for global enabling and disabling of interrupts. - * - * @{ - */ - -#if defined(__DOXYGEN__) -/** - * \def CONFIG_INTERRUPT_FORCE_INTC - * \brief Force usage of the ASF INTC driver - * - * Predefine this symbol when preprocessing to force the use of the ASF INTC driver. - * This is useful to ensure compatibility across compilers and shall be used only when required - * by the application needs. - */ -# define CONFIG_INTERRUPT_FORCE_INTC -#endif - -//! \name Global interrupt flags -//@{ -/** - * \typedef irqflags_t - * \brief Type used for holding state of interrupt flag - */ - -/** - * \def cpu_irq_enable - * \brief Enable interrupts globally - */ - -/** - * \def cpu_irq_disable - * \brief Disable interrupts globally - */ - -/** - * \fn irqflags_t cpu_irq_save(void) - * \brief Get and clear the global interrupt flags - * - * Use in conjunction with \ref cpu_irq_restore. - * - * \return Current state of interrupt flags. - * - * \note This function leaves interrupts disabled. - */ - -/** - * \fn void cpu_irq_restore(irqflags_t flags) - * \brief Restore global interrupt flags - * - * Use in conjunction with \ref cpu_irq_save. - * - * \param flags State to set interrupt flag to. - */ - -/** - * \fn bool cpu_irq_is_enabled_flags(irqflags_t flags) - * \brief Check if interrupts are globally enabled in supplied flags - * - * \param flags Currents state of interrupt flags. - * - * \return True if interrupts are enabled. - */ - -/** - * \def cpu_irq_is_enabled - * \brief Check if interrupts are globally enabled - * - * \return True if interrupts are enabled. - */ -//@} - -//! @} - -/** - * \ingroup interrupt_group - * \defgroup interrupt_deprecated_group Deprecated interrupt definitions - */ - -#endif /* UTILS_INTERRUPT_H */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c deleted file mode 100644 index 26dcc91..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.c +++ /dev/null @@ -1,86 +0,0 @@ -/** - * \file - * - * \brief Global interrupt management for SAM D20, SAM3 and SAM4 (NVIC based) - * - * Copyright (c) 2012-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "interrupt_sam_nvic.h" - -#if !defined(__DOXYGEN__) -/* Deprecated - global flag to determine the global interrupt state. Required by - * QTouch library, however new applications should use cpu_irq_is_enabled() - * which probes the true global interrupt state from the CPU special registers. - */ -volatile bool g_interrupt_enabled = true; -#endif - -void cpu_irq_enter_critical(void) -{ - if (cpu_irq_critical_section_counter == 0) { - if (cpu_irq_is_enabled()) { - cpu_irq_disable(); - cpu_irq_prev_interrupt_state = true; - } else { - /* Make sure the to save the prev state as false */ - cpu_irq_prev_interrupt_state = false; - } - - } - - cpu_irq_critical_section_counter++; -} - -void cpu_irq_leave_critical(void) -{ - /* Check if the user is trying to leave a critical section when not in a critical section */ - Assert(cpu_irq_critical_section_counter > 0); - - cpu_irq_critical_section_counter--; - - /* Only enable global interrupts when the counter reaches 0 and the state of the global interrupt flag - was enabled when entering critical state */ - if ((cpu_irq_critical_section_counter == 0) && (cpu_irq_prev_interrupt_state)) { - cpu_irq_enable(); - } -} - diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h deleted file mode 100644 index 419ad20..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/interrupt/interrupt_sam_nvic.h +++ /dev/null @@ -1,189 +0,0 @@ -/** - * \file - * - * \brief Global interrupt management for SAM D20, SAM3 and SAM4 (NVIC based) - * - * Copyright (c) 2012-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef UTILS_INTERRUPT_INTERRUPT_H -#define UTILS_INTERRUPT_INTERRUPT_H - -#include <compiler.h> -#include <parts.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \weakgroup interrupt_group - * - * @{ - */ - -/** - * \name Interrupt Service Routine definition - * - * @{ - */ - -/** - * \brief Define service routine - * - * \note For NVIC devices the interrupt service routines are predefined to - * add to vector table in binary generation, so there is no service - * register at run time. The routine collections are in exceptions.h. - * - * Usage: - * \code - ISR(foo_irq_handler) - { - // Function definition - ... - } -\endcode - * - * \param func Name for the function. - */ -# define ISR(func) \ - void func (void) - -/** - * \brief Initialize interrupt vectors - * - * For NVIC the interrupt vectors are put in vector table. So nothing - * to do to initialize them, except defined the vector function with - * right name. - * - * This must be called prior to \ref irq_register_handler. - */ -# define irq_initialize_vectors() \ - do { \ - } while(0) - -/** - * \brief Register handler for interrupt - * - * For NVIC the interrupt vectors are put in vector table. So nothing - * to do to register them, except defined the vector function with - * right name. - * - * Usage: - * \code - irq_initialize_vectors(); - irq_register_handler(foo_irq_handler); -\endcode - * - * \note The function \a func must be defined with the \ref ISR macro. - * \note The functions prototypes can be found in the device exception header - * files (exceptions.h). - */ -# define irq_register_handler(int_num, int_prio) \ - NVIC_ClearPendingIRQ( (IRQn_Type)int_num); \ - NVIC_SetPriority( (IRQn_Type)int_num, int_prio); \ - NVIC_EnableIRQ( (IRQn_Type)int_num); \ - -//@} - -# define cpu_irq_enable() \ - do { \ - g_interrupt_enabled = true; \ - __DMB(); \ - __enable_irq(); \ - } while (0) -# define cpu_irq_disable() \ - do { \ - __disable_irq(); \ - __DMB(); \ - g_interrupt_enabled = false; \ - } while (0) - -typedef uint32_t irqflags_t; - -#if !defined(__DOXYGEN__) -extern volatile bool g_interrupt_enabled; -#endif - -#define cpu_irq_is_enabled() (__get_PRIMASK() == 0) - -static volatile uint32_t cpu_irq_critical_section_counter; -static volatile bool cpu_irq_prev_interrupt_state; - -static inline irqflags_t cpu_irq_save(void) -{ - volatile irqflags_t flags = cpu_irq_is_enabled(); - cpu_irq_disable(); - return flags; -} - -static inline bool cpu_irq_is_enabled_flags(irqflags_t flags) -{ - return (flags); -} - -static inline void cpu_irq_restore(irqflags_t flags) -{ - if (cpu_irq_is_enabled_flags(flags)) - cpu_irq_enable(); -} - -void cpu_irq_enter_critical(void); -void cpu_irq_leave_critical(void); - -/** - * \weakgroup interrupt_deprecated_group - * @{ - */ - -#define Enable_global_interrupt() cpu_irq_enable() -#define Disable_global_interrupt() cpu_irq_disable() -#define Is_global_interrupt_enabled() cpu_irq_is_enabled() - -//@} - -//@} - -#ifdef __cplusplus -} -#endif - -#endif /* UTILS_INTERRUPT_INTERRUPT_H */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/parts.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/parts.h deleted file mode 100644 index 27cbe5f..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/common/utils/parts.h +++ /dev/null @@ -1,1594 +0,0 @@ -/** - * \file - * - * \brief Atmel part identification macros - * - * Copyright (C) 2012-2017 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef ATMEL_PARTS_H -#define ATMEL_PARTS_H - -/** - * \defgroup part_macros_group Atmel part identification macros - * - * This collection of macros identify which series and families that the various - * Atmel parts belong to. These can be used to select part-dependent sections of - * code at compile time. - * - * @{ - */ - -/** - * \name Convenience macros for part checking - * @{ - */ -/* ! Check GCC and IAR part definition for 8-bit AVR */ -#define AVR8_PART_IS_DEFINED(part) \ - (defined(__ ## part ## __) || defined(__AVR_ ## part ## __)) - -/* ! Check GCC and IAR part definition for 32-bit AVR */ -#define AVR32_PART_IS_DEFINED(part) \ - (defined(__AT32 ## part ## __) || defined(__AVR32_ ## part ## __)) - -/* ! Check GCC and IAR part definition for SAM */ -#define SAM_PART_IS_DEFINED(part) (defined(__ ## part ## __)) -/** @} */ - -/** - * \defgroup uc3_part_macros_group AVR UC3 parts - * @{ - */ - -/** - * \name AVR UC3 A series - * @{ - */ -#define UC3A0 ( \ - AVR32_PART_IS_DEFINED(UC3A0128) || \ - AVR32_PART_IS_DEFINED(UC3A0256) || \ - AVR32_PART_IS_DEFINED(UC3A0512) \ - ) - -#define UC3A1 ( \ - AVR32_PART_IS_DEFINED(UC3A1128) || \ - AVR32_PART_IS_DEFINED(UC3A1256) || \ - AVR32_PART_IS_DEFINED(UC3A1512) \ - ) - -#define UC3A3 ( \ - AVR32_PART_IS_DEFINED(UC3A364) || \ - AVR32_PART_IS_DEFINED(UC3A364S) || \ - AVR32_PART_IS_DEFINED(UC3A3128) || \ - AVR32_PART_IS_DEFINED(UC3A3128S) || \ - AVR32_PART_IS_DEFINED(UC3A3256) || \ - AVR32_PART_IS_DEFINED(UC3A3256S) \ - ) - -#define UC3A4 ( \ - AVR32_PART_IS_DEFINED(UC3A464) || \ - AVR32_PART_IS_DEFINED(UC3A464S) || \ - AVR32_PART_IS_DEFINED(UC3A4128) || \ - AVR32_PART_IS_DEFINED(UC3A4128S) || \ - AVR32_PART_IS_DEFINED(UC3A4256) || \ - AVR32_PART_IS_DEFINED(UC3A4256S) \ - ) -/** @} */ - -/** - * \name AVR UC3 B series - * @{ - */ -#define UC3B0 ( \ - AVR32_PART_IS_DEFINED(UC3B064) || \ - AVR32_PART_IS_DEFINED(UC3B0128) || \ - AVR32_PART_IS_DEFINED(UC3B0256) || \ - AVR32_PART_IS_DEFINED(UC3B0512) \ - ) - -#define UC3B1 ( \ - AVR32_PART_IS_DEFINED(UC3B164) || \ - AVR32_PART_IS_DEFINED(UC3B1128) || \ - AVR32_PART_IS_DEFINED(UC3B1256) || \ - AVR32_PART_IS_DEFINED(UC3B1512) \ - ) -/** @} */ - -/** - * \name AVR UC3 C series - * @{ - */ -#define UC3C0 ( \ - AVR32_PART_IS_DEFINED(UC3C064C) || \ - AVR32_PART_IS_DEFINED(UC3C0128C) || \ - AVR32_PART_IS_DEFINED(UC3C0256C) || \ - AVR32_PART_IS_DEFINED(UC3C0512C) \ - ) - -#define UC3C1 ( \ - AVR32_PART_IS_DEFINED(UC3C164C) || \ - AVR32_PART_IS_DEFINED(UC3C1128C) || \ - AVR32_PART_IS_DEFINED(UC3C1256C) || \ - AVR32_PART_IS_DEFINED(UC3C1512C) \ - ) - -#define UC3C2 ( \ - AVR32_PART_IS_DEFINED(UC3C264C) || \ - AVR32_PART_IS_DEFINED(UC3C2128C) || \ - AVR32_PART_IS_DEFINED(UC3C2256C) || \ - AVR32_PART_IS_DEFINED(UC3C2512C) \ - ) -/** @} */ - -/** - * \name AVR UC3 D series - * @{ - */ -#define UC3D3 ( \ - AVR32_PART_IS_DEFINED(UC64D3) || \ - AVR32_PART_IS_DEFINED(UC128D3) \ - ) - -#define UC3D4 ( \ - AVR32_PART_IS_DEFINED(UC64D4) || \ - AVR32_PART_IS_DEFINED(UC128D4) \ - ) -/** @} */ - -/** - * \name AVR UC3 L series - * @{ - */ -#define UC3L0 ( \ - AVR32_PART_IS_DEFINED(UC3L016) || \ - AVR32_PART_IS_DEFINED(UC3L032) || \ - AVR32_PART_IS_DEFINED(UC3L064) \ - ) - -#define UC3L0128 ( \ - AVR32_PART_IS_DEFINED(UC3L0128) \ - ) - -#define UC3L0256 ( \ - AVR32_PART_IS_DEFINED(UC3L0256) \ - ) - -#define UC3L3 ( \ - AVR32_PART_IS_DEFINED(UC64L3U) || \ - AVR32_PART_IS_DEFINED(UC128L3U) || \ - AVR32_PART_IS_DEFINED(UC256L3U) \ - ) - -#define UC3L4 ( \ - AVR32_PART_IS_DEFINED(UC64L4U) || \ - AVR32_PART_IS_DEFINED(UC128L4U) || \ - AVR32_PART_IS_DEFINED(UC256L4U) \ - ) - -#define UC3L3_L4 (UC3L3 || UC3L4) -/** @} */ - -/** - * \name AVR UC3 families - * @{ - */ -/** AVR UC3 A family */ -#define UC3A (UC3A0 || UC3A1 || UC3A3 || UC3A4) - -/** AVR UC3 B family */ -#define UC3B (UC3B0 || UC3B1) - -/** AVR UC3 C family */ -#define UC3C (UC3C0 || UC3C1 || UC3C2) - -/** AVR UC3 D family */ -#define UC3D (UC3D3 || UC3D4) - -/** AVR UC3 L family */ -#define UC3L (UC3L0 || UC3L0128 || UC3L0256 || UC3L3_L4) -/** @} */ - -/** AVR UC3 product line */ -#define UC3 (UC3A || UC3B || UC3C || UC3D || UC3L) - -/** @} */ - -/** - * \defgroup xmega_part_macros_group AVR XMEGA parts - * @{ - */ - -/** - * \name AVR XMEGA A series - * @{ - */ -#define XMEGA_A1 ( \ - AVR8_PART_IS_DEFINED(ATxmega64A1) || \ - AVR8_PART_IS_DEFINED(ATxmega128A1) \ - ) - -#define XMEGA_A3 ( \ - AVR8_PART_IS_DEFINED(ATxmega64A3) || \ - AVR8_PART_IS_DEFINED(ATxmega128A3) || \ - AVR8_PART_IS_DEFINED(ATxmega192A3) || \ - AVR8_PART_IS_DEFINED(ATxmega256A3) \ - ) - -#define XMEGA_A3B ( \ - AVR8_PART_IS_DEFINED(ATxmega256A3B) \ - ) - -#define XMEGA_A4 ( \ - AVR8_PART_IS_DEFINED(ATxmega16A4) || \ - AVR8_PART_IS_DEFINED(ATxmega32A4) \ - ) -/** @} */ - -/** - * \name AVR XMEGA AU series - * @{ - */ -#define XMEGA_A1U ( \ - AVR8_PART_IS_DEFINED(ATxmega64A1U) || \ - AVR8_PART_IS_DEFINED(ATxmega128A1U) \ - ) - -#define XMEGA_A3U ( \ - AVR8_PART_IS_DEFINED(ATxmega64A3U) || \ - AVR8_PART_IS_DEFINED(ATxmega128A3U) || \ - AVR8_PART_IS_DEFINED(ATxmega192A3U) || \ - AVR8_PART_IS_DEFINED(ATxmega256A3U) \ - ) - -#define XMEGA_A3BU ( \ - AVR8_PART_IS_DEFINED(ATxmega256A3BU) \ - ) - -#define XMEGA_A4U ( \ - AVR8_PART_IS_DEFINED(ATxmega16A4U) || \ - AVR8_PART_IS_DEFINED(ATxmega32A4U) || \ - AVR8_PART_IS_DEFINED(ATxmega64A4U) || \ - AVR8_PART_IS_DEFINED(ATxmega128A4U) \ - ) -/** @} */ - -/** - * \name AVR XMEGA B series - * @{ - */ -#define XMEGA_B1 ( \ - AVR8_PART_IS_DEFINED(ATxmega64B1) || \ - AVR8_PART_IS_DEFINED(ATxmega128B1) \ - ) - -#define XMEGA_B3 ( \ - AVR8_PART_IS_DEFINED(ATxmega64B3) || \ - AVR8_PART_IS_DEFINED(ATxmega128B3) \ - ) -/** @} */ - -/** - * \name AVR XMEGA C series - * @{ - */ -#define XMEGA_C3 ( \ - AVR8_PART_IS_DEFINED(ATxmega384C3) || \ - AVR8_PART_IS_DEFINED(ATxmega256C3) || \ - AVR8_PART_IS_DEFINED(ATxmega192C3) || \ - AVR8_PART_IS_DEFINED(ATxmega128C3) || \ - AVR8_PART_IS_DEFINED(ATxmega64C3) || \ - AVR8_PART_IS_DEFINED(ATxmega32C3) \ - ) - -#define XMEGA_C4 ( \ - AVR8_PART_IS_DEFINED(ATxmega32C4) || \ - AVR8_PART_IS_DEFINED(ATxmega16C4) \ - ) -/** @} */ - -/** - * \name AVR XMEGA D series - * @{ - */ -#define XMEGA_D3 ( \ - AVR8_PART_IS_DEFINED(ATxmega32D3) || \ - AVR8_PART_IS_DEFINED(ATxmega64D3) || \ - AVR8_PART_IS_DEFINED(ATxmega128D3) || \ - AVR8_PART_IS_DEFINED(ATxmega192D3) || \ - AVR8_PART_IS_DEFINED(ATxmega256D3) || \ - AVR8_PART_IS_DEFINED(ATxmega384D3) \ - ) - -#define XMEGA_D4 ( \ - AVR8_PART_IS_DEFINED(ATxmega16D4) || \ - AVR8_PART_IS_DEFINED(ATxmega32D4) || \ - AVR8_PART_IS_DEFINED(ATxmega64D4) || \ - AVR8_PART_IS_DEFINED(ATxmega128D4) \ - ) -/** @} */ - -/** - * \name AVR XMEGA E series - * @{ - */ -#define XMEGA_E5 ( \ - AVR8_PART_IS_DEFINED(ATxmega8E5) || \ - AVR8_PART_IS_DEFINED(ATxmega16E5) || \ - AVR8_PART_IS_DEFINED(ATxmega32E5) \ - ) -/** @} */ - - -/** - * \name AVR XMEGA families - * @{ - */ -/** AVR XMEGA A family */ -#define XMEGA_A (XMEGA_A1 || XMEGA_A3 || XMEGA_A3B || XMEGA_A4) - -/** AVR XMEGA AU family */ -#define XMEGA_AU (XMEGA_A1U || XMEGA_A3U || XMEGA_A3BU || XMEGA_A4U) - -/** AVR XMEGA B family */ -#define XMEGA_B (XMEGA_B1 || XMEGA_B3) - -/** AVR XMEGA C family */ -#define XMEGA_C (XMEGA_C3 || XMEGA_C4) - -/** AVR XMEGA D family */ -#define XMEGA_D (XMEGA_D3 || XMEGA_D4) - -/** AVR XMEGA E family */ -#define XMEGA_E (XMEGA_E5) -/** @} */ - - -/** AVR XMEGA product line */ -#define XMEGA (XMEGA_A || XMEGA_AU || XMEGA_B || XMEGA_C || XMEGA_D || XMEGA_E) - -/** @} */ - -/** - * \defgroup mega_part_macros_group megaAVR parts - * - * \note These megaAVR groupings are based on the groups in AVR Libc for the - * part header files. They are not names of official megaAVR device series or - * families. - * - * @{ - */ - -/** - * \name ATmegaxx0/xx1 subgroups - * @{ - */ -#define MEGA_XX0 ( \ - AVR8_PART_IS_DEFINED(ATmega640) || \ - AVR8_PART_IS_DEFINED(ATmega1280) || \ - AVR8_PART_IS_DEFINED(ATmega2560) \ - ) - -#define MEGA_XX1 ( \ - AVR8_PART_IS_DEFINED(ATmega1281) || \ - AVR8_PART_IS_DEFINED(ATmega2561) \ - ) -/** @} */ - -/** - * \name megaAVR groups - * @{ - */ -/** ATmegaxx0/xx1 group */ -#define MEGA_XX0_1 (MEGA_XX0 || MEGA_XX1) - -/** ATmegaxx4 group */ -#define MEGA_XX4 ( \ - AVR8_PART_IS_DEFINED(ATmega164A) || \ - AVR8_PART_IS_DEFINED(ATmega164PA) || \ - AVR8_PART_IS_DEFINED(ATmega324A) || \ - AVR8_PART_IS_DEFINED(ATmega324PA) || \ - AVR8_PART_IS_DEFINED(ATmega324PB) || \ - AVR8_PART_IS_DEFINED(ATmega644) || \ - AVR8_PART_IS_DEFINED(ATmega644A) || \ - AVR8_PART_IS_DEFINED(ATmega644PA) || \ - AVR8_PART_IS_DEFINED(ATmega1284P) || \ - AVR8_PART_IS_DEFINED(ATmega128RFA1) \ - ) - -/** ATmegaxx4 group */ -#define MEGA_XX4_A ( \ - AVR8_PART_IS_DEFINED(ATmega164A) || \ - AVR8_PART_IS_DEFINED(ATmega164PA) || \ - AVR8_PART_IS_DEFINED(ATmega324A) || \ - AVR8_PART_IS_DEFINED(ATmega324PA) || \ - AVR8_PART_IS_DEFINED(ATmega644A) || \ - AVR8_PART_IS_DEFINED(ATmega644PA) || \ - AVR8_PART_IS_DEFINED(ATmega1284P) \ - ) - -/** ATmegaxx8 group */ -#define MEGA_XX8 ( \ - AVR8_PART_IS_DEFINED(ATmega48) || \ - AVR8_PART_IS_DEFINED(ATmega48A) || \ - AVR8_PART_IS_DEFINED(ATmega48PA) || \ - AVR8_PART_IS_DEFINED(ATmega48PB) || \ - AVR8_PART_IS_DEFINED(ATmega88) || \ - AVR8_PART_IS_DEFINED(ATmega88A) || \ - AVR8_PART_IS_DEFINED(ATmega88PA) || \ - AVR8_PART_IS_DEFINED(ATmega88PB) || \ - AVR8_PART_IS_DEFINED(ATmega168) || \ - AVR8_PART_IS_DEFINED(ATmega168A) || \ - AVR8_PART_IS_DEFINED(ATmega168PA) || \ - AVR8_PART_IS_DEFINED(ATmega168PB) || \ - AVR8_PART_IS_DEFINED(ATmega328) || \ - AVR8_PART_IS_DEFINED(ATmega328P) || \ - AVR8_PART_IS_DEFINED(ATmega328PB) \ - ) - -/** ATmegaxx8A/P/PA group */ -#define MEGA_XX8_A ( \ - AVR8_PART_IS_DEFINED(ATmega48A) || \ - AVR8_PART_IS_DEFINED(ATmega48PA) || \ - AVR8_PART_IS_DEFINED(ATmega88A) || \ - AVR8_PART_IS_DEFINED(ATmega88PA) || \ - AVR8_PART_IS_DEFINED(ATmega168A) || \ - AVR8_PART_IS_DEFINED(ATmega168PA) || \ - AVR8_PART_IS_DEFINED(ATmega328P) \ - ) - -/** ATmegaxx group */ -#define MEGA_XX ( \ - AVR8_PART_IS_DEFINED(ATmega16) || \ - AVR8_PART_IS_DEFINED(ATmega16A) || \ - AVR8_PART_IS_DEFINED(ATmega32) || \ - AVR8_PART_IS_DEFINED(ATmega32A) || \ - AVR8_PART_IS_DEFINED(ATmega64) || \ - AVR8_PART_IS_DEFINED(ATmega64A) || \ - AVR8_PART_IS_DEFINED(ATmega128) || \ - AVR8_PART_IS_DEFINED(ATmega128A) \ - ) - -/** ATmegaxxA/P/PA group */ -#define MEGA_XX_A ( \ - AVR8_PART_IS_DEFINED(ATmega16A) || \ - AVR8_PART_IS_DEFINED(ATmega32A) || \ - AVR8_PART_IS_DEFINED(ATmega64A) || \ - AVR8_PART_IS_DEFINED(ATmega128A) \ - ) -/** ATmegaxxRFA1 group */ -#define MEGA_RFA1 ( \ - AVR8_PART_IS_DEFINED(ATmega128RFA1) \ - ) - -/** ATmegaxxRFR2 group */ -#define MEGA_RFR2 ( \ - AVR8_PART_IS_DEFINED(ATmega64RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega128RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega256RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega644RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega1284RFR2) || \ - AVR8_PART_IS_DEFINED(ATmega2564RFR2) \ - ) - - -/** ATmegaxxRFxx group */ -#define MEGA_RF (MEGA_RFA1 || MEGA_RFR2) - -/** - * \name ATmegaxx_un0/un1/un2 subgroups - * @{ - */ -#define MEGA_XX_UN0 ( \ - AVR8_PART_IS_DEFINED(ATmega16) || \ - AVR8_PART_IS_DEFINED(ATmega16A) || \ - AVR8_PART_IS_DEFINED(ATmega32) || \ - AVR8_PART_IS_DEFINED(ATmega32A) \ - ) - -/** ATmegaxx group without power reduction and - * And interrupt sense register. - */ -#define MEGA_XX_UN1 ( \ - AVR8_PART_IS_DEFINED(ATmega64) || \ - AVR8_PART_IS_DEFINED(ATmega64A) || \ - AVR8_PART_IS_DEFINED(ATmega128) || \ - AVR8_PART_IS_DEFINED(ATmega128A) \ - ) - -/** ATmegaxx group without power reduction and - * And interrupt sense register. - */ -#define MEGA_XX_UN2 ( \ - AVR8_PART_IS_DEFINED(ATmega169P) || \ - AVR8_PART_IS_DEFINED(ATmega169PA) || \ - AVR8_PART_IS_DEFINED(ATmega329P) || \ - AVR8_PART_IS_DEFINED(ATmega329PA) \ - ) - -/** Devices added to complete megaAVR offering. - * Please do not use this group symbol as it is not intended - * to be permanent: the devices should be regrouped. - */ -#define MEGA_UNCATEGORIZED ( \ - AVR8_PART_IS_DEFINED(AT90CAN128) || \ - AVR8_PART_IS_DEFINED(AT90CAN32) || \ - AVR8_PART_IS_DEFINED(AT90CAN64) || \ - AVR8_PART_IS_DEFINED(AT90PWM1) || \ - AVR8_PART_IS_DEFINED(AT90PWM216) || \ - AVR8_PART_IS_DEFINED(AT90PWM2B) || \ - AVR8_PART_IS_DEFINED(AT90PWM316) || \ - AVR8_PART_IS_DEFINED(AT90PWM3B) || \ - AVR8_PART_IS_DEFINED(AT90PWM81) || \ - AVR8_PART_IS_DEFINED(AT90USB1286) || \ - AVR8_PART_IS_DEFINED(AT90USB1287) || \ - AVR8_PART_IS_DEFINED(AT90USB162) || \ - AVR8_PART_IS_DEFINED(AT90USB646) || \ - AVR8_PART_IS_DEFINED(AT90USB647) || \ - AVR8_PART_IS_DEFINED(AT90USB82) || \ - AVR8_PART_IS_DEFINED(ATmega1284) || \ - AVR8_PART_IS_DEFINED(ATmega162) || \ - AVR8_PART_IS_DEFINED(ATmega164P) || \ - AVR8_PART_IS_DEFINED(ATmega165A) || \ - AVR8_PART_IS_DEFINED(ATmega165P) || \ - AVR8_PART_IS_DEFINED(ATmega165PA) || \ - AVR8_PART_IS_DEFINED(ATmega168P) || \ - AVR8_PART_IS_DEFINED(ATmega169A) || \ - AVR8_PART_IS_DEFINED(ATmega16M1) || \ - AVR8_PART_IS_DEFINED(ATmega16U2) || \ - AVR8_PART_IS_DEFINED(ATmega16U4) || \ - AVR8_PART_IS_DEFINED(ATmega256RFA2) || \ - AVR8_PART_IS_DEFINED(ATmega324P) || \ - AVR8_PART_IS_DEFINED(ATmega325) || \ - AVR8_PART_IS_DEFINED(ATmega3250) || \ - AVR8_PART_IS_DEFINED(ATmega3250A) || \ - AVR8_PART_IS_DEFINED(ATmega3250P) || \ - AVR8_PART_IS_DEFINED(ATmega3250PA) || \ - AVR8_PART_IS_DEFINED(ATmega325A) || \ - AVR8_PART_IS_DEFINED(ATmega325P) || \ - AVR8_PART_IS_DEFINED(ATmega325PA) || \ - AVR8_PART_IS_DEFINED(ATmega329) || \ - AVR8_PART_IS_DEFINED(ATmega3290) || \ - AVR8_PART_IS_DEFINED(ATmega3290A) || \ - AVR8_PART_IS_DEFINED(ATmega3290P) || \ - AVR8_PART_IS_DEFINED(ATmega3290PA) || \ - AVR8_PART_IS_DEFINED(ATmega329A) || \ - AVR8_PART_IS_DEFINED(ATmega32M1) || \ - AVR8_PART_IS_DEFINED(ATmega32U2) || \ - AVR8_PART_IS_DEFINED(ATmega32U4) || \ - AVR8_PART_IS_DEFINED(ATmega48P) || \ - AVR8_PART_IS_DEFINED(ATmega644P) || \ - AVR8_PART_IS_DEFINED(ATmega645) || \ - AVR8_PART_IS_DEFINED(ATmega6450) || \ - AVR8_PART_IS_DEFINED(ATmega6450A) || \ - AVR8_PART_IS_DEFINED(ATmega6450P) || \ - AVR8_PART_IS_DEFINED(ATmega645A) || \ - AVR8_PART_IS_DEFINED(ATmega645P) || \ - AVR8_PART_IS_DEFINED(ATmega649) || \ - AVR8_PART_IS_DEFINED(ATmega6490) || \ - AVR8_PART_IS_DEFINED(ATmega6490A) || \ - AVR8_PART_IS_DEFINED(ATmega6490P) || \ - AVR8_PART_IS_DEFINED(ATmega649A) || \ - AVR8_PART_IS_DEFINED(ATmega649P) || \ - AVR8_PART_IS_DEFINED(ATmega64M1) || \ - AVR8_PART_IS_DEFINED(ATmega64RFA2) || \ - AVR8_PART_IS_DEFINED(ATmega8) || \ - AVR8_PART_IS_DEFINED(ATmega8515) || \ - AVR8_PART_IS_DEFINED(ATmega8535) || \ - AVR8_PART_IS_DEFINED(ATmega88P) || \ - AVR8_PART_IS_DEFINED(ATmega8A) || \ - AVR8_PART_IS_DEFINED(ATmega8U2) \ - ) - -/** Unspecified group */ -#define MEGA_UNSPECIFIED (MEGA_XX_UN0 || MEGA_XX_UN1 || MEGA_XX_UN2 || \ - MEGA_UNCATEGORIZED) - -/** @} */ - -/** megaAVR product line */ -#define MEGA (MEGA_XX0_1 || MEGA_XX4 || MEGA_XX8 || MEGA_XX || MEGA_RF || \ - MEGA_UNSPECIFIED) - -/** @} */ - -/** - * \defgroup sam_part_macros_group SAM parts - * @{ - */ - -/** - * \name SAM3S series - * @{ - */ -#define SAM3S1 ( \ - SAM_PART_IS_DEFINED(SAM3S1A) || \ - SAM_PART_IS_DEFINED(SAM3S1B) || \ - SAM_PART_IS_DEFINED(SAM3S1C) \ - ) - -#define SAM3S2 ( \ - SAM_PART_IS_DEFINED(SAM3S2A) || \ - SAM_PART_IS_DEFINED(SAM3S2B) || \ - SAM_PART_IS_DEFINED(SAM3S2C) \ - ) - -#define SAM3S4 ( \ - SAM_PART_IS_DEFINED(SAM3S4A) || \ - SAM_PART_IS_DEFINED(SAM3S4B) || \ - SAM_PART_IS_DEFINED(SAM3S4C) \ - ) - -#define SAM3S8 ( \ - SAM_PART_IS_DEFINED(SAM3S8B) || \ - SAM_PART_IS_DEFINED(SAM3S8C) \ - ) - -#define SAM3SD8 ( \ - SAM_PART_IS_DEFINED(SAM3SD8B) || \ - SAM_PART_IS_DEFINED(SAM3SD8C) \ - ) -/** @} */ - -/** - * \name SAM3U series - * @{ - */ -#define SAM3U1 ( \ - SAM_PART_IS_DEFINED(SAM3U1C) || \ - SAM_PART_IS_DEFINED(SAM3U1E) \ - ) - -#define SAM3U2 ( \ - SAM_PART_IS_DEFINED(SAM3U2C) || \ - SAM_PART_IS_DEFINED(SAM3U2E) \ - ) - -#define SAM3U4 ( \ - SAM_PART_IS_DEFINED(SAM3U4C) || \ - SAM_PART_IS_DEFINED(SAM3U4E) \ - ) -/** @} */ - -/** - * \name SAM3N series - * @{ - */ -#define SAM3N00 ( \ - SAM_PART_IS_DEFINED(SAM3N00A) || \ - SAM_PART_IS_DEFINED(SAM3N00B) \ - ) - -#define SAM3N0 ( \ - SAM_PART_IS_DEFINED(SAM3N0A) || \ - SAM_PART_IS_DEFINED(SAM3N0B) || \ - SAM_PART_IS_DEFINED(SAM3N0C) \ - ) - -#define SAM3N1 ( \ - SAM_PART_IS_DEFINED(SAM3N1A) || \ - SAM_PART_IS_DEFINED(SAM3N1B) || \ - SAM_PART_IS_DEFINED(SAM3N1C) \ - ) - -#define SAM3N2 ( \ - SAM_PART_IS_DEFINED(SAM3N2A) || \ - SAM_PART_IS_DEFINED(SAM3N2B) || \ - SAM_PART_IS_DEFINED(SAM3N2C) \ - ) - -#define SAM3N4 ( \ - SAM_PART_IS_DEFINED(SAM3N4A) || \ - SAM_PART_IS_DEFINED(SAM3N4B) || \ - SAM_PART_IS_DEFINED(SAM3N4C) \ - ) -/** @} */ - -/** - * \name SAM3X series - * @{ - */ -#define SAM3X4 ( \ - SAM_PART_IS_DEFINED(SAM3X4C) || \ - SAM_PART_IS_DEFINED(SAM3X4E) \ - ) - -#define SAM3X8 ( \ - SAM_PART_IS_DEFINED(SAM3X8C) || \ - SAM_PART_IS_DEFINED(SAM3X8E) || \ - SAM_PART_IS_DEFINED(SAM3X8H) \ - ) -/** @} */ - -/** - * \name SAM3A series - * @{ - */ -#define SAM3A4 ( \ - SAM_PART_IS_DEFINED(SAM3A4C) \ - ) - -#define SAM3A8 ( \ - SAM_PART_IS_DEFINED(SAM3A8C) \ - ) -/** @} */ - -/** - * \name SAM4S series - * @{ - */ -#define SAM4S2 ( \ - SAM_PART_IS_DEFINED(SAM4S2A) || \ - SAM_PART_IS_DEFINED(SAM4S2B) || \ - SAM_PART_IS_DEFINED(SAM4S2C) \ - ) - -#define SAM4S4 ( \ - SAM_PART_IS_DEFINED(SAM4S4A) || \ - SAM_PART_IS_DEFINED(SAM4S4B) || \ - SAM_PART_IS_DEFINED(SAM4S4C) \ - ) - -#define SAM4S8 ( \ - SAM_PART_IS_DEFINED(SAM4S8B) || \ - SAM_PART_IS_DEFINED(SAM4S8C) \ - ) - -#define SAM4S16 ( \ - SAM_PART_IS_DEFINED(SAM4S16B) || \ - SAM_PART_IS_DEFINED(SAM4S16C) \ - ) - -#define SAM4SA16 ( \ - SAM_PART_IS_DEFINED(SAM4SA16B) || \ - SAM_PART_IS_DEFINED(SAM4SA16C) \ - ) - -#define SAM4SD16 ( \ - SAM_PART_IS_DEFINED(SAM4SD16B) || \ - SAM_PART_IS_DEFINED(SAM4SD16C) \ - ) - -#define SAM4SD32 ( \ - SAM_PART_IS_DEFINED(SAM4SD32B) || \ - SAM_PART_IS_DEFINED(SAM4SD32C) \ - ) -/** @} */ - -/** - * \name SAM4L series - * @{ - */ -#define SAM4LS ( \ - SAM_PART_IS_DEFINED(SAM4LS2A) || \ - SAM_PART_IS_DEFINED(SAM4LS2B) || \ - SAM_PART_IS_DEFINED(SAM4LS2C) || \ - SAM_PART_IS_DEFINED(SAM4LS4A) || \ - SAM_PART_IS_DEFINED(SAM4LS4B) || \ - SAM_PART_IS_DEFINED(SAM4LS4C) || \ - SAM_PART_IS_DEFINED(SAM4LS8A) || \ - SAM_PART_IS_DEFINED(SAM4LS8B) || \ - SAM_PART_IS_DEFINED(SAM4LS8C) \ - ) - -#define SAM4LC ( \ - SAM_PART_IS_DEFINED(SAM4LC2A) || \ - SAM_PART_IS_DEFINED(SAM4LC2B) || \ - SAM_PART_IS_DEFINED(SAM4LC2C) || \ - SAM_PART_IS_DEFINED(SAM4LC4A) || \ - SAM_PART_IS_DEFINED(SAM4LC4B) || \ - SAM_PART_IS_DEFINED(SAM4LC4C) || \ - SAM_PART_IS_DEFINED(SAM4LC8A) || \ - SAM_PART_IS_DEFINED(SAM4LC8B) || \ - SAM_PART_IS_DEFINED(SAM4LC8C) \ - ) -/** @} */ - -/** - * \name SAMD20 series - * @{ - */ -#define SAMD20J ( \ - SAM_PART_IS_DEFINED(SAMD20J14) || \ - SAM_PART_IS_DEFINED(SAMD20J15) || \ - SAM_PART_IS_DEFINED(SAMD20J16) || \ - SAM_PART_IS_DEFINED(SAMD20J17) || \ - SAM_PART_IS_DEFINED(SAMD20J18) \ - ) - -#define SAMD20G ( \ - SAM_PART_IS_DEFINED(SAMD20G14) || \ - SAM_PART_IS_DEFINED(SAMD20G15) || \ - SAM_PART_IS_DEFINED(SAMD20G16) || \ - SAM_PART_IS_DEFINED(SAMD20G17) || \ - SAM_PART_IS_DEFINED(SAMD20G17U) || \ - SAM_PART_IS_DEFINED(SAMD20G18) || \ - SAM_PART_IS_DEFINED(SAMD20G18U) \ - ) - -#define SAMD20E ( \ - SAM_PART_IS_DEFINED(SAMD20E14) || \ - SAM_PART_IS_DEFINED(SAMD20E15) || \ - SAM_PART_IS_DEFINED(SAMD20E16) || \ - SAM_PART_IS_DEFINED(SAMD20E17) || \ - SAM_PART_IS_DEFINED(SAMD20E18) \ - ) -/** @} */ - -/** - * \name SAMD21 series - * @{ - */ -#define SAMD21J ( \ - SAM_PART_IS_DEFINED(SAMD21J15A) || \ - SAM_PART_IS_DEFINED(SAMD21J16A) || \ - SAM_PART_IS_DEFINED(SAMD21J17A) || \ - SAM_PART_IS_DEFINED(SAMD21J18A) || \ - SAM_PART_IS_DEFINED(SAMD21J15B) || \ - SAM_PART_IS_DEFINED(SAMD21J16B) \ - ) - -#define SAMD21G ( \ - SAM_PART_IS_DEFINED(SAMD21G15A) || \ - SAM_PART_IS_DEFINED(SAMD21G16A) || \ - SAM_PART_IS_DEFINED(SAMD21G17A) || \ - SAM_PART_IS_DEFINED(SAMD21G17AU) || \ - SAM_PART_IS_DEFINED(SAMD21G18A) || \ - SAM_PART_IS_DEFINED(SAMD21G18AU) || \ - SAM_PART_IS_DEFINED(SAMD21G15B) || \ - SAM_PART_IS_DEFINED(SAMD21G16B) || \ - SAM_PART_IS_DEFINED(SAMD21G15L) || \ - SAM_PART_IS_DEFINED(SAMD21G16L) \ - ) - -#define SAMD21GXXL ( \ - SAM_PART_IS_DEFINED(SAMD21G15L) || \ - SAM_PART_IS_DEFINED(SAMD21G16L) \ - ) - -#define SAMD21E ( \ - SAM_PART_IS_DEFINED(SAMD21E15A) || \ - SAM_PART_IS_DEFINED(SAMD21E16A) || \ - SAM_PART_IS_DEFINED(SAMD21E17A) || \ - SAM_PART_IS_DEFINED(SAMD21E18A) || \ - SAM_PART_IS_DEFINED(SAMD21E15B) || \ - SAM_PART_IS_DEFINED(SAMD21E15BU) || \ - SAM_PART_IS_DEFINED(SAMD21E16B) || \ - SAM_PART_IS_DEFINED(SAMD21E16BU) || \ - SAM_PART_IS_DEFINED(SAMD21E15L) || \ - SAM_PART_IS_DEFINED(SAMD21E16L) \ - ) - -#define SAMD21EXXL ( \ - SAM_PART_IS_DEFINED(SAMD21E15L) || \ - SAM_PART_IS_DEFINED(SAMD21E16L) \ - ) - -/** @} */ - -/** - * \name SAMR21 series - * @{ - */ -#define SAMR21G ( \ - SAM_PART_IS_DEFINED(SAMR21G16A) || \ - SAM_PART_IS_DEFINED(SAMR21G17A) || \ - SAM_PART_IS_DEFINED(SAMR21G18A) \ - ) - -#define SAMR21E ( \ - SAM_PART_IS_DEFINED(SAMR21E16A) || \ - SAM_PART_IS_DEFINED(SAMR21E17A) || \ - SAM_PART_IS_DEFINED(SAMR21E18A) || \ - SAM_PART_IS_DEFINED(SAMR21E19A) \ - ) -/** @} */ - -/** - * \name SAMR30 series - * @{ - */ -#define SAMR30G ( \ - SAM_PART_IS_DEFINED(SAMR30G18A) \ - ) - -#define SAMR30E ( \ - SAM_PART_IS_DEFINED(SAMR30E18A) \ - ) -/** @} */ - -/** - * \name SAMB11 series - * @{ - */ -#define SAMB11G ( \ - SAM_PART_IS_DEFINED(SAMB11G18A) || \ - SAM_PART_IS_DEFINED(SAMB11ZR) \ - ) -#define BTLC1000 ( \ - SAM_PART_IS_DEFINED(BTLC1000WLCSP) \ - ) - -/** @} */ - -/** - * \name SAMD09 series - * @{ - */ -#define SAMD09C ( \ - SAM_PART_IS_DEFINED(SAMD09C13A) \ - ) - -#define SAMD09D ( \ - SAM_PART_IS_DEFINED(SAMD09D14A) \ - ) -/** @} */ - -/** - * \name SAMD10 series - * @{ - */ -#define SAMD10C ( \ - SAM_PART_IS_DEFINED(SAMD10C12A) || \ - SAM_PART_IS_DEFINED(SAMD10C13A) || \ - SAM_PART_IS_DEFINED(SAMD10C14A) \ - ) - -#define SAMD10DS ( \ - SAM_PART_IS_DEFINED(SAMD10D12AS) || \ - SAM_PART_IS_DEFINED(SAMD10D13AS) || \ - SAM_PART_IS_DEFINED(SAMD10D14AS) \ - ) - -#define SAMD10DM ( \ - SAM_PART_IS_DEFINED(SAMD10D12AM) || \ - SAM_PART_IS_DEFINED(SAMD10D13AM) || \ - SAM_PART_IS_DEFINED(SAMD10D14AM) \ - ) - -#define SAMD10DU ( \ - SAM_PART_IS_DEFINED(SAMD10D14AU) \ - ) -/** @} */ - -/** - * \name SAMD11 series - * @{ - */ -#define SAMD11C ( \ - SAM_PART_IS_DEFINED(SAMD11C14A) \ - ) - -#define SAMD11DS ( \ - SAM_PART_IS_DEFINED(SAMD11D14AS) \ - ) - -#define SAMD11DM ( \ - SAM_PART_IS_DEFINED(SAMD11D14AM) \ - ) - -#define SAMD11DU ( \ - SAM_PART_IS_DEFINED(SAMD11D14AU) \ - ) -/** @} */ - -/** - * \name SAML21 series - * @{ - */ -#define SAML21E ( \ - SAM_PART_IS_DEFINED(SAML21E18A) || \ - SAM_PART_IS_DEFINED(SAML21E15B) || \ - SAM_PART_IS_DEFINED(SAML21E16B) || \ - SAM_PART_IS_DEFINED(SAML21E17B) || \ - SAM_PART_IS_DEFINED(SAML21E18B) \ - ) - -#define SAML21G ( \ - SAM_PART_IS_DEFINED(SAML21G18A) || \ - SAM_PART_IS_DEFINED(SAML21G16B) || \ - SAM_PART_IS_DEFINED(SAML21G17B) || \ - SAM_PART_IS_DEFINED(SAML21G18B) \ - ) - -#define SAML21J ( \ - SAM_PART_IS_DEFINED(SAML21J18A) || \ - SAM_PART_IS_DEFINED(SAML21J16B) || \ - SAM_PART_IS_DEFINED(SAML21J17B) || \ - SAM_PART_IS_DEFINED(SAML21J18B) \ - ) - -/* Group for SAML21 A variant: SAML21[E/G/J][18]A */ -#define SAML21XXXA ( \ - SAM_PART_IS_DEFINED(SAML21E18A) || \ - SAM_PART_IS_DEFINED(SAML21G18A) || \ - SAM_PART_IS_DEFINED(SAML21J18A) \ - ) - -/* Group for SAML21 B variant: SAML21[E/G/J][15/16/1718]B */ -#define SAML21XXXB ( \ - SAM_PART_IS_DEFINED(SAML21E15B) || \ - SAM_PART_IS_DEFINED(SAML21E16B) || \ - SAM_PART_IS_DEFINED(SAML21E17B) || \ - SAM_PART_IS_DEFINED(SAML21E18B) || \ - SAM_PART_IS_DEFINED(SAML21G16B) || \ - SAM_PART_IS_DEFINED(SAML21G17B) || \ - SAM_PART_IS_DEFINED(SAML21G18B) || \ - SAM_PART_IS_DEFINED(SAML21J16B) || \ - SAM_PART_IS_DEFINED(SAML21J17B) || \ - SAM_PART_IS_DEFINED(SAML21J18B) \ - ) - -/** @} */ - -/** - * \name SAML22 series - * @{ - */ -#define SAML22N ( \ - SAM_PART_IS_DEFINED(SAML22N16A) || \ - SAM_PART_IS_DEFINED(SAML22N17A) || \ - SAM_PART_IS_DEFINED(SAML22N18A) \ - ) - -#define SAML22G ( \ - SAM_PART_IS_DEFINED(SAML22G16A) || \ - SAM_PART_IS_DEFINED(SAML22G17A) || \ - SAM_PART_IS_DEFINED(SAML22G18A) \ - ) - -#define SAML22J ( \ - SAM_PART_IS_DEFINED(SAML22J16A) || \ - SAM_PART_IS_DEFINED(SAML22J17A) || \ - SAM_PART_IS_DEFINED(SAML22J18A) \ - ) -/** @} */ - -/** - * \name SAMDA1 series - * @{ - */ -#define SAMDA1J ( \ - SAM_PART_IS_DEFINED(SAMDA1J14A) || \ - SAM_PART_IS_DEFINED(SAMDA1J15B) || \ - SAM_PART_IS_DEFINED(SAMDA1J15A) || \ - SAM_PART_IS_DEFINED(SAMDA1J15B) || \ - SAM_PART_IS_DEFINED(SAMDA1J16A) || \ - SAM_PART_IS_DEFINED(SAMDA1J16B) \ - ) - -#define SAMDA1G ( \ - SAM_PART_IS_DEFINED(SAMDA1G14A) || \ - SAM_PART_IS_DEFINED(SAMDA1G14B) || \ - SAM_PART_IS_DEFINED(SAMDA1G15A) || \ - SAM_PART_IS_DEFINED(SAMDA1G15B) || \ - SAM_PART_IS_DEFINED(SAMDA1G16A) || \ - SAM_PART_IS_DEFINED(SAMDA1G16B) \ - ) - -#define SAMDA1E ( \ - SAM_PART_IS_DEFINED(SAMDA1E14A) || \ - SAM_PART_IS_DEFINED(SAMDA1E14B) || \ - SAM_PART_IS_DEFINED(SAMDA1E15A) || \ - SAM_PART_IS_DEFINED(SAMDA1E15B) || \ - SAM_PART_IS_DEFINED(SAMDA1E16A) || \ - SAM_PART_IS_DEFINED(SAMDA1E16B) \ - ) -/** @} */ - -/** - * \name SAMHA1 series - * @{ - */ -#define SAMHA1G ( \ - SAM_PART_IS_DEFINED(SAMHA1G14A) || \ - SAM_PART_IS_DEFINED(SAMHA1G15A) || \ - SAM_PART_IS_DEFINED(SAMHA1G16A) \ - ) - -/** @} */ - -/** - * \name SAMC20 series - * @{ - */ -#define SAMC20E ( \ - SAM_PART_IS_DEFINED(SAMC20E15A) || \ - SAM_PART_IS_DEFINED(SAMC20E16A) || \ - SAM_PART_IS_DEFINED(SAMC20E17A) || \ - SAM_PART_IS_DEFINED(SAMC20E18A) \ - ) - -#define SAMC20G ( \ - SAM_PART_IS_DEFINED(SAMC20G15A) || \ - SAM_PART_IS_DEFINED(SAMC20G16A) || \ - SAM_PART_IS_DEFINED(SAMC20G17A) || \ - SAM_PART_IS_DEFINED(SAMC20G18A) \ - ) - -#define SAMC20J ( \ - SAM_PART_IS_DEFINED(SAMC20J15A) || \ - SAM_PART_IS_DEFINED(SAMC20J16A) || \ - SAM_PART_IS_DEFINED(SAMC20J17A) || \ - SAM_PART_IS_DEFINED(SAMC20J18A) \ - ) -/** @} */ - -/** - * \name SAMC21 series - * @{ - */ -#define SAMC21E ( \ - SAM_PART_IS_DEFINED(SAMC21E15A) || \ - SAM_PART_IS_DEFINED(SAMC21E16A) || \ - SAM_PART_IS_DEFINED(SAMC21E17A) || \ - SAM_PART_IS_DEFINED(SAMC21E18A) \ - ) - -#define SAMC21G ( \ - SAM_PART_IS_DEFINED(SAMC21G15A) || \ - SAM_PART_IS_DEFINED(SAMC21G16A) || \ - SAM_PART_IS_DEFINED(SAMC21G17A) || \ - SAM_PART_IS_DEFINED(SAMC21G18A) \ - ) - -#define SAMC21J ( \ - SAM_PART_IS_DEFINED(SAMC21J15A) || \ - SAM_PART_IS_DEFINED(SAMC21J16A) || \ - SAM_PART_IS_DEFINED(SAMC21J17A) || \ - SAM_PART_IS_DEFINED(SAMC21J18A) \ - ) -/** @} */ - -/** - * \name SAM4E series - * @{ - */ -#define SAM4E8 ( \ - SAM_PART_IS_DEFINED(SAM4E8C) || \ - SAM_PART_IS_DEFINED(SAM4E8CB) || \ - SAM_PART_IS_DEFINED(SAM4E8E) \ - ) - -#define SAM4E16 ( \ - SAM_PART_IS_DEFINED(SAM4E16C) || \ - SAM_PART_IS_DEFINED(SAM4E16CB) || \ - SAM_PART_IS_DEFINED(SAM4E16E) \ - ) -/** @} */ - -/** - * \name SAM4N series - * @{ - */ -#define SAM4N8 ( \ - SAM_PART_IS_DEFINED(SAM4N8A) || \ - SAM_PART_IS_DEFINED(SAM4N8B) || \ - SAM_PART_IS_DEFINED(SAM4N8C) \ - ) - -#define SAM4N16 ( \ - SAM_PART_IS_DEFINED(SAM4N16B) || \ - SAM_PART_IS_DEFINED(SAM4N16C) \ - ) -/** @} */ - -/** - * \name SAM4C series - * @{ - */ -#define SAM4C4_0 ( \ - SAM_PART_IS_DEFINED(SAM4C4C_0) \ - ) - -#define SAM4C4_1 ( \ - SAM_PART_IS_DEFINED(SAM4C4C_1) \ - ) - -#define SAM4C4 (SAM4C4_0 || SAM4C4_1) - -#define SAM4C8_0 ( \ - SAM_PART_IS_DEFINED(SAM4C8C_0) \ - ) - -#define SAM4C8_1 ( \ - SAM_PART_IS_DEFINED(SAM4C8C_1) \ - ) - -#define SAM4C8 (SAM4C8_0 || SAM4C8_1) - -#define SAM4C16_0 ( \ - SAM_PART_IS_DEFINED(SAM4C16C_0) \ - ) - -#define SAM4C16_1 ( \ - SAM_PART_IS_DEFINED(SAM4C16C_1) \ - ) - -#define SAM4C16 (SAM4C16_0 || SAM4C16_1) - -#define SAM4C32_0 ( \ - SAM_PART_IS_DEFINED(SAM4C32C_0) ||\ - SAM_PART_IS_DEFINED(SAM4C32E_0) \ - ) - -#define SAM4C32_1 ( \ - SAM_PART_IS_DEFINED(SAM4C32C_1) ||\ - SAM_PART_IS_DEFINED(SAM4C32E_1) \ - ) - - -#define SAM4C32 (SAM4C32_0 || SAM4C32_1) - -/** @} */ - -/** - * \name SAM4CM series - * @{ - */ -#define SAM4CMP8_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMP8C_0) \ - ) - -#define SAM4CMP8_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMP8C_1) \ - ) - -#define SAM4CMP8 (SAM4CMP8_0 || SAM4CMP8_1) - -#define SAM4CMP16_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMP16C_0) \ - ) - -#define SAM4CMP16_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMP16C_1) \ - ) - -#define SAM4CMP16 (SAM4CMP16_0 || SAM4CMP16_1) - -#define SAM4CMP32_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMP32C_0) \ - ) - -#define SAM4CMP32_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMP32C_1) \ - ) - -#define SAM4CMP32 (SAM4CMP32_0 || SAM4CMP32_1) - -#define SAM4CMS4_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS4C_0) \ - ) - -#define SAM4CMS4_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS4C_1) \ - ) - -#define SAM4CMS4 (SAM4CMS4_0 || SAM4CMS4_1) - -#define SAM4CMS8_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS8C_0) \ - ) - -#define SAM4CMS8_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS8C_1) \ - ) - -#define SAM4CMS8 (SAM4CMS8_0 || SAM4CMS8_1) - -#define SAM4CMS16_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS16C_0) \ - ) - -#define SAM4CMS16_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS16C_1) \ - ) - -#define SAM4CMS16 (SAM4CMS16_0 || SAM4CMS16_1) - -#define SAM4CMS32_0 ( \ - SAM_PART_IS_DEFINED(SAM4CMS32C_0) \ - ) - -#define SAM4CMS32_1 ( \ - SAM_PART_IS_DEFINED(SAM4CMS32C_1) \ - ) - -#define SAM4CMS32 (SAM4CMS32_0 || SAM4CMS32_1) - -/** @} */ - -/** - * \name SAM4CP series - * @{ - */ -#define SAM4CP16_0 ( \ - SAM_PART_IS_DEFINED(SAM4CP16B_0) \ - ) - -#define SAM4CP16_1 ( \ - SAM_PART_IS_DEFINED(SAM4CP16B_1) \ - ) - -#define SAM4CP16 (SAM4CP16_0 || SAM4CP16_1) -/** @} */ - -/** - * \name SAMG series - * @{ - */ -#define SAMG51 ( \ - SAM_PART_IS_DEFINED(SAMG51G18) \ - ) - -#define SAMG53 ( \ - SAM_PART_IS_DEFINED(SAMG53G19) ||\ - SAM_PART_IS_DEFINED(SAMG53N19) \ - ) - -#define SAMG54 ( \ - SAM_PART_IS_DEFINED(SAMG54G19) ||\ - SAM_PART_IS_DEFINED(SAMG54J19) ||\ - SAM_PART_IS_DEFINED(SAMG54N19) \ - ) - -#define SAMG55 ( \ - SAM_PART_IS_DEFINED(SAMG55G18) ||\ - SAM_PART_IS_DEFINED(SAMG55G19) ||\ - SAM_PART_IS_DEFINED(SAMG55J18) ||\ - SAM_PART_IS_DEFINED(SAMG55J19) ||\ - SAM_PART_IS_DEFINED(SAMG55N19) \ - ) -/** @} */ - -/** - * \name SAMV71 series - * @{ - */ -#define SAMV71J ( \ - SAM_PART_IS_DEFINED(SAMV71J19) || \ - SAM_PART_IS_DEFINED(SAMV71J20) || \ - SAM_PART_IS_DEFINED(SAMV71J21) \ - ) - -#define SAMV71N ( \ - SAM_PART_IS_DEFINED(SAMV71N19) || \ - SAM_PART_IS_DEFINED(SAMV71N20) || \ - SAM_PART_IS_DEFINED(SAMV71N21) \ - ) - -#define SAMV71Q ( \ - SAM_PART_IS_DEFINED(SAMV71Q19) || \ - SAM_PART_IS_DEFINED(SAMV71Q20) || \ - SAM_PART_IS_DEFINED(SAMV71Q21) \ - ) -/** @} */ - -/** - * \name SAMV70 series - * @{ - */ -#define SAMV70J ( \ - SAM_PART_IS_DEFINED(SAMV70J19) || \ - SAM_PART_IS_DEFINED(SAMV70J20) \ - ) - -#define SAMV70N ( \ - SAM_PART_IS_DEFINED(SAMV70N19) || \ - SAM_PART_IS_DEFINED(SAMV70N20) \ - ) - -#define SAMV70Q ( \ - SAM_PART_IS_DEFINED(SAMV70Q19) || \ - SAM_PART_IS_DEFINED(SAMV70Q20) \ - ) -/** @} */ - -/** - * \name SAMS70 series - * @{ - */ -#define SAMS70J ( \ - SAM_PART_IS_DEFINED(SAMS70J19) || \ - SAM_PART_IS_DEFINED(SAMS70J20) || \ - SAM_PART_IS_DEFINED(SAMS70J21) \ - ) - -#define SAMS70N ( \ - SAM_PART_IS_DEFINED(SAMS70N19) || \ - SAM_PART_IS_DEFINED(SAMS70N20) || \ - SAM_PART_IS_DEFINED(SAMS70N21) \ - ) - -#define SAMS70Q ( \ - SAM_PART_IS_DEFINED(SAMS70Q19) || \ - SAM_PART_IS_DEFINED(SAMS70Q20) || \ - SAM_PART_IS_DEFINED(SAMS70Q21) \ - ) -/** @} */ - -/** - * \name SAME70 series - * @{ - */ -#define SAME70J ( \ - SAM_PART_IS_DEFINED(SAME70J19) || \ - SAM_PART_IS_DEFINED(SAME70J20) || \ - SAM_PART_IS_DEFINED(SAME70J21) \ - ) - -#define SAME70N ( \ - SAM_PART_IS_DEFINED(SAME70N19) || \ - SAM_PART_IS_DEFINED(SAME70N20) || \ - SAM_PART_IS_DEFINED(SAME70N21) \ - ) - -#define SAME70Q ( \ - SAM_PART_IS_DEFINED(SAME70Q19) || \ - SAM_PART_IS_DEFINED(SAME70Q20) || \ - SAM_PART_IS_DEFINED(SAME70Q21) \ - ) -/** @} */ - -/** - * \name SAM families - * @{ - */ -/** SAM3S Family */ -#define SAM3S (SAM3S1 || SAM3S2 || SAM3S4 || SAM3S8 || SAM3SD8) - -/** SAM3U Family */ -#define SAM3U (SAM3U1 || SAM3U2 || SAM3U4) - -/** SAM3N Family */ -#define SAM3N (SAM3N00 || SAM3N0 || SAM3N1 || SAM3N2 || SAM3N4) - -/** SAM3XA Family */ -#define SAM3XA (SAM3X4 || SAM3X8 || SAM3A4 || SAM3A8) - -/** SAM4S Family */ -#define SAM4S (SAM4S2 || SAM4S4 || SAM4S8 || SAM4S16 || SAM4SA16 || SAM4SD16 || SAM4SD32) - -/** SAM4L Family */ -#define SAM4L (SAM4LS || SAM4LC) - -/** SAMD20 Family */ -#define SAMD20 (SAMD20J || SAMD20G || SAMD20E) - -/** SAMD21 Family */ -#define SAMD21 (SAMD21J || SAMD21G || SAMD21E) - -/** SAMD09 Family */ -#define SAMD09 (SAMD09C || SAMD09D) - -/** SAMD10 Family */ -#define SAMD10 (SAMD10C || SAMD10DS || SAMD10DM || SAMD10DU) - -/** SAMD11 Family */ -#define SAMD11 (SAMD11C || SAMD11DS || SAMD11DM || SAMD11DU) - -/** SAMDA1 Family */ -#define SAMDA1 (SAMDA1J || SAMDA1G || SAMDA1E) - -/** SAMHA1 Family */ -#define SAMHA1 (SAMHA1G) - -/** SAMD Family */ -#define SAMD (SAMD20 || SAMD21 || SAMD09 || SAMD10 || SAMD11 || SAMDA1) - -/** SAMR21 Family */ -#define SAMR21 (SAMR21G || SAMR21E) - -/** SAMR30 Family */ -#define SAMR30 (SAMR30G || SAMR30E) - -/** SAMB11 Family */ -#define SAMB11 (SAMB11G || BTLC1000) - -/** SAML21 Family */ -#define SAML21 (SAML21J || SAML21G || SAML21E) - -/** SAML22 Family */ -#define SAML22 (SAML22J || SAML22G || SAML22N) -/** SAMC20 Family */ -#define SAMC20 (SAMC20J || SAMC20G || SAMC20E) - -/** SAMC21 Family */ -#define SAMC21 (SAMC21J || SAMC21G || SAMC21E) - -/** SAM4E Family */ -#define SAM4E (SAM4E8 || SAM4E16) - -/** SAM4N Family */ -#define SAM4N (SAM4N8 || SAM4N16) - -/** SAM4C Family */ -#define SAM4C_0 (SAM4C4_0 || SAM4C8_0 || SAM4C16_0 || SAM4C32_0) -#define SAM4C_1 (SAM4C4_1 || SAM4C8_1 || SAM4C16_1 || SAM4C32_1) -#define SAM4C (SAM4C4 || SAM4C8 || SAM4C16 || SAM4C32) - -/** SAM4CM Family */ -#define SAM4CM_0 (SAM4CMP8_0 || SAM4CMP16_0 || SAM4CMP32_0 || \ - SAM4CMS4_0 || SAM4CMS8_0 || SAM4CMS16_0 || SAM4CMS32_0) -#define SAM4CM_1 (SAM4CMP8_1 || SAM4CMP16_1 || SAM4CMP32_1 || \ - SAM4CMS4_1 || SAM4CMS8_1 || SAM4CMS16_1 || SAM4CMS32_1) -#define SAM4CM (SAM4CMP8 || SAM4CMP16 || SAM4CMP32 || \ - SAM4CMS4 || SAM4CMS8 || SAM4CMS16 || SAM4CMS32) - -/** SAM4CP Family */ -#define SAM4CP_0 (SAM4CP16_0) -#define SAM4CP_1 (SAM4CP16_1) -#define SAM4CP (SAM4CP16) - -/** SAMG Family */ -#define SAMG (SAMG51 || SAMG53 || SAMG54 || SAMG55) - -/** SAMB Family */ -#define SAMB (SAMB11) - -/** SAMV71 Family */ -#define SAMV71 (SAMV71J || SAMV71N || SAMV71Q) - -/** SAMV70 Family */ -#define SAMV70 (SAMV70J || SAMV70N || SAMV70Q) - -/** SAME70 Family */ -#define SAME70 (SAME70J || SAME70N || SAME70Q) - -/** SAMS70 Family */ -#define SAMS70 (SAMS70J || SAMS70N || SAMS70Q) - -/** SAM0 product line (cortex-m0+) */ -#define SAM0 (SAMD20 || SAMD21 || SAMR21 || SAMD10 || SAMD11 || SAML21 ||\ - SAMDA1 || SAMC20 || SAMC21 || SAML22 || SAMD09 || SAMR30 || SAMHA1) - -/** @} */ - -/** SAM product line */ -#define SAM (SAM3S || SAM3U || SAM3N || SAM3XA || SAM4S || SAM4L || SAM4E || \ - SAM0 || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG || SAMV71 || SAMV70 || SAME70 || SAMS70) - -/** @} */ - -/** @} */ - -/** @} */ - -#endif /* ATMEL_PARTS_H */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.c deleted file mode 100644 index bb330e4..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.c +++ /dev/null @@ -1,1657 +0,0 @@ -/** - * \file - * - * \brief Power Management Controller (PMC) driver for SAM. - * - * Copyright (c) 2011-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "pmc.h" - -#if (SAM3N) -# define MAX_PERIPH_ID 31 -#elif (SAM3XA) -# define MAX_PERIPH_ID 44 -#elif (SAM3U) -# define MAX_PERIPH_ID 29 -#elif (SAM3S || SAM4S) -# define MAX_PERIPH_ID 34 -#elif (SAM4E) -# define MAX_PERIPH_ID 47 -#elif (SAMV71) -# define MAX_PERIPH_ID 63 -#elif (SAMV70) -# define MAX_PERIPH_ID 63 -#elif (SAME70) -# define MAX_PERIPH_ID 63 -#elif (SAMS70) -# define MAX_PERIPH_ID 63 -#elif (SAM4N) -# define MAX_PERIPH_ID 31 -#elif (SAM4C || SAM4CM || SAM4CP) -# define MAX_PERIPH_ID 43 -#elif (SAMG51) -# define MAX_PERIPH_ID 47 -#elif (SAMG53) -# define MAX_PERIPH_ID 47 -#elif (SAMG54) -# define MAX_PERIPH_ID 47 -#elif (SAMG55) -# define MAX_PERIPH_ID 50 -#endif - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** - * \defgroup sam_drivers_pmc_group Power Management Controller (PMC) - * - * \par Purpose - * - * The Power Management Controller (PMC) optimizes power consumption by - * controlling all system and user peripheral clocks. The PMC enables/disables - * the clock inputs to many of the peripherals and the Cortex-M Processor. - * - * @{ - */ - -/** - * \brief Set the prescaler of the MCK. - * - * \param ul_pres Prescaler value. - */ -void pmc_mck_set_prescaler(uint32_t ul_pres) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); -} - -#if SAMV71 || SAMV70 || SAME70 || SAMS70 -/** - * \brief Set the division of the MCK. - * - * \param ul_div Division value. - */ -void pmc_mck_set_division(uint32_t ul_div) -{ - switch (ul_div) { - case 1: - ul_div = PMC_MCKR_MDIV_EQ_PCK; - break; - case 2: - ul_div = PMC_MCKR_MDIV_PCK_DIV2; - break; - case 3: - ul_div = PMC_MCKR_MDIV_PCK_DIV3; - break; - case 4: - ul_div = PMC_MCKR_MDIV_PCK_DIV4; - break; - default: - ul_div = PMC_MCKR_MDIV_EQ_PCK; - break; - } - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_MDIV_Msk)) | ul_div; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); -} -#endif - -/** - * \brief Set the source of the MCK. - * - * \param ul_source Source selection value. - */ -void pmc_mck_set_source(uint32_t ul_source) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | ul_source; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); -} - -/** - * \brief Switch master clock source selection to slow clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_sclk(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_SLOW_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch master clock source selection to main clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_mainck(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_MAIN_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch master clock source selection to PLLA clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_pllack(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_PLLA_CLK; - - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -/** - * \brief Switch master clock source selection to PLLB clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_pllbck(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_PLLB_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch master clock source selection to UPLL clock. - * - * \param ul_pres Processor clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_mck_to_upllck(uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_PRES_Msk)) | ul_pres; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & (~PMC_MCKR_CSS_Msk)) | - PMC_MCKR_CSS_UPLL_CLK; - for (ul_timeout = PMC_TIMEOUT; !(PMC->PMC_SR & PMC_SR_MCKRDY); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -/** - * \brief Switch slow clock source selection to external 32k (Xtal or Bypass). - * - * \note Switching SCLK back to 32krc is only possible by shutting down the - * VDDIO power supply. - * - * \param ul_bypass 0 for Xtal, 1 for bypass. - */ -void pmc_switch_sclk_to_32kxtal(uint32_t ul_bypass) -{ - /* Set Bypass mode if required */ - if (ul_bypass == 1) { - SUPC->SUPC_MR |= SUPC_MR_KEY_PASSWD | - SUPC_MR_OSCBYPASS; - } - - SUPC->SUPC_CR = SUPC_CR_KEY_PASSWD | SUPC_CR_XTALSEL; -} - -/** - * \brief Check if the external 32k Xtal is ready. - * - * \retval 1 External 32k Xtal is ready. - * \retval 0 External 32k Xtal is not ready. - */ -uint32_t pmc_osc_is_ready_32kxtal(void) -{ - return ((SUPC->SUPC_SR & SUPC_SR_OSCSEL) - && (PMC->PMC_SR & PMC_SR_OSCSELS)); -} - -/** - * \brief Switch main clock source selection to internal fast RC. - * - * \param ul_moscrcf Fast RC oscillator(4/8/12Mhz). - * - * \retval 0 Success. - * \retval 1 Timeout error. - * \retval 2 Invalid frequency. - */ -void pmc_switch_mainck_to_fastrc(uint32_t ul_moscrcf) -{ - /* Enable Fast RC oscillator but DO NOT switch to RC now */ - PMC->CKGR_MOR |= (CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCRCEN); - - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Change Fast RC oscillator frequency */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCF_Msk) | - CKGR_MOR_KEY_PASSWD | ul_moscrcf; - - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Switch to Fast RC */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCSEL) | - CKGR_MOR_KEY_PASSWD; -} - -/** - * \brief Enable fast RC oscillator. - * - * \param ul_rc Fast RC oscillator(4/8/12Mhz). - */ -void pmc_osc_enable_fastrc(uint32_t ul_rc) -{ - /* Enable Fast RC oscillator but DO NOT switch to RC */ - PMC->CKGR_MOR |= (CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCRCEN); - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Change Fast RC oscillator frequency */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCF_Msk) | - CKGR_MOR_KEY_PASSWD | ul_rc; - /* Wait the Fast RC to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); -} - -/** - * \brief Disable the internal fast RC. - */ -void pmc_osc_disable_fastrc(void) -{ - /* Disable Fast RC oscillator */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCEN & - ~CKGR_MOR_MOSCRCF_Msk) - | CKGR_MOR_KEY_PASSWD; -} - -/** - * \brief Check if the main fastrc is ready. - * - * \retval 0 Xtal is not ready, otherwise ready. - */ -uint32_t pmc_osc_is_ready_fastrc(void) -{ - return (PMC->PMC_SR & PMC_SR_MOSCRCS); -} - -/** - * \brief Enable main XTAL oscillator. - * - * \param ul_xtal_startup_time Xtal start-up time, in number of slow clocks. - */ -void pmc_osc_enable_main_xtal(uint32_t ul_xtal_startup_time) -{ - uint32_t mor = PMC->CKGR_MOR; - mor &= ~(CKGR_MOR_MOSCXTBY|CKGR_MOR_MOSCXTEN); - mor |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTEN | - CKGR_MOR_MOSCXTST(ul_xtal_startup_time); - PMC->CKGR_MOR = mor; - /* Wait the main Xtal to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCXTS)); -} - -/** - * \brief Bypass main XTAL. - */ -void pmc_osc_bypass_main_xtal(void) -{ - uint32_t mor = PMC->CKGR_MOR; - mor &= ~(CKGR_MOR_MOSCXTBY|CKGR_MOR_MOSCXTEN); - mor |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTBY; - /* Enable Crystal oscillator but DO NOT switch now. Keep MOSCSEL to 0 */ - PMC->CKGR_MOR = mor; - /* The MOSCXTS in PMC_SR is automatically set */ -} - -/** - * \brief Disable the main Xtal. - */ -void pmc_osc_disable_main_xtal(void) -{ - uint32_t mor = PMC->CKGR_MOR; - mor &= ~(CKGR_MOR_MOSCXTBY|CKGR_MOR_MOSCXTEN); - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | mor; -} - -/** - * \brief Check if the main crystal is bypassed. - * - * \retval 0 Xtal is bypassed, otherwise not. - */ -uint32_t pmc_osc_is_bypassed_main_xtal(void) -{ - return (PMC->CKGR_MOR & CKGR_MOR_MOSCXTBY); -} - -/** - * \brief Check if the main crystal is ready. - * - * \note If main crystal is bypassed, it's always ready. - * - * \retval 0 main crystal is not ready, otherwise ready. - */ -uint32_t pmc_osc_is_ready_main_xtal(void) -{ - return (PMC->PMC_SR & PMC_SR_MOSCXTS); -} - -/** - * \brief Switch main clock source selection to external Xtal/Bypass. - * - * \note The function may switch MCK to SCLK if MCK source is MAINCK to avoid - * any system crash. - * - * \note If used in Xtal mode, the Xtal is automatically enabled. - * - * \param ul_bypass 0 for Xtal, 1 for bypass. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -void pmc_switch_mainck_to_xtal(uint32_t ul_bypass, - uint32_t ul_xtal_startup_time) -{ - /* Enable Main Xtal oscillator */ - if (ul_bypass) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTBY | - CKGR_MOR_MOSCSEL; - } else { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTBY) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTEN | - CKGR_MOR_MOSCXTST(ul_xtal_startup_time); - /* Wait the Xtal to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCXTS)); - - PMC->CKGR_MOR |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCSEL; - } -} - -/** - * \brief Disable the external Xtal. - * - * \param ul_bypass 0 for Xtal, 1 for bypass. - */ -void pmc_osc_disable_xtal(uint32_t ul_bypass) -{ - /* Disable xtal oscillator */ - if (ul_bypass) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTBY) | - CKGR_MOR_KEY_PASSWD; - } else { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD; - } -} - -/** - * \brief Check if the MAINCK is ready. Depending on MOSCEL, MAINCK can be one - * of Xtal, bypass or internal RC. - * - * \retval 1 Xtal is ready. - * \retval 0 Xtal is not ready. - */ -uint32_t pmc_osc_is_ready_mainck(void) -{ - return PMC->PMC_SR & PMC_SR_MOSCSELS; -} - -/** - * \brief Select Main Crystal or internal RC as main clock source. - * - * \note This function will not enable/disable RC or Main Crystal. - * - * \param ul_xtal_rc 0 internal RC is selected, otherwise Main Crystal. - */ -void pmc_mainck_osc_select(uint32_t ul_xtal_rc) -{ - uint32_t mor = PMC->CKGR_MOR; - if (ul_xtal_rc) { - mor |= CKGR_MOR_MOSCSEL; - } else { - mor &= ~CKGR_MOR_MOSCSEL; - } - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | mor; -} - -/** - * \brief Enable PLLA clock. - * - * \param mula PLLA multiplier. - * \param pllacount PLLA counter. - * \param diva Divider. - */ -void pmc_enable_pllack(uint32_t mula, uint32_t pllacount, uint32_t diva) -{ - /* first disable the PLL to unlock the lock */ - pmc_disable_pllack(); - -#if (SAM4C || SAM4CM || SAM4CP || SAMG) - PMC->CKGR_PLLAR = CKGR_PLLAR_PLLAEN(diva) | - CKGR_PLLAR_PLLACOUNT(pllacount) | CKGR_PLLAR_MULA(mula); -#else - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | CKGR_PLLAR_DIVA(diva) | - CKGR_PLLAR_PLLACOUNT(pllacount) | CKGR_PLLAR_MULA(mula); -#endif - while ((PMC->PMC_SR & PMC_SR_LOCKA) == 0); -} - -/** - * \brief Disable PLLA clock. - */ -void pmc_disable_pllack(void) -{ -#if (SAM4C || SAM4CM || SAM4CP || SAMG) - PMC->CKGR_PLLAR = CKGR_PLLAR_MULA(0); -#else - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | CKGR_PLLAR_MULA(0); -#endif -} - -/** - * \brief Is PLLA locked? - * - * \retval 0 Not locked. - * \retval 1 Locked. - */ -uint32_t pmc_is_locked_pllack(void) -{ - return (PMC->PMC_SR & PMC_SR_LOCKA); -} - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -/** - * \brief Enable PLLB clock. - * - * \param mulb PLLB multiplier. - * \param pllbcount PLLB counter. - * \param divb Divider. - */ -void pmc_enable_pllbck(uint32_t mulb, uint32_t pllbcount, uint32_t divb) -{ - /* first disable the PLL to unlock the lock */ - pmc_disable_pllbck(); - -#if SAMG55 - PMC->CKGR_PLLAR = CKGR_PLLAR_PLLAEN(divb) | - CKGR_PLLAR_PLLACOUNT(pllbcount) | CKGR_PLLAR_MULA(mulb); -#else - PMC->CKGR_PLLBR = - CKGR_PLLBR_DIVB(divb) | CKGR_PLLBR_PLLBCOUNT(pllbcount) - | CKGR_PLLBR_MULB(mulb); -#endif - while ((PMC->PMC_SR & PMC_SR_LOCKB) == 0); -} - -/** - * \brief Disable PLLB clock. - */ -void pmc_disable_pllbck(void) -{ - PMC->CKGR_PLLBR = CKGR_PLLBR_MULB(0); -} - -/** - * \brief Is PLLB locked? - * - * \retval 0 Not locked. - * \retval 1 Locked. - */ -uint32_t pmc_is_locked_pllbck(void) -{ - return (PMC->PMC_SR & PMC_SR_LOCKB); -} -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable UPLL clock. - */ -void pmc_enable_upll_clock(void) -{ - PMC->CKGR_UCKR = CKGR_UCKR_UPLLCOUNT(3) | CKGR_UCKR_UPLLEN; - - /* Wait UTMI PLL Lock Status */ - while (!(PMC->PMC_SR & PMC_SR_LOCKU)); -} - -/** - * \brief Disable UPLL clock. - */ -void pmc_disable_upll_clock(void) -{ - PMC->CKGR_UCKR &= ~CKGR_UCKR_UPLLEN; -} - -/** - * \brief Is UPLL locked? - * - * \retval 0 Not locked. - * \retval 1 Locked. - */ -uint32_t pmc_is_locked_upll(void) -{ - return (PMC->PMC_SR & PMC_SR_LOCKU); -} -#endif - -/** - * \brief Enable the specified peripheral clock. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Invalid parameter. - */ -uint32_t pmc_enable_periph_clk(uint32_t ul_id) -{ - if (ul_id > MAX_PERIPH_ID) { - return 1; - } - - if (ul_id < 32) { - if ((PMC->PMC_PCSR0 & (1u << ul_id)) != (1u << ul_id)) { - PMC->PMC_PCER0 = 1 << ul_id; - } -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - } else { - ul_id -= 32; - if ((PMC->PMC_PCSR1 & (1u << ul_id)) != (1u << ul_id)) { - PMC->PMC_PCER1 = 1 << ul_id; - } -#endif - } - - return 0; -} - -/** - * \brief Disable the specified peripheral clock. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Invalid parameter. - */ -uint32_t pmc_disable_periph_clk(uint32_t ul_id) -{ - if (ul_id > MAX_PERIPH_ID) { - return 1; - } - - if (ul_id < 32) { - if ((PMC->PMC_PCSR0 & (1u << ul_id)) == (1u << ul_id)) { - PMC->PMC_PCDR0 = 1 << ul_id; - } -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - } else { - ul_id -= 32; - if ((PMC->PMC_PCSR1 & (1u << ul_id)) == (1u << ul_id)) { - PMC->PMC_PCDR1 = 1 << ul_id; - } -#endif - } - return 0; -} - -/** - * \brief Enable all peripheral clocks. - */ -void pmc_enable_all_periph_clk(void) -{ - PMC->PMC_PCER0 = PMC_MASK_STATUS0; - while ((PMC->PMC_PCSR0 & PMC_MASK_STATUS0) != PMC_MASK_STATUS0); - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - PMC->PMC_PCER1 = PMC_MASK_STATUS1; - while ((PMC->PMC_PCSR1 & PMC_MASK_STATUS1) != PMC_MASK_STATUS1); -#endif -} - -/** - * \brief Disable all peripheral clocks. - */ -void pmc_disable_all_periph_clk(void) -{ - PMC->PMC_PCDR0 = PMC_MASK_STATUS0; - while ((PMC->PMC_PCSR0 & PMC_MASK_STATUS0) != 0); - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - PMC->PMC_PCDR1 = PMC_MASK_STATUS1; - while ((PMC->PMC_PCSR1 & PMC_MASK_STATUS1) != 0); -#endif -} - -/** - * \brief Check if the specified peripheral clock is enabled. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Peripheral clock is disabled or unknown. - * \retval 1 Peripheral clock is enabled. - */ -uint32_t pmc_is_periph_clk_enabled(uint32_t ul_id) -{ - if (ul_id > MAX_PERIPH_ID) { - return 0; - } - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - if (ul_id < 32) { -#endif - if ((PMC->PMC_PCSR0 & (1u << ul_id))) { - return 1; - } else { - return 0; - } -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAM4C || SAM4CM || SAM4CP || SAMV71 \ - || SAMV70 || SAME70 || SAMS70) - } else { - ul_id -= 32; - if ((PMC->PMC_PCSR1 & (1u << ul_id))) { - return 1; - } else { - return 0; - } - } -#endif -} - -/** - * \brief Set the prescaler for the specified programmable clock. - * - * \param ul_id Peripheral ID. - * \param ul_pres Prescaler value. - */ -void pmc_pck_set_prescaler(uint32_t ul_id, uint32_t ul_pres) -{ - PMC->PMC_PCK[ul_id] = - (PMC->PMC_PCK[ul_id] & ~PMC_PCK_PRES_Msk) | ul_pres; - while ((PMC->PMC_SCER & (PMC_SCER_PCK0 << ul_id)) - && !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id))); -} - -/** - * \brief Set the source oscillator for the specified programmable clock. - * - * \param ul_id Peripheral ID. - * \param ul_source Source selection value. - */ -void pmc_pck_set_source(uint32_t ul_id, uint32_t ul_source) -{ - PMC->PMC_PCK[ul_id] = - (PMC->PMC_PCK[ul_id] & ~PMC_PCK_CSS_Msk) | ul_source; - while ((PMC->PMC_SCER & (PMC_SCER_PCK0 << ul_id)) - && !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id))); -} - -/** - * \brief Switch programmable clock source selection to slow clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_sclk(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_SLOW_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch programmable clock source selection to main clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_mainck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_MAIN_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Switch programmable clock source selection to PLLA clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_pllack(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_PLLA_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -/** - * \brief Switch programmable clock source selection to PLLB clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_pllbck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_PLLB_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch programmable clock source selection to UPLL clock. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_upllck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_UPLL_CLK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); - --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} -#endif - -/** - * \brief Switch programmable clock source selection to mck. - * - * \param ul_id Id of the programmable clock. - * \param ul_pres Programmable clock prescaler. - * - * \retval 0 Success. - * \retval 1 Timeout error. - */ -uint32_t pmc_switch_pck_to_mck(uint32_t ul_id, uint32_t ul_pres) -{ - uint32_t ul_timeout; - - PMC->PMC_PCK[ul_id] = PMC_PCK_CSS_MCK | ul_pres; - for (ul_timeout = PMC_TIMEOUT; - !(PMC->PMC_SR & (PMC_SR_PCKRDY0 << ul_id)); --ul_timeout) { - if (ul_timeout == 0) { - return 1; - } - } - - return 0; -} - -/** - * \brief Enable the specified programmable clock. - * - * \param ul_id Id of the programmable clock. - */ -void pmc_enable_pck(uint32_t ul_id) -{ - PMC->PMC_SCER = PMC_SCER_PCK0 << ul_id; -} - -/** - * \brief Disable the specified programmable clock. - * - * \param ul_id Id of the programmable clock. - */ -void pmc_disable_pck(uint32_t ul_id) -{ - PMC->PMC_SCDR = PMC_SCER_PCK0 << ul_id; -} - -/** - * \brief Enable all programmable clocks. - */ -void pmc_enable_all_pck(void) -{ - PMC->PMC_SCER = PMC_SCER_PCK0 | PMC_SCER_PCK1 | PMC_SCER_PCK2; -} - -/** - * \brief Disable all programmable clocks. - */ -void pmc_disable_all_pck(void) -{ - PMC->PMC_SCDR = PMC_SCDR_PCK0 | PMC_SCDR_PCK1 | PMC_SCDR_PCK2; -} - -/** - * \brief Check if the specified programmable clock is enabled. - * - * \param ul_id Id of the programmable clock. - * - * \retval 0 Programmable clock is disabled or unknown. - * \retval 1 Programmable clock is enabled. - */ -uint32_t pmc_is_pck_enabled(uint32_t ul_id) -{ - if (ul_id > 2) { - return 0; - } - - return (PMC->PMC_SCSR & (PMC_SCSR_PCK0 << ul_id)); -} - -#if (SAM4C || SAM4CM || SAM4CP) -/** - * \brief Enable Coprocessor Clocks. - */ -void pmc_enable_cpck(void) -{ - PMC->PMC_SCER = PMC_SCER_CPCK | PMC_SCER_CPKEY_PASSWD; -} - -/** - * \brief Disable Coprocessor Clocks. - */ -void pmc_disable_cpck(void) -{ - PMC->PMC_SCDR = PMC_SCDR_CPCK | PMC_SCDR_CPKEY_PASSWD; -} - -/** - * \brief Check if the Coprocessor Clocks is enabled. - * - * \retval 0 Coprocessor Clocks is disabled. - * \retval 1 Coprocessor Clocks is enabled. - */ -bool pmc_is_cpck_enabled(void) -{ - if(PMC->PMC_SCSR & PMC_SCSR_CPCK) { - return 1; - } else { - return 0; - } -} - -/** - * \brief Enable Coprocessor Bus Master Clocks. - */ -void pmc_enable_cpbmck(void) -{ - PMC->PMC_SCER = PMC_SCER_CPBMCK | PMC_SCER_CPKEY_PASSWD; -} - -/** - * \brief Disable Coprocessor Bus Master Clocks. - */ -void pmc_disable_cpbmck(void) -{ - PMC->PMC_SCDR = PMC_SCDR_CPBMCK | PMC_SCDR_CPKEY_PASSWD; -} - -/** - * \brief Check if the Coprocessor Bus Master Clocks is enabled. - * - * \retval 0 Coprocessor Bus Master Clocks is disabled. - * \retval 1 Coprocessor Bus Master Clocks is enabled. - */ -bool pmc_is_cpbmck_enabled(void) -{ - if(PMC->PMC_SCSR & PMC_SCSR_CPBMCK) { - return 1; - } else { - return 0; - } -} - -/** - * \brief Set the prescaler for the Coprocessor Master Clock. - * - * \param ul_pres Prescaler value. - */ -void pmc_cpck_set_prescaler(uint32_t ul_pres) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_CPPRES_Msk)) | PMC_MCKR_CPPRES(ul_pres); -} - -/** - * \brief Set the source for the Coprocessor Master Clock. - * - * \param ul_source Source selection value. - */ -void pmc_cpck_set_source(uint32_t ul_source) -{ - PMC->PMC_MCKR = - (PMC->PMC_MCKR & (~PMC_MCKR_CPCSS_Msk)) | ul_source; -} -#endif - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch UDP (USB) clock source selection to PLLA clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_udpck_to_pllack(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv); -} -#endif - -#if (SAM3S || SAM4S || SAMG55) -/** - * \brief Switch UDP (USB) clock source selection to PLLB clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_udpck_to_pllbck(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv) | PMC_USB_USBS; -} -#endif - -#if (SAM3XA || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Switch UDP (USB) clock source selection to UPLL clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_udpck_to_upllck(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBS | PMC_USB_USBDIV(ul_usbdiv); -} -#endif - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable UDP (USB) clock. - */ -void pmc_enable_udpck(void) -{ -#if (SAM3S || SAM4S || SAM4E || SAMG55) - PMC->PMC_SCER = PMC_SCER_UDP; -#elif (SAMV71 || SAMV70 || SAME70 || SAMS70) - PMC->PMC_SCER = PMC_SCER_USBCLK; -#else - PMC->PMC_SCER = PMC_SCER_UOTGCLK; -# endif -} - -/** - * \brief Disable UDP (USB) clock. - */ -void pmc_disable_udpck(void) -{ -#if (SAM3S || SAM4S || SAM4E || SAMG55) - PMC->PMC_SCDR = PMC_SCDR_UDP; -#elif (SAMV71 || SAMV70 || SAME70 || SAMS70) - PMC->PMC_SCDR = PMC_SCDR_USBCLK; -#else - PMC->PMC_SCDR = PMC_SCDR_UOTGCLK; -# endif -} -#endif - -#if SAMG55 -/** - * \brief Switch UHP (USB) clock source selection to PLLA clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_uhpck_to_pllack(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv); -} - -/** - * \brief Switch UHP (USB) clock source selection to PLLB clock. - * - * \param ul_usbdiv Clock divisor. - */ -void pmc_switch_uhpck_to_pllbck(uint32_t ul_usbdiv) -{ - PMC->PMC_USB = PMC_USB_USBDIV(ul_usbdiv) | PMC_USB_USBS; -} - -/** - * \brief Enable UHP (USB) clock. - */ -void pmc_enable_uhpck(void) -{ - PMC->PMC_SCER = PMC_SCER_UHP; -} -#endif - -/** - * \brief Enable PMC interrupts. - * - * \param ul_sources Interrupt sources bit map. - */ -void pmc_enable_interrupt(uint32_t ul_sources) -{ - PMC->PMC_IER = ul_sources; -} - -/** - * \brief Disable PMC interrupts. - * - * \param ul_sources Interrupt sources bit map. - */ -void pmc_disable_interrupt(uint32_t ul_sources) -{ - PMC->PMC_IDR = ul_sources; -} - -/** - * \brief Get PMC interrupt mask. - * - * \return The interrupt mask value. - */ -uint32_t pmc_get_interrupt_mask(void) -{ - return PMC->PMC_IMR; -} - -/** - * \brief Get current status. - * - * \return The current PMC status. - */ -uint32_t pmc_get_status(void) -{ - return PMC->PMC_SR; -} - -/** - * \brief Set the wake-up inputs for fast startup mode registers - * (event generation). - * - * \param ul_inputs Wake up inputs to enable. - */ -void pmc_set_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_FSMR |= ul_inputs; -} - -/** - * \brief Clear the wake-up inputs for fast startup mode registers - * (remove event generation). - * - * \param ul_inputs Wake up inputs to disable. - */ -void pmc_clr_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_FSMR &= ~ul_inputs; -} - -#if (SAM4C || SAM4CM || SAM4CP) -/** - * \brief Set the wake-up inputs of coprocessor for fast startup mode registers - * (event generation). - * - * \param ul_inputs Wake up inputs to enable. - */ -void pmc_cp_set_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_CPFSMR |= ul_inputs; -} - -/** - * \brief Clear the wake-up inputs of coprocessor for fast startup mode registers - * (remove event generation). - * - * \param ul_inputs Wake up inputs to disable. - */ -void pmc_cp_clr_fast_startup_input(uint32_t ul_inputs) -{ - ul_inputs &= PMC_FAST_STARTUP_Msk; - PMC->PMC_CPFSMR &= ~ul_inputs; -} -#endif - -/** - * \brief Enable Sleep Mode. - * Enter condition: (WFE or WFI) + (SLEEPDEEP bit = 0) + (LPM bit = 0) - * - * \param uc_type 0 for wait for interrupt, 1 for wait for event. - * \note For SAM4S, SAM4C, SAM4CM, SAM4CP, SAMV71 and SAM4E series, - * since only WFI is effective, uc_type = 1 will be treated as uc_type = 0. - */ -void pmc_enable_sleepmode(uint8_t uc_type) -{ -#if !(SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) - PMC->PMC_FSMR &= (uint32_t) ~ PMC_FSMR_LPM; // Enter Sleep mode -#endif - SCB->SCR &= (uint32_t) ~ SCB_SCR_SLEEPDEEP_Msk; // Deep sleep - -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) - UNUSED(uc_type); - __DSB(); - __WFI(); -#else - if (uc_type == 0) { - __DSB(); - __WFI(); - } else { - __DSB(); - __WFE(); - } -#endif -} - -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -static uint32_t ul_flash_in_wait_mode = PMC_WAIT_MODE_FLASH_DEEP_POWERDOWN; -/** - * \brief Set the embedded flash state in wait mode - * - * \param ul_flash_state PMC_WAIT_MODE_FLASH_STANDBY flash in standby mode, - * PMC_WAIT_MODE_FLASH_DEEP_POWERDOWN flash in deep power down mode. - */ -void pmc_set_flash_in_wait_mode(uint32_t ul_flash_state) -{ - ul_flash_in_wait_mode = ul_flash_state; -} - -/** - * \brief Enable Wait Mode. Enter condition: (WAITMODE bit = 1) + FLPM - * - * \note In this function, FLPM will retain, WAITMODE bit will be set, - * Generally, this function will be called by pmc_sleep() in order to - * complete all sequence entering wait mode. - * See \ref pmc_sleep() for entering different sleep modes. - */ -void pmc_enable_waitmode(void) -{ - uint32_t i; - - /* Flash in wait mode */ - i = PMC->PMC_FSMR; - i &= ~PMC_FSMR_FLPM_Msk; -#if !(SAMV71 || SAMV70 || SAME70 || SAMS70) - i |= ul_flash_in_wait_mode; -#else - i |= PMC_WAIT_MODE_FLASH_IDLE; -#endif - PMC->PMC_FSMR = i; - - /* Set the WAITMODE bit = 1 */ - PMC->CKGR_MOR |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_WAITMODE; - - /* Waiting for Master Clock Ready MCKRDY = 1 */ - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); - - /* Waiting for MOSCRCEN bit cleared is strongly recommended - * to ensure that the core will not execute undesired instructions - */ - for (i = 0; i < 500; i++) { - __NOP(); - } - while (!(PMC->CKGR_MOR & CKGR_MOR_MOSCRCEN)); - -#if (!SAMG) - /* Restore Flash in idle mode */ - i = PMC->PMC_FSMR; - i &= ~PMC_FSMR_FLPM_Msk; - i |= PMC_WAIT_MODE_FLASH_IDLE; - PMC->PMC_FSMR = i; -#endif -} -#else -/** - * \brief Enable Wait Mode. Enter condition: WFE + (SLEEPDEEP bit = 0) + - * (LPM bit = 1) - */ -void pmc_enable_waitmode(void) -{ - uint32_t i; - - PMC->PMC_FSMR |= PMC_FSMR_LPM; /* Enter Wait mode */ - SCB->SCR &= (uint32_t) ~ SCB_SCR_SLEEPDEEP_Msk; /* Deep sleep */ - - __DSB(); - __WFE(); - - /* Waiting for MOSCRCEN bit cleared is strongly recommended - * to ensure that the core will not execute undesired instructions - */ - for (i = 0; i < 500; i++) { - __NOP(); - } - while (!(PMC->CKGR_MOR & CKGR_MOR_MOSCRCEN)); - -} -#endif - -#if (!(SAMG51 || SAMG53 || SAMG54)) -/** - * \brief Enable Backup Mode. Enter condition: WFE/(VROFF bit = 1) + - * (SLEEPDEEP bit = 1) - */ -void pmc_enable_backupmode(void) -{ -#if (SAM4C || SAM4CM || SAM4CP) - uint32_t tmp = SUPC->SUPC_MR & ~(SUPC_MR_BUPPOREN | SUPC_MR_KEY_Msk); - SUPC->SUPC_MR = tmp | SUPC_MR_KEY_PASSWD; - while (SUPC->SUPC_SR & SUPC_SR_BUPPORS); -#endif - SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - SUPC->SUPC_CR = SUPC_CR_KEY_PASSWD | SUPC_CR_VROFF_STOP_VREG; - uint32_t ul_dummy = SUPC->SUPC_MR; - UNUSED(ul_dummy); - __DSB(); - __WFE(); - __WFI(); -#else - __DSB(); - __WFE(); -#endif -} -#endif - -/** - * \brief Enable Clock Failure Detector. - */ -void pmc_enable_clock_failure_detector(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR; - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | CKGR_MOR_CFDEN | ul_reg; -} - -/** - * \brief Disable Clock Failure Detector. - */ -void pmc_disable_clock_failure_detector(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR & (~CKGR_MOR_CFDEN); - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | ul_reg; -} - -#if (SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable Slow Crystal Oscillator Frequency Monitoring. - */ -void pmc_enable_sclk_osc_freq_monitor(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR; - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | CKGR_MOR_XT32KFME | ul_reg; -} - -/** - * \brief Disable Slow Crystal Oscillator Frequency Monitoring. - */ -void pmc_disable_sclk_osc_freq_monitor(void) -{ - uint32_t ul_reg = PMC->CKGR_MOR & (~CKGR_MOR_XT32KFME); - - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | ul_reg; -} -#endif - -/** - * \brief Enable or disable write protect of PMC registers. - * - * \param ul_enable 1 to enable, 0 to disable. - */ -void pmc_set_writeprotect(uint32_t ul_enable) -{ - if (ul_enable) { - PMC->PMC_WPMR = PMC_WPMR_WPKEY_PASSWD | PMC_WPMR_WPEN; - } else { - PMC->PMC_WPMR = PMC_WPMR_WPKEY_PASSWD; - } -} - -/** - * \brief Return write protect status. - * - * \return Return write protect status. - */ -uint32_t pmc_get_writeprotect_status(void) -{ - return PMC->PMC_WPSR; -} - -#if (SAMG53 || SAMG54 || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Enable the specified peripheral clock. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Fail. - */ -uint32_t pmc_enable_sleepwalking(uint32_t ul_id) -{ - uint32_t temp; -#if (SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - if ((7 <= ul_id) && (ul_id<= 29)) { -#else - if ((8 <= ul_id) && (ul_id<= 29)) { -#endif - temp = pmc_get_active_status0(); - if (temp & (1 << ul_id)) { - return 1; - } - PMC->PMC_SLPWK_ER0 = 1 << ul_id; - temp = pmc_get_active_status0(); - if (temp & (1 << ul_id)) { - pmc_disable_sleepwalking(ul_id); - return 1; - } - return 0; - } -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) - else if ((32 <= ul_id) && (ul_id<= 60)) { - ul_id -= 32; - temp = pmc_get_active_status1(); - if (temp & (1 << ul_id)) { - return 1; - } - PMC->PMC_SLPWK_ER1 = 1 << ul_id; - temp = pmc_get_active_status1(); - if (temp & (1 << ul_id)) { - pmc_disable_sleepwalking(ul_id); - return 1; - } - return 0; - } -#endif - else { - return 1; - } -} - -/** - * \brief Disable the sleepwalking of specified peripheral. - * - * \note The ID must NOT be shifted (i.e., 1 << ID_xxx). - * - * \param ul_id Peripheral ID (ID_xxx). - * - * \retval 0 Success. - * \retval 1 Invalid parameter. - */ -uint32_t pmc_disable_sleepwalking(uint32_t ul_id) -{ -#if (SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) - if ((7 <= ul_id) && (ul_id<= 29)) { -#else - if ((8 <= ul_id) && (ul_id<= 29)) { -#endif - PMC->PMC_SLPWK_DR0 = 1 << ul_id; - return 0; - } -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) - else if ((32 <= ul_id) && (ul_id<= 60)) { - ul_id -= 32; - PMC->PMC_SLPWK_DR1 = 1 << ul_id; - return 0; - } -#endif - else { - return 1; - } -} - -/** - * \brief Return peripheral sleepwalking enable status. - * - * \return the status register value. - */ -uint32_t pmc_get_sleepwalking_status0(void) -{ - return PMC->PMC_SLPWK_SR0; -} - -/** - * \brief Return peripheral active status. - * - * \return the status register value. - */ -uint32_t pmc_get_active_status0(void) -{ - return PMC->PMC_SLPWK_ASR0; -} - -#endif - -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \brief Return peripheral sleepwalking enable status. - * - * \return the status register value. - */ -uint32_t pmc_get_sleepwalking_status1(void) -{ - return PMC->PMC_SLPWK_SR1; -} - -/** - * \brief Return peripheral active status. - * - * \return the status register value. - */ -uint32_t pmc_get_active_status1(void) -{ - return PMC->PMC_SLPWK_ASR1; -} -#endif - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.h deleted file mode 100644 index 497825f..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/pmc.h +++ /dev/null @@ -1,550 +0,0 @@ -/** - * \file - * - * \brief Power Management Controller (PMC) driver for SAM. - * - * Copyright (c) 2011-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef PMC_H_INCLUDED -#define PMC_H_INCLUDED - -#include "compiler.h" - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -/** Bit mask for peripheral clocks (PCER0) */ -#define PMC_MASK_STATUS0 (0xFFFFFFFC) - -/** Bit mask for peripheral clocks (PCER1) */ -#define PMC_MASK_STATUS1 (0xFFFFFFFF) - -/** Loop counter timeout value */ -#if !(SAME70) -#define PMC_TIMEOUT (2048) -#else -#define PMC_TIMEOUT (4096) -#endif - -/** Key to unlock CKGR_MOR register */ -#ifndef CKGR_MOR_KEY_PASSWD -#define CKGR_MOR_KEY_PASSWD CKGR_MOR_KEY(0x37U) -#endif - -/** Key used to write SUPC registers */ -#ifndef SUPC_CR_KEY_PASSWD -#define SUPC_CR_KEY_PASSWD SUPC_CR_KEY(0xA5U) -#endif - -#ifndef SUPC_MR_KEY_PASSWD -#define SUPC_MR_KEY_PASSWD SUPC_MR_KEY(0xA5U) -#endif - -/** Mask to access fast startup input */ -#define PMC_FAST_STARTUP_Msk (0x7FFFFu) - -/** PMC_WPMR Write Protect KEY, unlock it */ -#ifndef PMC_WPMR_WPKEY_PASSWD -#define PMC_WPMR_WPKEY_PASSWD PMC_WPMR_WPKEY((uint32_t) 0x504D43) -#endif - -/** Using external oscillator */ -#define PMC_OSC_XTAL 0 - -/** Oscillator in bypass mode */ -#define PMC_OSC_BYPASS 1 - -#define PMC_PCK_0 0 /* PCK0 ID */ -#define PMC_PCK_1 1 /* PCK1 ID */ -#define PMC_PCK_2 2 /* PCK2 ID */ -#if (SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -#define PMC_PCK_3 3 /* PCK3 ID */ -#define PMC_PCK_4 4 /* PCK4 ID */ -#define PMC_PCK_5 5 /* PCK5 ID */ -#define PMC_PCK_6 6 /* PCK6 ID */ -#if SAMG55 -#define PMC_PCK_7 7 /* PCK7 ID */ -#endif -#endif - -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** Flash state in Wait Mode */ -#define PMC_WAIT_MODE_FLASH_STANDBY PMC_FSMR_FLPM_FLASH_STANDBY -#define PMC_WAIT_MODE_FLASH_DEEP_POWERDOWN PMC_FSMR_FLPM_FLASH_DEEP_POWERDOWN -#define PMC_WAIT_MODE_FLASH_IDLE PMC_FSMR_FLPM_FLASH_IDLE -#endif - -/** Convert startup time from us to MOSCXTST */ -#define pmc_us_to_moscxtst(startup_us, slowck_freq) \ - ((startup_us * slowck_freq / 8 / 1000000) < 0x100 ? \ - (startup_us * slowck_freq / 8 / 1000000) : 0xFF) - -/** - * \name Master clock (MCK) Source and Prescaler configuration - * - * \note The following functions may be used to select the clock source and - * prescaler for the master clock. - */ -//@{ - -void pmc_mck_set_prescaler(uint32_t ul_pres); -#if SAMV71 || SAMV70 || SAME70 || SAMS70 -void pmc_mck_set_division(uint32_t ul_div); -#endif -void pmc_mck_set_source(uint32_t ul_source); -uint32_t pmc_switch_mck_to_sclk(uint32_t ul_pres); -uint32_t pmc_switch_mck_to_mainck(uint32_t ul_pres); -uint32_t pmc_switch_mck_to_pllack(uint32_t ul_pres); -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -uint32_t pmc_switch_mck_to_pllbck(uint32_t ul_pres); -#endif -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -uint32_t pmc_switch_mck_to_upllck(uint32_t ul_pres); -#endif -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_set_flash_in_wait_mode(uint32_t ul_flash_state); -#endif - - -//@} - -/** - * \name Slow clock (SLCK) oscillator and configuration - * - */ -//@{ - -void pmc_switch_sclk_to_32kxtal(uint32_t ul_bypass); -uint32_t pmc_osc_is_ready_32kxtal(void); - -//@} - -/** - * \name Main Clock (MAINCK) oscillator and configuration - * - */ -//@{ - -void pmc_switch_mainck_to_fastrc(uint32_t ul_moscrcf); -void pmc_osc_enable_fastrc(uint32_t ul_rc); -void pmc_osc_disable_fastrc(void); -uint32_t pmc_osc_is_ready_fastrc(void); -void pmc_osc_enable_main_xtal(uint32_t ul_xtal_startup_time); -void pmc_osc_bypass_main_xtal(void); -void pmc_osc_disable_main_xtal(void); -uint32_t pmc_osc_is_bypassed_main_xtal(void); -uint32_t pmc_osc_is_ready_main_xtal(void); -void pmc_switch_mainck_to_xtal(uint32_t ul_bypass, - uint32_t ul_xtal_startup_time); -void pmc_osc_disable_xtal(uint32_t ul_bypass); -uint32_t pmc_osc_is_ready_mainck(void); -void pmc_mainck_osc_select(uint32_t ul_xtal_rc); - -//@} - -/** - * \name PLL oscillator and configuration - * - */ -//@{ - -void pmc_enable_pllack(uint32_t mula, uint32_t pllacount, uint32_t diva); -void pmc_disable_pllack(void); -uint32_t pmc_is_locked_pllack(void); - -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -void pmc_enable_pllbck(uint32_t mulb, uint32_t pllbcount, uint32_t divb); -void pmc_disable_pllbck(void); -uint32_t pmc_is_locked_pllbck(void); -#endif - -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_enable_upll_clock(void); -void pmc_disable_upll_clock(void); -uint32_t pmc_is_locked_upll(void); -#endif - -//@} - -/** - * \name Peripherals clock configuration - * - */ -//@{ - -uint32_t pmc_enable_periph_clk(uint32_t ul_id); -uint32_t pmc_disable_periph_clk(uint32_t ul_id); -void pmc_enable_all_periph_clk(void); -void pmc_disable_all_periph_clk(void); -uint32_t pmc_is_periph_clk_enabled(uint32_t ul_id); - -//@} - -/** - * \name Programmable clock Source and Prescaler configuration - * - * The following functions may be used to select the clock source and - * prescaler for the specified programmable clock. - */ -//@{ - -void pmc_pck_set_prescaler(uint32_t ul_id, uint32_t ul_pres); -void pmc_pck_set_source(uint32_t ul_id, uint32_t ul_source); -uint32_t pmc_switch_pck_to_sclk(uint32_t ul_id, uint32_t ul_pres); -uint32_t pmc_switch_pck_to_mainck(uint32_t ul_id, uint32_t ul_pres); -uint32_t pmc_switch_pck_to_pllack(uint32_t ul_id, uint32_t ul_pres); -#if (SAM4C || SAM4CM || SAM4CP) -void pmc_enable_cpck(void); -void pmc_disable_cpck(void); -bool pmc_is_cpck_enabled(void); -void pmc_enable_cpbmck(void); -void pmc_disable_cpbmck(void); -bool pmc_is_cpbmck_enabled(void); -void pmc_cpck_set_prescaler(uint32_t ul_pres); -void pmc_cpck_set_source(uint32_t ul_source); -#endif -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP || SAMG55) -uint32_t pmc_switch_pck_to_pllbck(uint32_t ul_id, uint32_t ul_pres); -#endif -#if (SAM3XA || SAM3U || SAMV71 || SAMV70 || SAME70 || SAMS70) -uint32_t pmc_switch_pck_to_upllck(uint32_t ul_id, uint32_t ul_pres); -#endif -uint32_t pmc_switch_pck_to_mck(uint32_t ul_id, uint32_t ul_pres); -void pmc_enable_pck(uint32_t ul_id); -void pmc_disable_pck(uint32_t ul_id); -void pmc_enable_all_pck(void); -void pmc_disable_all_pck(void); -uint32_t pmc_is_pck_enabled(uint32_t ul_id); - -//@} - -/** - * \name USB clock configuration - * - */ -//@{ - -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_switch_udpck_to_pllack(uint32_t ul_usbdiv); -#endif -#if (SAM3S || SAM4S || SAMG55) -void pmc_switch_udpck_to_pllbck(uint32_t ul_usbdiv); -#endif -#if (SAM3XA || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_switch_udpck_to_upllck(uint32_t ul_usbdiv); -#endif -#if (SAM3S || SAM3XA || SAM4S || SAM4E || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -void pmc_enable_udpck(void); -void pmc_disable_udpck(void); -#endif -#if SAMG55 -void pmc_switch_uhpck_to_pllack(uint32_t ul_usbdiv); -void pmc_switch_uhpck_to_pllbck(uint32_t ul_usbdiv); -void pmc_enable_uhpck(void); -#endif - -//@} - -/** - * \name Interrupt and status management - * - */ -//@{ - -void pmc_enable_interrupt(uint32_t ul_sources); -void pmc_disable_interrupt(uint32_t ul_sources); -uint32_t pmc_get_interrupt_mask(void); -uint32_t pmc_get_status(void); - -//@} - -/** - * \name Power management - * - * The following functions are used to configure sleep mode and additional - * wake up inputs. - */ -//@{ - -void pmc_set_fast_startup_input(uint32_t ul_inputs); -void pmc_clr_fast_startup_input(uint32_t ul_inputs); -#if (SAM4C || SAM4CM || SAM4CP) -void pmc_cp_set_fast_startup_input(uint32_t ul_inputs); -void pmc_cp_clr_fast_startup_input(uint32_t ul_inputs); -#endif -void pmc_enable_sleepmode(uint8_t uc_type); -void pmc_enable_waitmode(void); -#if (!(SAMG51 || SAMG53 || SAMG54)) -void pmc_enable_backupmode(void); -#endif -//@} - -/** - * \name Failure detector - * - */ -//@{ - -void pmc_enable_clock_failure_detector(void); -void pmc_disable_clock_failure_detector(void); - -//@} - -#if (SAM4N || SAM4C || SAM4CM || SAM4CP || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \name Slow Crystal Oscillator Frequency Monitoring - * - */ -//@{ - -void pmc_enable_sclk_osc_freq_monitor(void); -void pmc_disable_sclk_osc_freq_monitor(void); - -//@} -#endif - -/** - * \name Write protection - * - */ -//@{ - -void pmc_set_writeprotect(uint32_t ul_enable); -uint32_t pmc_get_writeprotect_status(void); - -//@} - -#if (SAMG53 || SAMG54 || SAMG55 || SAMV71 || SAMV70 || SAME70 || SAMS70) -/** - * \name Sleepwalking configuration - * - */ -//@{ - -uint32_t pmc_enable_sleepwalking(uint32_t ul_id); -uint32_t pmc_disable_sleepwalking(uint32_t ul_id); -uint32_t pmc_get_sleepwalking_status0(void); -uint32_t pmc_get_active_status0(void); -#if (SAMV71 || SAMV70 || SAME70 || SAMS70) -uint32_t pmc_get_sleepwalking_status1(void); -uint32_t pmc_get_active_status1(void); -#endif -//@} -#endif - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond - -//! @} - -/** - * \page sam_pmc_quickstart Quick start guide for the SAM PMC module - * - * This is the quick start guide for the \ref sam_drivers_pmc_group "PMC module", - * with step-by-step instructions on how to configure and use the driver in a - * selection of use cases. - * - * The use cases contain several code fragments. The code fragments in the - * steps for setup can be copied into a custom initialization function, while - * the steps for usage can be copied into, e.g., the main application function. - * - * \section pmc_use_cases PMC use cases - * - \ref pmc_basic_use_case Basic use case - Switch Main Clock sources - * - \ref pmc_use_case_2 Advanced use case - Configure Programmable Clocks - * - * \section pmc_basic_use_case Basic use case - Switch Main Clock sources - * In this use case, the PMC module is configured for a variety of system clock - * sources and speeds. A LED is used to visually indicate the current clock - * speed as the source is switched. - * - * \section pmc_basic_use_case_setup Setup - * - * \subsection pmc_basic_use_case_setup_prereq Prerequisites - * -# \ref gpio_group "General Purpose I/O Management (gpio)" - * - * \subsection pmc_basic_use_case_setup_code Code - * The following function needs to be added to the user application, to flash a - * board LED a variable number of times at a rate given in CPU ticks. - * - * \code - #define FLASH_TICK_COUNT 0x00012345 - - void flash_led(uint32_t tick_count, uint8_t flash_count) - { - SysTick->CTRL = SysTick_CTRL_ENABLE_Msk; - SysTick->LOAD = tick_count; - - while (flash_count--) - { - gpio_toggle_pin(LED0_GPIO); - while (!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk)); - gpio_toggle_pin(LED0_GPIO); - while (!(SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk)); - } - } -\endcode - * - * \section pmc_basic_use_case_usage Use case - * - * \subsection pmc_basic_use_case_usage_code Example code - * Add to application C-file: - * \code - for (;;) - { - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz); - flash_led(FLASH_TICK_COUNT, 5); - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz); - flash_led(FLASH_TICK_COUNT, 5); - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz); - flash_led(FLASH_TICK_COUNT, 5); - pmc_switch_mainck_to_xtal(0); - flash_led(FLASH_TICK_COUNT, 5); - } -\endcode - * - * \subsection pmc_basic_use_case_usage_flow Workflow - * -# Wrap the code in an infinite loop: - * \code - for (;;) -\endcode - * -# Switch the Master CPU frequency to the internal 12MHz RC oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_12_MHz); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * -# Switch the Master CPU frequency to the internal 8MHz RC oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_8_MHz); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * -# Switch the Master CPU frequency to the internal 4MHz RC oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_fastrc(CKGR_MOR_MOSCRCF_4_MHz); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * -# Switch the Master CPU frequency to the external crystal oscillator, flash - * a LED on the board several times: - * \code - pmc_switch_mainck_to_xtal(0, BOARD_OSC_STARTUP_US); - flash_led(FLASH_TICK_COUNT, 5); -\endcode - * - * \section pmc_use_case_2 Use case #2 - Configure Programmable Clocks - * In this use case, the PMC module is configured to start the Slow Clock from - * an attached 32KHz crystal, and start one of the Programmable Clock modules - * sourced from the Slow Clock divided down with a prescale factor of 64. - * - * \section pmc_use_case_2_setup Setup - * - * \subsection pmc_use_case_2_setup_prereq Prerequisites - * -# \ref pio_group "Parallel Input/Output Controller (pio)" - * - * \subsection pmc_use_case_2_setup_code Code - * The following code must be added to the user application: - * \code - pio_set_peripheral(PIOA, PIO_PERIPH_B, PIO_PA17); -\endcode - * - * \subsection pmc_use_case_2_setup_code_workflow Workflow - * -# Configure the PCK1 pin to output on a specific port pin (in this case, - * PIOA pin 17) of the microcontroller. - * \code - pio_set_peripheral(PIOA, PIO_PERIPH_B, PIO_PA17); -\endcode - * \note The peripheral selection and pin will vary according to your selected - * SAM device model. Refer to the "Peripheral Signal Multiplexing on I/O - * Lines" of your device's datasheet. - * - * \section pmc_use_case_2_usage Use case - * The generated PCK1 clock output can be viewed on an oscilloscope attached to - * the correct pin of the microcontroller. - * - * \subsection pmc_use_case_2_usage_code Example code - * Add to application C-file: - * \code - pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL); - pmc_switch_pck_to_sclk(PMC_PCK_1, PMC_PCK_PRES_CLK_64); - pmc_enable_pck(PMC_PCK_1); - - for (;;) - { - // Do Nothing - } -\endcode - * - * \subsection pmc_use_case_2_usage_flow Workflow - * -# Switch the Slow Clock source input to an external 32KHz crystal: - * \code - pmc_switch_sclk_to_32kxtal(PMC_OSC_XTAL); -\endcode - * -# Switch the Programmable Clock module PCK1 source clock to the Slow Clock, - * with a prescaler of 64: - * \code - pmc_switch_pck_to_sclk(PMC_PCK_1, PMC_PCK_PRES_CLK_64); -\endcode - * -# Enable Programmable Clock module PCK1: - * \code - pmc_enable_pck(PMC_PCK_1); -\endcode - * -# Enter an infinite loop: - * \code - for (;;) - { - // Do Nothing - } -\endcode - */ - -#endif /* PMC_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.c deleted file mode 100644 index 5d461e4..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.c +++ /dev/null @@ -1,391 +0,0 @@ -/** - * \file - * - * \brief Sleep mode access - * - * Copyright (c) 2012-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <compiler.h> -#include "sleep.h" - -/* SAM3,SAM4,SAMG,SAMV,SAMS and SAME series */ -#if (SAM3S || SAM3N || SAM3XA || SAM3U || SAM4S || SAM4E || SAM4N || SAM4C || \ - SAM4CM || SAMG || SAM4CP || SAMV71 || SAMV70 || SAMS70 || SAME70) -# include "pmc.h" -# include "board.h" - -/* Checking board configuration of main clock xtal statup time */ -#if !defined(BOARD_OSC_STARTUP_US) -# warning The board main clock xtal statup time has not been defined. Using default settings. -# define BOARD_OSC_STARTUP_US (15625UL) -#endif - -#if !defined(EFC0) -# define EFC0 EFC -#endif - -/** - * Save clock settings and shutdown PLLs - */ -__always_inline static void pmc_save_clock_settings( - uint32_t *p_osc_setting, - uint32_t *p_pll0_setting, - uint32_t *p_pll1_setting, - uint32_t *p_mck_setting, - uint32_t *p_fmr_setting, -#if defined(EFC1) - uint32_t *p_fmr_setting1, -#endif - const bool disable_xtal) -{ - uint32_t mor = PMC->CKGR_MOR; - uint32_t mckr = PMC->PMC_MCKR; - uint32_t fmr = EFC0->EEFC_FMR; -# if defined(EFC1) - uint32_t fmr1 = EFC1->EEFC_FMR; -# endif - - if (p_osc_setting) { - *p_osc_setting = mor; - } - if (p_pll0_setting) { - *p_pll0_setting = PMC->CKGR_PLLAR; - } - if (p_pll1_setting) { -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - *p_pll1_setting = PMC->CKGR_PLLBR; -#elif (SAM3U || SAM3XA) - *p_pll1_setting = PMC->CKGR_UCKR; -#else - *p_pll1_setting = 0; -#endif - } - if (p_mck_setting) { - *p_mck_setting = mckr; - } - if (p_fmr_setting) { - *p_fmr_setting = fmr; - } -#if defined(EFC1) - if (p_fmr_setting1) { - *p_fmr_setting1 = fmr1; - } -#endif - - /* Enable FAST RC */ - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | mor | CKGR_MOR_MOSCRCEN; - /* if MCK source is PLL, switch to mainck */ - if ((mckr & PMC_MCKR_CSS_Msk) > PMC_MCKR_CSS_MAIN_CLK) { - /* MCK -> MAINCK */ - mckr = (mckr & (~PMC_MCKR_CSS_Msk)) | PMC_MCKR_CSS_MAIN_CLK; - PMC->PMC_MCKR = mckr; - while(!(PMC->PMC_SR & PMC_SR_MCKRDY)); - } - /* MCK prescale -> 1 */ - if (mckr & PMC_MCKR_PRES_Msk) { - mckr = (mckr & (~PMC_MCKR_PRES_Msk)); - PMC->PMC_MCKR = mckr; - while(!(PMC->PMC_SR & PMC_SR_MCKRDY)); - } - /* Disable PLLs */ - pmc_disable_pllack(); -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - pmc_disable_pllbck(); -#elif (SAM3U || SAM3XA) - pmc_disable_upll_clock(); -#endif - - /* Prepare for entering WAIT mode */ - /* Wait fast RC ready */ - while (!(PMC->PMC_SR & PMC_SR_MOSCRCS)); - - /* Switch mainck to FAST RC */ -#if SAMG - /** - * For the sleepwalking feature, we need an accurate RC clock. Only 24M and - * 16M are trimmed in production. Here we select the 24M. - * And so wait state need to be 1. - */ - EFC0->EEFC_FMR = (fmr & (~EEFC_FMR_FWS_Msk)) | EEFC_FMR_FWS(1); - - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCSEL) | CKGR_MOR_MOSCRCF_24_MHz | - CKGR_MOR_KEY_PASSWD; -#else - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCSEL) | - CKGR_MOR_KEY_PASSWD; -#endif - while (!(PMC->PMC_SR & PMC_SR_MOSCSELS)); - -#if (!SAMG) - /* FWS update */ - EFC0->EEFC_FMR = fmr & (~EEFC_FMR_FWS_Msk); -#if defined(EFC1) - EFC1->EEFC_FMR = fmr1 & (~EEFC_FMR_FWS_Msk); -#endif -#endif - - /* Disable XTALs */ - if (disable_xtal) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD; - } -} - -/** - * Restore clock settings - */ -__always_inline static void pmc_restore_clock_setting( - const uint32_t osc_setting, - const uint32_t pll0_setting, - const uint32_t pll1_setting, - const uint32_t mck_setting, - const uint32_t fmr_setting -#if defined(EFC1) - , const uint32_t fmr_setting1 -#endif - ) -{ - uint32_t mckr; - uint32_t pll_sr = 0; - - /* Switch mainck to external xtal */ - if (CKGR_MOR_MOSCXTBY == (osc_setting & CKGR_MOR_MOSCXTBY)) { - /* Bypass mode */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTEN) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTBY | - CKGR_MOR_MOSCSEL; - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCEN & - ~CKGR_MOR_MOSCRCF_Msk) - | CKGR_MOR_KEY_PASSWD; - } else if (CKGR_MOR_MOSCXTEN == (osc_setting & CKGR_MOR_MOSCXTEN)) { - /* Enable External XTAL */ - if (!(PMC->CKGR_MOR & CKGR_MOR_MOSCXTEN)) { - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTBY) | - CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCXTEN; - /* Wait the Xtal to stabilize */ - while (!(PMC->PMC_SR & PMC_SR_MOSCXTS)); - } - /* Select External XTAL */ - if (!(PMC->CKGR_MOR & CKGR_MOR_MOSCSEL)) { - PMC->CKGR_MOR |= CKGR_MOR_KEY_PASSWD | CKGR_MOR_MOSCSEL; - while (!(PMC->PMC_SR & PMC_SR_MOSCSELS)); - } - /* Disable Fast RC */ - PMC->CKGR_MOR = (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCEN & - ~CKGR_MOR_MOSCRCF_Msk) - | CKGR_MOR_KEY_PASSWD; - } - - if (pll0_setting & CKGR_PLLAR_MULA_Msk) { -#if (SAM4C || SAM4CM || SAMG || SAM4CP) - PMC->CKGR_PLLAR = pll0_setting; -#else - PMC->CKGR_PLLAR = CKGR_PLLAR_ONE | pll0_setting; -#endif - pll_sr |= PMC_SR_LOCKA; - } -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - if (pll1_setting & CKGR_PLLBR_MULB_Msk) { - PMC->CKGR_PLLBR = pll1_setting; - pll_sr |= PMC_SR_LOCKB; - } -#elif (SAM3U || SAM3XA) - if (pll1_setting & CKGR_UCKR_UPLLEN) { - PMC->CKGR_UCKR = pll1_setting; - pll_sr |= PMC_SR_LOCKU; - } -#else - UNUSED(pll1_setting); -#endif - /* Wait MCK source ready */ - switch(mck_setting & PMC_MCKR_CSS_Msk) { - case PMC_MCKR_CSS_PLLA_CLK: - while (!(PMC->PMC_SR & PMC_SR_LOCKA)); - break; -#if (SAM3S || SAM4S || SAM4C || SAM4CM || SAM4CP) - case PMC_MCKR_CSS_PLLB_CLK: - while (!(PMC->PMC_SR & PMC_SR_LOCKB)); - break; -#elif (SAM3U || SAM3XA) - case PMC_MCKR_CSS_UPLL_CLK: - while (!(PMC->PMC_SR & PMC_SR_LOCKU)); - break; -#endif - } - - /* Switch to faster clock */ - mckr = PMC->PMC_MCKR; - - /* Set PRES */ - PMC->PMC_MCKR = (mckr & ~PMC_MCKR_PRES_Msk) - | (mck_setting & PMC_MCKR_PRES_Msk); - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); - - /* Restore flash wait states */ - EFC0->EEFC_FMR = fmr_setting; -#if defined(EFC1) - EFC1->EEFC_FMR = fmr_setting1; -#endif - - /* Set CSS and others */ - PMC->PMC_MCKR = mck_setting; - while (!(PMC->PMC_SR & PMC_SR_MCKRDY)); - - /* Waiting all restored PLLs ready */ - while (!(PMC->PMC_SR & pll_sr)); -} - -/** If clocks are switched for some sleep mode */ -static volatile bool b_is_sleep_clock_used = false; -/** Callback invoked once when clocks are restored */ -static pmc_callback_wakeup_clocks_restored_t callback_clocks_restored = NULL; - -void pmc_sleep(int sleep_mode) -{ - switch (sleep_mode) { - case SAM_PM_SMODE_SLEEP_WFI: - case SAM_PM_SMODE_SLEEP_WFE: -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG || SAMV71 || SAMV70 || SAMS70 || SAME70) - SCB->SCR &= (uint32_t)~SCR_SLEEPDEEP; - cpu_irq_enable(); - __DSB(); - __WFI(); - break; -#else - PMC->PMC_FSMR &= (uint32_t)~PMC_FSMR_LPM; - SCB->SCR &= (uint32_t)~SCR_SLEEPDEEP; - cpu_irq_enable(); - if (sleep_mode == SAM_PM_SMODE_SLEEP_WFI) { - __DSB(); - __WFI(); - } else { - __DSB(); - __WFE(); - } - break; -#endif - - case SAM_PM_SMODE_WAIT_FAST: - case SAM_PM_SMODE_WAIT: { - uint32_t mor, pllr0, pllr1, mckr; - uint32_t fmr; -#if defined(EFC1) - uint32_t fmr1; -#endif -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG || SAMV71 || SAMV70 || SAMS70 || SAME70) - (sleep_mode == SAM_PM_SMODE_WAIT_FAST) ? - pmc_set_flash_in_wait_mode(PMC_FSMR_FLPM_FLASH_STANDBY) : - pmc_set_flash_in_wait_mode(PMC_FSMR_FLPM_FLASH_DEEP_POWERDOWN); -#endif - cpu_irq_disable(); - b_is_sleep_clock_used = true; - -#if (SAM4C || SAM4CM || SAM4CP) - /* Backup the sub-system 1 status and stop sub-system 1 */ - uint32_t cpclk_backup = PMC->PMC_SCSR & - (PMC_SCSR_CPCK | PMC_SCSR_CPBMCK); - PMC->PMC_SCDR = cpclk_backup | PMC_SCDR_CPKEY_PASSWD; -#endif - pmc_save_clock_settings(&mor, &pllr0, &pllr1, &mckr, &fmr, -#if defined(EFC1) - &fmr1, -#endif - (sleep_mode == SAM_PM_SMODE_WAIT)); - - /* Enter wait mode */ - cpu_irq_enable(); - - pmc_enable_waitmode(); - - cpu_irq_disable(); - pmc_restore_clock_setting(mor, pllr0, pllr1, mckr, fmr -#if defined(EFC1) - , fmr1 -#endif - ); - -#if (SAM4C || SAM4CM || SAM4CP) - /* Restore the sub-system 1 */ - PMC->PMC_SCER = cpclk_backup | PMC_SCER_CPKEY_PASSWD; -#endif - b_is_sleep_clock_used = false; - if (callback_clocks_restored) { - callback_clocks_restored(); - callback_clocks_restored = NULL; - } - cpu_irq_enable(); - - break; - } -#if (!(SAMG51 || SAMG53 || SAMG54)) - case SAM_PM_SMODE_BACKUP: - SCB->SCR |= SCR_SLEEPDEEP; -#if (SAM4S || SAM4E || SAM4N || SAM4C || SAM4CM || SAM4CP || SAMG55 || SAMV71 || SAMV70 || SAMS70 || SAME70) - SUPC->SUPC_CR = SUPC_CR_KEY_PASSWD | SUPC_CR_VROFF_STOP_VREG; - cpu_irq_enable(); - __WFI() ; -#else - cpu_irq_enable(); - __WFE() ; -#endif - break; -#endif - } -} - -bool pmc_is_wakeup_clocks_restored(void) -{ - return !b_is_sleep_clock_used; -} - -void pmc_wait_wakeup_clocks_restore( - pmc_callback_wakeup_clocks_restored_t callback) -{ - if (b_is_sleep_clock_used) { - cpu_irq_disable(); - callback_clocks_restored = callback; - } else if (callback) { - callback(); - } -} - -#endif diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.h deleted file mode 100644 index 868c57f..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/drivers/pmc/sleep.h +++ /dev/null @@ -1,127 +0,0 @@ -/** - * \file - * - * \brief Sleep mode access - * - * Copyright (c) 2012-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef SLEEP_H -#define SLEEP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include <compiler.h> - -/** - * \defgroup sleep_group Power Manager (PM) - * - * This is a stub on the SAM Power Manager Control (PMC) for the sleepmgr - * service. - * - * \note To minimize the code overhead, these functions do not feature - * interrupt-protected access since they are likely to be called inside - * interrupt handlers or in applications where such protection is not - * necessary. If such protection is needed, it must be ensured by the calling - * code. - * - * @{ - */ - -#if defined(__DOXYGEN__) -/** - * \brief Sets the MCU in the specified sleep mode - * \param sleep_mode Sleep mode to set. - */ -#endif -/* SAM3,SAM4,SAMG,SAMV,SAME and SAMS series */ -#if (SAM3S || SAM3N || SAM3XA || SAM3U || SAM4S || SAM4E || SAM4N || SAM4C || \ - SAM4CM || SAM4CP || SAMG || SAMV71 || SAME70 || SAMS70) -# define SAM_PM_SMODE_ACTIVE 0 /**< Active */ -# define SAM_PM_SMODE_SLEEP_WFE 1 /**< Wait for Events */ -# define SAM_PM_SMODE_SLEEP_WFI 2 /**< Wait for Interrupts */ -# define SAM_PM_SMODE_WAIT_FAST 3 /**< Wait Mode, startup fast (in 3ms) */ -# define SAM_PM_SMODE_WAIT 4 /**< Wait Mode */ -#if (!(SAMG51 || SAMG53 || SAMG54)) -# define SAM_PM_SMODE_BACKUP 5 /**< Backup Mode */ -#endif - -/** (SCR) Sleep deep bit */ -#define SCR_SLEEPDEEP (0x1 << 2) - -/** - * Clocks restored callback function type. - * Registered by routine pmc_wait_wakeup_clocks_restore() - * Callback called when all clocks are restored. - */ -typedef void (*pmc_callback_wakeup_clocks_restored_t) (void); - -/** - * Enter sleep mode - * \param sleep_mode Sleep mode to enter - */ -void pmc_sleep(int sleep_mode); - -/** - * Check if clocks are restored after wakeup - * (For WAIT mode. In WAIT mode, clocks are switched to FASTRC. - * After wakeup clocks should be restored, before that some of the - * ISR should not be served, otherwise there may be timing or clock issue.) - */ -bool pmc_is_wakeup_clocks_restored(void); - -/** - * \return true if start waiting - */ -void pmc_wait_wakeup_clocks_restore( - pmc_callback_wakeup_clocks_restored_t callback); - -#endif - -//! @} - -#ifdef __cplusplus -} -#endif - -#endif /* SLEEP_H */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h deleted file mode 100644 index 9b87664..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/acc.h +++ /dev/null @@ -1,143 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ACC_COMPONENT_ -#define _SAMS70_ACC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Analog Comparator Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_ACC Analog Comparator Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Acc hardware registers */ -typedef struct { - __O uint32_t ACC_CR; /**< \brief (Acc Offset: 0x00) Control Register */ - __IO uint32_t ACC_MR; /**< \brief (Acc Offset: 0x04) Mode Register */ - __I uint32_t Reserved1[7]; - __O uint32_t ACC_IER; /**< \brief (Acc Offset: 0x24) Interrupt Enable Register */ - __O uint32_t ACC_IDR; /**< \brief (Acc Offset: 0x28) Interrupt Disable Register */ - __I uint32_t ACC_IMR; /**< \brief (Acc Offset: 0x2C) Interrupt Mask Register */ - __I uint32_t ACC_ISR; /**< \brief (Acc Offset: 0x30) Interrupt Status Register */ - __I uint32_t Reserved2[24]; - __IO uint32_t ACC_ACR; /**< \brief (Acc Offset: 0x94) Analog Control Register */ - __I uint32_t Reserved3[19]; - __IO uint32_t ACC_WPMR; /**< \brief (Acc Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t ACC_WPSR; /**< \brief (Acc Offset: 0xE8) Write Protection Status Register */ -} Acc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- ACC_CR : (ACC Offset: 0x00) Control Register -------- */ -#define ACC_CR_SWRST (0x1u << 0) /**< \brief (ACC_CR) Software Reset */ -/* -------- ACC_MR : (ACC Offset: 0x04) Mode Register -------- */ -#define ACC_MR_SELMINUS_Pos 0 -#define ACC_MR_SELMINUS_Msk (0x7u << ACC_MR_SELMINUS_Pos) /**< \brief (ACC_MR) Selection for Minus Comparator Input */ -#define ACC_MR_SELMINUS(value) ((ACC_MR_SELMINUS_Msk & ((value) << ACC_MR_SELMINUS_Pos))) -#define ACC_MR_SELMINUS_TS (0x0u << 0) /**< \brief (ACC_MR) Select TS */ -#define ACC_MR_SELMINUS_ADVREFP (0x1u << 0) /**< \brief (ACC_MR) Select ADVREFP */ -#define ACC_MR_SELMINUS_DAC0 (0x2u << 0) /**< \brief (ACC_MR) Select DAC0 */ -#define ACC_MR_SELMINUS_DAC1 (0x3u << 0) /**< \brief (ACC_MR) Select DAC1 */ -#define ACC_MR_SELMINUS_AFE0_AD0 (0x4u << 0) /**< \brief (ACC_MR) Select AFE0_AD0 */ -#define ACC_MR_SELMINUS_AFE0_AD1 (0x5u << 0) /**< \brief (ACC_MR) Select AFE0_AD1 */ -#define ACC_MR_SELMINUS_AFE0_AD2 (0x6u << 0) /**< \brief (ACC_MR) Select AFE0_AD2 */ -#define ACC_MR_SELMINUS_AFE0_AD3 (0x7u << 0) /**< \brief (ACC_MR) Select AFE0_AD3 */ -#define ACC_MR_SELPLUS_Pos 4 -#define ACC_MR_SELPLUS_Msk (0x7u << ACC_MR_SELPLUS_Pos) /**< \brief (ACC_MR) Selection For Plus Comparator Input */ -#define ACC_MR_SELPLUS(value) ((ACC_MR_SELPLUS_Msk & ((value) << ACC_MR_SELPLUS_Pos))) -#define ACC_MR_SELPLUS_AFE0_AD0 (0x0u << 4) /**< \brief (ACC_MR) Select AFE0_AD0 */ -#define ACC_MR_SELPLUS_AFE0_AD1 (0x1u << 4) /**< \brief (ACC_MR) Select AFE0_AD1 */ -#define ACC_MR_SELPLUS_AFE0_AD2 (0x2u << 4) /**< \brief (ACC_MR) Select AFE0_AD2 */ -#define ACC_MR_SELPLUS_AFE0_AD3 (0x3u << 4) /**< \brief (ACC_MR) Select AFE0_AD3 */ -#define ACC_MR_SELPLUS_AFE0_AD4 (0x4u << 4) /**< \brief (ACC_MR) Select AFE0_AD4 */ -#define ACC_MR_SELPLUS_AFE0_AD5 (0x5u << 4) /**< \brief (ACC_MR) Select AFE0_AD5 */ -#define ACC_MR_SELPLUS_AFE1_AD0 (0x6u << 4) /**< \brief (ACC_MR) Select AFE1_AD0 */ -#define ACC_MR_SELPLUS_AFE1_AD1 (0x7u << 4) /**< \brief (ACC_MR) Select AFE1_AD1 */ -#define ACC_MR_ACEN (0x1u << 8) /**< \brief (ACC_MR) Analog Comparator Enable */ -#define ACC_MR_ACEN_DIS (0x0u << 8) /**< \brief (ACC_MR) Analog comparator disabled. */ -#define ACC_MR_ACEN_EN (0x1u << 8) /**< \brief (ACC_MR) Analog comparator enabled. */ -#define ACC_MR_EDGETYP_Pos 9 -#define ACC_MR_EDGETYP_Msk (0x3u << ACC_MR_EDGETYP_Pos) /**< \brief (ACC_MR) Edge Type */ -#define ACC_MR_EDGETYP(value) ((ACC_MR_EDGETYP_Msk & ((value) << ACC_MR_EDGETYP_Pos))) -#define ACC_MR_EDGETYP_RISING (0x0u << 9) /**< \brief (ACC_MR) Only rising edge of comparator output */ -#define ACC_MR_EDGETYP_FALLING (0x1u << 9) /**< \brief (ACC_MR) Falling edge of comparator output */ -#define ACC_MR_EDGETYP_ANY (0x2u << 9) /**< \brief (ACC_MR) Any edge of comparator output */ -#define ACC_MR_INV (0x1u << 12) /**< \brief (ACC_MR) Invert Comparator Output */ -#define ACC_MR_INV_DIS (0x0u << 12) /**< \brief (ACC_MR) Analog comparator output is directly processed. */ -#define ACC_MR_INV_EN (0x1u << 12) /**< \brief (ACC_MR) Analog comparator output is inverted prior to being processed. */ -#define ACC_MR_SELFS (0x1u << 13) /**< \brief (ACC_MR) Selection Of Fault Source */ -#define ACC_MR_SELFS_CE (0x0u << 13) /**< \brief (ACC_MR) The CE flag is used to drive the FAULT output. */ -#define ACC_MR_SELFS_OUTPUT (0x1u << 13) /**< \brief (ACC_MR) The output of the analog comparator flag is used to drive the FAULT output. */ -#define ACC_MR_FE (0x1u << 14) /**< \brief (ACC_MR) Fault Enable */ -#define ACC_MR_FE_DIS (0x0u << 14) /**< \brief (ACC_MR) The FAULT output is tied to 0. */ -#define ACC_MR_FE_EN (0x1u << 14) /**< \brief (ACC_MR) The FAULT output is driven by the signal defined by SELFS. */ -/* -------- ACC_IER : (ACC Offset: 0x24) Interrupt Enable Register -------- */ -#define ACC_IER_CE (0x1u << 0) /**< \brief (ACC_IER) Comparison Edge */ -/* -------- ACC_IDR : (ACC Offset: 0x28) Interrupt Disable Register -------- */ -#define ACC_IDR_CE (0x1u << 0) /**< \brief (ACC_IDR) Comparison Edge */ -/* -------- ACC_IMR : (ACC Offset: 0x2C) Interrupt Mask Register -------- */ -#define ACC_IMR_CE (0x1u << 0) /**< \brief (ACC_IMR) Comparison Edge */ -/* -------- ACC_ISR : (ACC Offset: 0x30) Interrupt Status Register -------- */ -#define ACC_ISR_CE (0x1u << 0) /**< \brief (ACC_ISR) Comparison Edge (cleared on read) */ -#define ACC_ISR_SCO (0x1u << 1) /**< \brief (ACC_ISR) Synchronized Comparator Output */ -#define ACC_ISR_MASK (0x1u << 31) /**< \brief (ACC_ISR) Flag Mask */ -/* -------- ACC_ACR : (ACC Offset: 0x94) Analog Control Register -------- */ -#define ACC_ACR_ISEL (0x1u << 0) /**< \brief (ACC_ACR) Current Selection */ -#define ACC_ACR_ISEL_LOPW (0x0u << 0) /**< \brief (ACC_ACR) Low-power option. */ -#define ACC_ACR_ISEL_HISP (0x1u << 0) /**< \brief (ACC_ACR) High-speed option. */ -#define ACC_ACR_HYST_Pos 1 -#define ACC_ACR_HYST_Msk (0x3u << ACC_ACR_HYST_Pos) /**< \brief (ACC_ACR) Hysteresis Selection */ -#define ACC_ACR_HYST(value) ((ACC_ACR_HYST_Msk & ((value) << ACC_ACR_HYST_Pos))) -/* -------- ACC_WPMR : (ACC Offset: 0xE4) Write Protection Mode Register -------- */ -#define ACC_WPMR_WPEN (0x1u << 0) /**< \brief (ACC_WPMR) Write Protection Enable */ -#define ACC_WPMR_WPKEY_Pos 8 -#define ACC_WPMR_WPKEY_Msk (0xffffffu << ACC_WPMR_WPKEY_Pos) /**< \brief (ACC_WPMR) Write Protection Key */ -#define ACC_WPMR_WPKEY(value) ((ACC_WPMR_WPKEY_Msk & ((value) << ACC_WPMR_WPKEY_Pos))) -#define ACC_WPMR_WPKEY_PASSWD (0x414343u << 8) /**< \brief (ACC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- ACC_WPSR : (ACC Offset: 0xE8) Write Protection Status Register -------- */ -#define ACC_WPSR_WPVS (0x1u << 0) /**< \brief (ACC_WPSR) Write Protection Violation Status */ - -/*@}*/ - - -#endif /* _SAMS70_ACC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h deleted file mode 100644 index 963f22a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/aes.h +++ /dev/null @@ -1,187 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AES_COMPONENT_ -#define _SAMS70_AES_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Advanced Encryption Standard */ -/* ============================================================================= */ -/** \addtogroup SAMS70_AES Advanced Encryption Standard */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Aes hardware registers */ -typedef struct { - __O uint32_t AES_CR; /**< \brief (Aes Offset: 0x00) Control Register */ - __IO uint32_t AES_MR; /**< \brief (Aes Offset: 0x04) Mode Register */ - __I uint32_t Reserved1[2]; - __O uint32_t AES_IER; /**< \brief (Aes Offset: 0x10) Interrupt Enable Register */ - __O uint32_t AES_IDR; /**< \brief (Aes Offset: 0x14) Interrupt Disable Register */ - __I uint32_t AES_IMR; /**< \brief (Aes Offset: 0x18) Interrupt Mask Register */ - __I uint32_t AES_ISR; /**< \brief (Aes Offset: 0x1C) Interrupt Status Register */ - __O uint32_t AES_KEYWR[8]; /**< \brief (Aes Offset: 0x20) Key Word Register */ - __O uint32_t AES_IDATAR[4]; /**< \brief (Aes Offset: 0x40) Input Data Register */ - __I uint32_t AES_ODATAR[4]; /**< \brief (Aes Offset: 0x50) Output Data Register */ - __O uint32_t AES_IVR[4]; /**< \brief (Aes Offset: 0x60) Initialization Vector Register */ - __IO uint32_t AES_AADLENR; /**< \brief (Aes Offset: 0x70) Additional Authenticated Data Length Register */ - __IO uint32_t AES_CLENR; /**< \brief (Aes Offset: 0x74) Plaintext/Ciphertext Length Register */ - __IO uint32_t AES_GHASHR[4]; /**< \brief (Aes Offset: 0x78) GCM Intermediate Hash Word Register */ - __I uint32_t AES_TAGR[4]; /**< \brief (Aes Offset: 0x88) GCM Authentication Tag Word Register */ - __I uint32_t AES_CTRR; /**< \brief (Aes Offset: 0x98) GCM Encryption Counter Value Register */ - __IO uint32_t AES_GCMHR[4]; /**< \brief (Aes Offset: 0x9C) GCM H Word Register */ -} Aes; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- AES_CR : (AES Offset: 0x00) Control Register -------- */ -#define AES_CR_START (0x1u << 0) /**< \brief (AES_CR) Start Processing */ -#define AES_CR_SWRST (0x1u << 8) /**< \brief (AES_CR) Software Reset */ -/* -------- AES_MR : (AES Offset: 0x04) Mode Register -------- */ -#define AES_MR_CIPHER (0x1u << 0) /**< \brief (AES_MR) Processing Mode */ -#define AES_MR_GTAGEN (0x1u << 1) /**< \brief (AES_MR) GCM Automatic Tag Generation Enable */ -#define AES_MR_DUALBUFF (0x1u << 3) /**< \brief (AES_MR) Dual Input Buffer */ -#define AES_MR_DUALBUFF_INACTIVE (0x0u << 3) /**< \brief (AES_MR) AES_IDATARx cannot be written during processing of previous block. */ -#define AES_MR_DUALBUFF_ACTIVE (0x1u << 3) /**< \brief (AES_MR) AES_IDATARx can be written during processing of previous block when SMOD = 0x2. It speeds up the overall runtime of large files. */ -#define AES_MR_PROCDLY_Pos 4 -#define AES_MR_PROCDLY_Msk (0xfu << AES_MR_PROCDLY_Pos) /**< \brief (AES_MR) Processing Delay */ -#define AES_MR_PROCDLY(value) ((AES_MR_PROCDLY_Msk & ((value) << AES_MR_PROCDLY_Pos))) -#define AES_MR_SMOD_Pos 8 -#define AES_MR_SMOD_Msk (0x3u << AES_MR_SMOD_Pos) /**< \brief (AES_MR) Start Mode */ -#define AES_MR_SMOD(value) ((AES_MR_SMOD_Msk & ((value) << AES_MR_SMOD_Pos))) -#define AES_MR_SMOD_MANUAL_START (0x0u << 8) /**< \brief (AES_MR) Manual Mode */ -#define AES_MR_SMOD_AUTO_START (0x1u << 8) /**< \brief (AES_MR) Auto Mode */ -#define AES_MR_SMOD_IDATAR0_START (0x2u << 8) /**< \brief (AES_MR) AES_IDATAR0 access only Auto Mode (DMA) */ -#define AES_MR_KEYSIZE_Pos 10 -#define AES_MR_KEYSIZE_Msk (0x3u << AES_MR_KEYSIZE_Pos) /**< \brief (AES_MR) Key Size */ -#define AES_MR_KEYSIZE(value) ((AES_MR_KEYSIZE_Msk & ((value) << AES_MR_KEYSIZE_Pos))) -#define AES_MR_KEYSIZE_AES128 (0x0u << 10) /**< \brief (AES_MR) AES Key Size is 128 bits */ -#define AES_MR_KEYSIZE_AES192 (0x1u << 10) /**< \brief (AES_MR) AES Key Size is 192 bits */ -#define AES_MR_KEYSIZE_AES256 (0x2u << 10) /**< \brief (AES_MR) AES Key Size is 256 bits */ -#define AES_MR_OPMOD_Pos 12 -#define AES_MR_OPMOD_Msk (0x7u << AES_MR_OPMOD_Pos) /**< \brief (AES_MR) Operation Mode */ -#define AES_MR_OPMOD(value) ((AES_MR_OPMOD_Msk & ((value) << AES_MR_OPMOD_Pos))) -#define AES_MR_OPMOD_ECB (0x0u << 12) /**< \brief (AES_MR) ECB: Electronic Code Book mode */ -#define AES_MR_OPMOD_CBC (0x1u << 12) /**< \brief (AES_MR) CBC: Cipher Block Chaining mode */ -#define AES_MR_OPMOD_OFB (0x2u << 12) /**< \brief (AES_MR) OFB: Output Feedback mode */ -#define AES_MR_OPMOD_CFB (0x3u << 12) /**< \brief (AES_MR) CFB: Cipher Feedback mode */ -#define AES_MR_OPMOD_CTR (0x4u << 12) /**< \brief (AES_MR) CTR: Counter mode (16-bit internal counter) */ -#define AES_MR_OPMOD_GCM (0x5u << 12) /**< \brief (AES_MR) GCM: Galois/Counter mode */ -#define AES_MR_LOD (0x1u << 15) /**< \brief (AES_MR) Last Output Data Mode */ -#define AES_MR_CFBS_Pos 16 -#define AES_MR_CFBS_Msk (0x7u << AES_MR_CFBS_Pos) /**< \brief (AES_MR) Cipher Feedback Data Size */ -#define AES_MR_CFBS(value) ((AES_MR_CFBS_Msk & ((value) << AES_MR_CFBS_Pos))) -#define AES_MR_CFBS_SIZE_128BIT (0x0u << 16) /**< \brief (AES_MR) 128-bit */ -#define AES_MR_CFBS_SIZE_64BIT (0x1u << 16) /**< \brief (AES_MR) 64-bit */ -#define AES_MR_CFBS_SIZE_32BIT (0x2u << 16) /**< \brief (AES_MR) 32-bit */ -#define AES_MR_CFBS_SIZE_16BIT (0x3u << 16) /**< \brief (AES_MR) 16-bit */ -#define AES_MR_CFBS_SIZE_8BIT (0x4u << 16) /**< \brief (AES_MR) 8-bit */ -#define AES_MR_CKEY_Pos 20 -#define AES_MR_CKEY_Msk (0xfu << AES_MR_CKEY_Pos) /**< \brief (AES_MR) Key */ -#define AES_MR_CKEY(value) ((AES_MR_CKEY_Msk & ((value) << AES_MR_CKEY_Pos))) -#define AES_MR_CKEY_PASSWD (0xEu << 20) /**< \brief (AES_MR) This field must be written with 0xE the first time that AES_MR is programmed. For subsequent programming of the AES_MR, any value can be written, including that of 0xE.Always reads as 0. */ -/* -------- AES_IER : (AES Offset: 0x10) Interrupt Enable Register -------- */ -#define AES_IER_DATRDY (0x1u << 0) /**< \brief (AES_IER) Data Ready Interrupt Enable */ -#define AES_IER_URAD (0x1u << 8) /**< \brief (AES_IER) Unspecified Register Access Detection Interrupt Enable */ -#define AES_IER_TAGRDY (0x1u << 16) /**< \brief (AES_IER) GCM Tag Ready Interrupt Enable */ -/* -------- AES_IDR : (AES Offset: 0x14) Interrupt Disable Register -------- */ -#define AES_IDR_DATRDY (0x1u << 0) /**< \brief (AES_IDR) Data Ready Interrupt Disable */ -#define AES_IDR_URAD (0x1u << 8) /**< \brief (AES_IDR) Unspecified Register Access Detection Interrupt Disable */ -#define AES_IDR_TAGRDY (0x1u << 16) /**< \brief (AES_IDR) GCM Tag Ready Interrupt Disable */ -/* -------- AES_IMR : (AES Offset: 0x18) Interrupt Mask Register -------- */ -#define AES_IMR_DATRDY (0x1u << 0) /**< \brief (AES_IMR) Data Ready Interrupt Mask */ -#define AES_IMR_URAD (0x1u << 8) /**< \brief (AES_IMR) Unspecified Register Access Detection Interrupt Mask */ -#define AES_IMR_TAGRDY (0x1u << 16) /**< \brief (AES_IMR) GCM Tag Ready Interrupt Mask */ -/* -------- AES_ISR : (AES Offset: 0x1C) Interrupt Status Register -------- */ -#define AES_ISR_DATRDY (0x1u << 0) /**< \brief (AES_ISR) Data Ready (cleared by setting bit START or bit SWRST in AES_CR or by reading AES_ODATARx) */ -#define AES_ISR_URAD (0x1u << 8) /**< \brief (AES_ISR) Unspecified Register Access Detection Status (cleared by writing SWRST in AES_CR) */ -#define AES_ISR_URAT_Pos 12 -#define AES_ISR_URAT_Msk (0xfu << AES_ISR_URAT_Pos) /**< \brief (AES_ISR) Unspecified Register Access (cleared by writing SWRST in AES_CR) */ -#define AES_ISR_URAT_IDR_WR_PROCESSING (0x0u << 12) /**< \brief (AES_ISR) Input Data Register written during the data processing when SMOD = 0x2 mode. */ -#define AES_ISR_URAT_ODR_RD_PROCESSING (0x1u << 12) /**< \brief (AES_ISR) Output Data Register read during the data processing. */ -#define AES_ISR_URAT_MR_WR_PROCESSING (0x2u << 12) /**< \brief (AES_ISR) Mode Register written during the data processing. */ -#define AES_ISR_URAT_ODR_RD_SUBKGEN (0x3u << 12) /**< \brief (AES_ISR) Output Data Register read during the sub-keys generation. */ -#define AES_ISR_URAT_MR_WR_SUBKGEN (0x4u << 12) /**< \brief (AES_ISR) Mode Register written during the sub-keys generation. */ -#define AES_ISR_URAT_WOR_RD_ACCESS (0x5u << 12) /**< \brief (AES_ISR) Write-only register read access. */ -#define AES_ISR_TAGRDY (0x1u << 16) /**< \brief (AES_ISR) GCM Tag Ready */ -/* -------- AES_KEYWR[8] : (AES Offset: 0x20) Key Word Register -------- */ -#define AES_KEYWR_KEYW_Pos 0 -#define AES_KEYWR_KEYW_Msk (0xffffffffu << AES_KEYWR_KEYW_Pos) /**< \brief (AES_KEYWR[8]) Key Word */ -#define AES_KEYWR_KEYW(value) ((AES_KEYWR_KEYW_Msk & ((value) << AES_KEYWR_KEYW_Pos))) -/* -------- AES_IDATAR[4] : (AES Offset: 0x40) Input Data Register -------- */ -#define AES_IDATAR_IDATA_Pos 0 -#define AES_IDATAR_IDATA_Msk (0xffffffffu << AES_IDATAR_IDATA_Pos) /**< \brief (AES_IDATAR[4]) Input Data Word */ -#define AES_IDATAR_IDATA(value) ((AES_IDATAR_IDATA_Msk & ((value) << AES_IDATAR_IDATA_Pos))) -/* -------- AES_ODATAR[4] : (AES Offset: 0x50) Output Data Register -------- */ -#define AES_ODATAR_ODATA_Pos 0 -#define AES_ODATAR_ODATA_Msk (0xffffffffu << AES_ODATAR_ODATA_Pos) /**< \brief (AES_ODATAR[4]) Output Data */ -/* -------- AES_IVR[4] : (AES Offset: 0x60) Initialization Vector Register -------- */ -#define AES_IVR_IV_Pos 0 -#define AES_IVR_IV_Msk (0xffffffffu << AES_IVR_IV_Pos) /**< \brief (AES_IVR[4]) Initialization Vector */ -#define AES_IVR_IV(value) ((AES_IVR_IV_Msk & ((value) << AES_IVR_IV_Pos))) -/* -------- AES_AADLENR : (AES Offset: 0x70) Additional Authenticated Data Length Register -------- */ -#define AES_AADLENR_AADLEN_Pos 0 -#define AES_AADLENR_AADLEN_Msk (0xffffffffu << AES_AADLENR_AADLEN_Pos) /**< \brief (AES_AADLENR) Additional Authenticated Data Length */ -#define AES_AADLENR_AADLEN(value) ((AES_AADLENR_AADLEN_Msk & ((value) << AES_AADLENR_AADLEN_Pos))) -/* -------- AES_CLENR : (AES Offset: 0x74) Plaintext/Ciphertext Length Register -------- */ -#define AES_CLENR_CLEN_Pos 0 -#define AES_CLENR_CLEN_Msk (0xffffffffu << AES_CLENR_CLEN_Pos) /**< \brief (AES_CLENR) Plaintext/Ciphertext Length */ -#define AES_CLENR_CLEN(value) ((AES_CLENR_CLEN_Msk & ((value) << AES_CLENR_CLEN_Pos))) -/* -------- AES_GHASHR[4] : (AES Offset: 0x78) GCM Intermediate Hash Word Register -------- */ -#define AES_GHASHR_GHASH_Pos 0 -#define AES_GHASHR_GHASH_Msk (0xffffffffu << AES_GHASHR_GHASH_Pos) /**< \brief (AES_GHASHR[4]) Intermediate GCM Hash Word x */ -#define AES_GHASHR_GHASH(value) ((AES_GHASHR_GHASH_Msk & ((value) << AES_GHASHR_GHASH_Pos))) -/* -------- AES_TAGR[4] : (AES Offset: 0x88) GCM Authentication Tag Word Register -------- */ -#define AES_TAGR_TAG_Pos 0 -#define AES_TAGR_TAG_Msk (0xffffffffu << AES_TAGR_TAG_Pos) /**< \brief (AES_TAGR[4]) GCM Authentication Tag x */ -/* -------- AES_CTRR : (AES Offset: 0x98) GCM Encryption Counter Value Register -------- */ -#define AES_CTRR_CTR_Pos 0 -#define AES_CTRR_CTR_Msk (0xffffffffu << AES_CTRR_CTR_Pos) /**< \brief (AES_CTRR) GCM Encryption Counter */ -/* -------- AES_GCMHR[4] : (AES Offset: 0x9C) GCM H Word Register -------- */ -#define AES_GCMHR_H_Pos 0 -#define AES_GCMHR_H_Msk (0xffffffffu << AES_GCMHR_H_Pos) /**< \brief (AES_GCMHR[4]) GCM H Word x */ -#define AES_GCMHR_H(value) ((AES_GCMHR_H_Msk & ((value) << AES_GCMHR_H_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_AES_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h deleted file mode 100644 index f8ee47e..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/afec.h +++ /dev/null @@ -1,498 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AFEC_COMPONENT_ -#define _SAMS70_AFEC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Analog Front-End Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_AFEC Analog Front-End Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Afec hardware registers */ -typedef struct { - __O uint32_t AFEC_CR; /**< \brief (Afec Offset: 0x00) AFEC Control Register */ - __IO uint32_t AFEC_MR; /**< \brief (Afec Offset: 0x04) AFEC Mode Register */ - __IO uint32_t AFEC_EMR; /**< \brief (Afec Offset: 0x08) AFEC Extended Mode Register */ - __IO uint32_t AFEC_SEQ1R; /**< \brief (Afec Offset: 0x0C) AFEC Channel Sequence 1 Register */ - __IO uint32_t AFEC_SEQ2R; /**< \brief (Afec Offset: 0x10) AFEC Channel Sequence 2 Register */ - __O uint32_t AFEC_CHER; /**< \brief (Afec Offset: 0x14) AFEC Channel Enable Register */ - __O uint32_t AFEC_CHDR; /**< \brief (Afec Offset: 0x18) AFEC Channel Disable Register */ - __I uint32_t AFEC_CHSR; /**< \brief (Afec Offset: 0x1C) AFEC Channel Status Register */ - __I uint32_t AFEC_LCDR; /**< \brief (Afec Offset: 0x20) AFEC Last Converted Data Register */ - __O uint32_t AFEC_IER; /**< \brief (Afec Offset: 0x24) AFEC Interrupt Enable Register */ - __O uint32_t AFEC_IDR; /**< \brief (Afec Offset: 0x28) AFEC Interrupt Disable Register */ - __I uint32_t AFEC_IMR; /**< \brief (Afec Offset: 0x2C) AFEC Interrupt Mask Register */ - __I uint32_t AFEC_ISR; /**< \brief (Afec Offset: 0x30) AFEC Interrupt Status Register */ - __I uint32_t Reserved1[6]; - __I uint32_t AFEC_OVER; /**< \brief (Afec Offset: 0x4C) AFEC Overrun Status Register */ - __IO uint32_t AFEC_CWR; /**< \brief (Afec Offset: 0x50) AFEC Compare Window Register */ - __IO uint32_t AFEC_CGR; /**< \brief (Afec Offset: 0x54) AFEC Channel Gain Register */ - __I uint32_t Reserved2[2]; - __IO uint32_t AFEC_DIFFR; /**< \brief (Afec Offset: 0x60) AFEC Channel Differential Register */ - __IO uint32_t AFEC_CSELR; /**< \brief (Afec Offset: 0x64) AFEC Channel Selection Register */ - __I uint32_t AFEC_CDR; /**< \brief (Afec Offset: 0x68) AFEC Channel Data Register */ - __IO uint32_t AFEC_COCR; /**< \brief (Afec Offset: 0x6C) AFEC Channel Offset Compensation Register */ - __IO uint32_t AFEC_TEMPMR; /**< \brief (Afec Offset: 0x70) AFEC Temperature Sensor Mode Register */ - __IO uint32_t AFEC_TEMPCWR; /**< \brief (Afec Offset: 0x74) AFEC Temperature Compare Window Register */ - __I uint32_t Reserved3[7]; - __IO uint32_t AFEC_ACR; /**< \brief (Afec Offset: 0x94) AFEC Analog Control Register */ - __I uint32_t Reserved4[2]; - __IO uint32_t AFEC_SHMR; /**< \brief (Afec Offset: 0xA0) AFEC Sample & Hold Mode Register */ - __I uint32_t Reserved5[11]; - __IO uint32_t AFEC_COSR; /**< \brief (Afec Offset: 0xD0) AFEC Correction Select Register */ - __IO uint32_t AFEC_CVR; /**< \brief (Afec Offset: 0xD4) AFEC Correction Values Register */ - __IO uint32_t AFEC_CECR; /**< \brief (Afec Offset: 0xD8) AFEC Channel Error Correction Register */ - __I uint32_t Reserved6[2]; - __IO uint32_t AFEC_WPMR; /**< \brief (Afec Offset: 0xE4) AFEC Write Protection Mode Register */ - __I uint32_t AFEC_WPSR; /**< \brief (Afec Offset: 0xE8) AFEC Write Protection Status Register */ -} Afec; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- AFEC_CR : (AFEC Offset: 0x00) AFEC Control Register -------- */ -#define AFEC_CR_SWRST (0x1u << 0) /**< \brief (AFEC_CR) Software Reset */ -#define AFEC_CR_START (0x1u << 1) /**< \brief (AFEC_CR) Start Conversion */ -/* -------- AFEC_MR : (AFEC Offset: 0x04) AFEC Mode Register -------- */ -#define AFEC_MR_TRGEN (0x1u << 0) /**< \brief (AFEC_MR) Trigger Enable */ -#define AFEC_MR_TRGEN_DIS (0x0u << 0) /**< \brief (AFEC_MR) Hardware triggers are disabled. Starting a conversion is only possible by software. */ -#define AFEC_MR_TRGEN_EN (0x1u << 0) /**< \brief (AFEC_MR) Hardware trigger selected by TRGSEL field is enabled. */ -#define AFEC_MR_TRGSEL_Pos 1 -#define AFEC_MR_TRGSEL_Msk (0x7u << AFEC_MR_TRGSEL_Pos) /**< \brief (AFEC_MR) Trigger Selection */ -#define AFEC_MR_TRGSEL(value) ((AFEC_MR_TRGSEL_Msk & ((value) << AFEC_MR_TRGSEL_Pos))) -#define AFEC_MR_TRGSEL_AFEC_TRIG0 (0x0u << 1) /**< \brief (AFEC_MR) AFE0_ADTRG for AFEC0 / AFE1_ADTRG for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG1 (0x1u << 1) /**< \brief (AFEC_MR) TIOA Output of the Timer Counter Channel 0 for AFEC0/TIOA Output of the Timer Counter Channel 3 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG2 (0x2u << 1) /**< \brief (AFEC_MR) TIOA Output of the Timer Counter Channel 1 for AFEC0/TIOA Output of the Timer Counter Channel 4 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG3 (0x3u << 1) /**< \brief (AFEC_MR) TIOA Output of the Timer Counter Channel 2 for AFEC0/TIOA Output of the Timer Counter Channel 5 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG4 (0x4u << 1) /**< \brief (AFEC_MR) PWM0 event line 0 for AFEC0 / PWM1 event line 0 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG5 (0x5u << 1) /**< \brief (AFEC_MR) PWM0 event line 1 for AFEC0 / PWM1 event line 1 for AFEC1 */ -#define AFEC_MR_TRGSEL_AFEC_TRIG6 (0x6u << 1) /**< \brief (AFEC_MR) Analog Comparator */ -#define AFEC_MR_SLEEP (0x1u << 5) /**< \brief (AFEC_MR) Sleep Mode */ -#define AFEC_MR_SLEEP_NORMAL (0x0u << 5) /**< \brief (AFEC_MR) Normal mode: The AFE and reference voltage circuitry are kept ON between conversions. */ -#define AFEC_MR_SLEEP_SLEEP (0x1u << 5) /**< \brief (AFEC_MR) Sleep mode: The AFE and reference voltage circuitry are OFF between conversions. */ -#define AFEC_MR_FWUP (0x1u << 6) /**< \brief (AFEC_MR) Fast Wake-up */ -#define AFEC_MR_FWUP_OFF (0x0u << 6) /**< \brief (AFEC_MR) Normal Sleep mode: The sleep mode is defined by the SLEEP bit. */ -#define AFEC_MR_FWUP_ON (0x1u << 6) /**< \brief (AFEC_MR) Fast wake-up Sleep mode: The voltage reference is ON between conversions and AFE is OFF. */ -#define AFEC_MR_FREERUN (0x1u << 7) /**< \brief (AFEC_MR) Free Run Mode */ -#define AFEC_MR_FREERUN_OFF (0x0u << 7) /**< \brief (AFEC_MR) Normal mode */ -#define AFEC_MR_FREERUN_ON (0x1u << 7) /**< \brief (AFEC_MR) Free Run mode: Never wait for any trigger. */ -#define AFEC_MR_PRESCAL_Pos 8 -#define AFEC_MR_PRESCAL_Msk (0xffu << AFEC_MR_PRESCAL_Pos) /**< \brief (AFEC_MR) Prescaler Rate Selection */ -#define AFEC_MR_PRESCAL(value) ((AFEC_MR_PRESCAL_Msk & ((value) << AFEC_MR_PRESCAL_Pos))) -#define AFEC_MR_STARTUP_Pos 16 -#define AFEC_MR_STARTUP_Msk (0xfu << AFEC_MR_STARTUP_Pos) /**< \brief (AFEC_MR) Start-up Time */ -#define AFEC_MR_STARTUP(value) ((AFEC_MR_STARTUP_Msk & ((value) << AFEC_MR_STARTUP_Pos))) -#define AFEC_MR_STARTUP_SUT0 (0x0u << 16) /**< \brief (AFEC_MR) 0 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT8 (0x1u << 16) /**< \brief (AFEC_MR) 8 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT16 (0x2u << 16) /**< \brief (AFEC_MR) 16 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT24 (0x3u << 16) /**< \brief (AFEC_MR) 24 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT64 (0x4u << 16) /**< \brief (AFEC_MR) 64 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT80 (0x5u << 16) /**< \brief (AFEC_MR) 80 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT96 (0x6u << 16) /**< \brief (AFEC_MR) 96 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT112 (0x7u << 16) /**< \brief (AFEC_MR) 112 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT512 (0x8u << 16) /**< \brief (AFEC_MR) 512 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT576 (0x9u << 16) /**< \brief (AFEC_MR) 576 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT640 (0xAu << 16) /**< \brief (AFEC_MR) 640 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT704 (0xBu << 16) /**< \brief (AFEC_MR) 704 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT768 (0xCu << 16) /**< \brief (AFEC_MR) 768 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT832 (0xDu << 16) /**< \brief (AFEC_MR) 832 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT896 (0xEu << 16) /**< \brief (AFEC_MR) 896 periods of AFE clock */ -#define AFEC_MR_STARTUP_SUT960 (0xFu << 16) /**< \brief (AFEC_MR) 960 periods of AFE clock */ -#define AFEC_MR_ONE (0x1u << 23) /**< \brief (AFEC_MR) One */ -#define AFEC_MR_TRACKTIM_Pos 24 -#define AFEC_MR_TRACKTIM_Msk (0xfu << AFEC_MR_TRACKTIM_Pos) /**< \brief (AFEC_MR) Tracking Time */ -#define AFEC_MR_TRACKTIM(value) ((AFEC_MR_TRACKTIM_Msk & ((value) << AFEC_MR_TRACKTIM_Pos))) -#define AFEC_MR_TRANSFER_Pos 28 -#define AFEC_MR_TRANSFER_Msk (0x3u << AFEC_MR_TRANSFER_Pos) /**< \brief (AFEC_MR) Transfer Period */ -#define AFEC_MR_TRANSFER(value) ((AFEC_MR_TRANSFER_Msk & ((value) << AFEC_MR_TRANSFER_Pos))) -#define AFEC_MR_USEQ (0x1u << 31) /**< \brief (AFEC_MR) User Sequence Enable */ -#define AFEC_MR_USEQ_NUM_ORDER (0x0u << 31) /**< \brief (AFEC_MR) Normal mode: The controller converts channels in a simple numeric order. */ -#define AFEC_MR_USEQ_REG_ORDER (0x1u << 31) /**< \brief (AFEC_MR) User Sequence mode: The sequence respects what is defined in AFEC_SEQ1R and AFEC_SEQ1R. */ -/* -------- AFEC_EMR : (AFEC Offset: 0x08) AFEC Extended Mode Register -------- */ -#define AFEC_EMR_CMPMODE_Pos 0 -#define AFEC_EMR_CMPMODE_Msk (0x3u << AFEC_EMR_CMPMODE_Pos) /**< \brief (AFEC_EMR) Comparison Mode */ -#define AFEC_EMR_CMPMODE(value) ((AFEC_EMR_CMPMODE_Msk & ((value) << AFEC_EMR_CMPMODE_Pos))) -#define AFEC_EMR_CMPMODE_LOW (0x0u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is lower than the low threshold of the window. */ -#define AFEC_EMR_CMPMODE_HIGH (0x1u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is higher than the high threshold of the window. */ -#define AFEC_EMR_CMPMODE_IN (0x2u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is in the comparison window. */ -#define AFEC_EMR_CMPMODE_OUT (0x3u << 0) /**< \brief (AFEC_EMR) Generates an event when the converted data is out of the comparison window. */ -#define AFEC_EMR_CMPSEL_Pos 3 -#define AFEC_EMR_CMPSEL_Msk (0x1fu << AFEC_EMR_CMPSEL_Pos) /**< \brief (AFEC_EMR) Comparison Selected Channel */ -#define AFEC_EMR_CMPSEL(value) ((AFEC_EMR_CMPSEL_Msk & ((value) << AFEC_EMR_CMPSEL_Pos))) -#define AFEC_EMR_CMPALL (0x1u << 9) /**< \brief (AFEC_EMR) Compare All Channels */ -#define AFEC_EMR_CMPFILTER_Pos 12 -#define AFEC_EMR_CMPFILTER_Msk (0x3u << AFEC_EMR_CMPFILTER_Pos) /**< \brief (AFEC_EMR) Compare Event Filtering */ -#define AFEC_EMR_CMPFILTER(value) ((AFEC_EMR_CMPFILTER_Msk & ((value) << AFEC_EMR_CMPFILTER_Pos))) -#define AFEC_EMR_RES_Pos 16 -#define AFEC_EMR_RES_Msk (0x7u << AFEC_EMR_RES_Pos) /**< \brief (AFEC_EMR) Resolution */ -#define AFEC_EMR_RES(value) ((AFEC_EMR_RES_Msk & ((value) << AFEC_EMR_RES_Pos))) -#define AFEC_EMR_RES_NO_AVERAGE (0x0u << 16) /**< \brief (AFEC_EMR) 12-bit resolution, AFE sample rate is maximum (no averaging). */ -#define AFEC_EMR_RES_OSR4 (0x2u << 16) /**< \brief (AFEC_EMR) 13-bit resolution, AFE sample rate divided by 4 (averaging). */ -#define AFEC_EMR_RES_OSR16 (0x3u << 16) /**< \brief (AFEC_EMR) 14-bit resolution, AFE sample rate divided by 16 (averaging). */ -#define AFEC_EMR_RES_OSR64 (0x4u << 16) /**< \brief (AFEC_EMR) 15-bit resolution, AFE sample rate divided by 64 (averaging). */ -#define AFEC_EMR_RES_OSR256 (0x5u << 16) /**< \brief (AFEC_EMR) 16-bit resolution, AFE sample rate divided by 256 (averaging). */ -#define AFEC_EMR_TAG (0x1u << 24) /**< \brief (AFEC_EMR) TAG of the AFEC_LDCR */ -#define AFEC_EMR_STM (0x1u << 25) /**< \brief (AFEC_EMR) Single Trigger Mode */ -#define AFEC_EMR_SIGNMODE_Pos 28 -#define AFEC_EMR_SIGNMODE_Msk (0x3u << AFEC_EMR_SIGNMODE_Pos) /**< \brief (AFEC_EMR) Sign Mode */ -#define AFEC_EMR_SIGNMODE(value) ((AFEC_EMR_SIGNMODE_Msk & ((value) << AFEC_EMR_SIGNMODE_Pos))) -#define AFEC_EMR_SIGNMODE_SE_UNSG_DF_SIGN (0x0u << 28) /**< \brief (AFEC_EMR) Single-Ended channels: Unsigned conversions.Differential channels: Signed conversions. */ -#define AFEC_EMR_SIGNMODE_SE_SIGN_DF_UNSG (0x1u << 28) /**< \brief (AFEC_EMR) Single-Ended channels: Signed conversions.Differential channels: Unsigned conversions. */ -#define AFEC_EMR_SIGNMODE_ALL_UNSIGNED (0x2u << 28) /**< \brief (AFEC_EMR) All channels: Unsigned conversions. */ -#define AFEC_EMR_SIGNMODE_ALL_SIGNED (0x3u << 28) /**< \brief (AFEC_EMR) All channels: Signed conversions. */ -/* -------- AFEC_SEQ1R : (AFEC Offset: 0x0C) AFEC Channel Sequence 1 Register -------- */ -#define AFEC_SEQ1R_USCH0_Pos 0 -#define AFEC_SEQ1R_USCH0_Msk (0xfu << AFEC_SEQ1R_USCH0_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 0 */ -#define AFEC_SEQ1R_USCH0(value) ((AFEC_SEQ1R_USCH0_Msk & ((value) << AFEC_SEQ1R_USCH0_Pos))) -#define AFEC_SEQ1R_USCH1_Pos 4 -#define AFEC_SEQ1R_USCH1_Msk (0xfu << AFEC_SEQ1R_USCH1_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 1 */ -#define AFEC_SEQ1R_USCH1(value) ((AFEC_SEQ1R_USCH1_Msk & ((value) << AFEC_SEQ1R_USCH1_Pos))) -#define AFEC_SEQ1R_USCH2_Pos 8 -#define AFEC_SEQ1R_USCH2_Msk (0xfu << AFEC_SEQ1R_USCH2_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 2 */ -#define AFEC_SEQ1R_USCH2(value) ((AFEC_SEQ1R_USCH2_Msk & ((value) << AFEC_SEQ1R_USCH2_Pos))) -#define AFEC_SEQ1R_USCH3_Pos 12 -#define AFEC_SEQ1R_USCH3_Msk (0xfu << AFEC_SEQ1R_USCH3_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 3 */ -#define AFEC_SEQ1R_USCH3(value) ((AFEC_SEQ1R_USCH3_Msk & ((value) << AFEC_SEQ1R_USCH3_Pos))) -#define AFEC_SEQ1R_USCH4_Pos 16 -#define AFEC_SEQ1R_USCH4_Msk (0xfu << AFEC_SEQ1R_USCH4_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 4 */ -#define AFEC_SEQ1R_USCH4(value) ((AFEC_SEQ1R_USCH4_Msk & ((value) << AFEC_SEQ1R_USCH4_Pos))) -#define AFEC_SEQ1R_USCH5_Pos 20 -#define AFEC_SEQ1R_USCH5_Msk (0xfu << AFEC_SEQ1R_USCH5_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 5 */ -#define AFEC_SEQ1R_USCH5(value) ((AFEC_SEQ1R_USCH5_Msk & ((value) << AFEC_SEQ1R_USCH5_Pos))) -#define AFEC_SEQ1R_USCH6_Pos 24 -#define AFEC_SEQ1R_USCH6_Msk (0xfu << AFEC_SEQ1R_USCH6_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 6 */ -#define AFEC_SEQ1R_USCH6(value) ((AFEC_SEQ1R_USCH6_Msk & ((value) << AFEC_SEQ1R_USCH6_Pos))) -#define AFEC_SEQ1R_USCH7_Pos 28 -#define AFEC_SEQ1R_USCH7_Msk (0xfu << AFEC_SEQ1R_USCH7_Pos) /**< \brief (AFEC_SEQ1R) User Sequence Number 7 */ -#define AFEC_SEQ1R_USCH7(value) ((AFEC_SEQ1R_USCH7_Msk & ((value) << AFEC_SEQ1R_USCH7_Pos))) -/* -------- AFEC_SEQ2R : (AFEC Offset: 0x10) AFEC Channel Sequence 2 Register -------- */ -#define AFEC_SEQ2R_USCH8_Pos 0 -#define AFEC_SEQ2R_USCH8_Msk (0xfu << AFEC_SEQ2R_USCH8_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 8 */ -#define AFEC_SEQ2R_USCH8(value) ((AFEC_SEQ2R_USCH8_Msk & ((value) << AFEC_SEQ2R_USCH8_Pos))) -#define AFEC_SEQ2R_USCH9_Pos 4 -#define AFEC_SEQ2R_USCH9_Msk (0xfu << AFEC_SEQ2R_USCH9_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 9 */ -#define AFEC_SEQ2R_USCH9(value) ((AFEC_SEQ2R_USCH9_Msk & ((value) << AFEC_SEQ2R_USCH9_Pos))) -#define AFEC_SEQ2R_USCH10_Pos 8 -#define AFEC_SEQ2R_USCH10_Msk (0xfu << AFEC_SEQ2R_USCH10_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 10 */ -#define AFEC_SEQ2R_USCH10(value) ((AFEC_SEQ2R_USCH10_Msk & ((value) << AFEC_SEQ2R_USCH10_Pos))) -#define AFEC_SEQ2R_USCH11_Pos 12 -#define AFEC_SEQ2R_USCH11_Msk (0xfu << AFEC_SEQ2R_USCH11_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 11 */ -#define AFEC_SEQ2R_USCH11(value) ((AFEC_SEQ2R_USCH11_Msk & ((value) << AFEC_SEQ2R_USCH11_Pos))) -#define AFEC_SEQ2R_USCH12_Pos 16 -#define AFEC_SEQ2R_USCH12_Msk (0xfu << AFEC_SEQ2R_USCH12_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 12 */ -#define AFEC_SEQ2R_USCH12(value) ((AFEC_SEQ2R_USCH12_Msk & ((value) << AFEC_SEQ2R_USCH12_Pos))) -#define AFEC_SEQ2R_USCH13_Pos 20 -#define AFEC_SEQ2R_USCH13_Msk (0xfu << AFEC_SEQ2R_USCH13_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 13 */ -#define AFEC_SEQ2R_USCH13(value) ((AFEC_SEQ2R_USCH13_Msk & ((value) << AFEC_SEQ2R_USCH13_Pos))) -#define AFEC_SEQ2R_USCH14_Pos 24 -#define AFEC_SEQ2R_USCH14_Msk (0xfu << AFEC_SEQ2R_USCH14_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 14 */ -#define AFEC_SEQ2R_USCH14(value) ((AFEC_SEQ2R_USCH14_Msk & ((value) << AFEC_SEQ2R_USCH14_Pos))) -#define AFEC_SEQ2R_USCH15_Pos 28 -#define AFEC_SEQ2R_USCH15_Msk (0xfu << AFEC_SEQ2R_USCH15_Pos) /**< \brief (AFEC_SEQ2R) User Sequence Number 15 */ -#define AFEC_SEQ2R_USCH15(value) ((AFEC_SEQ2R_USCH15_Msk & ((value) << AFEC_SEQ2R_USCH15_Pos))) -/* -------- AFEC_CHER : (AFEC Offset: 0x14) AFEC Channel Enable Register -------- */ -#define AFEC_CHER_CH0 (0x1u << 0) /**< \brief (AFEC_CHER) Channel 0 Enable */ -#define AFEC_CHER_CH1 (0x1u << 1) /**< \brief (AFEC_CHER) Channel 1 Enable */ -#define AFEC_CHER_CH2 (0x1u << 2) /**< \brief (AFEC_CHER) Channel 2 Enable */ -#define AFEC_CHER_CH3 (0x1u << 3) /**< \brief (AFEC_CHER) Channel 3 Enable */ -#define AFEC_CHER_CH4 (0x1u << 4) /**< \brief (AFEC_CHER) Channel 4 Enable */ -#define AFEC_CHER_CH5 (0x1u << 5) /**< \brief (AFEC_CHER) Channel 5 Enable */ -#define AFEC_CHER_CH6 (0x1u << 6) /**< \brief (AFEC_CHER) Channel 6 Enable */ -#define AFEC_CHER_CH7 (0x1u << 7) /**< \brief (AFEC_CHER) Channel 7 Enable */ -#define AFEC_CHER_CH8 (0x1u << 8) /**< \brief (AFEC_CHER) Channel 8 Enable */ -#define AFEC_CHER_CH9 (0x1u << 9) /**< \brief (AFEC_CHER) Channel 9 Enable */ -#define AFEC_CHER_CH10 (0x1u << 10) /**< \brief (AFEC_CHER) Channel 10 Enable */ -#define AFEC_CHER_CH11 (0x1u << 11) /**< \brief (AFEC_CHER) Channel 11 Enable */ -/* -------- AFEC_CHDR : (AFEC Offset: 0x18) AFEC Channel Disable Register -------- */ -#define AFEC_CHDR_CH0 (0x1u << 0) /**< \brief (AFEC_CHDR) Channel 0 Disable */ -#define AFEC_CHDR_CH1 (0x1u << 1) /**< \brief (AFEC_CHDR) Channel 1 Disable */ -#define AFEC_CHDR_CH2 (0x1u << 2) /**< \brief (AFEC_CHDR) Channel 2 Disable */ -#define AFEC_CHDR_CH3 (0x1u << 3) /**< \brief (AFEC_CHDR) Channel 3 Disable */ -#define AFEC_CHDR_CH4 (0x1u << 4) /**< \brief (AFEC_CHDR) Channel 4 Disable */ -#define AFEC_CHDR_CH5 (0x1u << 5) /**< \brief (AFEC_CHDR) Channel 5 Disable */ -#define AFEC_CHDR_CH6 (0x1u << 6) /**< \brief (AFEC_CHDR) Channel 6 Disable */ -#define AFEC_CHDR_CH7 (0x1u << 7) /**< \brief (AFEC_CHDR) Channel 7 Disable */ -#define AFEC_CHDR_CH8 (0x1u << 8) /**< \brief (AFEC_CHDR) Channel 8 Disable */ -#define AFEC_CHDR_CH9 (0x1u << 9) /**< \brief (AFEC_CHDR) Channel 9 Disable */ -#define AFEC_CHDR_CH10 (0x1u << 10) /**< \brief (AFEC_CHDR) Channel 10 Disable */ -#define AFEC_CHDR_CH11 (0x1u << 11) /**< \brief (AFEC_CHDR) Channel 11 Disable */ -/* -------- AFEC_CHSR : (AFEC Offset: 0x1C) AFEC Channel Status Register -------- */ -#define AFEC_CHSR_CH0 (0x1u << 0) /**< \brief (AFEC_CHSR) Channel 0 Status */ -#define AFEC_CHSR_CH1 (0x1u << 1) /**< \brief (AFEC_CHSR) Channel 1 Status */ -#define AFEC_CHSR_CH2 (0x1u << 2) /**< \brief (AFEC_CHSR) Channel 2 Status */ -#define AFEC_CHSR_CH3 (0x1u << 3) /**< \brief (AFEC_CHSR) Channel 3 Status */ -#define AFEC_CHSR_CH4 (0x1u << 4) /**< \brief (AFEC_CHSR) Channel 4 Status */ -#define AFEC_CHSR_CH5 (0x1u << 5) /**< \brief (AFEC_CHSR) Channel 5 Status */ -#define AFEC_CHSR_CH6 (0x1u << 6) /**< \brief (AFEC_CHSR) Channel 6 Status */ -#define AFEC_CHSR_CH7 (0x1u << 7) /**< \brief (AFEC_CHSR) Channel 7 Status */ -#define AFEC_CHSR_CH8 (0x1u << 8) /**< \brief (AFEC_CHSR) Channel 8 Status */ -#define AFEC_CHSR_CH9 (0x1u << 9) /**< \brief (AFEC_CHSR) Channel 9 Status */ -#define AFEC_CHSR_CH10 (0x1u << 10) /**< \brief (AFEC_CHSR) Channel 10 Status */ -#define AFEC_CHSR_CH11 (0x1u << 11) /**< \brief (AFEC_CHSR) Channel 11 Status */ -/* -------- AFEC_LCDR : (AFEC Offset: 0x20) AFEC Last Converted Data Register -------- */ -#define AFEC_LCDR_LDATA_Pos 0 -#define AFEC_LCDR_LDATA_Msk (0xffffu << AFEC_LCDR_LDATA_Pos) /**< \brief (AFEC_LCDR) Last Data Converted */ -#define AFEC_LCDR_CHNB_Pos 24 -#define AFEC_LCDR_CHNB_Msk (0xfu << AFEC_LCDR_CHNB_Pos) /**< \brief (AFEC_LCDR) Channel Number */ -/* -------- AFEC_IER : (AFEC Offset: 0x24) AFEC Interrupt Enable Register -------- */ -#define AFEC_IER_EOC0 (0x1u << 0) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 0 */ -#define AFEC_IER_EOC1 (0x1u << 1) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 1 */ -#define AFEC_IER_EOC2 (0x1u << 2) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 2 */ -#define AFEC_IER_EOC3 (0x1u << 3) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 3 */ -#define AFEC_IER_EOC4 (0x1u << 4) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 4 */ -#define AFEC_IER_EOC5 (0x1u << 5) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 5 */ -#define AFEC_IER_EOC6 (0x1u << 6) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 6 */ -#define AFEC_IER_EOC7 (0x1u << 7) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 7 */ -#define AFEC_IER_EOC8 (0x1u << 8) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 8 */ -#define AFEC_IER_EOC9 (0x1u << 9) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 9 */ -#define AFEC_IER_EOC10 (0x1u << 10) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 10 */ -#define AFEC_IER_EOC11 (0x1u << 11) /**< \brief (AFEC_IER) End of Conversion Interrupt Enable 11 */ -#define AFEC_IER_DRDY (0x1u << 24) /**< \brief (AFEC_IER) Data Ready Interrupt Enable */ -#define AFEC_IER_GOVRE (0x1u << 25) /**< \brief (AFEC_IER) General Overrun Error Interrupt Enable */ -#define AFEC_IER_COMPE (0x1u << 26) /**< \brief (AFEC_IER) Comparison Event Interrupt Enable */ -#define AFEC_IER_TEMPCHG (0x1u << 30) /**< \brief (AFEC_IER) Temperature Change Interrupt Enable */ -/* -------- AFEC_IDR : (AFEC Offset: 0x28) AFEC Interrupt Disable Register -------- */ -#define AFEC_IDR_EOC0 (0x1u << 0) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 0 */ -#define AFEC_IDR_EOC1 (0x1u << 1) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 1 */ -#define AFEC_IDR_EOC2 (0x1u << 2) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 2 */ -#define AFEC_IDR_EOC3 (0x1u << 3) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 3 */ -#define AFEC_IDR_EOC4 (0x1u << 4) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 4 */ -#define AFEC_IDR_EOC5 (0x1u << 5) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 5 */ -#define AFEC_IDR_EOC6 (0x1u << 6) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 6 */ -#define AFEC_IDR_EOC7 (0x1u << 7) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 7 */ -#define AFEC_IDR_EOC8 (0x1u << 8) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 8 */ -#define AFEC_IDR_EOC9 (0x1u << 9) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 9 */ -#define AFEC_IDR_EOC10 (0x1u << 10) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 10 */ -#define AFEC_IDR_EOC11 (0x1u << 11) /**< \brief (AFEC_IDR) End of Conversion Interrupt Disable 11 */ -#define AFEC_IDR_DRDY (0x1u << 24) /**< \brief (AFEC_IDR) Data Ready Interrupt Disable */ -#define AFEC_IDR_GOVRE (0x1u << 25) /**< \brief (AFEC_IDR) General Overrun Error Interrupt Disable */ -#define AFEC_IDR_COMPE (0x1u << 26) /**< \brief (AFEC_IDR) Comparison Event Interrupt Disable */ -#define AFEC_IDR_TEMPCHG (0x1u << 30) /**< \brief (AFEC_IDR) Temperature Change Interrupt Disable */ -/* -------- AFEC_IMR : (AFEC Offset: 0x2C) AFEC Interrupt Mask Register -------- */ -#define AFEC_IMR_EOC0 (0x1u << 0) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 0 */ -#define AFEC_IMR_EOC1 (0x1u << 1) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 1 */ -#define AFEC_IMR_EOC2 (0x1u << 2) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 2 */ -#define AFEC_IMR_EOC3 (0x1u << 3) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 3 */ -#define AFEC_IMR_EOC4 (0x1u << 4) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 4 */ -#define AFEC_IMR_EOC5 (0x1u << 5) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 5 */ -#define AFEC_IMR_EOC6 (0x1u << 6) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 6 */ -#define AFEC_IMR_EOC7 (0x1u << 7) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 7 */ -#define AFEC_IMR_EOC8 (0x1u << 8) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 8 */ -#define AFEC_IMR_EOC9 (0x1u << 9) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 9 */ -#define AFEC_IMR_EOC10 (0x1u << 10) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 10 */ -#define AFEC_IMR_EOC11 (0x1u << 11) /**< \brief (AFEC_IMR) End of Conversion Interrupt Mask 11 */ -#define AFEC_IMR_DRDY (0x1u << 24) /**< \brief (AFEC_IMR) Data Ready Interrupt Mask */ -#define AFEC_IMR_GOVRE (0x1u << 25) /**< \brief (AFEC_IMR) General Overrun Error Interrupt Mask */ -#define AFEC_IMR_COMPE (0x1u << 26) /**< \brief (AFEC_IMR) Comparison Event Interrupt Mask */ -#define AFEC_IMR_TEMPCHG (0x1u << 30) /**< \brief (AFEC_IMR) Temperature Change Interrupt Mask */ -/* -------- AFEC_ISR : (AFEC Offset: 0x30) AFEC Interrupt Status Register -------- */ -#define AFEC_ISR_EOC0 (0x1u << 0) /**< \brief (AFEC_ISR) End of Conversion 0 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC1 (0x1u << 1) /**< \brief (AFEC_ISR) End of Conversion 1 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC2 (0x1u << 2) /**< \brief (AFEC_ISR) End of Conversion 2 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC3 (0x1u << 3) /**< \brief (AFEC_ISR) End of Conversion 3 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC4 (0x1u << 4) /**< \brief (AFEC_ISR) End of Conversion 4 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC5 (0x1u << 5) /**< \brief (AFEC_ISR) End of Conversion 5 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC6 (0x1u << 6) /**< \brief (AFEC_ISR) End of Conversion 6 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC7 (0x1u << 7) /**< \brief (AFEC_ISR) End of Conversion 7 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC8 (0x1u << 8) /**< \brief (AFEC_ISR) End of Conversion 8 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC9 (0x1u << 9) /**< \brief (AFEC_ISR) End of Conversion 9 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC10 (0x1u << 10) /**< \brief (AFEC_ISR) End of Conversion 10 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_EOC11 (0x1u << 11) /**< \brief (AFEC_ISR) End of Conversion 11 (cleared by reading AFEC_CDRx) */ -#define AFEC_ISR_DRDY (0x1u << 24) /**< \brief (AFEC_ISR) Data Ready (cleared by reading AFEC_LCDR) */ -#define AFEC_ISR_GOVRE (0x1u << 25) /**< \brief (AFEC_ISR) General Overrun Error (cleared by reading AFEC_ISR) */ -#define AFEC_ISR_COMPE (0x1u << 26) /**< \brief (AFEC_ISR) Comparison Error (cleared by reading AFEC_ISR) */ -#define AFEC_ISR_TEMPCHG (0x1u << 30) /**< \brief (AFEC_ISR) Temperature Change (cleared on read) */ -/* -------- AFEC_OVER : (AFEC Offset: 0x4C) AFEC Overrun Status Register -------- */ -#define AFEC_OVER_OVRE0 (0x1u << 0) /**< \brief (AFEC_OVER) Overrun Error 0 */ -#define AFEC_OVER_OVRE1 (0x1u << 1) /**< \brief (AFEC_OVER) Overrun Error 1 */ -#define AFEC_OVER_OVRE2 (0x1u << 2) /**< \brief (AFEC_OVER) Overrun Error 2 */ -#define AFEC_OVER_OVRE3 (0x1u << 3) /**< \brief (AFEC_OVER) Overrun Error 3 */ -#define AFEC_OVER_OVRE4 (0x1u << 4) /**< \brief (AFEC_OVER) Overrun Error 4 */ -#define AFEC_OVER_OVRE5 (0x1u << 5) /**< \brief (AFEC_OVER) Overrun Error 5 */ -#define AFEC_OVER_OVRE6 (0x1u << 6) /**< \brief (AFEC_OVER) Overrun Error 6 */ -#define AFEC_OVER_OVRE7 (0x1u << 7) /**< \brief (AFEC_OVER) Overrun Error 7 */ -#define AFEC_OVER_OVRE8 (0x1u << 8) /**< \brief (AFEC_OVER) Overrun Error 8 */ -#define AFEC_OVER_OVRE9 (0x1u << 9) /**< \brief (AFEC_OVER) Overrun Error 9 */ -#define AFEC_OVER_OVRE10 (0x1u << 10) /**< \brief (AFEC_OVER) Overrun Error 10 */ -#define AFEC_OVER_OVRE11 (0x1u << 11) /**< \brief (AFEC_OVER) Overrun Error 11 */ -/* -------- AFEC_CWR : (AFEC Offset: 0x50) AFEC Compare Window Register -------- */ -#define AFEC_CWR_LOWTHRES_Pos 0 -#define AFEC_CWR_LOWTHRES_Msk (0xffffu << AFEC_CWR_LOWTHRES_Pos) /**< \brief (AFEC_CWR) Low Threshold */ -#define AFEC_CWR_LOWTHRES(value) ((AFEC_CWR_LOWTHRES_Msk & ((value) << AFEC_CWR_LOWTHRES_Pos))) -#define AFEC_CWR_HIGHTHRES_Pos 16 -#define AFEC_CWR_HIGHTHRES_Msk (0xffffu << AFEC_CWR_HIGHTHRES_Pos) /**< \brief (AFEC_CWR) High Threshold */ -#define AFEC_CWR_HIGHTHRES(value) ((AFEC_CWR_HIGHTHRES_Msk & ((value) << AFEC_CWR_HIGHTHRES_Pos))) -/* -------- AFEC_CGR : (AFEC Offset: 0x54) AFEC Channel Gain Register -------- */ -#define AFEC_CGR_GAIN0_Pos 0 -#define AFEC_CGR_GAIN0_Msk (0x3u << AFEC_CGR_GAIN0_Pos) /**< \brief (AFEC_CGR) Gain for Channel 0 */ -#define AFEC_CGR_GAIN0(value) ((AFEC_CGR_GAIN0_Msk & ((value) << AFEC_CGR_GAIN0_Pos))) -#define AFEC_CGR_GAIN1_Pos 2 -#define AFEC_CGR_GAIN1_Msk (0x3u << AFEC_CGR_GAIN1_Pos) /**< \brief (AFEC_CGR) Gain for Channel 1 */ -#define AFEC_CGR_GAIN1(value) ((AFEC_CGR_GAIN1_Msk & ((value) << AFEC_CGR_GAIN1_Pos))) -#define AFEC_CGR_GAIN2_Pos 4 -#define AFEC_CGR_GAIN2_Msk (0x3u << AFEC_CGR_GAIN2_Pos) /**< \brief (AFEC_CGR) Gain for Channel 2 */ -#define AFEC_CGR_GAIN2(value) ((AFEC_CGR_GAIN2_Msk & ((value) << AFEC_CGR_GAIN2_Pos))) -#define AFEC_CGR_GAIN3_Pos 6 -#define AFEC_CGR_GAIN3_Msk (0x3u << AFEC_CGR_GAIN3_Pos) /**< \brief (AFEC_CGR) Gain for Channel 3 */ -#define AFEC_CGR_GAIN3(value) ((AFEC_CGR_GAIN3_Msk & ((value) << AFEC_CGR_GAIN3_Pos))) -#define AFEC_CGR_GAIN4_Pos 8 -#define AFEC_CGR_GAIN4_Msk (0x3u << AFEC_CGR_GAIN4_Pos) /**< \brief (AFEC_CGR) Gain for Channel 4 */ -#define AFEC_CGR_GAIN4(value) ((AFEC_CGR_GAIN4_Msk & ((value) << AFEC_CGR_GAIN4_Pos))) -#define AFEC_CGR_GAIN5_Pos 10 -#define AFEC_CGR_GAIN5_Msk (0x3u << AFEC_CGR_GAIN5_Pos) /**< \brief (AFEC_CGR) Gain for Channel 5 */ -#define AFEC_CGR_GAIN5(value) ((AFEC_CGR_GAIN5_Msk & ((value) << AFEC_CGR_GAIN5_Pos))) -#define AFEC_CGR_GAIN6_Pos 12 -#define AFEC_CGR_GAIN6_Msk (0x3u << AFEC_CGR_GAIN6_Pos) /**< \brief (AFEC_CGR) Gain for Channel 6 */ -#define AFEC_CGR_GAIN6(value) ((AFEC_CGR_GAIN6_Msk & ((value) << AFEC_CGR_GAIN6_Pos))) -#define AFEC_CGR_GAIN7_Pos 14 -#define AFEC_CGR_GAIN7_Msk (0x3u << AFEC_CGR_GAIN7_Pos) /**< \brief (AFEC_CGR) Gain for Channel 7 */ -#define AFEC_CGR_GAIN7(value) ((AFEC_CGR_GAIN7_Msk & ((value) << AFEC_CGR_GAIN7_Pos))) -#define AFEC_CGR_GAIN8_Pos 16 -#define AFEC_CGR_GAIN8_Msk (0x3u << AFEC_CGR_GAIN8_Pos) /**< \brief (AFEC_CGR) Gain for Channel 8 */ -#define AFEC_CGR_GAIN8(value) ((AFEC_CGR_GAIN8_Msk & ((value) << AFEC_CGR_GAIN8_Pos))) -#define AFEC_CGR_GAIN9_Pos 18 -#define AFEC_CGR_GAIN9_Msk (0x3u << AFEC_CGR_GAIN9_Pos) /**< \brief (AFEC_CGR) Gain for Channel 9 */ -#define AFEC_CGR_GAIN9(value) ((AFEC_CGR_GAIN9_Msk & ((value) << AFEC_CGR_GAIN9_Pos))) -#define AFEC_CGR_GAIN10_Pos 20 -#define AFEC_CGR_GAIN10_Msk (0x3u << AFEC_CGR_GAIN10_Pos) /**< \brief (AFEC_CGR) Gain for Channel 10 */ -#define AFEC_CGR_GAIN10(value) ((AFEC_CGR_GAIN10_Msk & ((value) << AFEC_CGR_GAIN10_Pos))) -#define AFEC_CGR_GAIN11_Pos 22 -#define AFEC_CGR_GAIN11_Msk (0x3u << AFEC_CGR_GAIN11_Pos) /**< \brief (AFEC_CGR) Gain for Channel 11 */ -#define AFEC_CGR_GAIN11(value) ((AFEC_CGR_GAIN11_Msk & ((value) << AFEC_CGR_GAIN11_Pos))) -/* -------- AFEC_DIFFR : (AFEC Offset: 0x60) AFEC Channel Differential Register -------- */ -#define AFEC_DIFFR_DIFF0 (0x1u << 0) /**< \brief (AFEC_DIFFR) Differential inputs for channel 0 */ -#define AFEC_DIFFR_DIFF1 (0x1u << 1) /**< \brief (AFEC_DIFFR) Differential inputs for channel 1 */ -#define AFEC_DIFFR_DIFF2 (0x1u << 2) /**< \brief (AFEC_DIFFR) Differential inputs for channel 2 */ -#define AFEC_DIFFR_DIFF3 (0x1u << 3) /**< \brief (AFEC_DIFFR) Differential inputs for channel 3 */ -#define AFEC_DIFFR_DIFF4 (0x1u << 4) /**< \brief (AFEC_DIFFR) Differential inputs for channel 4 */ -#define AFEC_DIFFR_DIFF5 (0x1u << 5) /**< \brief (AFEC_DIFFR) Differential inputs for channel 5 */ -#define AFEC_DIFFR_DIFF6 (0x1u << 6) /**< \brief (AFEC_DIFFR) Differential inputs for channel 6 */ -#define AFEC_DIFFR_DIFF7 (0x1u << 7) /**< \brief (AFEC_DIFFR) Differential inputs for channel 7 */ -#define AFEC_DIFFR_DIFF8 (0x1u << 8) /**< \brief (AFEC_DIFFR) Differential inputs for channel 8 */ -#define AFEC_DIFFR_DIFF9 (0x1u << 9) /**< \brief (AFEC_DIFFR) Differential inputs for channel 9 */ -#define AFEC_DIFFR_DIFF10 (0x1u << 10) /**< \brief (AFEC_DIFFR) Differential inputs for channel 10 */ -#define AFEC_DIFFR_DIFF11 (0x1u << 11) /**< \brief (AFEC_DIFFR) Differential inputs for channel 11 */ -/* -------- AFEC_CSELR : (AFEC Offset: 0x64) AFEC Channel Selection Register -------- */ -#define AFEC_CSELR_CSEL_Pos 0 -#define AFEC_CSELR_CSEL_Msk (0xfu << AFEC_CSELR_CSEL_Pos) /**< \brief (AFEC_CSELR) Channel Selection */ -#define AFEC_CSELR_CSEL(value) ((AFEC_CSELR_CSEL_Msk & ((value) << AFEC_CSELR_CSEL_Pos))) -/* -------- AFEC_CDR : (AFEC Offset: 0x68) AFEC Channel Data Register -------- */ -#define AFEC_CDR_DATA_Pos 0 -#define AFEC_CDR_DATA_Msk (0xffffu << AFEC_CDR_DATA_Pos) /**< \brief (AFEC_CDR) Converted Data */ -/* -------- AFEC_COCR : (AFEC Offset: 0x6C) AFEC Channel Offset Compensation Register -------- */ -#define AFEC_COCR_AOFF_Pos 0 -#define AFEC_COCR_AOFF_Msk (0xfffu << AFEC_COCR_AOFF_Pos) /**< \brief (AFEC_COCR) Analog Offset */ -#define AFEC_COCR_AOFF(value) ((AFEC_COCR_AOFF_Msk & ((value) << AFEC_COCR_AOFF_Pos))) -/* -------- AFEC_TEMPMR : (AFEC Offset: 0x70) AFEC Temperature Sensor Mode Register -------- */ -#define AFEC_TEMPMR_RTCT (0x1u << 0) /**< \brief (AFEC_TEMPMR) Temperature Sensor RTC Trigger Mode */ -#define AFEC_TEMPMR_TEMPCMPMOD_Pos 4 -#define AFEC_TEMPMR_TEMPCMPMOD_Msk (0x3u << AFEC_TEMPMR_TEMPCMPMOD_Pos) /**< \brief (AFEC_TEMPMR) Temperature Comparison Mode */ -#define AFEC_TEMPMR_TEMPCMPMOD(value) ((AFEC_TEMPMR_TEMPCMPMOD_Msk & ((value) << AFEC_TEMPMR_TEMPCMPMOD_Pos))) -#define AFEC_TEMPMR_TEMPCMPMOD_LOW (0x0u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is lower than the low threshold of the window. */ -#define AFEC_TEMPMR_TEMPCMPMOD_HIGH (0x1u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is higher than the high threshold of the window. */ -#define AFEC_TEMPMR_TEMPCMPMOD_IN (0x2u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is in the comparison window. */ -#define AFEC_TEMPMR_TEMPCMPMOD_OUT (0x3u << 4) /**< \brief (AFEC_TEMPMR) Generates an event when the converted data is out of the comparison window. */ -/* -------- AFEC_TEMPCWR : (AFEC Offset: 0x74) AFEC Temperature Compare Window Register -------- */ -#define AFEC_TEMPCWR_TLOWTHRES_Pos 0 -#define AFEC_TEMPCWR_TLOWTHRES_Msk (0xffffu << AFEC_TEMPCWR_TLOWTHRES_Pos) /**< \brief (AFEC_TEMPCWR) Temperature Low Threshold */ -#define AFEC_TEMPCWR_TLOWTHRES(value) ((AFEC_TEMPCWR_TLOWTHRES_Msk & ((value) << AFEC_TEMPCWR_TLOWTHRES_Pos))) -#define AFEC_TEMPCWR_THIGHTHRES_Pos 16 -#define AFEC_TEMPCWR_THIGHTHRES_Msk (0xffffu << AFEC_TEMPCWR_THIGHTHRES_Pos) /**< \brief (AFEC_TEMPCWR) Temperature High Threshold */ -#define AFEC_TEMPCWR_THIGHTHRES(value) ((AFEC_TEMPCWR_THIGHTHRES_Msk & ((value) << AFEC_TEMPCWR_THIGHTHRES_Pos))) -/* -------- AFEC_ACR : (AFEC Offset: 0x94) AFEC Analog Control Register -------- */ -#define AFEC_ACR_PGA0EN (0x1u << 2) /**< \brief (AFEC_ACR) PGA0 Enable */ -#define AFEC_ACR_PGA1EN (0x1u << 3) /**< \brief (AFEC_ACR) PGA1 Enable */ -#define AFEC_ACR_IBCTL_Pos 8 -#define AFEC_ACR_IBCTL_Msk (0x3u << AFEC_ACR_IBCTL_Pos) /**< \brief (AFEC_ACR) AFE Bias Current Control */ -#define AFEC_ACR_IBCTL(value) ((AFEC_ACR_IBCTL_Msk & ((value) << AFEC_ACR_IBCTL_Pos))) -/* -------- AFEC_SHMR : (AFEC Offset: 0xA0) AFEC Sample & Hold Mode Register -------- */ -#define AFEC_SHMR_DUAL0 (0x1u << 0) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 0 */ -#define AFEC_SHMR_DUAL1 (0x1u << 1) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 1 */ -#define AFEC_SHMR_DUAL2 (0x1u << 2) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 2 */ -#define AFEC_SHMR_DUAL3 (0x1u << 3) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 3 */ -#define AFEC_SHMR_DUAL4 (0x1u << 4) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 4 */ -#define AFEC_SHMR_DUAL5 (0x1u << 5) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 5 */ -#define AFEC_SHMR_DUAL6 (0x1u << 6) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 6 */ -#define AFEC_SHMR_DUAL7 (0x1u << 7) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 7 */ -#define AFEC_SHMR_DUAL8 (0x1u << 8) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 8 */ -#define AFEC_SHMR_DUAL9 (0x1u << 9) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 9 */ -#define AFEC_SHMR_DUAL10 (0x1u << 10) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 10 */ -#define AFEC_SHMR_DUAL11 (0x1u << 11) /**< \brief (AFEC_SHMR) Dual Sample & Hold for channel 11 */ -/* -------- AFEC_COSR : (AFEC Offset: 0xD0) AFEC Correction Select Register -------- */ -#define AFEC_COSR_CSEL (0x1u << 0) /**< \brief (AFEC_COSR) Sample & Hold unit Correction Select */ -/* -------- AFEC_CVR : (AFEC Offset: 0xD4) AFEC Correction Values Register -------- */ -#define AFEC_CVR_OFFSETCORR_Pos 0 -#define AFEC_CVR_OFFSETCORR_Msk (0xffffu << AFEC_CVR_OFFSETCORR_Pos) /**< \brief (AFEC_CVR) Offset Correction */ -#define AFEC_CVR_OFFSETCORR(value) ((AFEC_CVR_OFFSETCORR_Msk & ((value) << AFEC_CVR_OFFSETCORR_Pos))) -#define AFEC_CVR_GAINCORR_Pos 16 -#define AFEC_CVR_GAINCORR_Msk (0xffffu << AFEC_CVR_GAINCORR_Pos) /**< \brief (AFEC_CVR) Gain Correction */ -#define AFEC_CVR_GAINCORR(value) ((AFEC_CVR_GAINCORR_Msk & ((value) << AFEC_CVR_GAINCORR_Pos))) -/* -------- AFEC_CECR : (AFEC Offset: 0xD8) AFEC Channel Error Correction Register -------- */ -#define AFEC_CECR_ECORR0 (0x1u << 0) /**< \brief (AFEC_CECR) Error Correction Enable for channel 0 */ -#define AFEC_CECR_ECORR1 (0x1u << 1) /**< \brief (AFEC_CECR) Error Correction Enable for channel 1 */ -#define AFEC_CECR_ECORR2 (0x1u << 2) /**< \brief (AFEC_CECR) Error Correction Enable for channel 2 */ -#define AFEC_CECR_ECORR3 (0x1u << 3) /**< \brief (AFEC_CECR) Error Correction Enable for channel 3 */ -#define AFEC_CECR_ECORR4 (0x1u << 4) /**< \brief (AFEC_CECR) Error Correction Enable for channel 4 */ -#define AFEC_CECR_ECORR5 (0x1u << 5) /**< \brief (AFEC_CECR) Error Correction Enable for channel 5 */ -#define AFEC_CECR_ECORR6 (0x1u << 6) /**< \brief (AFEC_CECR) Error Correction Enable for channel 6 */ -#define AFEC_CECR_ECORR7 (0x1u << 7) /**< \brief (AFEC_CECR) Error Correction Enable for channel 7 */ -#define AFEC_CECR_ECORR8 (0x1u << 8) /**< \brief (AFEC_CECR) Error Correction Enable for channel 8 */ -#define AFEC_CECR_ECORR9 (0x1u << 9) /**< \brief (AFEC_CECR) Error Correction Enable for channel 9 */ -#define AFEC_CECR_ECORR10 (0x1u << 10) /**< \brief (AFEC_CECR) Error Correction Enable for channel 10 */ -#define AFEC_CECR_ECORR11 (0x1u << 11) /**< \brief (AFEC_CECR) Error Correction Enable for channel 11 */ -/* -------- AFEC_WPMR : (AFEC Offset: 0xE4) AFEC Write Protection Mode Register -------- */ -#define AFEC_WPMR_WPEN (0x1u << 0) /**< \brief (AFEC_WPMR) Write Protection Enable */ -#define AFEC_WPMR_WPKEY_Pos 8 -#define AFEC_WPMR_WPKEY_Msk (0xffffffu << AFEC_WPMR_WPKEY_Pos) /**< \brief (AFEC_WPMR) Write Protect KEY */ -#define AFEC_WPMR_WPKEY(value) ((AFEC_WPMR_WPKEY_Msk & ((value) << AFEC_WPMR_WPKEY_Pos))) -#define AFEC_WPMR_WPKEY_PASSWD (0x414443u << 8) /**< \brief (AFEC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- AFEC_WPSR : (AFEC Offset: 0xE8) AFEC Write Protection Status Register -------- */ -#define AFEC_WPSR_WPVS (0x1u << 0) /**< \brief (AFEC_WPSR) Write Protect Violation Status */ -#define AFEC_WPSR_WPVSRC_Pos 8 -#define AFEC_WPSR_WPVSRC_Msk (0xffffu << AFEC_WPSR_WPVSRC_Pos) /**< \brief (AFEC_WPSR) Write Protect Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_AFEC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h deleted file mode 100644 index 57f14ab..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/chipid.h +++ /dev/null @@ -1,138 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_CHIPID_COMPONENT_ -#define _SAMS70_CHIPID_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Chip Identifier */ -/* ============================================================================= */ -/** \addtogroup SAMS70_CHIPID Chip Identifier */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Chipid hardware registers */ -typedef struct { - __I uint32_t CHIPID_CIDR; /**< \brief (Chipid Offset: 0x0) Chip ID Register */ - __I uint32_t CHIPID_EXID; /**< \brief (Chipid Offset: 0x4) Chip ID Extension Register */ -} Chipid; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- CHIPID_CIDR : (CHIPID Offset: 0x0) Chip ID Register -------- */ -#define CHIPID_CIDR_VERSION_Pos 0 -#define CHIPID_CIDR_VERSION_Msk (0x1fu << CHIPID_CIDR_VERSION_Pos) /**< \brief (CHIPID_CIDR) Version of the Device */ -#define CHIPID_CIDR_EPROC_Pos 5 -#define CHIPID_CIDR_EPROC_Msk (0x7u << CHIPID_CIDR_EPROC_Pos) /**< \brief (CHIPID_CIDR) Embedded Processor */ -#define CHIPID_CIDR_EPROC_SAMx7 (0x0u << 5) /**< \brief (CHIPID_CIDR) Cortex-M7 */ -#define CHIPID_CIDR_EPROC_ARM946ES (0x1u << 5) /**< \brief (CHIPID_CIDR) ARM946ES */ -#define CHIPID_CIDR_EPROC_ARM7TDMI (0x2u << 5) /**< \brief (CHIPID_CIDR) ARM7TDMI */ -#define CHIPID_CIDR_EPROC_CM3 (0x3u << 5) /**< \brief (CHIPID_CIDR) Cortex-M3 */ -#define CHIPID_CIDR_EPROC_ARM920T (0x4u << 5) /**< \brief (CHIPID_CIDR) ARM920T */ -#define CHIPID_CIDR_EPROC_ARM926EJS (0x5u << 5) /**< \brief (CHIPID_CIDR) ARM926EJS */ -#define CHIPID_CIDR_EPROC_CA5 (0x6u << 5) /**< \brief (CHIPID_CIDR) Cortex-A5 */ -#define CHIPID_CIDR_EPROC_CM4 (0x7u << 5) /**< \brief (CHIPID_CIDR) Cortex-M4 */ -#define CHIPID_CIDR_NVPSIZ_Pos 8 -#define CHIPID_CIDR_NVPSIZ_Msk (0xfu << CHIPID_CIDR_NVPSIZ_Pos) /**< \brief (CHIPID_CIDR) Nonvolatile Program Memory Size */ -#define CHIPID_CIDR_NVPSIZ_NONE (0x0u << 8) /**< \brief (CHIPID_CIDR) None */ -#define CHIPID_CIDR_NVPSIZ_8K (0x1u << 8) /**< \brief (CHIPID_CIDR) 8 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_16K (0x2u << 8) /**< \brief (CHIPID_CIDR) 16 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_32K (0x3u << 8) /**< \brief (CHIPID_CIDR) 32 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_64K (0x5u << 8) /**< \brief (CHIPID_CIDR) 64 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_128K (0x7u << 8) /**< \brief (CHIPID_CIDR) 128 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_160K (0x8u << 8) /**< \brief (CHIPID_CIDR) 160 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_256K (0x9u << 8) /**< \brief (CHIPID_CIDR) 256 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_512K (0xAu << 8) /**< \brief (CHIPID_CIDR) 512 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_1024K (0xCu << 8) /**< \brief (CHIPID_CIDR) 1024 Kbytes */ -#define CHIPID_CIDR_NVPSIZ_2048K (0xEu << 8) /**< \brief (CHIPID_CIDR) 2048 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_Pos 12 -#define CHIPID_CIDR_NVPSIZ2_Msk (0xfu << CHIPID_CIDR_NVPSIZ2_Pos) /**< \brief (CHIPID_CIDR) Second Nonvolatile Program Memory Size */ -#define CHIPID_CIDR_NVPSIZ2_NONE (0x0u << 12) /**< \brief (CHIPID_CIDR) None */ -#define CHIPID_CIDR_NVPSIZ2_8K (0x1u << 12) /**< \brief (CHIPID_CIDR) 8 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_16K (0x2u << 12) /**< \brief (CHIPID_CIDR) 16 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_32K (0x3u << 12) /**< \brief (CHIPID_CIDR) 32 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_64K (0x5u << 12) /**< \brief (CHIPID_CIDR) 64 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_128K (0x7u << 12) /**< \brief (CHIPID_CIDR) 128 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_256K (0x9u << 12) /**< \brief (CHIPID_CIDR) 256 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_512K (0xAu << 12) /**< \brief (CHIPID_CIDR) 512 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_1024K (0xCu << 12) /**< \brief (CHIPID_CIDR) 1024 Kbytes */ -#define CHIPID_CIDR_NVPSIZ2_2048K (0xEu << 12) /**< \brief (CHIPID_CIDR) 2048 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_Pos 16 -#define CHIPID_CIDR_SRAMSIZ_Msk (0xfu << CHIPID_CIDR_SRAMSIZ_Pos) /**< \brief (CHIPID_CIDR) Internal SRAM Size */ -#define CHIPID_CIDR_SRAMSIZ_48K (0x0u << 16) /**< \brief (CHIPID_CIDR) 48 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_192K (0x1u << 16) /**< \brief (CHIPID_CIDR) 192 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_384K (0x2u << 16) /**< \brief (CHIPID_CIDR) 384 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_6K (0x3u << 16) /**< \brief (CHIPID_CIDR) 6 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_24K (0x4u << 16) /**< \brief (CHIPID_CIDR) 24 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_4K (0x5u << 16) /**< \brief (CHIPID_CIDR) 4 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_80K (0x6u << 16) /**< \brief (CHIPID_CIDR) 80 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_160K (0x7u << 16) /**< \brief (CHIPID_CIDR) 160 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_8K (0x8u << 16) /**< \brief (CHIPID_CIDR) 8 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_16K (0x9u << 16) /**< \brief (CHIPID_CIDR) 16 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_32K (0xAu << 16) /**< \brief (CHIPID_CIDR) 32 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_64K (0xBu << 16) /**< \brief (CHIPID_CIDR) 64 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_128K (0xCu << 16) /**< \brief (CHIPID_CIDR) 128 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_256K (0xDu << 16) /**< \brief (CHIPID_CIDR) 256 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_96K (0xEu << 16) /**< \brief (CHIPID_CIDR) 96 Kbytes */ -#define CHIPID_CIDR_SRAMSIZ_512K (0xFu << 16) /**< \brief (CHIPID_CIDR) 512 Kbytes */ -#define CHIPID_CIDR_ARCH_Pos 20 -#define CHIPID_CIDR_ARCH_Msk (0xffu << CHIPID_CIDR_ARCH_Pos) /**< \brief (CHIPID_CIDR) Architecture Identifier */ -#define CHIPID_CIDR_ARCH_SAME70 (0x10u << 20) /**< \brief (CHIPID_CIDR) SAM E70 */ -#define CHIPID_CIDR_ARCH_SAMS70 (0x11u << 20) /**< \brief (CHIPID_CIDR) SAM S70 */ -#define CHIPID_CIDR_ARCH_SAMV71 (0x12u << 20) /**< \brief (CHIPID_CIDR) SAM V71 */ -#define CHIPID_CIDR_ARCH_SAMV70 (0x13u << 20) /**< \brief (CHIPID_CIDR) SAM V70 */ -#define CHIPID_CIDR_NVPTYP_Pos 28 -#define CHIPID_CIDR_NVPTYP_Msk (0x7u << CHIPID_CIDR_NVPTYP_Pos) /**< \brief (CHIPID_CIDR) Nonvolatile Program Memory Type */ -#define CHIPID_CIDR_NVPTYP_ROM (0x0u << 28) /**< \brief (CHIPID_CIDR) ROM */ -#define CHIPID_CIDR_NVPTYP_ROMLESS (0x1u << 28) /**< \brief (CHIPID_CIDR) ROMless or on-chip Flash */ -#define CHIPID_CIDR_NVPTYP_FLASH (0x2u << 28) /**< \brief (CHIPID_CIDR) Embedded Flash Memory */ -#define CHIPID_CIDR_NVPTYP_ROM_FLASH (0x3u << 28) /**< \brief (CHIPID_CIDR) ROM and Embedded Flash Memory- NVPSIZ is ROM size- NVPSIZ2 is Flash size */ -#define CHIPID_CIDR_NVPTYP_SRAM (0x4u << 28) /**< \brief (CHIPID_CIDR) SRAM emulating ROM */ -#define CHIPID_CIDR_EXT (0x1u << 31) /**< \brief (CHIPID_CIDR) Extension Flag */ -/* -------- CHIPID_EXID : (CHIPID Offset: 0x4) Chip ID Extension Register -------- */ -#define CHIPID_EXID_EXID_Pos 0 -#define CHIPID_EXID_EXID_Msk (0xffffffffu << CHIPID_EXID_EXID_Pos) /**< \brief (CHIPID_EXID) Chip ID Extension */ - -/*@}*/ - - -#endif /* _SAMS70_CHIPID_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h deleted file mode 100644 index 7aec4a9..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/dacc.h +++ /dev/null @@ -1,217 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_DACC_COMPONENT_ -#define _SAMS70_DACC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Digital-to-Analog Converter Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_DACC Digital-to-Analog Converter Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Dacc hardware registers */ -typedef struct { - __O uint32_t DACC_CR; /**< \brief (Dacc Offset: 0x00) Control Register */ - __IO uint32_t DACC_MR; /**< \brief (Dacc Offset: 0x04) Mode Register */ - __IO uint32_t DACC_TRIGR; /**< \brief (Dacc Offset: 0x08) Trigger Register */ - __I uint32_t Reserved1[1]; - __O uint32_t DACC_CHER; /**< \brief (Dacc Offset: 0x10) Channel Enable Register */ - __O uint32_t DACC_CHDR; /**< \brief (Dacc Offset: 0x14) Channel Disable Register */ - __I uint32_t DACC_CHSR; /**< \brief (Dacc Offset: 0x18) Channel Status Register */ - __O uint32_t DACC_CDR[2]; /**< \brief (Dacc Offset: 0x1C) Conversion Data Register */ - __O uint32_t DACC_IER; /**< \brief (Dacc Offset: 0x24) Interrupt Enable Register */ - __O uint32_t DACC_IDR; /**< \brief (Dacc Offset: 0x28) Interrupt Disable Register */ - __I uint32_t DACC_IMR; /**< \brief (Dacc Offset: 0x2C) Interrupt Mask Register */ - __I uint32_t DACC_ISR; /**< \brief (Dacc Offset: 0x30) Interrupt Status Register */ - __I uint32_t Reserved2[24]; - __IO uint32_t DACC_ACR; /**< \brief (Dacc Offset: 0x94) Analog Current Register */ - __I uint32_t Reserved3[19]; - __IO uint32_t DACC_WPMR; /**< \brief (Dacc Offset: 0xE4) Write Protection Mode register */ - __I uint32_t DACC_WPSR; /**< \brief (Dacc Offset: 0xE8) Write Protection Status register */ -} Dacc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- DACC_CR : (DACC Offset: 0x00) Control Register -------- */ -#define DACC_CR_SWRST (0x1u << 0) /**< \brief (DACC_CR) Software Reset */ -/* -------- DACC_MR : (DACC Offset: 0x04) Mode Register -------- */ -#define DACC_MR_MAXS0 (0x1u << 0) /**< \brief (DACC_MR) Max Speed Mode for Channel 0 */ -#define DACC_MR_MAXS0_TRIG_EVENT (0x0u << 0) /**< \brief (DACC_MR) Triggered by selected event */ -#define DACC_MR_MAXS0_MAXIMUM (0x1u << 0) /**< \brief (DACC_MR) Max Speed Mode enabled */ -#define DACC_MR_MAXS1 (0x1u << 1) /**< \brief (DACC_MR) Max Speed Mode for Channel 1 */ -#define DACC_MR_MAXS1_TRIG_EVENT (0x0u << 1) /**< \brief (DACC_MR) Triggered by selected event */ -#define DACC_MR_MAXS1_MAXIMUM (0x1u << 1) /**< \brief (DACC_MR) Max Speed Mode enabled */ -#define DACC_MR_WORD (0x1u << 4) /**< \brief (DACC_MR) Word Transfer Mode */ -#define DACC_MR_WORD_DISABLED (0x0u << 4) /**< \brief (DACC_MR) One data to convert is written to the FIFO per access to DACC */ -#define DACC_MR_WORD_ENABLED (0x1u << 4) /**< \brief (DACC_MR) Two data to convert are written to the FIFO per access to DACC (reduces number of requests to DMA and the number of system bus accesses) */ -#define DACC_MR_REFRESH_Pos 8 -#define DACC_MR_REFRESH_Msk (0xffu << DACC_MR_REFRESH_Pos) /**< \brief (DACC_MR) Refresh Period */ -#define DACC_MR_REFRESH(value) ((DACC_MR_REFRESH_Msk & ((value) << DACC_MR_REFRESH_Pos))) -#define DACC_MR_DIFF (0x1u << 23) /**< \brief (DACC_MR) Differential Mode */ -#define DACC_MR_DIFF_DISABLED (0x0u << 23) /**< \brief (DACC_MR) DAC0 and DAC1 outputs can be separately configured */ -#define DACC_MR_DIFF_ENABLED (0x1u << 23) /**< \brief (DACC_MR) DACP and DACN outputs are configured by the channel 0 value. */ -#define DACC_MR_PRESCALER_Pos 24 -#define DACC_MR_PRESCALER_Msk (0xfu << DACC_MR_PRESCALER_Pos) /**< \brief (DACC_MR) Peripheral Clock to DAC Clock Ratio */ -#define DACC_MR_PRESCALER(value) ((DACC_MR_PRESCALER_Msk & ((value) << DACC_MR_PRESCALER_Pos))) -/* -------- DACC_TRIGR : (DACC Offset: 0x08) Trigger Register -------- */ -#define DACC_TRIGR_TRGEN0 (0x1u << 0) /**< \brief (DACC_TRIGR) Trigger Enable of Channel 0 */ -#define DACC_TRIGR_TRGEN0_DIS (0x0u << 0) /**< \brief (DACC_TRIGR) External trigger mode disabled. DAC is in free running mode. */ -#define DACC_TRIGR_TRGEN0_EN (0x1u << 0) /**< \brief (DACC_TRIGR) External trigger mode enabled. */ -#define DACC_TRIGR_TRGEN1 (0x1u << 1) /**< \brief (DACC_TRIGR) Trigger Enable of Channel 1 */ -#define DACC_TRIGR_TRGEN1_DIS (0x0u << 1) /**< \brief (DACC_TRIGR) External trigger mode disabled. DAC is in free running mode. */ -#define DACC_TRIGR_TRGEN1_EN (0x1u << 1) /**< \brief (DACC_TRIGR) External trigger mode enabled. */ -#define DACC_TRIGR_TRGSEL0_Pos 4 -#define DACC_TRIGR_TRGSEL0_Msk (0x7u << DACC_TRIGR_TRGSEL0_Pos) /**< \brief (DACC_TRIGR) Trigger Selection of Channel 0 */ -#define DACC_TRIGR_TRGSEL0(value) ((DACC_TRIGR_TRGSEL0_Msk & ((value) << DACC_TRIGR_TRGSEL0_Pos))) -#define DACC_TRIGR_TRGSEL0_TRGSEL0 (0x0u << 4) /**< \brief (DACC_TRIGR) TC0 output */ -#define DACC_TRIGR_TRGSEL0_TRGSEL1 (0x1u << 4) /**< \brief (DACC_TRIGR) TC1 output */ -#define DACC_TRIGR_TRGSEL0_TRGSEL2 (0x2u << 4) /**< \brief (DACC_TRIGR) TC2 output */ -#define DACC_TRIGR_TRGSEL0_TRGSEL3 (0x3u << 4) /**< \brief (DACC_TRIGR) PWM0 event 0 */ -#define DACC_TRIGR_TRGSEL0_TRGSEL4 (0x4u << 4) /**< \brief (DACC_TRIGR) PWM0 event 1 */ -#define DACC_TRIGR_TRGSEL0_TRGSEL5 (0x5u << 4) /**< \brief (DACC_TRIGR) PWM1 event 0 */ -#define DACC_TRIGR_TRGSEL0_TRGSEL6 (0x6u << 4) /**< \brief (DACC_TRIGR) PWM1 event 1 */ -#define DACC_TRIGR_TRGSEL1_Pos 8 -#define DACC_TRIGR_TRGSEL1_Msk (0x7u << DACC_TRIGR_TRGSEL1_Pos) /**< \brief (DACC_TRIGR) Trigger Selection of Channel 1 */ -#define DACC_TRIGR_TRGSEL1(value) ((DACC_TRIGR_TRGSEL1_Msk & ((value) << DACC_TRIGR_TRGSEL1_Pos))) -#define DACC_TRIGR_TRGSEL1_TRGSEL0 (0x0u << 8) /**< \brief (DACC_TRIGR) TC0 output */ -#define DACC_TRIGR_TRGSEL1_TRGSEL1 (0x1u << 8) /**< \brief (DACC_TRIGR) TC1 output */ -#define DACC_TRIGR_TRGSEL1_TRGSEL2 (0x2u << 8) /**< \brief (DACC_TRIGR) TC2 output */ -#define DACC_TRIGR_TRGSEL1_TRGSEL3 (0x3u << 8) /**< \brief (DACC_TRIGR) PWM0 event 0 */ -#define DACC_TRIGR_TRGSEL1_TRGSEL4 (0x4u << 8) /**< \brief (DACC_TRIGR) PWM0 event 1 */ -#define DACC_TRIGR_TRGSEL1_TRGSEL5 (0x5u << 8) /**< \brief (DACC_TRIGR) PWM1 event 0 */ -#define DACC_TRIGR_TRGSEL1_TRGSEL6 (0x6u << 8) /**< \brief (DACC_TRIGR) PWM1 event 1 */ -#define DACC_TRIGR_OSR0_Pos 16 -#define DACC_TRIGR_OSR0_Msk (0x7u << DACC_TRIGR_OSR0_Pos) /**< \brief (DACC_TRIGR) Over Sampling Ratio of Channel 0 */ -#define DACC_TRIGR_OSR0(value) ((DACC_TRIGR_OSR0_Msk & ((value) << DACC_TRIGR_OSR0_Pos))) -#define DACC_TRIGR_OSR0_OSR_1 (0x0u << 16) /**< \brief (DACC_TRIGR) OSR = 1 */ -#define DACC_TRIGR_OSR0_OSR_2 (0x1u << 16) /**< \brief (DACC_TRIGR) OSR = 2 */ -#define DACC_TRIGR_OSR0_OSR_4 (0x2u << 16) /**< \brief (DACC_TRIGR) OSR = 4 */ -#define DACC_TRIGR_OSR0_OSR_8 (0x3u << 16) /**< \brief (DACC_TRIGR) OSR = 8 */ -#define DACC_TRIGR_OSR0_OSR_16 (0x4u << 16) /**< \brief (DACC_TRIGR) OSR = 16 */ -#define DACC_TRIGR_OSR0_OSR_32 (0x5u << 16) /**< \brief (DACC_TRIGR) OSR = 32 */ -#define DACC_TRIGR_OSR1_Pos 20 -#define DACC_TRIGR_OSR1_Msk (0x7u << DACC_TRIGR_OSR1_Pos) /**< \brief (DACC_TRIGR) Over Sampling Ratio of Channel 1 */ -#define DACC_TRIGR_OSR1(value) ((DACC_TRIGR_OSR1_Msk & ((value) << DACC_TRIGR_OSR1_Pos))) -#define DACC_TRIGR_OSR1_OSR_1 (0x0u << 20) /**< \brief (DACC_TRIGR) OSR = 1 */ -#define DACC_TRIGR_OSR1_OSR_2 (0x1u << 20) /**< \brief (DACC_TRIGR) OSR = 2 */ -#define DACC_TRIGR_OSR1_OSR_4 (0x2u << 20) /**< \brief (DACC_TRIGR) OSR = 4 */ -#define DACC_TRIGR_OSR1_OSR_8 (0x3u << 20) /**< \brief (DACC_TRIGR) OSR = 8 */ -#define DACC_TRIGR_OSR1_OSR_16 (0x4u << 20) /**< \brief (DACC_TRIGR) OSR = 16 */ -#define DACC_TRIGR_OSR1_OSR_32 (0x5u << 20) /**< \brief (DACC_TRIGR) OSR = 32 */ -/* -------- DACC_CHER : (DACC Offset: 0x10) Channel Enable Register -------- */ -#define DACC_CHER_CH0 (0x1u << 0) /**< \brief (DACC_CHER) Channel 0 Enable */ -#define DACC_CHER_CH1 (0x1u << 1) /**< \brief (DACC_CHER) Channel 1 Enable */ -/* -------- DACC_CHDR : (DACC Offset: 0x14) Channel Disable Register -------- */ -#define DACC_CHDR_CH0 (0x1u << 0) /**< \brief (DACC_CHDR) Channel 0 Disable */ -#define DACC_CHDR_CH1 (0x1u << 1) /**< \brief (DACC_CHDR) Channel 1 Disable */ -/* -------- DACC_CHSR : (DACC Offset: 0x18) Channel Status Register -------- */ -#define DACC_CHSR_CH0 (0x1u << 0) /**< \brief (DACC_CHSR) Channel 0 Status */ -#define DACC_CHSR_CH1 (0x1u << 1) /**< \brief (DACC_CHSR) Channel 1 Status */ -#define DACC_CHSR_DACRDY0 (0x1u << 8) /**< \brief (DACC_CHSR) DAC ready flag */ -#define DACC_CHSR_DACRDY1 (0x1u << 9) /**< \brief (DACC_CHSR) DAC ready flag */ -/* -------- DACC_CDR[2] : (DACC Offset: 0x1C) Conversion Data Register -------- */ -#define DACC_CDR_DATA0_Pos 0 -#define DACC_CDR_DATA0_Msk (0xffffu << DACC_CDR_DATA0_Pos) /**< \brief (DACC_CDR[2]) Data to Convert for channel 0 */ -#define DACC_CDR_DATA0(value) ((DACC_CDR_DATA0_Msk & ((value) << DACC_CDR_DATA0_Pos))) -#define DACC_CDR_DATA1_Pos 16 -#define DACC_CDR_DATA1_Msk (0xffffu << DACC_CDR_DATA1_Pos) /**< \brief (DACC_CDR[2]) Data to Convert for channel 1 */ -#define DACC_CDR_DATA1(value) ((DACC_CDR_DATA1_Msk & ((value) << DACC_CDR_DATA1_Pos))) -/* -------- DACC_IER : (DACC Offset: 0x24) Interrupt Enable Register -------- */ -#define DACC_IER_TXRDY0 (0x1u << 0) /**< \brief (DACC_IER) Transmit Ready Interrupt Enable of channel 0 */ -#define DACC_IER_TXRDY1 (0x1u << 1) /**< \brief (DACC_IER) Transmit Ready Interrupt Enable of channel 1 */ -#define DACC_IER_EOC0 (0x1u << 4) /**< \brief (DACC_IER) End of Conversion Interrupt Enable of channel 0 */ -#define DACC_IER_EOC1 (0x1u << 5) /**< \brief (DACC_IER) End of Conversion Interrupt Enable of channel 1 */ -#define DACC_IER_ENDTX0 (0x1u << 8) /**< \brief (DACC_IER) End of Transmit Buffer Interrupt Enable of channel 0 */ -#define DACC_IER_ENDTX1 (0x1u << 9) /**< \brief (DACC_IER) End of Transmit Buffer Interrupt Enable of channel 1 */ -#define DACC_IER_TXBUFE0 (0x1u << 12) /**< \brief (DACC_IER) Transmit Buffer Empty Interrupt Enable of channel 0 */ -#define DACC_IER_TXBUFE1 (0x1u << 13) /**< \brief (DACC_IER) Transmit Buffer Empty Interrupt Enable of channel 1 */ -/* -------- DACC_IDR : (DACC Offset: 0x28) Interrupt Disable Register -------- */ -#define DACC_IDR_TXRDY0 (0x1u << 0) /**< \brief (DACC_IDR) Transmit Ready Interrupt Disable of channel 0 */ -#define DACC_IDR_TXRDY1 (0x1u << 1) /**< \brief (DACC_IDR) Transmit Ready Interrupt Disable of channel 1 */ -#define DACC_IDR_EOC0 (0x1u << 4) /**< \brief (DACC_IDR) End of Conversion Interrupt Disable of channel 0 */ -#define DACC_IDR_EOC1 (0x1u << 5) /**< \brief (DACC_IDR) End of Conversion Interrupt Disable of channel 1 */ -#define DACC_IDR_ENDTX0 (0x1u << 8) /**< \brief (DACC_IDR) End of Transmit Buffer Interrupt Disable of channel 0 */ -#define DACC_IDR_ENDTX1 (0x1u << 9) /**< \brief (DACC_IDR) End of Transmit Buffer Interrupt Disable of channel 1 */ -#define DACC_IDR_TXBUFE0 (0x1u << 12) /**< \brief (DACC_IDR) Transmit Buffer Empty Interrupt Disable of channel 0 */ -#define DACC_IDR_TXBUFE1 (0x1u << 13) /**< \brief (DACC_IDR) Transmit Buffer Empty Interrupt Disable of channel 1 */ -/* -------- DACC_IMR : (DACC Offset: 0x2C) Interrupt Mask Register -------- */ -#define DACC_IMR_TXRDY0 (0x1u << 0) /**< \brief (DACC_IMR) Transmit Ready Interrupt Mask of channel 0 */ -#define DACC_IMR_TXRDY1 (0x1u << 1) /**< \brief (DACC_IMR) Transmit Ready Interrupt Mask of channel 1 */ -#define DACC_IMR_EOC0 (0x1u << 4) /**< \brief (DACC_IMR) End of Conversion Interrupt Mask of channel 0 */ -#define DACC_IMR_EOC1 (0x1u << 5) /**< \brief (DACC_IMR) End of Conversion Interrupt Mask of channel 1 */ -#define DACC_IMR_ENDTX0 (0x1u << 8) /**< \brief (DACC_IMR) End of Transmit Buffer Interrupt Mask of channel 0 */ -#define DACC_IMR_ENDTX1 (0x1u << 9) /**< \brief (DACC_IMR) End of Transmit Buffer Interrupt Mask of channel 1 */ -#define DACC_IMR_TXBUFE0 (0x1u << 12) /**< \brief (DACC_IMR) Transmit Buffer Empty Interrupt Mask of channel 0 */ -#define DACC_IMR_TXBUFE1 (0x1u << 13) /**< \brief (DACC_IMR) Transmit Buffer Empty Interrupt Mask of channel 1 */ -/* -------- DACC_ISR : (DACC Offset: 0x30) Interrupt Status Register -------- */ -#define DACC_ISR_TXRDY0 (0x1u << 0) /**< \brief (DACC_ISR) Transmit Ready Interrupt Flag of channel 0 */ -#define DACC_ISR_TXRDY1 (0x1u << 1) /**< \brief (DACC_ISR) Transmit Ready Interrupt Flag of channel 1 */ -#define DACC_ISR_EOC0 (0x1u << 4) /**< \brief (DACC_ISR) End of Conversion Interrupt Flag of channel 0 */ -#define DACC_ISR_EOC1 (0x1u << 5) /**< \brief (DACC_ISR) End of Conversion Interrupt Flag of channel 1 */ -#define DACC_ISR_ENDTX0 (0x1u << 8) /**< \brief (DACC_ISR) End of DMA Interrupt Flag of channel 0 */ -#define DACC_ISR_ENDTX1 (0x1u << 9) /**< \brief (DACC_ISR) End of DMA Interrupt Flag of channel 1 */ -#define DACC_ISR_TXBUFE0 (0x1u << 12) /**< \brief (DACC_ISR) Transmit Buffer Empty of channel 0 */ -#define DACC_ISR_TXBUFE1 (0x1u << 13) /**< \brief (DACC_ISR) Transmit Buffer Empty of channel 1 */ -/* -------- DACC_ACR : (DACC Offset: 0x94) Analog Current Register -------- */ -#define DACC_ACR_IBCTLCH0_Pos 0 -#define DACC_ACR_IBCTLCH0_Msk (0x3u << DACC_ACR_IBCTLCH0_Pos) /**< \brief (DACC_ACR) Analog Output Current Control */ -#define DACC_ACR_IBCTLCH0(value) ((DACC_ACR_IBCTLCH0_Msk & ((value) << DACC_ACR_IBCTLCH0_Pos))) -#define DACC_ACR_IBCTLCH1_Pos 2 -#define DACC_ACR_IBCTLCH1_Msk (0x3u << DACC_ACR_IBCTLCH1_Pos) /**< \brief (DACC_ACR) Analog Output Current Control */ -#define DACC_ACR_IBCTLCH1(value) ((DACC_ACR_IBCTLCH1_Msk & ((value) << DACC_ACR_IBCTLCH1_Pos))) -/* -------- DACC_WPMR : (DACC Offset: 0xE4) Write Protection Mode register -------- */ -#define DACC_WPMR_WPEN (0x1u << 0) /**< \brief (DACC_WPMR) Write Protection Enable */ -#define DACC_WPMR_WPKEY_Pos 8 -#define DACC_WPMR_WPKEY_Msk (0xffffffu << DACC_WPMR_WPKEY_Pos) /**< \brief (DACC_WPMR) Write Protect Key */ -#define DACC_WPMR_WPKEY(value) ((DACC_WPMR_WPKEY_Msk & ((value) << DACC_WPMR_WPKEY_Pos))) -#define DACC_WPMR_WPKEY_PASSWD (0x444143u << 8) /**< \brief (DACC_WPMR) Writing any other value in this field aborts the write operation of bit WPEN.Always reads as 0. */ -/* -------- DACC_WPSR : (DACC Offset: 0xE8) Write Protection Status register -------- */ -#define DACC_WPSR_WPVS (0x1u << 0) /**< \brief (DACC_WPSR) Write Protection Violation Status */ -#define DACC_WPSR_WPVSRC_Pos 8 -#define DACC_WPSR_WPVSRC_Msk (0xffu << DACC_WPSR_WPVSRC_Pos) /**< \brief (DACC_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_DACC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h deleted file mode 100644 index e316688..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/efc.h +++ /dev/null @@ -1,133 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_EFC_COMPONENT_ -#define _SAMS70_EFC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Embedded Flash Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_EFC Embedded Flash Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Efc hardware registers */ -typedef struct { - __IO uint32_t EEFC_FMR; /**< \brief (Efc Offset: 0x00) EEFC Flash Mode Register */ - __O uint32_t EEFC_FCR; /**< \brief (Efc Offset: 0x04) EEFC Flash Command Register */ - __I uint32_t EEFC_FSR; /**< \brief (Efc Offset: 0x08) EEFC Flash Status Register */ - __I uint32_t EEFC_FRR; /**< \brief (Efc Offset: 0x0C) EEFC Flash Result Register */ - __I uint32_t Reserved1[1]; - __I uint32_t EEFC_VERSION; /**< \brief (Efc Offset: 0x14) EEFC Version Register */ - __I uint32_t Reserved2[51]; - __IO uint32_t EEFC_WPMR; /**< \brief (Efc Offset: 0xE4) Write Protection Mode Register */ -} Efc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- EEFC_FMR : (EFC Offset: 0x00) EEFC Flash Mode Register -------- */ -#define EEFC_FMR_FRDY (0x1u << 0) /**< \brief (EEFC_FMR) Flash Ready Interrupt Enable */ -#define EEFC_FMR_FWS_Pos 8 -#define EEFC_FMR_FWS_Msk (0xfu << EEFC_FMR_FWS_Pos) /**< \brief (EEFC_FMR) Flash Wait State */ -#define EEFC_FMR_FWS(value) ((EEFC_FMR_FWS_Msk & ((value) << EEFC_FMR_FWS_Pos))) -#define EEFC_FMR_SCOD (0x1u << 16) /**< \brief (EEFC_FMR) Sequential Code Optimization Disable */ -#define EEFC_FMR_CLOE (0x1u << 26) /**< \brief (EEFC_FMR) Code Loop Optimization Enable */ -/* -------- EEFC_FCR : (EFC Offset: 0x04) EEFC Flash Command Register -------- */ -#define EEFC_FCR_FCMD_Pos 0 -#define EEFC_FCR_FCMD_Msk (0xffu << EEFC_FCR_FCMD_Pos) /**< \brief (EEFC_FCR) Flash Command */ -#define EEFC_FCR_FCMD(value) ((EEFC_FCR_FCMD_Msk & ((value) << EEFC_FCR_FCMD_Pos))) -#define EEFC_FCR_FCMD_GETD (0x0u << 0) /**< \brief (EEFC_FCR) Get Flash descriptor */ -#define EEFC_FCR_FCMD_WP (0x1u << 0) /**< \brief (EEFC_FCR) Write page */ -#define EEFC_FCR_FCMD_WPL (0x2u << 0) /**< \brief (EEFC_FCR) Write page and lock */ -#define EEFC_FCR_FCMD_EWP (0x3u << 0) /**< \brief (EEFC_FCR) Erase page and write page */ -#define EEFC_FCR_FCMD_EWPL (0x4u << 0) /**< \brief (EEFC_FCR) Erase page and write page then lock */ -#define EEFC_FCR_FCMD_EA (0x5u << 0) /**< \brief (EEFC_FCR) Erase all */ -#define EEFC_FCR_FCMD_EPA (0x7u << 0) /**< \brief (EEFC_FCR) Erase pages */ -#define EEFC_FCR_FCMD_SLB (0x8u << 0) /**< \brief (EEFC_FCR) Set lock bit */ -#define EEFC_FCR_FCMD_CLB (0x9u << 0) /**< \brief (EEFC_FCR) Clear lock bit */ -#define EEFC_FCR_FCMD_GLB (0xAu << 0) /**< \brief (EEFC_FCR) Get lock bit */ -#define EEFC_FCR_FCMD_SGPB (0xBu << 0) /**< \brief (EEFC_FCR) Set GPNVM bit */ -#define EEFC_FCR_FCMD_CGPB (0xCu << 0) /**< \brief (EEFC_FCR) Clear GPNVM bit */ -#define EEFC_FCR_FCMD_GGPB (0xDu << 0) /**< \brief (EEFC_FCR) Get GPNVM bit */ -#define EEFC_FCR_FCMD_STUI (0xEu << 0) /**< \brief (EEFC_FCR) Start read unique identifier */ -#define EEFC_FCR_FCMD_SPUI (0xFu << 0) /**< \brief (EEFC_FCR) Stop read unique identifier */ -#define EEFC_FCR_FCMD_GCALB (0x10u << 0) /**< \brief (EEFC_FCR) Get CALIB bit */ -#define EEFC_FCR_FCMD_ES (0x11u << 0) /**< \brief (EEFC_FCR) Erase sector */ -#define EEFC_FCR_FCMD_WUS (0x12u << 0) /**< \brief (EEFC_FCR) Write user signature */ -#define EEFC_FCR_FCMD_EUS (0x13u << 0) /**< \brief (EEFC_FCR) Erase user signature */ -#define EEFC_FCR_FCMD_STUS (0x14u << 0) /**< \brief (EEFC_FCR) Start read user signature */ -#define EEFC_FCR_FCMD_SPUS (0x15u << 0) /**< \brief (EEFC_FCR) Stop read user signature */ -#define EEFC_FCR_FARG_Pos 8 -#define EEFC_FCR_FARG_Msk (0xffffu << EEFC_FCR_FARG_Pos) /**< \brief (EEFC_FCR) Flash Command Argument */ -#define EEFC_FCR_FARG(value) ((EEFC_FCR_FARG_Msk & ((value) << EEFC_FCR_FARG_Pos))) -#define EEFC_FCR_FKEY_Pos 24 -#define EEFC_FCR_FKEY_Msk (0xffu << EEFC_FCR_FKEY_Pos) /**< \brief (EEFC_FCR) Flash Writing Protection Key */ -#define EEFC_FCR_FKEY(value) ((EEFC_FCR_FKEY_Msk & ((value) << EEFC_FCR_FKEY_Pos))) -#define EEFC_FCR_FKEY_PASSWD (0x5Au << 24) /**< \brief (EEFC_FCR) The 0x5A value enables the command defined by the bits of the register. If the field is written with a different value, the write is not performed and no action is started. */ -/* -------- EEFC_FSR : (EFC Offset: 0x08) EEFC Flash Status Register -------- */ -#define EEFC_FSR_FRDY (0x1u << 0) /**< \brief (EEFC_FSR) Flash Ready Status (cleared when Flash is busy) */ -#define EEFC_FSR_FCMDE (0x1u << 1) /**< \brief (EEFC_FSR) Flash Command Error Status (cleared on read or by writing EEFC_FCR) */ -#define EEFC_FSR_FLOCKE (0x1u << 2) /**< \brief (EEFC_FSR) Flash Lock Error Status (cleared on read) */ -#define EEFC_FSR_FLERR (0x1u << 3) /**< \brief (EEFC_FSR) Flash Error Status (cleared when a programming operation starts) */ -#define EEFC_FSR_UECCELSB (0x1u << 16) /**< \brief (EEFC_FSR) Unique ECC Error on LSB Part of the Memory Flash Data Bus (cleared on read) */ -#define EEFC_FSR_MECCELSB (0x1u << 17) /**< \brief (EEFC_FSR) Multiple ECC Error on LSB Part of the Memory Flash Data Bus (cleared on read) */ -#define EEFC_FSR_UECCEMSB (0x1u << 18) /**< \brief (EEFC_FSR) Unique ECC Error on MSB Part of the Memory Flash Data Bus (cleared on read) */ -#define EEFC_FSR_MECCEMSB (0x1u << 19) /**< \brief (EEFC_FSR) Multiple ECC Error on MSB Part of the Memory Flash Data Bus (cleared on read) */ -/* -------- EEFC_FRR : (EFC Offset: 0x0C) EEFC Flash Result Register -------- */ -#define EEFC_FRR_FVALUE_Pos 0 -#define EEFC_FRR_FVALUE_Msk (0xffffffffu << EEFC_FRR_FVALUE_Pos) /**< \brief (EEFC_FRR) Flash Result Value */ -/* -------- EEFC_VERSION : (EFC Offset: 0x14) EEFC Version Register -------- */ -#define EEFC_VERSION_VERSION_Pos 0 -#define EEFC_VERSION_VERSION_Msk (0xfffu << EEFC_VERSION_VERSION_Pos) /**< \brief (EEFC_VERSION) Version of the Hardware Module */ -#define EEFC_VERSION_MFN_Pos 16 -#define EEFC_VERSION_MFN_Msk (0x7u << EEFC_VERSION_MFN_Pos) /**< \brief (EEFC_VERSION) Metal Fix Number */ -/* -------- EEFC_WPMR : (EFC Offset: 0xE4) Write Protection Mode Register -------- */ -#define EEFC_WPMR_WPEN (0x1u << 0) /**< \brief (EEFC_WPMR) Write Protection Enable */ -#define EEFC_WPMR_WPKEY_Pos 8 -#define EEFC_WPMR_WPKEY_Msk (0xffffffu << EEFC_WPMR_WPKEY_Pos) /**< \brief (EEFC_WPMR) Write Protection Key */ -#define EEFC_WPMR_WPKEY(value) ((EEFC_WPMR_WPKEY_Msk & ((value) << EEFC_WPMR_WPKEY_Pos))) -#define EEFC_WPMR_WPKEY_PASSWD (0x454643u << 8) /**< \brief (EEFC_WPMR) Writing any other value in this field aborts the write operation.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_EFC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h deleted file mode 100644 index 21de664..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/gpbr.h +++ /dev/null @@ -1,68 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_GPBR_COMPONENT_ -#define _SAMS70_GPBR_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR General Purpose Backup Registers */ -/* ============================================================================= */ -/** \addtogroup SAMS70_GPBR General Purpose Backup Registers */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Gpbr hardware registers */ -typedef struct { - __IO uint32_t SYS_GPBR[8]; /**< \brief (Gpbr Offset: 0x0) General Purpose Backup Register */ -} Gpbr; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SYS_GPBR[8] : (GPBR Offset: 0x0) General Purpose Backup Register -------- */ -#define SYS_GPBR_GPBR_VALUE_Pos 0 -#define SYS_GPBR_GPBR_VALUE_Msk (0xffffffffu << SYS_GPBR_GPBR_VALUE_Pos) /**< \brief (SYS_GPBR[8]) Value of GPBR x */ -#define SYS_GPBR_GPBR_VALUE(value) ((SYS_GPBR_GPBR_VALUE_Msk & ((value) << SYS_GPBR_GPBR_VALUE_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_GPBR_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h deleted file mode 100644 index ef86451..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/hsmci.h +++ /dev/null @@ -1,350 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_HSMCI_COMPONENT_ -#define _SAMS70_HSMCI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR High Speed MultiMedia Card Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_HSMCI High Speed MultiMedia Card Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Hsmci hardware registers */ -typedef struct { - __O uint32_t HSMCI_CR; /**< \brief (Hsmci Offset: 0x00) Control Register */ - __IO uint32_t HSMCI_MR; /**< \brief (Hsmci Offset: 0x04) Mode Register */ - __IO uint32_t HSMCI_DTOR; /**< \brief (Hsmci Offset: 0x08) Data Timeout Register */ - __IO uint32_t HSMCI_SDCR; /**< \brief (Hsmci Offset: 0x0C) SD/SDIO Card Register */ - __IO uint32_t HSMCI_ARGR; /**< \brief (Hsmci Offset: 0x10) Argument Register */ - __O uint32_t HSMCI_CMDR; /**< \brief (Hsmci Offset: 0x14) Command Register */ - __IO uint32_t HSMCI_BLKR; /**< \brief (Hsmci Offset: 0x18) Block Register */ - __IO uint32_t HSMCI_CSTOR; /**< \brief (Hsmci Offset: 0x1C) Completion Signal Timeout Register */ - __I uint32_t HSMCI_RSPR[4]; /**< \brief (Hsmci Offset: 0x20) Response Register */ - __I uint32_t HSMCI_RDR; /**< \brief (Hsmci Offset: 0x30) Receive Data Register */ - __O uint32_t HSMCI_TDR; /**< \brief (Hsmci Offset: 0x34) Transmit Data Register */ - __I uint32_t Reserved1[2]; - __I uint32_t HSMCI_SR; /**< \brief (Hsmci Offset: 0x40) Status Register */ - __O uint32_t HSMCI_IER; /**< \brief (Hsmci Offset: 0x44) Interrupt Enable Register */ - __O uint32_t HSMCI_IDR; /**< \brief (Hsmci Offset: 0x48) Interrupt Disable Register */ - __I uint32_t HSMCI_IMR; /**< \brief (Hsmci Offset: 0x4C) Interrupt Mask Register */ - __IO uint32_t HSMCI_DMA; /**< \brief (Hsmci Offset: 0x50) DMA Configuration Register */ - __IO uint32_t HSMCI_CFG; /**< \brief (Hsmci Offset: 0x54) Configuration Register */ - __I uint32_t Reserved2[35]; - __IO uint32_t HSMCI_WPMR; /**< \brief (Hsmci Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t HSMCI_WPSR; /**< \brief (Hsmci Offset: 0xE8) Write Protection Status Register */ - __I uint32_t Reserved3[69]; - __IO uint32_t HSMCI_FIFO[256]; /**< \brief (Hsmci Offset: 0x200) FIFO Memory Aperture0 */ -} Hsmci; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- HSMCI_CR : (HSMCI Offset: 0x00) Control Register -------- */ -#define HSMCI_CR_MCIEN (0x1u << 0) /**< \brief (HSMCI_CR) Multi-Media Interface Enable */ -#define HSMCI_CR_MCIDIS (0x1u << 1) /**< \brief (HSMCI_CR) Multi-Media Interface Disable */ -#define HSMCI_CR_PWSEN (0x1u << 2) /**< \brief (HSMCI_CR) Power Save Mode Enable */ -#define HSMCI_CR_PWSDIS (0x1u << 3) /**< \brief (HSMCI_CR) Power Save Mode Disable */ -#define HSMCI_CR_SWRST (0x1u << 7) /**< \brief (HSMCI_CR) Software Reset */ -/* -------- HSMCI_MR : (HSMCI Offset: 0x04) Mode Register -------- */ -#define HSMCI_MR_CLKDIV_Pos 0 -#define HSMCI_MR_CLKDIV_Msk (0xffu << HSMCI_MR_CLKDIV_Pos) /**< \brief (HSMCI_MR) Clock Divider */ -#define HSMCI_MR_CLKDIV(value) ((HSMCI_MR_CLKDIV_Msk & ((value) << HSMCI_MR_CLKDIV_Pos))) -#define HSMCI_MR_PWSDIV_Pos 8 -#define HSMCI_MR_PWSDIV_Msk (0x7u << HSMCI_MR_PWSDIV_Pos) /**< \brief (HSMCI_MR) Power Saving Divider */ -#define HSMCI_MR_PWSDIV(value) ((HSMCI_MR_PWSDIV_Msk & ((value) << HSMCI_MR_PWSDIV_Pos))) -#define HSMCI_MR_RDPROOF (0x1u << 11) /**< \brief (HSMCI_MR) Read Proof Enable */ -#define HSMCI_MR_WRPROOF (0x1u << 12) /**< \brief (HSMCI_MR) Write Proof Enable */ -#define HSMCI_MR_FBYTE (0x1u << 13) /**< \brief (HSMCI_MR) Force Byte Transfer */ -#define HSMCI_MR_PADV (0x1u << 14) /**< \brief (HSMCI_MR) Padding Value */ -#define HSMCI_MR_CLKODD (0x1u << 16) /**< \brief (HSMCI_MR) Clock divider is odd */ -/* -------- HSMCI_DTOR : (HSMCI Offset: 0x08) Data Timeout Register -------- */ -#define HSMCI_DTOR_DTOCYC_Pos 0 -#define HSMCI_DTOR_DTOCYC_Msk (0xfu << HSMCI_DTOR_DTOCYC_Pos) /**< \brief (HSMCI_DTOR) Data Timeout Cycle Number */ -#define HSMCI_DTOR_DTOCYC(value) ((HSMCI_DTOR_DTOCYC_Msk & ((value) << HSMCI_DTOR_DTOCYC_Pos))) -#define HSMCI_DTOR_DTOMUL_Pos 4 -#define HSMCI_DTOR_DTOMUL_Msk (0x7u << HSMCI_DTOR_DTOMUL_Pos) /**< \brief (HSMCI_DTOR) Data Timeout Multiplier */ -#define HSMCI_DTOR_DTOMUL(value) ((HSMCI_DTOR_DTOMUL_Msk & ((value) << HSMCI_DTOR_DTOMUL_Pos))) -#define HSMCI_DTOR_DTOMUL_1 (0x0u << 4) /**< \brief (HSMCI_DTOR) DTOCYC */ -#define HSMCI_DTOR_DTOMUL_16 (0x1u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 16 */ -#define HSMCI_DTOR_DTOMUL_128 (0x2u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 128 */ -#define HSMCI_DTOR_DTOMUL_256 (0x3u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 256 */ -#define HSMCI_DTOR_DTOMUL_1024 (0x4u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 1024 */ -#define HSMCI_DTOR_DTOMUL_4096 (0x5u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 4096 */ -#define HSMCI_DTOR_DTOMUL_65536 (0x6u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 65536 */ -#define HSMCI_DTOR_DTOMUL_1048576 (0x7u << 4) /**< \brief (HSMCI_DTOR) DTOCYC x 1048576 */ -/* -------- HSMCI_SDCR : (HSMCI Offset: 0x0C) SD/SDIO Card Register -------- */ -#define HSMCI_SDCR_SDCSEL_Pos 0 -#define HSMCI_SDCR_SDCSEL_Msk (0x3u << HSMCI_SDCR_SDCSEL_Pos) /**< \brief (HSMCI_SDCR) SDCard/SDIO Slot */ -#define HSMCI_SDCR_SDCSEL(value) ((HSMCI_SDCR_SDCSEL_Msk & ((value) << HSMCI_SDCR_SDCSEL_Pos))) -#define HSMCI_SDCR_SDCSEL_SLOTA (0x0u << 0) /**< \brief (HSMCI_SDCR) Slot A is selected. */ -#define HSMCI_SDCR_SDCBUS_Pos 6 -#define HSMCI_SDCR_SDCBUS_Msk (0x3u << HSMCI_SDCR_SDCBUS_Pos) /**< \brief (HSMCI_SDCR) SDCard/SDIO Bus Width */ -#define HSMCI_SDCR_SDCBUS(value) ((HSMCI_SDCR_SDCBUS_Msk & ((value) << HSMCI_SDCR_SDCBUS_Pos))) -#define HSMCI_SDCR_SDCBUS_1 (0x0u << 6) /**< \brief (HSMCI_SDCR) 1 bit */ -#define HSMCI_SDCR_SDCBUS_4 (0x2u << 6) /**< \brief (HSMCI_SDCR) 4 bits */ -#define HSMCI_SDCR_SDCBUS_8 (0x3u << 6) /**< \brief (HSMCI_SDCR) 8 bits */ -/* -------- HSMCI_ARGR : (HSMCI Offset: 0x10) Argument Register -------- */ -#define HSMCI_ARGR_ARG_Pos 0 -#define HSMCI_ARGR_ARG_Msk (0xffffffffu << HSMCI_ARGR_ARG_Pos) /**< \brief (HSMCI_ARGR) Command Argument */ -#define HSMCI_ARGR_ARG(value) ((HSMCI_ARGR_ARG_Msk & ((value) << HSMCI_ARGR_ARG_Pos))) -/* -------- HSMCI_CMDR : (HSMCI Offset: 0x14) Command Register -------- */ -#define HSMCI_CMDR_CMDNB_Pos 0 -#define HSMCI_CMDR_CMDNB_Msk (0x3fu << HSMCI_CMDR_CMDNB_Pos) /**< \brief (HSMCI_CMDR) Command Number */ -#define HSMCI_CMDR_CMDNB(value) ((HSMCI_CMDR_CMDNB_Msk & ((value) << HSMCI_CMDR_CMDNB_Pos))) -#define HSMCI_CMDR_RSPTYP_Pos 6 -#define HSMCI_CMDR_RSPTYP_Msk (0x3u << HSMCI_CMDR_RSPTYP_Pos) /**< \brief (HSMCI_CMDR) Response Type */ -#define HSMCI_CMDR_RSPTYP(value) ((HSMCI_CMDR_RSPTYP_Msk & ((value) << HSMCI_CMDR_RSPTYP_Pos))) -#define HSMCI_CMDR_RSPTYP_NORESP (0x0u << 6) /**< \brief (HSMCI_CMDR) No response */ -#define HSMCI_CMDR_RSPTYP_48_BIT (0x1u << 6) /**< \brief (HSMCI_CMDR) 48-bit response */ -#define HSMCI_CMDR_RSPTYP_136_BIT (0x2u << 6) /**< \brief (HSMCI_CMDR) 136-bit response */ -#define HSMCI_CMDR_RSPTYP_R1B (0x3u << 6) /**< \brief (HSMCI_CMDR) R1b response type */ -#define HSMCI_CMDR_SPCMD_Pos 8 -#define HSMCI_CMDR_SPCMD_Msk (0x7u << HSMCI_CMDR_SPCMD_Pos) /**< \brief (HSMCI_CMDR) Special Command */ -#define HSMCI_CMDR_SPCMD(value) ((HSMCI_CMDR_SPCMD_Msk & ((value) << HSMCI_CMDR_SPCMD_Pos))) -#define HSMCI_CMDR_SPCMD_STD (0x0u << 8) /**< \brief (HSMCI_CMDR) Not a special CMD. */ -#define HSMCI_CMDR_SPCMD_INIT (0x1u << 8) /**< \brief (HSMCI_CMDR) Initialization CMD: 74 clock cycles for initialization sequence. */ -#define HSMCI_CMDR_SPCMD_SYNC (0x2u << 8) /**< \brief (HSMCI_CMDR) Synchronized CMD: Wait for the end of the current data block transfer before sending the pending command. */ -#define HSMCI_CMDR_SPCMD_CE_ATA (0x3u << 8) /**< \brief (HSMCI_CMDR) CE-ATA Completion Signal disable Command. The host cancels the ability for the device to return a command completion signal on the command line. */ -#define HSMCI_CMDR_SPCMD_IT_CMD (0x4u << 8) /**< \brief (HSMCI_CMDR) Interrupt command: Corresponds to the Interrupt Mode (CMD40). */ -#define HSMCI_CMDR_SPCMD_IT_RESP (0x5u << 8) /**< \brief (HSMCI_CMDR) Interrupt response: Corresponds to the Interrupt Mode (CMD40). */ -#define HSMCI_CMDR_SPCMD_BOR (0x6u << 8) /**< \brief (HSMCI_CMDR) Boot Operation Request. Start a boot operation mode, the host processor can read boot data from the MMC device directly. */ -#define HSMCI_CMDR_SPCMD_EBO (0x7u << 8) /**< \brief (HSMCI_CMDR) End Boot Operation. This command allows the host processor to terminate the boot operation mode. */ -#define HSMCI_CMDR_OPDCMD (0x1u << 11) /**< \brief (HSMCI_CMDR) Open Drain Command */ -#define HSMCI_CMDR_OPDCMD_PUSHPULL (0x0u << 11) /**< \brief (HSMCI_CMDR) Push pull command. */ -#define HSMCI_CMDR_OPDCMD_OPENDRAIN (0x1u << 11) /**< \brief (HSMCI_CMDR) Open drain command. */ -#define HSMCI_CMDR_MAXLAT (0x1u << 12) /**< \brief (HSMCI_CMDR) Max Latency for Command to Response */ -#define HSMCI_CMDR_MAXLAT_5 (0x0u << 12) /**< \brief (HSMCI_CMDR) 5-cycle max latency. */ -#define HSMCI_CMDR_MAXLAT_64 (0x1u << 12) /**< \brief (HSMCI_CMDR) 64-cycle max latency. */ -#define HSMCI_CMDR_TRCMD_Pos 16 -#define HSMCI_CMDR_TRCMD_Msk (0x3u << HSMCI_CMDR_TRCMD_Pos) /**< \brief (HSMCI_CMDR) Transfer Command */ -#define HSMCI_CMDR_TRCMD(value) ((HSMCI_CMDR_TRCMD_Msk & ((value) << HSMCI_CMDR_TRCMD_Pos))) -#define HSMCI_CMDR_TRCMD_NO_DATA (0x0u << 16) /**< \brief (HSMCI_CMDR) No data transfer */ -#define HSMCI_CMDR_TRCMD_START_DATA (0x1u << 16) /**< \brief (HSMCI_CMDR) Start data transfer */ -#define HSMCI_CMDR_TRCMD_STOP_DATA (0x2u << 16) /**< \brief (HSMCI_CMDR) Stop data transfer */ -#define HSMCI_CMDR_TRDIR (0x1u << 18) /**< \brief (HSMCI_CMDR) Transfer Direction */ -#define HSMCI_CMDR_TRDIR_WRITE (0x0u << 18) /**< \brief (HSMCI_CMDR) Write. */ -#define HSMCI_CMDR_TRDIR_READ (0x1u << 18) /**< \brief (HSMCI_CMDR) Read. */ -#define HSMCI_CMDR_TRTYP_Pos 19 -#define HSMCI_CMDR_TRTYP_Msk (0x7u << HSMCI_CMDR_TRTYP_Pos) /**< \brief (HSMCI_CMDR) Transfer Type */ -#define HSMCI_CMDR_TRTYP(value) ((HSMCI_CMDR_TRTYP_Msk & ((value) << HSMCI_CMDR_TRTYP_Pos))) -#define HSMCI_CMDR_TRTYP_SINGLE (0x0u << 19) /**< \brief (HSMCI_CMDR) MMC/SD Card Single Block */ -#define HSMCI_CMDR_TRTYP_MULTIPLE (0x1u << 19) /**< \brief (HSMCI_CMDR) MMC/SD Card Multiple Block */ -#define HSMCI_CMDR_TRTYP_STREAM (0x2u << 19) /**< \brief (HSMCI_CMDR) MMC Stream */ -#define HSMCI_CMDR_TRTYP_BYTE (0x4u << 19) /**< \brief (HSMCI_CMDR) SDIO Byte */ -#define HSMCI_CMDR_TRTYP_BLOCK (0x5u << 19) /**< \brief (HSMCI_CMDR) SDIO Block */ -#define HSMCI_CMDR_IOSPCMD_Pos 24 -#define HSMCI_CMDR_IOSPCMD_Msk (0x3u << HSMCI_CMDR_IOSPCMD_Pos) /**< \brief (HSMCI_CMDR) SDIO Special Command */ -#define HSMCI_CMDR_IOSPCMD(value) ((HSMCI_CMDR_IOSPCMD_Msk & ((value) << HSMCI_CMDR_IOSPCMD_Pos))) -#define HSMCI_CMDR_IOSPCMD_STD (0x0u << 24) /**< \brief (HSMCI_CMDR) Not an SDIO Special Command */ -#define HSMCI_CMDR_IOSPCMD_SUSPEND (0x1u << 24) /**< \brief (HSMCI_CMDR) SDIO Suspend Command */ -#define HSMCI_CMDR_IOSPCMD_RESUME (0x2u << 24) /**< \brief (HSMCI_CMDR) SDIO Resume Command */ -#define HSMCI_CMDR_ATACS (0x1u << 26) /**< \brief (HSMCI_CMDR) ATA with Command Completion Signal */ -#define HSMCI_CMDR_ATACS_NORMAL (0x0u << 26) /**< \brief (HSMCI_CMDR) Normal operation mode. */ -#define HSMCI_CMDR_ATACS_COMPLETION (0x1u << 26) /**< \brief (HSMCI_CMDR) This bit indicates that a completion signal is expected within a programmed amount of time (HSMCI_CSTOR). */ -#define HSMCI_CMDR_BOOT_ACK (0x1u << 27) /**< \brief (HSMCI_CMDR) Boot Operation Acknowledge */ -/* -------- HSMCI_BLKR : (HSMCI Offset: 0x18) Block Register -------- */ -#define HSMCI_BLKR_BCNT_Pos 0 -#define HSMCI_BLKR_BCNT_Msk (0xffffu << HSMCI_BLKR_BCNT_Pos) /**< \brief (HSMCI_BLKR) MMC/SDIO Block Count - SDIO Byte Count */ -#define HSMCI_BLKR_BCNT(value) ((HSMCI_BLKR_BCNT_Msk & ((value) << HSMCI_BLKR_BCNT_Pos))) -#define HSMCI_BLKR_BLKLEN_Pos 16 -#define HSMCI_BLKR_BLKLEN_Msk (0xffffu << HSMCI_BLKR_BLKLEN_Pos) /**< \brief (HSMCI_BLKR) Data Block Length */ -#define HSMCI_BLKR_BLKLEN(value) ((HSMCI_BLKR_BLKLEN_Msk & ((value) << HSMCI_BLKR_BLKLEN_Pos))) -/* -------- HSMCI_CSTOR : (HSMCI Offset: 0x1C) Completion Signal Timeout Register -------- */ -#define HSMCI_CSTOR_CSTOCYC_Pos 0 -#define HSMCI_CSTOR_CSTOCYC_Msk (0xfu << HSMCI_CSTOR_CSTOCYC_Pos) /**< \brief (HSMCI_CSTOR) Completion Signal Timeout Cycle Number */ -#define HSMCI_CSTOR_CSTOCYC(value) ((HSMCI_CSTOR_CSTOCYC_Msk & ((value) << HSMCI_CSTOR_CSTOCYC_Pos))) -#define HSMCI_CSTOR_CSTOMUL_Pos 4 -#define HSMCI_CSTOR_CSTOMUL_Msk (0x7u << HSMCI_CSTOR_CSTOMUL_Pos) /**< \brief (HSMCI_CSTOR) Completion Signal Timeout Multiplier */ -#define HSMCI_CSTOR_CSTOMUL(value) ((HSMCI_CSTOR_CSTOMUL_Msk & ((value) << HSMCI_CSTOR_CSTOMUL_Pos))) -#define HSMCI_CSTOR_CSTOMUL_1 (0x0u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 1 */ -#define HSMCI_CSTOR_CSTOMUL_16 (0x1u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 16 */ -#define HSMCI_CSTOR_CSTOMUL_128 (0x2u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 128 */ -#define HSMCI_CSTOR_CSTOMUL_256 (0x3u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 256 */ -#define HSMCI_CSTOR_CSTOMUL_1024 (0x4u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 1024 */ -#define HSMCI_CSTOR_CSTOMUL_4096 (0x5u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 4096 */ -#define HSMCI_CSTOR_CSTOMUL_65536 (0x6u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 65536 */ -#define HSMCI_CSTOR_CSTOMUL_1048576 (0x7u << 4) /**< \brief (HSMCI_CSTOR) CSTOCYC x 1048576 */ -/* -------- HSMCI_RSPR[4] : (HSMCI Offset: 0x20) Response Register -------- */ -#define HSMCI_RSPR_RSP_Pos 0 -#define HSMCI_RSPR_RSP_Msk (0xffffffffu << HSMCI_RSPR_RSP_Pos) /**< \brief (HSMCI_RSPR[4]) Response */ -/* -------- HSMCI_RDR : (HSMCI Offset: 0x30) Receive Data Register -------- */ -#define HSMCI_RDR_DATA_Pos 0 -#define HSMCI_RDR_DATA_Msk (0xffffffffu << HSMCI_RDR_DATA_Pos) /**< \brief (HSMCI_RDR) Data to Read */ -/* -------- HSMCI_TDR : (HSMCI Offset: 0x34) Transmit Data Register -------- */ -#define HSMCI_TDR_DATA_Pos 0 -#define HSMCI_TDR_DATA_Msk (0xffffffffu << HSMCI_TDR_DATA_Pos) /**< \brief (HSMCI_TDR) Data to Write */ -#define HSMCI_TDR_DATA(value) ((HSMCI_TDR_DATA_Msk & ((value) << HSMCI_TDR_DATA_Pos))) -/* -------- HSMCI_SR : (HSMCI Offset: 0x40) Status Register -------- */ -#define HSMCI_SR_CMDRDY (0x1u << 0) /**< \brief (HSMCI_SR) Command Ready (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RXRDY (0x1u << 1) /**< \brief (HSMCI_SR) Receiver Ready (cleared by reading HSMCI_RDR) */ -#define HSMCI_SR_TXRDY (0x1u << 2) /**< \brief (HSMCI_SR) Transmit Ready (cleared by writing in HSMCI_TDR) */ -#define HSMCI_SR_BLKE (0x1u << 3) /**< \brief (HSMCI_SR) Data Block Ended (cleared on read) */ -#define HSMCI_SR_DTIP (0x1u << 4) /**< \brief (HSMCI_SR) Data Transfer in Progress (cleared at the end of CRC16 calculation) */ -#define HSMCI_SR_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_SR) HSMCI Not Busy */ -#define HSMCI_SR_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_SR) SDIO Interrupt for Slot A (cleared on read) */ -#define HSMCI_SR_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_SR) SDIO Read Wait Operation Status */ -#define HSMCI_SR_CSRCV (0x1u << 13) /**< \brief (HSMCI_SR) CE-ATA Completion Signal Received (cleared on read) */ -#define HSMCI_SR_RINDE (0x1u << 16) /**< \brief (HSMCI_SR) Response Index Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RDIRE (0x1u << 17) /**< \brief (HSMCI_SR) Response Direction Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RCRCE (0x1u << 18) /**< \brief (HSMCI_SR) Response CRC Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RENDE (0x1u << 19) /**< \brief (HSMCI_SR) Response End Bit Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_RTOE (0x1u << 20) /**< \brief (HSMCI_SR) Response Time-out Error (cleared by writing in HSMCI_CMDR) */ -#define HSMCI_SR_DCRCE (0x1u << 21) /**< \brief (HSMCI_SR) Data CRC Error (cleared on read) */ -#define HSMCI_SR_DTOE (0x1u << 22) /**< \brief (HSMCI_SR) Data Time-out Error (cleared on read) */ -#define HSMCI_SR_CSTOE (0x1u << 23) /**< \brief (HSMCI_SR) Completion Signal Time-out Error (cleared on read) */ -#define HSMCI_SR_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_SR) DMA Block Overrun Error (cleared on read) */ -#define HSMCI_SR_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_SR) FIFO empty flag */ -#define HSMCI_SR_XFRDONE (0x1u << 27) /**< \brief (HSMCI_SR) Transfer Done flag */ -#define HSMCI_SR_ACKRCV (0x1u << 28) /**< \brief (HSMCI_SR) Boot Operation Acknowledge Received (cleared on read) */ -#define HSMCI_SR_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_SR) Boot Operation Acknowledge Error (cleared on read) */ -#define HSMCI_SR_OVRE (0x1u << 30) /**< \brief (HSMCI_SR) Overrun (if FERRCTRL = 1, cleared by writing in HSMCI_CMDR or cleared on read if FERRCTRL = 0) */ -#define HSMCI_SR_UNRE (0x1u << 31) /**< \brief (HSMCI_SR) Underrun (if FERRCTRL = 1, cleared by writing in HSMCI_CMDR or cleared on read if FERRCTRL = 0) */ -/* -------- HSMCI_IER : (HSMCI Offset: 0x44) Interrupt Enable Register -------- */ -#define HSMCI_IER_CMDRDY (0x1u << 0) /**< \brief (HSMCI_IER) Command Ready Interrupt Enable */ -#define HSMCI_IER_RXRDY (0x1u << 1) /**< \brief (HSMCI_IER) Receiver Ready Interrupt Enable */ -#define HSMCI_IER_TXRDY (0x1u << 2) /**< \brief (HSMCI_IER) Transmit Ready Interrupt Enable */ -#define HSMCI_IER_BLKE (0x1u << 3) /**< \brief (HSMCI_IER) Data Block Ended Interrupt Enable */ -#define HSMCI_IER_DTIP (0x1u << 4) /**< \brief (HSMCI_IER) Data Transfer in Progress Interrupt Enable */ -#define HSMCI_IER_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_IER) Data Not Busy Interrupt Enable */ -#define HSMCI_IER_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_IER) SDIO Interrupt for Slot A Interrupt Enable */ -#define HSMCI_IER_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_IER) SDIO Read Wait Operation Status Interrupt Enable */ -#define HSMCI_IER_CSRCV (0x1u << 13) /**< \brief (HSMCI_IER) Completion Signal Received Interrupt Enable */ -#define HSMCI_IER_RINDE (0x1u << 16) /**< \brief (HSMCI_IER) Response Index Error Interrupt Enable */ -#define HSMCI_IER_RDIRE (0x1u << 17) /**< \brief (HSMCI_IER) Response Direction Error Interrupt Enable */ -#define HSMCI_IER_RCRCE (0x1u << 18) /**< \brief (HSMCI_IER) Response CRC Error Interrupt Enable */ -#define HSMCI_IER_RENDE (0x1u << 19) /**< \brief (HSMCI_IER) Response End Bit Error Interrupt Enable */ -#define HSMCI_IER_RTOE (0x1u << 20) /**< \brief (HSMCI_IER) Response Time-out Error Interrupt Enable */ -#define HSMCI_IER_DCRCE (0x1u << 21) /**< \brief (HSMCI_IER) Data CRC Error Interrupt Enable */ -#define HSMCI_IER_DTOE (0x1u << 22) /**< \brief (HSMCI_IER) Data Time-out Error Interrupt Enable */ -#define HSMCI_IER_CSTOE (0x1u << 23) /**< \brief (HSMCI_IER) Completion Signal Timeout Error Interrupt Enable */ -#define HSMCI_IER_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_IER) DMA Block Overrun Error Interrupt Enable */ -#define HSMCI_IER_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_IER) FIFO empty Interrupt enable */ -#define HSMCI_IER_XFRDONE (0x1u << 27) /**< \brief (HSMCI_IER) Transfer Done Interrupt enable */ -#define HSMCI_IER_ACKRCV (0x1u << 28) /**< \brief (HSMCI_IER) Boot Acknowledge Interrupt Enable */ -#define HSMCI_IER_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_IER) Boot Acknowledge Error Interrupt Enable */ -#define HSMCI_IER_OVRE (0x1u << 30) /**< \brief (HSMCI_IER) Overrun Interrupt Enable */ -#define HSMCI_IER_UNRE (0x1u << 31) /**< \brief (HSMCI_IER) Underrun Interrupt Enable */ -/* -------- HSMCI_IDR : (HSMCI Offset: 0x48) Interrupt Disable Register -------- */ -#define HSMCI_IDR_CMDRDY (0x1u << 0) /**< \brief (HSMCI_IDR) Command Ready Interrupt Disable */ -#define HSMCI_IDR_RXRDY (0x1u << 1) /**< \brief (HSMCI_IDR) Receiver Ready Interrupt Disable */ -#define HSMCI_IDR_TXRDY (0x1u << 2) /**< \brief (HSMCI_IDR) Transmit Ready Interrupt Disable */ -#define HSMCI_IDR_BLKE (0x1u << 3) /**< \brief (HSMCI_IDR) Data Block Ended Interrupt Disable */ -#define HSMCI_IDR_DTIP (0x1u << 4) /**< \brief (HSMCI_IDR) Data Transfer in Progress Interrupt Disable */ -#define HSMCI_IDR_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_IDR) Data Not Busy Interrupt Disable */ -#define HSMCI_IDR_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_IDR) SDIO Interrupt for Slot A Interrupt Disable */ -#define HSMCI_IDR_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_IDR) SDIO Read Wait Operation Status Interrupt Disable */ -#define HSMCI_IDR_CSRCV (0x1u << 13) /**< \brief (HSMCI_IDR) Completion Signal received interrupt Disable */ -#define HSMCI_IDR_RINDE (0x1u << 16) /**< \brief (HSMCI_IDR) Response Index Error Interrupt Disable */ -#define HSMCI_IDR_RDIRE (0x1u << 17) /**< \brief (HSMCI_IDR) Response Direction Error Interrupt Disable */ -#define HSMCI_IDR_RCRCE (0x1u << 18) /**< \brief (HSMCI_IDR) Response CRC Error Interrupt Disable */ -#define HSMCI_IDR_RENDE (0x1u << 19) /**< \brief (HSMCI_IDR) Response End Bit Error Interrupt Disable */ -#define HSMCI_IDR_RTOE (0x1u << 20) /**< \brief (HSMCI_IDR) Response Time-out Error Interrupt Disable */ -#define HSMCI_IDR_DCRCE (0x1u << 21) /**< \brief (HSMCI_IDR) Data CRC Error Interrupt Disable */ -#define HSMCI_IDR_DTOE (0x1u << 22) /**< \brief (HSMCI_IDR) Data Time-out Error Interrupt Disable */ -#define HSMCI_IDR_CSTOE (0x1u << 23) /**< \brief (HSMCI_IDR) Completion Signal Time out Error Interrupt Disable */ -#define HSMCI_IDR_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_IDR) DMA Block Overrun Error Interrupt Disable */ -#define HSMCI_IDR_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_IDR) FIFO empty Interrupt Disable */ -#define HSMCI_IDR_XFRDONE (0x1u << 27) /**< \brief (HSMCI_IDR) Transfer Done Interrupt Disable */ -#define HSMCI_IDR_ACKRCV (0x1u << 28) /**< \brief (HSMCI_IDR) Boot Acknowledge Interrupt Disable */ -#define HSMCI_IDR_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_IDR) Boot Acknowledge Error Interrupt Disable */ -#define HSMCI_IDR_OVRE (0x1u << 30) /**< \brief (HSMCI_IDR) Overrun Interrupt Disable */ -#define HSMCI_IDR_UNRE (0x1u << 31) /**< \brief (HSMCI_IDR) Underrun Interrupt Disable */ -/* -------- HSMCI_IMR : (HSMCI Offset: 0x4C) Interrupt Mask Register -------- */ -#define HSMCI_IMR_CMDRDY (0x1u << 0) /**< \brief (HSMCI_IMR) Command Ready Interrupt Mask */ -#define HSMCI_IMR_RXRDY (0x1u << 1) /**< \brief (HSMCI_IMR) Receiver Ready Interrupt Mask */ -#define HSMCI_IMR_TXRDY (0x1u << 2) /**< \brief (HSMCI_IMR) Transmit Ready Interrupt Mask */ -#define HSMCI_IMR_BLKE (0x1u << 3) /**< \brief (HSMCI_IMR) Data Block Ended Interrupt Mask */ -#define HSMCI_IMR_DTIP (0x1u << 4) /**< \brief (HSMCI_IMR) Data Transfer in Progress Interrupt Mask */ -#define HSMCI_IMR_NOTBUSY (0x1u << 5) /**< \brief (HSMCI_IMR) Data Not Busy Interrupt Mask */ -#define HSMCI_IMR_SDIOIRQA (0x1u << 8) /**< \brief (HSMCI_IMR) SDIO Interrupt for Slot A Interrupt Mask */ -#define HSMCI_IMR_SDIOWAIT (0x1u << 12) /**< \brief (HSMCI_IMR) SDIO Read Wait Operation Status Interrupt Mask */ -#define HSMCI_IMR_CSRCV (0x1u << 13) /**< \brief (HSMCI_IMR) Completion Signal Received Interrupt Mask */ -#define HSMCI_IMR_RINDE (0x1u << 16) /**< \brief (HSMCI_IMR) Response Index Error Interrupt Mask */ -#define HSMCI_IMR_RDIRE (0x1u << 17) /**< \brief (HSMCI_IMR) Response Direction Error Interrupt Mask */ -#define HSMCI_IMR_RCRCE (0x1u << 18) /**< \brief (HSMCI_IMR) Response CRC Error Interrupt Mask */ -#define HSMCI_IMR_RENDE (0x1u << 19) /**< \brief (HSMCI_IMR) Response End Bit Error Interrupt Mask */ -#define HSMCI_IMR_RTOE (0x1u << 20) /**< \brief (HSMCI_IMR) Response Time-out Error Interrupt Mask */ -#define HSMCI_IMR_DCRCE (0x1u << 21) /**< \brief (HSMCI_IMR) Data CRC Error Interrupt Mask */ -#define HSMCI_IMR_DTOE (0x1u << 22) /**< \brief (HSMCI_IMR) Data Time-out Error Interrupt Mask */ -#define HSMCI_IMR_CSTOE (0x1u << 23) /**< \brief (HSMCI_IMR) Completion Signal Time-out Error Interrupt Mask */ -#define HSMCI_IMR_BLKOVRE (0x1u << 24) /**< \brief (HSMCI_IMR) DMA Block Overrun Error Interrupt Mask */ -#define HSMCI_IMR_FIFOEMPTY (0x1u << 26) /**< \brief (HSMCI_IMR) FIFO Empty Interrupt Mask */ -#define HSMCI_IMR_XFRDONE (0x1u << 27) /**< \brief (HSMCI_IMR) Transfer Done Interrupt Mask */ -#define HSMCI_IMR_ACKRCV (0x1u << 28) /**< \brief (HSMCI_IMR) Boot Operation Acknowledge Received Interrupt Mask */ -#define HSMCI_IMR_ACKRCVE (0x1u << 29) /**< \brief (HSMCI_IMR) Boot Operation Acknowledge Error Interrupt Mask */ -#define HSMCI_IMR_OVRE (0x1u << 30) /**< \brief (HSMCI_IMR) Overrun Interrupt Mask */ -#define HSMCI_IMR_UNRE (0x1u << 31) /**< \brief (HSMCI_IMR) Underrun Interrupt Mask */ -/* -------- HSMCI_DMA : (HSMCI Offset: 0x50) DMA Configuration Register -------- */ -#define HSMCI_DMA_CHKSIZE_Pos 4 -#define HSMCI_DMA_CHKSIZE_Msk (0x7u << HSMCI_DMA_CHKSIZE_Pos) /**< \brief (HSMCI_DMA) DMA Channel Read and Write Chunk Size */ -#define HSMCI_DMA_CHKSIZE(value) ((HSMCI_DMA_CHKSIZE_Msk & ((value) << HSMCI_DMA_CHKSIZE_Pos))) -#define HSMCI_DMA_CHKSIZE_1 (0x0u << 4) /**< \brief (HSMCI_DMA) 1 data available */ -#define HSMCI_DMA_CHKSIZE_2 (0x1u << 4) /**< \brief (HSMCI_DMA) 2 data available */ -#define HSMCI_DMA_CHKSIZE_4 (0x2u << 4) /**< \brief (HSMCI_DMA) 4 data available */ -#define HSMCI_DMA_CHKSIZE_8 (0x3u << 4) /**< \brief (HSMCI_DMA) 8 data available */ -#define HSMCI_DMA_CHKSIZE_16 (0x4u << 4) /**< \brief (HSMCI_DMA) 16 data available */ -#define HSMCI_DMA_DMAEN (0x1u << 8) /**< \brief (HSMCI_DMA) DMA Hardware Handshaking Enable */ -/* -------- HSMCI_CFG : (HSMCI Offset: 0x54) Configuration Register -------- */ -#define HSMCI_CFG_FIFOMODE (0x1u << 0) /**< \brief (HSMCI_CFG) HSMCI Internal FIFO control mode */ -#define HSMCI_CFG_FERRCTRL (0x1u << 4) /**< \brief (HSMCI_CFG) Flow Error flag reset control mode */ -#define HSMCI_CFG_HSMODE (0x1u << 8) /**< \brief (HSMCI_CFG) High Speed Mode */ -#define HSMCI_CFG_LSYNC (0x1u << 12) /**< \brief (HSMCI_CFG) Synchronize on the last block */ -/* -------- HSMCI_WPMR : (HSMCI Offset: 0xE4) Write Protection Mode Register -------- */ -#define HSMCI_WPMR_WPEN (0x1u << 0) /**< \brief (HSMCI_WPMR) Write Protect Enable */ -#define HSMCI_WPMR_WPKEY_Pos 8 -#define HSMCI_WPMR_WPKEY_Msk (0xffffffu << HSMCI_WPMR_WPKEY_Pos) /**< \brief (HSMCI_WPMR) Write Protect Key */ -#define HSMCI_WPMR_WPKEY(value) ((HSMCI_WPMR_WPKEY_Msk & ((value) << HSMCI_WPMR_WPKEY_Pos))) -#define HSMCI_WPMR_WPKEY_PASSWD (0x4D4349u << 8) /**< \brief (HSMCI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- HSMCI_WPSR : (HSMCI Offset: 0xE8) Write Protection Status Register -------- */ -#define HSMCI_WPSR_WPVS (0x1u << 0) /**< \brief (HSMCI_WPSR) Write Protection Violation Status */ -#define HSMCI_WPSR_WPVSRC_Pos 8 -#define HSMCI_WPSR_WPVSRC_Msk (0xffffu << HSMCI_WPSR_WPVSRC_Pos) /**< \brief (HSMCI_WPSR) Write Protection Violation Source */ -/* -------- HSMCI_FIFO[256] : (HSMCI Offset: 0x200) FIFO Memory Aperture0 -------- */ -#define HSMCI_FIFO_DATA_Pos 0 -#define HSMCI_FIFO_DATA_Msk (0xffffffffu << HSMCI_FIFO_DATA_Pos) /**< \brief (HSMCI_FIFO[256]) Data to Read or Data to Write */ -#define HSMCI_FIFO_DATA(value) ((HSMCI_FIFO_DATA_Msk & ((value) << HSMCI_FIFO_DATA_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_HSMCI_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h deleted file mode 100644 index f4c7a1e..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/icm.h +++ /dev/null @@ -1,207 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ICM_COMPONENT_ -#define _SAMS70_ICM_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Integrity Check Monitor */ -/* ============================================================================= */ -/** \addtogroup SAMS70_ICM Integrity Check Monitor */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Icm hardware registers */ -typedef struct { - __IO uint32_t ICM_CFG; /**< \brief (Icm Offset: 0x00) Configuration Register */ - __O uint32_t ICM_CTRL; /**< \brief (Icm Offset: 0x04) Control Register */ - __O uint32_t ICM_SR; /**< \brief (Icm Offset: 0x08) Status Register */ - __I uint32_t Reserved1[1]; - __O uint32_t ICM_IER; /**< \brief (Icm Offset: 0x10) Interrupt Enable Register */ - __O uint32_t ICM_IDR; /**< \brief (Icm Offset: 0x14) Interrupt Disable Register */ - __I uint32_t ICM_IMR; /**< \brief (Icm Offset: 0x18) Interrupt Mask Register */ - __I uint32_t ICM_ISR; /**< \brief (Icm Offset: 0x1C) Interrupt Status Register */ - __I uint32_t ICM_UASR; /**< \brief (Icm Offset: 0x20) Undefined Access Status Register */ - __I uint32_t Reserved2[3]; - __IO uint32_t ICM_DSCR; /**< \brief (Icm Offset: 0x30) Region Descriptor Area Start Address Register */ - __IO uint32_t ICM_HASH; /**< \brief (Icm Offset: 0x34) Region Hash Area Start Address Register */ - __O uint32_t ICM_UIHVAL[8]; /**< \brief (Icm Offset: 0x38) User Initial Hash Value 0 Register */ -} Icm; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- ICM_CFG : (ICM Offset: 0x00) Configuration Register -------- */ -#define ICM_CFG_WBDIS (0x1u << 0) /**< \brief (ICM_CFG) Write Back Disable */ -#define ICM_CFG_EOMDIS (0x1u << 1) /**< \brief (ICM_CFG) End of Monitoring Disable */ -#define ICM_CFG_SLBDIS (0x1u << 2) /**< \brief (ICM_CFG) Secondary List Branching Disable */ -#define ICM_CFG_BBC_Pos 4 -#define ICM_CFG_BBC_Msk (0xfu << ICM_CFG_BBC_Pos) /**< \brief (ICM_CFG) Bus Burden Control */ -#define ICM_CFG_BBC(value) ((ICM_CFG_BBC_Msk & ((value) << ICM_CFG_BBC_Pos))) -#define ICM_CFG_ASCD (0x1u << 8) /**< \brief (ICM_CFG) Automatic Switch To Compare Digest */ -#define ICM_CFG_DUALBUFF (0x1u << 9) /**< \brief (ICM_CFG) Dual Input Buffer */ -#define ICM_CFG_UIHASH (0x1u << 12) /**< \brief (ICM_CFG) User Initial Hash Value */ -#define ICM_CFG_UALGO_Pos 13 -#define ICM_CFG_UALGO_Msk (0x7u << ICM_CFG_UALGO_Pos) /**< \brief (ICM_CFG) User SHA Algorithm */ -#define ICM_CFG_UALGO(value) ((ICM_CFG_UALGO_Msk & ((value) << ICM_CFG_UALGO_Pos))) -#define ICM_CFG_UALGO_SHA1 (0x0u << 13) /**< \brief (ICM_CFG) SHA1 algorithm processed */ -#define ICM_CFG_UALGO_SHA256 (0x1u << 13) /**< \brief (ICM_CFG) SHA256 algorithm processed */ -#define ICM_CFG_UALGO_SHA224 (0x4u << 13) /**< \brief (ICM_CFG) SHA224 algorithm processed */ -#define ICM_CFG_HAPROT_Pos 16 -#define ICM_CFG_HAPROT_Msk (0x3fu << ICM_CFG_HAPROT_Pos) /**< \brief (ICM_CFG) Region Hash Area Protection */ -#define ICM_CFG_HAPROT(value) ((ICM_CFG_HAPROT_Msk & ((value) << ICM_CFG_HAPROT_Pos))) -#define ICM_CFG_DAPROT_Pos 24 -#define ICM_CFG_DAPROT_Msk (0x3fu << ICM_CFG_DAPROT_Pos) /**< \brief (ICM_CFG) Region Descriptor Area Protection */ -#define ICM_CFG_DAPROT(value) ((ICM_CFG_DAPROT_Msk & ((value) << ICM_CFG_DAPROT_Pos))) -/* -------- ICM_CTRL : (ICM Offset: 0x04) Control Register -------- */ -#define ICM_CTRL_ENABLE (0x1u << 0) /**< \brief (ICM_CTRL) ICM Enable */ -#define ICM_CTRL_DISABLE (0x1u << 1) /**< \brief (ICM_CTRL) ICM Disable Register */ -#define ICM_CTRL_SWRST (0x1u << 2) /**< \brief (ICM_CTRL) Software Reset */ -#define ICM_CTRL_REHASH_Pos 4 -#define ICM_CTRL_REHASH_Msk (0xfu << ICM_CTRL_REHASH_Pos) /**< \brief (ICM_CTRL) Recompute Internal Hash */ -#define ICM_CTRL_REHASH(value) ((ICM_CTRL_REHASH_Msk & ((value) << ICM_CTRL_REHASH_Pos))) -#define ICM_CTRL_RMDIS_Pos 8 -#define ICM_CTRL_RMDIS_Msk (0xfu << ICM_CTRL_RMDIS_Pos) /**< \brief (ICM_CTRL) Region Monitoring Disable */ -#define ICM_CTRL_RMDIS(value) ((ICM_CTRL_RMDIS_Msk & ((value) << ICM_CTRL_RMDIS_Pos))) -#define ICM_CTRL_RMEN_Pos 12 -#define ICM_CTRL_RMEN_Msk (0xfu << ICM_CTRL_RMEN_Pos) /**< \brief (ICM_CTRL) Region Monitoring Enable */ -#define ICM_CTRL_RMEN(value) ((ICM_CTRL_RMEN_Msk & ((value) << ICM_CTRL_RMEN_Pos))) -/* -------- ICM_SR : (ICM Offset: 0x08) Status Register -------- */ -#define ICM_SR_ENABLE (0x1u << 0) /**< \brief (ICM_SR) ICM Controller Enable Register */ -#define ICM_SR_RAWRMDIS_Pos 8 -#define ICM_SR_RAWRMDIS_Msk (0xfu << ICM_SR_RAWRMDIS_Pos) /**< \brief (ICM_SR) RAW Region Monitoring Disabled Status */ -#define ICM_SR_RAWRMDIS(value) ((ICM_SR_RAWRMDIS_Msk & ((value) << ICM_SR_RAWRMDIS_Pos))) -#define ICM_SR_RMDIS_Pos 12 -#define ICM_SR_RMDIS_Msk (0xfu << ICM_SR_RMDIS_Pos) /**< \brief (ICM_SR) Region Monitoring Disabled Status */ -#define ICM_SR_RMDIS(value) ((ICM_SR_RMDIS_Msk & ((value) << ICM_SR_RMDIS_Pos))) -/* -------- ICM_IER : (ICM Offset: 0x10) Interrupt Enable Register -------- */ -#define ICM_IER_RHC_Pos 0 -#define ICM_IER_RHC_Msk (0xfu << ICM_IER_RHC_Pos) /**< \brief (ICM_IER) Region Hash Completed Interrupt Enable */ -#define ICM_IER_RHC(value) ((ICM_IER_RHC_Msk & ((value) << ICM_IER_RHC_Pos))) -#define ICM_IER_RDM_Pos 4 -#define ICM_IER_RDM_Msk (0xfu << ICM_IER_RDM_Pos) /**< \brief (ICM_IER) Region Digest Mismatch Interrupt Enable */ -#define ICM_IER_RDM(value) ((ICM_IER_RDM_Msk & ((value) << ICM_IER_RDM_Pos))) -#define ICM_IER_RBE_Pos 8 -#define ICM_IER_RBE_Msk (0xfu << ICM_IER_RBE_Pos) /**< \brief (ICM_IER) Region Bus Error Interrupt Enable */ -#define ICM_IER_RBE(value) ((ICM_IER_RBE_Msk & ((value) << ICM_IER_RBE_Pos))) -#define ICM_IER_RWC_Pos 12 -#define ICM_IER_RWC_Msk (0xfu << ICM_IER_RWC_Pos) /**< \brief (ICM_IER) Region Wrap Condition detected Interrupt Enable */ -#define ICM_IER_RWC(value) ((ICM_IER_RWC_Msk & ((value) << ICM_IER_RWC_Pos))) -#define ICM_IER_REC_Pos 16 -#define ICM_IER_REC_Msk (0xfu << ICM_IER_REC_Pos) /**< \brief (ICM_IER) Region End bit Condition Detected Interrupt Enable */ -#define ICM_IER_REC(value) ((ICM_IER_REC_Msk & ((value) << ICM_IER_REC_Pos))) -#define ICM_IER_RSU_Pos 20 -#define ICM_IER_RSU_Msk (0xfu << ICM_IER_RSU_Pos) /**< \brief (ICM_IER) Region Status Updated Interrupt Disable */ -#define ICM_IER_RSU(value) ((ICM_IER_RSU_Msk & ((value) << ICM_IER_RSU_Pos))) -#define ICM_IER_URAD (0x1u << 24) /**< \brief (ICM_IER) Undefined Register Access Detection Interrupt Enable */ -/* -------- ICM_IDR : (ICM Offset: 0x14) Interrupt Disable Register -------- */ -#define ICM_IDR_RHC_Pos 0 -#define ICM_IDR_RHC_Msk (0xfu << ICM_IDR_RHC_Pos) /**< \brief (ICM_IDR) Region Hash Completed Interrupt Disable */ -#define ICM_IDR_RHC(value) ((ICM_IDR_RHC_Msk & ((value) << ICM_IDR_RHC_Pos))) -#define ICM_IDR_RDM_Pos 4 -#define ICM_IDR_RDM_Msk (0xfu << ICM_IDR_RDM_Pos) /**< \brief (ICM_IDR) Region Digest Mismatch Interrupt Disable */ -#define ICM_IDR_RDM(value) ((ICM_IDR_RDM_Msk & ((value) << ICM_IDR_RDM_Pos))) -#define ICM_IDR_RBE_Pos 8 -#define ICM_IDR_RBE_Msk (0xfu << ICM_IDR_RBE_Pos) /**< \brief (ICM_IDR) Region Bus Error Interrupt Disable */ -#define ICM_IDR_RBE(value) ((ICM_IDR_RBE_Msk & ((value) << ICM_IDR_RBE_Pos))) -#define ICM_IDR_RWC_Pos 12 -#define ICM_IDR_RWC_Msk (0xfu << ICM_IDR_RWC_Pos) /**< \brief (ICM_IDR) Region Wrap Condition Detected Interrupt Disable */ -#define ICM_IDR_RWC(value) ((ICM_IDR_RWC_Msk & ((value) << ICM_IDR_RWC_Pos))) -#define ICM_IDR_REC_Pos 16 -#define ICM_IDR_REC_Msk (0xfu << ICM_IDR_REC_Pos) /**< \brief (ICM_IDR) Region End bit Condition detected Interrupt Disable */ -#define ICM_IDR_REC(value) ((ICM_IDR_REC_Msk & ((value) << ICM_IDR_REC_Pos))) -#define ICM_IDR_RSU_Pos 20 -#define ICM_IDR_RSU_Msk (0xfu << ICM_IDR_RSU_Pos) /**< \brief (ICM_IDR) Region Status Updated Interrupt Disable */ -#define ICM_IDR_RSU(value) ((ICM_IDR_RSU_Msk & ((value) << ICM_IDR_RSU_Pos))) -#define ICM_IDR_URAD (0x1u << 24) /**< \brief (ICM_IDR) Undefined Register Access Detection Interrupt Disable */ -/* -------- ICM_IMR : (ICM Offset: 0x18) Interrupt Mask Register -------- */ -#define ICM_IMR_RHC_Pos 0 -#define ICM_IMR_RHC_Msk (0xfu << ICM_IMR_RHC_Pos) /**< \brief (ICM_IMR) Region Hash Completed Interrupt Mask */ -#define ICM_IMR_RDM_Pos 4 -#define ICM_IMR_RDM_Msk (0xfu << ICM_IMR_RDM_Pos) /**< \brief (ICM_IMR) Region Digest Mismatch Interrupt Mask */ -#define ICM_IMR_RBE_Pos 8 -#define ICM_IMR_RBE_Msk (0xfu << ICM_IMR_RBE_Pos) /**< \brief (ICM_IMR) Region Bus Error Interrupt Mask */ -#define ICM_IMR_RWC_Pos 12 -#define ICM_IMR_RWC_Msk (0xfu << ICM_IMR_RWC_Pos) /**< \brief (ICM_IMR) Region Wrap Condition Detected Interrupt Mask */ -#define ICM_IMR_REC_Pos 16 -#define ICM_IMR_REC_Msk (0xfu << ICM_IMR_REC_Pos) /**< \brief (ICM_IMR) Region End bit Condition Detected Interrupt Mask */ -#define ICM_IMR_RSU_Pos 20 -#define ICM_IMR_RSU_Msk (0xfu << ICM_IMR_RSU_Pos) /**< \brief (ICM_IMR) Region Status Updated Interrupt Mask */ -#define ICM_IMR_URAD (0x1u << 24) /**< \brief (ICM_IMR) Undefined Register Access Detection Interrupt Mask */ -/* -------- ICM_ISR : (ICM Offset: 0x1C) Interrupt Status Register -------- */ -#define ICM_ISR_RHC_Pos 0 -#define ICM_ISR_RHC_Msk (0xfu << ICM_ISR_RHC_Pos) /**< \brief (ICM_ISR) Region Hash Completed */ -#define ICM_ISR_RDM_Pos 4 -#define ICM_ISR_RDM_Msk (0xfu << ICM_ISR_RDM_Pos) /**< \brief (ICM_ISR) Region Digest Mismatch */ -#define ICM_ISR_RBE_Pos 8 -#define ICM_ISR_RBE_Msk (0xfu << ICM_ISR_RBE_Pos) /**< \brief (ICM_ISR) Region Bus Error */ -#define ICM_ISR_RWC_Pos 12 -#define ICM_ISR_RWC_Msk (0xfu << ICM_ISR_RWC_Pos) /**< \brief (ICM_ISR) Region Wrap Condition Detected */ -#define ICM_ISR_REC_Pos 16 -#define ICM_ISR_REC_Msk (0xfu << ICM_ISR_REC_Pos) /**< \brief (ICM_ISR) Region End bit Condition Detected */ -#define ICM_ISR_RSU_Pos 20 -#define ICM_ISR_RSU_Msk (0xfu << ICM_ISR_RSU_Pos) /**< \brief (ICM_ISR) Region Status Updated Detected */ -#define ICM_ISR_URAD (0x1u << 24) /**< \brief (ICM_ISR) Undefined Register Access Detection Status */ -/* -------- ICM_UASR : (ICM Offset: 0x20) Undefined Access Status Register -------- */ -#define ICM_UASR_URAT_Pos 0 -#define ICM_UASR_URAT_Msk (0x7u << ICM_UASR_URAT_Pos) /**< \brief (ICM_UASR) Undefined Register Access Trace */ -#define ICM_UASR_URAT_UNSPEC_STRUCT_MEMBER (0x0u << 0) /**< \brief (ICM_UASR) Unspecified structure member set to one detected when the descriptor is loaded. */ -#define ICM_UASR_URAT_ICM_CFG_MODIFIED (0x1u << 0) /**< \brief (ICM_UASR) ICM_CFG modified during active monitoring. */ -#define ICM_UASR_URAT_ICM_DSCR_MODIFIED (0x2u << 0) /**< \brief (ICM_UASR) ICM_DSCR modified during active monitoring. */ -#define ICM_UASR_URAT_ICM_HASH_MODIFIED (0x3u << 0) /**< \brief (ICM_UASR) ICM_HASH modified during active monitoring */ -#define ICM_UASR_URAT_READ_ACCESS (0x4u << 0) /**< \brief (ICM_UASR) Write-only register read access */ -/* -------- ICM_DSCR : (ICM Offset: 0x30) Region Descriptor Area Start Address Register -------- */ -#define ICM_DSCR_DASA_Pos 6 -#define ICM_DSCR_DASA_Msk (0x3ffffffu << ICM_DSCR_DASA_Pos) /**< \brief (ICM_DSCR) Descriptor Area Start Address */ -#define ICM_DSCR_DASA(value) ((ICM_DSCR_DASA_Msk & ((value) << ICM_DSCR_DASA_Pos))) -/* -------- ICM_HASH : (ICM Offset: 0x34) Region Hash Area Start Address Register -------- */ -#define ICM_HASH_HASA_Pos 7 -#define ICM_HASH_HASA_Msk (0x1ffffffu << ICM_HASH_HASA_Pos) /**< \brief (ICM_HASH) Hash Area Start Address */ -#define ICM_HASH_HASA(value) ((ICM_HASH_HASA_Msk & ((value) << ICM_HASH_HASA_Pos))) -/* -------- ICM_UIHVAL[8] : (ICM Offset: 0x38) User Initial Hash Value 0 Register -------- */ -#define ICM_UIHVAL_VAL_Pos 0 -#define ICM_UIHVAL_VAL_Msk (0xffffffffu << ICM_UIHVAL_VAL_Pos) /**< \brief (ICM_UIHVAL[8]) Initial Hash Value */ -#define ICM_UIHVAL_VAL(value) ((ICM_UIHVAL_VAL_Msk & ((value) << ICM_UIHVAL_VAL_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_ICM_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h deleted file mode 100644 index 1ceb845..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/isi.h +++ /dev/null @@ -1,295 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ISI_COMPONENT_ -#define _SAMS70_ISI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Image Sensor Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_ISI Image Sensor Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Isi hardware registers */ -typedef struct { - __IO uint32_t ISI_CFG1; /**< \brief (Isi Offset: 0x00) ISI Configuration 1 Register */ - __IO uint32_t ISI_CFG2; /**< \brief (Isi Offset: 0x04) ISI Configuration 2 Register */ - __IO uint32_t ISI_PSIZE; /**< \brief (Isi Offset: 0x08) ISI Preview Size Register */ - __IO uint32_t ISI_PDECF; /**< \brief (Isi Offset: 0x0C) ISI Preview Decimation Factor Register */ - __IO uint32_t ISI_Y2R_SET0; /**< \brief (Isi Offset: 0x10) ISI Color Space Conversion YCrCb To RGB Set 0 Register */ - __IO uint32_t ISI_Y2R_SET1; /**< \brief (Isi Offset: 0x14) ISI Color Space Conversion YCrCb To RGB Set 1 Register */ - __IO uint32_t ISI_R2Y_SET0; /**< \brief (Isi Offset: 0x18) ISI Color Space Conversion RGB To YCrCb Set 0 Register */ - __IO uint32_t ISI_R2Y_SET1; /**< \brief (Isi Offset: 0x1C) ISI Color Space Conversion RGB To YCrCb Set 1 Register */ - __IO uint32_t ISI_R2Y_SET2; /**< \brief (Isi Offset: 0x20) ISI Color Space Conversion RGB To YCrCb Set 2 Register */ - __O uint32_t ISI_CR; /**< \brief (Isi Offset: 0x24) ISI Control Register */ - __I uint32_t ISI_SR; /**< \brief (Isi Offset: 0x28) ISI Status Register */ - __O uint32_t ISI_IER; /**< \brief (Isi Offset: 0x2C) ISI Interrupt Enable Register */ - __O uint32_t ISI_IDR; /**< \brief (Isi Offset: 0x30) ISI Interrupt Disable Register */ - __I uint32_t ISI_IMR; /**< \brief (Isi Offset: 0x34) ISI Interrupt Mask Register */ - __O uint32_t ISI_DMA_CHER; /**< \brief (Isi Offset: 0x38) DMA Channel Enable Register */ - __O uint32_t ISI_DMA_CHDR; /**< \brief (Isi Offset: 0x3C) DMA Channel Disable Register */ - __I uint32_t ISI_DMA_CHSR; /**< \brief (Isi Offset: 0x40) DMA Channel Status Register */ - __IO uint32_t ISI_DMA_P_ADDR; /**< \brief (Isi Offset: 0x44) DMA Preview Base Address Register */ - __IO uint32_t ISI_DMA_P_CTRL; /**< \brief (Isi Offset: 0x48) DMA Preview Control Register */ - __IO uint32_t ISI_DMA_P_DSCR; /**< \brief (Isi Offset: 0x4C) DMA Preview Descriptor Address Register */ - __IO uint32_t ISI_DMA_C_ADDR; /**< \brief (Isi Offset: 0x50) DMA Codec Base Address Register */ - __IO uint32_t ISI_DMA_C_CTRL; /**< \brief (Isi Offset: 0x54) DMA Codec Control Register */ - __IO uint32_t ISI_DMA_C_DSCR; /**< \brief (Isi Offset: 0x58) DMA Codec Descriptor Address Register */ - __I uint32_t Reserved1[34]; - __IO uint32_t ISI_WPMR; /**< \brief (Isi Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t ISI_WPSR; /**< \brief (Isi Offset: 0xE8) Write Protection Status Register */ -} Isi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- ISI_CFG1 : (ISI Offset: 0x00) ISI Configuration 1 Register -------- */ -#define ISI_CFG1_HSYNC_POL (0x1u << 2) /**< \brief (ISI_CFG1) Horizontal Synchronization Polarity */ -#define ISI_CFG1_VSYNC_POL (0x1u << 3) /**< \brief (ISI_CFG1) Vertical Synchronization Polarity */ -#define ISI_CFG1_PIXCLK_POL (0x1u << 4) /**< \brief (ISI_CFG1) Pixel Clock Polarity */ -#define ISI_CFG1_EMB_SYNC (0x1u << 6) /**< \brief (ISI_CFG1) Embedded Synchronization */ -#define ISI_CFG1_CRC_SYNC (0x1u << 7) /**< \brief (ISI_CFG1) Embedded Synchronization Correction */ -#define ISI_CFG1_FRATE_Pos 8 -#define ISI_CFG1_FRATE_Msk (0x7u << ISI_CFG1_FRATE_Pos) /**< \brief (ISI_CFG1) Frame Rate [0..7] */ -#define ISI_CFG1_FRATE(value) ((ISI_CFG1_FRATE_Msk & ((value) << ISI_CFG1_FRATE_Pos))) -#define ISI_CFG1_DISCR (0x1u << 11) /**< \brief (ISI_CFG1) Disable Codec Request */ -#define ISI_CFG1_FULL (0x1u << 12) /**< \brief (ISI_CFG1) Full Mode is Allowed */ -#define ISI_CFG1_THMASK_Pos 13 -#define ISI_CFG1_THMASK_Msk (0x3u << ISI_CFG1_THMASK_Pos) /**< \brief (ISI_CFG1) Threshold Mask */ -#define ISI_CFG1_THMASK(value) ((ISI_CFG1_THMASK_Msk & ((value) << ISI_CFG1_THMASK_Pos))) -#define ISI_CFG1_THMASK_BEATS_4 (0x0u << 13) /**< \brief (ISI_CFG1) Only 4 beats AHB burst allowed */ -#define ISI_CFG1_THMASK_BEATS_8 (0x1u << 13) /**< \brief (ISI_CFG1) Only 4 and 8 beats AHB burst allowed */ -#define ISI_CFG1_THMASK_BEATS_16 (0x2u << 13) /**< \brief (ISI_CFG1) 4, 8 and 16 beats AHB burst allowed */ -#define ISI_CFG1_SLD_Pos 16 -#define ISI_CFG1_SLD_Msk (0xffu << ISI_CFG1_SLD_Pos) /**< \brief (ISI_CFG1) Start of Line Delay */ -#define ISI_CFG1_SLD(value) ((ISI_CFG1_SLD_Msk & ((value) << ISI_CFG1_SLD_Pos))) -#define ISI_CFG1_SFD_Pos 24 -#define ISI_CFG1_SFD_Msk (0xffu << ISI_CFG1_SFD_Pos) /**< \brief (ISI_CFG1) Start of Frame Delay */ -#define ISI_CFG1_SFD(value) ((ISI_CFG1_SFD_Msk & ((value) << ISI_CFG1_SFD_Pos))) -/* -------- ISI_CFG2 : (ISI Offset: 0x04) ISI Configuration 2 Register -------- */ -#define ISI_CFG2_IM_VSIZE_Pos 0 -#define ISI_CFG2_IM_VSIZE_Msk (0x7ffu << ISI_CFG2_IM_VSIZE_Pos) /**< \brief (ISI_CFG2) Vertical Size of the Image Sensor [0..2047] */ -#define ISI_CFG2_IM_VSIZE(value) ((ISI_CFG2_IM_VSIZE_Msk & ((value) << ISI_CFG2_IM_VSIZE_Pos))) -#define ISI_CFG2_GS_MODE (0x1u << 11) /**< \brief (ISI_CFG2) Grayscale Pixel Format Mode */ -#define ISI_CFG2_RGB_MODE (0x1u << 12) /**< \brief (ISI_CFG2) RGB Input Mode */ -#define ISI_CFG2_GRAYSCALE (0x1u << 13) /**< \brief (ISI_CFG2) Grayscale Mode Format Enable */ -#define ISI_CFG2_RGB_SWAP (0x1u << 14) /**< \brief (ISI_CFG2) RGB Format Swap Mode */ -#define ISI_CFG2_COL_SPACE (0x1u << 15) /**< \brief (ISI_CFG2) Color Space for the Image Data */ -#define ISI_CFG2_IM_HSIZE_Pos 16 -#define ISI_CFG2_IM_HSIZE_Msk (0x7ffu << ISI_CFG2_IM_HSIZE_Pos) /**< \brief (ISI_CFG2) Horizontal Size of the Image Sensor [0..2047] */ -#define ISI_CFG2_IM_HSIZE(value) ((ISI_CFG2_IM_HSIZE_Msk & ((value) << ISI_CFG2_IM_HSIZE_Pos))) -#define ISI_CFG2_YCC_SWAP_Pos 28 -#define ISI_CFG2_YCC_SWAP_Msk (0x3u << ISI_CFG2_YCC_SWAP_Pos) /**< \brief (ISI_CFG2) YCrCb Format Swap Mode */ -#define ISI_CFG2_YCC_SWAP(value) ((ISI_CFG2_YCC_SWAP_Msk & ((value) << ISI_CFG2_YCC_SWAP_Pos))) -#define ISI_CFG2_YCC_SWAP_DEFAULT (0x0u << 28) /**< \brief (ISI_CFG2) Byte 0 Cb(i)Byte 1 Y(i)Byte 2 Cr(i)Byte 3 Y(i+1) */ -#define ISI_CFG2_YCC_SWAP_MODE1 (0x1u << 28) /**< \brief (ISI_CFG2) Byte 0 Cr(i)Byte 1 Y(i)Byte 2 Cb(i)Byte 3 Y(i+1) */ -#define ISI_CFG2_YCC_SWAP_MODE2 (0x2u << 28) /**< \brief (ISI_CFG2) Byte 0 Y(i)Byte 1 Cb(i)Byte 2 Y(i+1)Byte 3 Cr(i) */ -#define ISI_CFG2_YCC_SWAP_MODE3 (0x3u << 28) /**< \brief (ISI_CFG2) Byte 0 Y(i)Byte 1 Cr(i)Byte 2 Y(i+1)Byte 3 Cb(i) */ -#define ISI_CFG2_RGB_CFG_Pos 30 -#define ISI_CFG2_RGB_CFG_Msk (0x3u << ISI_CFG2_RGB_CFG_Pos) /**< \brief (ISI_CFG2) RGB Pixel Mapping Configuration */ -#define ISI_CFG2_RGB_CFG(value) ((ISI_CFG2_RGB_CFG_Msk & ((value) << ISI_CFG2_RGB_CFG_Pos))) -#define ISI_CFG2_RGB_CFG_DEFAULT (0x0u << 30) /**< \brief (ISI_CFG2) Byte 0 R/G(MSB)Byte 1 G(LSB)/BByte 2 R/G(MSB)Byte 3 G(LSB)/B */ -#define ISI_CFG2_RGB_CFG_MODE1 (0x1u << 30) /**< \brief (ISI_CFG2) Byte 0 B/G(MSB)Byte 1 G(LSB)/RByte 2 B/G(MSB)Byte 3 G(LSB)/R */ -#define ISI_CFG2_RGB_CFG_MODE2 (0x2u << 30) /**< \brief (ISI_CFG2) Byte 0 G(LSB)/RByte 1 B/G(MSB)Byte 2 G(LSB)/RByte 3 B/G(MSB) */ -#define ISI_CFG2_RGB_CFG_MODE3 (0x3u << 30) /**< \brief (ISI_CFG2) Byte 0 G(LSB)/BByte 1 R/G(MSB)Byte 2 G(LSB)/BByte 3 R/G(MSB) */ -/* -------- ISI_PSIZE : (ISI Offset: 0x08) ISI Preview Size Register -------- */ -#define ISI_PSIZE_PREV_VSIZE_Pos 0 -#define ISI_PSIZE_PREV_VSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_VSIZE_Pos) /**< \brief (ISI_PSIZE) Vertical Size for the Preview Path */ -#define ISI_PSIZE_PREV_VSIZE(value) ((ISI_PSIZE_PREV_VSIZE_Msk & ((value) << ISI_PSIZE_PREV_VSIZE_Pos))) -#define ISI_PSIZE_PREV_HSIZE_Pos 16 -#define ISI_PSIZE_PREV_HSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_HSIZE_Pos) /**< \brief (ISI_PSIZE) Horizontal Size for the Preview Path */ -#define ISI_PSIZE_PREV_HSIZE(value) ((ISI_PSIZE_PREV_HSIZE_Msk & ((value) << ISI_PSIZE_PREV_HSIZE_Pos))) -/* -------- ISI_PDECF : (ISI Offset: 0x0C) ISI Preview Decimation Factor Register -------- */ -#define ISI_PDECF_DEC_FACTOR_Pos 0 -#define ISI_PDECF_DEC_FACTOR_Msk (0xffu << ISI_PDECF_DEC_FACTOR_Pos) /**< \brief (ISI_PDECF) Decimation Factor */ -#define ISI_PDECF_DEC_FACTOR(value) ((ISI_PDECF_DEC_FACTOR_Msk & ((value) << ISI_PDECF_DEC_FACTOR_Pos))) -/* -------- ISI_Y2R_SET0 : (ISI Offset: 0x10) ISI Color Space Conversion YCrCb To RGB Set 0 Register -------- */ -#define ISI_Y2R_SET0_C0_Pos 0 -#define ISI_Y2R_SET0_C0_Msk (0xffu << ISI_Y2R_SET0_C0_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C0 */ -#define ISI_Y2R_SET0_C0(value) ((ISI_Y2R_SET0_C0_Msk & ((value) << ISI_Y2R_SET0_C0_Pos))) -#define ISI_Y2R_SET0_C1_Pos 8 -#define ISI_Y2R_SET0_C1_Msk (0xffu << ISI_Y2R_SET0_C1_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C1 */ -#define ISI_Y2R_SET0_C1(value) ((ISI_Y2R_SET0_C1_Msk & ((value) << ISI_Y2R_SET0_C1_Pos))) -#define ISI_Y2R_SET0_C2_Pos 16 -#define ISI_Y2R_SET0_C2_Msk (0xffu << ISI_Y2R_SET0_C2_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C2 */ -#define ISI_Y2R_SET0_C2(value) ((ISI_Y2R_SET0_C2_Msk & ((value) << ISI_Y2R_SET0_C2_Pos))) -#define ISI_Y2R_SET0_C3_Pos 24 -#define ISI_Y2R_SET0_C3_Msk (0xffu << ISI_Y2R_SET0_C3_Pos) /**< \brief (ISI_Y2R_SET0) Color Space Conversion Matrix Coefficient C3 */ -#define ISI_Y2R_SET0_C3(value) ((ISI_Y2R_SET0_C3_Msk & ((value) << ISI_Y2R_SET0_C3_Pos))) -/* -------- ISI_Y2R_SET1 : (ISI Offset: 0x14) ISI Color Space Conversion YCrCb To RGB Set 1 Register -------- */ -#define ISI_Y2R_SET1_C4_Pos 0 -#define ISI_Y2R_SET1_C4_Msk (0x1ffu << ISI_Y2R_SET1_C4_Pos) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Matrix Coefficient C4 */ -#define ISI_Y2R_SET1_C4(value) ((ISI_Y2R_SET1_C4_Msk & ((value) << ISI_Y2R_SET1_C4_Pos))) -#define ISI_Y2R_SET1_Yoff (0x1u << 12) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Luminance Default Offset */ -#define ISI_Y2R_SET1_Croff (0x1u << 13) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Red Chrominance Default Offset */ -#define ISI_Y2R_SET1_Cboff (0x1u << 14) /**< \brief (ISI_Y2R_SET1) Color Space Conversion Blue Chrominance Default Offset */ -/* -------- ISI_R2Y_SET0 : (ISI Offset: 0x18) ISI Color Space Conversion RGB To YCrCb Set 0 Register -------- */ -#define ISI_R2Y_SET0_C0_Pos 0 -#define ISI_R2Y_SET0_C0_Msk (0x7fu << ISI_R2Y_SET0_C0_Pos) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Matrix Coefficient C0 */ -#define ISI_R2Y_SET0_C0(value) ((ISI_R2Y_SET0_C0_Msk & ((value) << ISI_R2Y_SET0_C0_Pos))) -#define ISI_R2Y_SET0_C1_Pos 8 -#define ISI_R2Y_SET0_C1_Msk (0x7fu << ISI_R2Y_SET0_C1_Pos) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Matrix Coefficient C1 */ -#define ISI_R2Y_SET0_C1(value) ((ISI_R2Y_SET0_C1_Msk & ((value) << ISI_R2Y_SET0_C1_Pos))) -#define ISI_R2Y_SET0_C2_Pos 16 -#define ISI_R2Y_SET0_C2_Msk (0x7fu << ISI_R2Y_SET0_C2_Pos) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Matrix Coefficient C2 */ -#define ISI_R2Y_SET0_C2(value) ((ISI_R2Y_SET0_C2_Msk & ((value) << ISI_R2Y_SET0_C2_Pos))) -#define ISI_R2Y_SET0_Roff (0x1u << 24) /**< \brief (ISI_R2Y_SET0) Color Space Conversion Red Component Offset */ -/* -------- ISI_R2Y_SET1 : (ISI Offset: 0x1C) ISI Color Space Conversion RGB To YCrCb Set 1 Register -------- */ -#define ISI_R2Y_SET1_C3_Pos 0 -#define ISI_R2Y_SET1_C3_Msk (0x7fu << ISI_R2Y_SET1_C3_Pos) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Matrix Coefficient C3 */ -#define ISI_R2Y_SET1_C3(value) ((ISI_R2Y_SET1_C3_Msk & ((value) << ISI_R2Y_SET1_C3_Pos))) -#define ISI_R2Y_SET1_C4_Pos 8 -#define ISI_R2Y_SET1_C4_Msk (0x7fu << ISI_R2Y_SET1_C4_Pos) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Matrix Coefficient C4 */ -#define ISI_R2Y_SET1_C4(value) ((ISI_R2Y_SET1_C4_Msk & ((value) << ISI_R2Y_SET1_C4_Pos))) -#define ISI_R2Y_SET1_C5_Pos 16 -#define ISI_R2Y_SET1_C5_Msk (0x7fu << ISI_R2Y_SET1_C5_Pos) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Matrix Coefficient C5 */ -#define ISI_R2Y_SET1_C5(value) ((ISI_R2Y_SET1_C5_Msk & ((value) << ISI_R2Y_SET1_C5_Pos))) -#define ISI_R2Y_SET1_Goff (0x1u << 24) /**< \brief (ISI_R2Y_SET1) Color Space Conversion Green Component Offset */ -/* -------- ISI_R2Y_SET2 : (ISI Offset: 0x20) ISI Color Space Conversion RGB To YCrCb Set 2 Register -------- */ -#define ISI_R2Y_SET2_C6_Pos 0 -#define ISI_R2Y_SET2_C6_Msk (0x7fu << ISI_R2Y_SET2_C6_Pos) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Matrix Coefficient C6 */ -#define ISI_R2Y_SET2_C6(value) ((ISI_R2Y_SET2_C6_Msk & ((value) << ISI_R2Y_SET2_C6_Pos))) -#define ISI_R2Y_SET2_C7_Pos 8 -#define ISI_R2Y_SET2_C7_Msk (0x7fu << ISI_R2Y_SET2_C7_Pos) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Matrix Coefficient C7 */ -#define ISI_R2Y_SET2_C7(value) ((ISI_R2Y_SET2_C7_Msk & ((value) << ISI_R2Y_SET2_C7_Pos))) -#define ISI_R2Y_SET2_C8_Pos 16 -#define ISI_R2Y_SET2_C8_Msk (0x7fu << ISI_R2Y_SET2_C8_Pos) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Matrix Coefficient C8 */ -#define ISI_R2Y_SET2_C8(value) ((ISI_R2Y_SET2_C8_Msk & ((value) << ISI_R2Y_SET2_C8_Pos))) -#define ISI_R2Y_SET2_Boff (0x1u << 24) /**< \brief (ISI_R2Y_SET2) Color Space Conversion Blue Component Offset */ -/* -------- ISI_CR : (ISI Offset: 0x24) ISI Control Register -------- */ -#define ISI_CR_ISI_EN (0x1u << 0) /**< \brief (ISI_CR) ISI Module Enable Request */ -#define ISI_CR_ISI_DIS (0x1u << 1) /**< \brief (ISI_CR) ISI Module Disable Request */ -#define ISI_CR_ISI_SRST (0x1u << 2) /**< \brief (ISI_CR) ISI Software Reset Request */ -#define ISI_CR_ISI_CDC (0x1u << 8) /**< \brief (ISI_CR) ISI Codec Request */ -/* -------- ISI_SR : (ISI Offset: 0x28) ISI Status Register -------- */ -#define ISI_SR_ENABLE (0x1u << 0) /**< \brief (ISI_SR) Module Enable */ -#define ISI_SR_DIS_DONE (0x1u << 1) /**< \brief (ISI_SR) Module Disable Request has Terminated (cleared on read) */ -#define ISI_SR_SRST (0x1u << 2) /**< \brief (ISI_SR) Module Software Reset Request has Terminated (cleared on read) */ -#define ISI_SR_CDC_PND (0x1u << 8) /**< \brief (ISI_SR) Pending Codec Request */ -#define ISI_SR_VSYNC (0x1u << 10) /**< \brief (ISI_SR) Vertical Synchronization (cleared on read) */ -#define ISI_SR_PXFR_DONE (0x1u << 16) /**< \brief (ISI_SR) Preview DMA Transfer has Terminated (cleared on read) */ -#define ISI_SR_CXFR_DONE (0x1u << 17) /**< \brief (ISI_SR) Codec DMA Transfer has Terminated (cleared on read) */ -#define ISI_SR_SIP (0x1u << 19) /**< \brief (ISI_SR) Synchronization in Progress */ -#define ISI_SR_P_OVR (0x1u << 24) /**< \brief (ISI_SR) Preview Datapath Overflow (cleared on read) */ -#define ISI_SR_C_OVR (0x1u << 25) /**< \brief (ISI_SR) Codec Datapath Overflow (cleared on read) */ -#define ISI_SR_CRC_ERR (0x1u << 26) /**< \brief (ISI_SR) CRC Synchronization Error (cleared on read) */ -#define ISI_SR_FR_OVR (0x1u << 27) /**< \brief (ISI_SR) Frame Rate Overrun (cleared on read) */ -/* -------- ISI_IER : (ISI Offset: 0x2C) ISI Interrupt Enable Register -------- */ -#define ISI_IER_DIS_DONE (0x1u << 1) /**< \brief (ISI_IER) Disable Done Interrupt Enable */ -#define ISI_IER_SRST (0x1u << 2) /**< \brief (ISI_IER) Software Reset Interrupt Enable */ -#define ISI_IER_VSYNC (0x1u << 10) /**< \brief (ISI_IER) Vertical Synchronization Interrupt Enable */ -#define ISI_IER_PXFR_DONE (0x1u << 16) /**< \brief (ISI_IER) Preview DMA Transfer Done Interrupt Enable */ -#define ISI_IER_CXFR_DONE (0x1u << 17) /**< \brief (ISI_IER) Codec DMA Transfer Done Interrupt Enable */ -#define ISI_IER_P_OVR (0x1u << 24) /**< \brief (ISI_IER) Preview Datapath Overflow Interrupt Enable */ -#define ISI_IER_C_OVR (0x1u << 25) /**< \brief (ISI_IER) Codec Datapath Overflow Interrupt Enable */ -#define ISI_IER_CRC_ERR (0x1u << 26) /**< \brief (ISI_IER) Embedded Synchronization CRC Error Interrupt Enable */ -#define ISI_IER_FR_OVR (0x1u << 27) /**< \brief (ISI_IER) Frame Rate Overflow Interrupt Enable */ -/* -------- ISI_IDR : (ISI Offset: 0x30) ISI Interrupt Disable Register -------- */ -#define ISI_IDR_DIS_DONE (0x1u << 1) /**< \brief (ISI_IDR) Disable Done Interrupt Disable */ -#define ISI_IDR_SRST (0x1u << 2) /**< \brief (ISI_IDR) Software Reset Interrupt Disable */ -#define ISI_IDR_VSYNC (0x1u << 10) /**< \brief (ISI_IDR) Vertical Synchronization Interrupt Disable */ -#define ISI_IDR_PXFR_DONE (0x1u << 16) /**< \brief (ISI_IDR) Preview DMA Transfer Done Interrupt Disable */ -#define ISI_IDR_CXFR_DONE (0x1u << 17) /**< \brief (ISI_IDR) Codec DMA Transfer Done Interrupt Disable */ -#define ISI_IDR_P_OVR (0x1u << 24) /**< \brief (ISI_IDR) Preview Datapath Overflow Interrupt Disable */ -#define ISI_IDR_C_OVR (0x1u << 25) /**< \brief (ISI_IDR) Codec Datapath Overflow Interrupt Disable */ -#define ISI_IDR_CRC_ERR (0x1u << 26) /**< \brief (ISI_IDR) Embedded Synchronization CRC Error Interrupt Disable */ -#define ISI_IDR_FR_OVR (0x1u << 27) /**< \brief (ISI_IDR) Frame Rate Overflow Interrupt Disable */ -/* -------- ISI_IMR : (ISI Offset: 0x34) ISI Interrupt Mask Register -------- */ -#define ISI_IMR_DIS_DONE (0x1u << 1) /**< \brief (ISI_IMR) Module Disable Operation Completed */ -#define ISI_IMR_SRST (0x1u << 2) /**< \brief (ISI_IMR) Software Reset Completed */ -#define ISI_IMR_VSYNC (0x1u << 10) /**< \brief (ISI_IMR) Vertical Synchronization */ -#define ISI_IMR_PXFR_DONE (0x1u << 16) /**< \brief (ISI_IMR) Preview DMA Transfer Completed */ -#define ISI_IMR_CXFR_DONE (0x1u << 17) /**< \brief (ISI_IMR) Codec DMA Transfer Completed */ -#define ISI_IMR_P_OVR (0x1u << 24) /**< \brief (ISI_IMR) Preview FIFO Overflow */ -#define ISI_IMR_C_OVR (0x1u << 25) /**< \brief (ISI_IMR) Codec FIFO Overflow */ -#define ISI_IMR_CRC_ERR (0x1u << 26) /**< \brief (ISI_IMR) CRC Synchronization Error */ -#define ISI_IMR_FR_OVR (0x1u << 27) /**< \brief (ISI_IMR) Frame Rate Overrun */ -/* -------- ISI_DMA_CHER : (ISI Offset: 0x38) DMA Channel Enable Register -------- */ -#define ISI_DMA_CHER_P_CH_EN (0x1u << 0) /**< \brief (ISI_DMA_CHER) Preview Channel Enable */ -#define ISI_DMA_CHER_C_CH_EN (0x1u << 1) /**< \brief (ISI_DMA_CHER) Codec Channel Enable */ -/* -------- ISI_DMA_CHDR : (ISI Offset: 0x3C) DMA Channel Disable Register -------- */ -#define ISI_DMA_CHDR_P_CH_DIS (0x1u << 0) /**< \brief (ISI_DMA_CHDR) Preview Channel Disable Request */ -#define ISI_DMA_CHDR_C_CH_DIS (0x1u << 1) /**< \brief (ISI_DMA_CHDR) Codec Channel Disable Request */ -/* -------- ISI_DMA_CHSR : (ISI Offset: 0x40) DMA Channel Status Register -------- */ -#define ISI_DMA_CHSR_P_CH_S (0x1u << 0) /**< \brief (ISI_DMA_CHSR) Preview DMA Channel Status */ -#define ISI_DMA_CHSR_C_CH_S (0x1u << 1) /**< \brief (ISI_DMA_CHSR) Code DMA Channel Status */ -/* -------- ISI_DMA_P_ADDR : (ISI Offset: 0x44) DMA Preview Base Address Register -------- */ -#define ISI_DMA_P_ADDR_P_ADDR_Pos 2 -#define ISI_DMA_P_ADDR_P_ADDR_Msk (0x3fffffffu << ISI_DMA_P_ADDR_P_ADDR_Pos) /**< \brief (ISI_DMA_P_ADDR) Preview Image Base Address */ -#define ISI_DMA_P_ADDR_P_ADDR(value) ((ISI_DMA_P_ADDR_P_ADDR_Msk & ((value) << ISI_DMA_P_ADDR_P_ADDR_Pos))) -/* -------- ISI_DMA_P_CTRL : (ISI Offset: 0x48) DMA Preview Control Register -------- */ -#define ISI_DMA_P_CTRL_P_FETCH (0x1u << 0) /**< \brief (ISI_DMA_P_CTRL) Descriptor Fetch Control Bit */ -#define ISI_DMA_P_CTRL_P_WB (0x1u << 1) /**< \brief (ISI_DMA_P_CTRL) Descriptor Writeback Control Bit */ -#define ISI_DMA_P_CTRL_P_IEN (0x1u << 2) /**< \brief (ISI_DMA_P_CTRL) Transfer Done Flag Control */ -#define ISI_DMA_P_CTRL_P_DONE (0x1u << 3) /**< \brief (ISI_DMA_P_CTRL) Preview Transfer Done */ -/* -------- ISI_DMA_P_DSCR : (ISI Offset: 0x4C) DMA Preview Descriptor Address Register -------- */ -#define ISI_DMA_P_DSCR_P_DSCR_Pos 2 -#define ISI_DMA_P_DSCR_P_DSCR_Msk (0x3fffffffu << ISI_DMA_P_DSCR_P_DSCR_Pos) /**< \brief (ISI_DMA_P_DSCR) Preview Descriptor Base Address */ -#define ISI_DMA_P_DSCR_P_DSCR(value) ((ISI_DMA_P_DSCR_P_DSCR_Msk & ((value) << ISI_DMA_P_DSCR_P_DSCR_Pos))) -/* -------- ISI_DMA_C_ADDR : (ISI Offset: 0x50) DMA Codec Base Address Register -------- */ -#define ISI_DMA_C_ADDR_C_ADDR_Pos 2 -#define ISI_DMA_C_ADDR_C_ADDR_Msk (0x3fffffffu << ISI_DMA_C_ADDR_C_ADDR_Pos) /**< \brief (ISI_DMA_C_ADDR) Codec Image Base Address */ -#define ISI_DMA_C_ADDR_C_ADDR(value) ((ISI_DMA_C_ADDR_C_ADDR_Msk & ((value) << ISI_DMA_C_ADDR_C_ADDR_Pos))) -/* -------- ISI_DMA_C_CTRL : (ISI Offset: 0x54) DMA Codec Control Register -------- */ -#define ISI_DMA_C_CTRL_C_FETCH (0x1u << 0) /**< \brief (ISI_DMA_C_CTRL) Descriptor Fetch Control Bit */ -#define ISI_DMA_C_CTRL_C_WB (0x1u << 1) /**< \brief (ISI_DMA_C_CTRL) Descriptor Writeback Control Bit */ -#define ISI_DMA_C_CTRL_C_IEN (0x1u << 2) /**< \brief (ISI_DMA_C_CTRL) Transfer Done Flag Control */ -#define ISI_DMA_C_CTRL_C_DONE (0x1u << 3) /**< \brief (ISI_DMA_C_CTRL) Codec Transfer Done */ -/* -------- ISI_DMA_C_DSCR : (ISI Offset: 0x58) DMA Codec Descriptor Address Register -------- */ -#define ISI_DMA_C_DSCR_C_DSCR_Pos 2 -#define ISI_DMA_C_DSCR_C_DSCR_Msk (0x3fffffffu << ISI_DMA_C_DSCR_C_DSCR_Pos) /**< \brief (ISI_DMA_C_DSCR) Codec Descriptor Base Address */ -#define ISI_DMA_C_DSCR_C_DSCR(value) ((ISI_DMA_C_DSCR_C_DSCR_Msk & ((value) << ISI_DMA_C_DSCR_C_DSCR_Pos))) -/* -------- ISI_WPMR : (ISI Offset: 0xE4) Write Protection Mode Register -------- */ -#define ISI_WPMR_WPEN (0x1u << 0) /**< \brief (ISI_WPMR) Write Protection Enable */ -#define ISI_WPMR_WPKEY_Pos 8 -#define ISI_WPMR_WPKEY_Msk (0xffffffu << ISI_WPMR_WPKEY_Pos) /**< \brief (ISI_WPMR) Write Protection Key Password */ -#define ISI_WPMR_WPKEY(value) ((ISI_WPMR_WPKEY_Msk & ((value) << ISI_WPMR_WPKEY_Pos))) -#define ISI_WPMR_WPKEY_PASSWD (0x495349u << 8) /**< \brief (ISI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- ISI_WPSR : (ISI Offset: 0xE8) Write Protection Status Register -------- */ -#define ISI_WPSR_WPVS (0x1u << 0) /**< \brief (ISI_WPSR) Write Protection Violation Status */ -#define ISI_WPSR_WPVSRC_Pos 8 -#define ISI_WPSR_WPVSRC_Msk (0xffffu << ISI_WPSR_WPVSRC_Pos) /**< \brief (ISI_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_ISI_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h deleted file mode 100644 index 8bb7f21..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/matrix.h +++ /dev/null @@ -1,476 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_MATRIX_COMPONENT_ -#define _SAMS70_MATRIX_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR AHB Bus Matrix */ -/* ============================================================================= */ -/** \addtogroup SAMS70_MATRIX AHB Bus Matrix */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Matrix hardware registers */ -typedef struct { - __IO uint32_t MATRIX_MCFG0; /**< \brief (Matrix Offset: 0x0000) Master Configuration Register 0 */ - __IO uint32_t MATRIX_MCFG1; /**< \brief (Matrix Offset: 0x0004) Master Configuration Register 1 */ - __IO uint32_t MATRIX_MCFG2; /**< \brief (Matrix Offset: 0x0008) Master Configuration Register 2 */ - __IO uint32_t MATRIX_MCFG3; /**< \brief (Matrix Offset: 0x000C) Master Configuration Register 3 */ - __IO uint32_t MATRIX_MCFG4; /**< \brief (Matrix Offset: 0x0010) Master Configuration Register 4 */ - __IO uint32_t MATRIX_MCFG5; /**< \brief (Matrix Offset: 0x0014) Master Configuration Register 5 */ - __IO uint32_t MATRIX_MCFG6; /**< \brief (Matrix Offset: 0x0018) Master Configuration Register 6 */ - __I uint32_t Reserved1[1]; - __IO uint32_t MATRIX_MCFG8; /**< \brief (Matrix Offset: 0x0020) Master Configuration Register 8 */ - __I uint32_t Reserved2[7]; - __IO uint32_t MATRIX_SCFG[9]; /**< \brief (Matrix Offset: 0x0040) Slave Configuration Register */ - __I uint32_t Reserved3[7]; - __IO uint32_t MATRIX_PRAS0; /**< \brief (Matrix Offset: 0x0080) Priority Register A for Slave 0 */ - __IO uint32_t MATRIX_PRBS0; /**< \brief (Matrix Offset: 0x0084) Priority Register B for Slave 0 */ - __IO uint32_t MATRIX_PRAS1; /**< \brief (Matrix Offset: 0x0088) Priority Register A for Slave 1 */ - __IO uint32_t MATRIX_PRBS1; /**< \brief (Matrix Offset: 0x008C) Priority Register B for Slave 1 */ - __IO uint32_t MATRIX_PRAS2; /**< \brief (Matrix Offset: 0x0090) Priority Register A for Slave 2 */ - __IO uint32_t MATRIX_PRBS2; /**< \brief (Matrix Offset: 0x0094) Priority Register B for Slave 2 */ - __IO uint32_t MATRIX_PRAS3; /**< \brief (Matrix Offset: 0x0098) Priority Register A for Slave 3 */ - __IO uint32_t MATRIX_PRBS3; /**< \brief (Matrix Offset: 0x009C) Priority Register B for Slave 3 */ - __IO uint32_t MATRIX_PRAS4; /**< \brief (Matrix Offset: 0x00A0) Priority Register A for Slave 4 */ - __IO uint32_t MATRIX_PRBS4; /**< \brief (Matrix Offset: 0x00A4) Priority Register B for Slave 4 */ - __IO uint32_t MATRIX_PRAS5; /**< \brief (Matrix Offset: 0x00A8) Priority Register A for Slave 5 */ - __IO uint32_t MATRIX_PRBS5; /**< \brief (Matrix Offset: 0x00AC) Priority Register B for Slave 5 */ - __IO uint32_t MATRIX_PRAS6; /**< \brief (Matrix Offset: 0x00B0) Priority Register A for Slave 6 */ - __IO uint32_t MATRIX_PRBS6; /**< \brief (Matrix Offset: 0x00B4) Priority Register B for Slave 6 */ - __IO uint32_t MATRIX_PRAS7; /**< \brief (Matrix Offset: 0x00B8) Priority Register A for Slave 7 */ - __IO uint32_t MATRIX_PRBS7; /**< \brief (Matrix Offset: 0x00BC) Priority Register B for Slave 7 */ - __IO uint32_t MATRIX_PRAS8; /**< \brief (Matrix Offset: 0x00C0) Priority Register A for Slave 8 */ - __IO uint32_t MATRIX_PRBS8; /**< \brief (Matrix Offset: 0x00C4) Priority Register B for Slave 8 */ - __I uint32_t Reserved4[14]; - __IO uint32_t MATRIX_MRCR; /**< \brief (Matrix Offset: 0x0100) Master Remap Control Register */ - __I uint32_t Reserved5[4]; - __IO uint32_t CCFG_SYSIO; /**< \brief (Matrix Offset: 0x0114) System I/O Configuration Register */ - __I uint32_t Reserved6[3]; - __IO uint32_t CCFG_SMCNFCS; /**< \brief (Matrix Offset: 0x0124) SMC NAND Flash Chip Select Configuration Register */ - __I uint32_t Reserved7[47]; - __IO uint32_t MATRIX_WPMR; /**< \brief (Matrix Offset: 0x01E4) Write Protection Mode Register */ - __I uint32_t MATRIX_WPSR; /**< \brief (Matrix Offset: 0x01E8) Write Protection Status Register */ -} Matrix; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- MATRIX_MCFG0 : (MATRIX Offset: 0x0000) Master Configuration Register 0 -------- */ -#define MATRIX_MCFG0_ULBT_Pos 0 -#define MATRIX_MCFG0_ULBT_Msk (0x7u << MATRIX_MCFG0_ULBT_Pos) /**< \brief (MATRIX_MCFG0) Undefined Length Burst Type */ -#define MATRIX_MCFG0_ULBT(value) ((MATRIX_MCFG0_ULBT_Msk & ((value) << MATRIX_MCFG0_ULBT_Pos))) -#define MATRIX_MCFG0_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG0) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG0_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG0) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG0_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG0) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG0_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG0) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG0_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG0) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG0_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG0) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG0_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG0) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG0_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG0) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG1 : (MATRIX Offset: 0x0004) Master Configuration Register 1 -------- */ -#define MATRIX_MCFG1_ULBT_Pos 0 -#define MATRIX_MCFG1_ULBT_Msk (0x7u << MATRIX_MCFG1_ULBT_Pos) /**< \brief (MATRIX_MCFG1) Undefined Length Burst Type */ -#define MATRIX_MCFG1_ULBT(value) ((MATRIX_MCFG1_ULBT_Msk & ((value) << MATRIX_MCFG1_ULBT_Pos))) -#define MATRIX_MCFG1_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG1) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG1_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG1) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG1_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG1) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG1_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG1) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG1_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG1) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG1_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG1) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG1_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG1) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG1_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG1) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG2 : (MATRIX Offset: 0x0008) Master Configuration Register 2 -------- */ -#define MATRIX_MCFG2_ULBT_Pos 0 -#define MATRIX_MCFG2_ULBT_Msk (0x7u << MATRIX_MCFG2_ULBT_Pos) /**< \brief (MATRIX_MCFG2) Undefined Length Burst Type */ -#define MATRIX_MCFG2_ULBT(value) ((MATRIX_MCFG2_ULBT_Msk & ((value) << MATRIX_MCFG2_ULBT_Pos))) -#define MATRIX_MCFG2_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG2) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG2_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG2) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG2_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG2) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG2_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG2) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG2_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG2) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG2_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG2) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG2_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG2) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG2_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG2) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG3 : (MATRIX Offset: 0x000C) Master Configuration Register 3 -------- */ -#define MATRIX_MCFG3_ULBT_Pos 0 -#define MATRIX_MCFG3_ULBT_Msk (0x7u << MATRIX_MCFG3_ULBT_Pos) /**< \brief (MATRIX_MCFG3) Undefined Length Burst Type */ -#define MATRIX_MCFG3_ULBT(value) ((MATRIX_MCFG3_ULBT_Msk & ((value) << MATRIX_MCFG3_ULBT_Pos))) -#define MATRIX_MCFG3_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG3) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG3_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG3) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG3_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG3) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG3_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG3) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG3_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG3) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG3_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG3) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG3_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG3) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG3_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG3) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG4 : (MATRIX Offset: 0x0010) Master Configuration Register 4 -------- */ -#define MATRIX_MCFG4_ULBT_Pos 0 -#define MATRIX_MCFG4_ULBT_Msk (0x7u << MATRIX_MCFG4_ULBT_Pos) /**< \brief (MATRIX_MCFG4) Undefined Length Burst Type */ -#define MATRIX_MCFG4_ULBT(value) ((MATRIX_MCFG4_ULBT_Msk & ((value) << MATRIX_MCFG4_ULBT_Pos))) -#define MATRIX_MCFG4_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG4) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG4_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG4) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG4_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG4) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG4_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG4) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG4_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG4) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG4_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG4) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG4_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG4) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG4_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG4) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG5 : (MATRIX Offset: 0x0014) Master Configuration Register 5 -------- */ -#define MATRIX_MCFG5_ULBT_Pos 0 -#define MATRIX_MCFG5_ULBT_Msk (0x7u << MATRIX_MCFG5_ULBT_Pos) /**< \brief (MATRIX_MCFG5) Undefined Length Burst Type */ -#define MATRIX_MCFG5_ULBT(value) ((MATRIX_MCFG5_ULBT_Msk & ((value) << MATRIX_MCFG5_ULBT_Pos))) -#define MATRIX_MCFG5_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG5) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG5_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG5) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG5_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG5) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG5_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG5) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG5_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG5) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG5_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG5) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG5_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG5) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG5_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG5) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG6 : (MATRIX Offset: 0x0018) Master Configuration Register 6 -------- */ -#define MATRIX_MCFG6_ULBT_Pos 0 -#define MATRIX_MCFG6_ULBT_Msk (0x7u << MATRIX_MCFG6_ULBT_Pos) /**< \brief (MATRIX_MCFG6) Undefined Length Burst Type */ -#define MATRIX_MCFG6_ULBT(value) ((MATRIX_MCFG6_ULBT_Msk & ((value) << MATRIX_MCFG6_ULBT_Pos))) -#define MATRIX_MCFG6_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG6) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG6_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG6) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG6_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG6) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG6_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG6) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG6_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG6) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG6_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG6) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG6_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG6) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG6_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG6) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_MCFG8 : (MATRIX Offset: 0x0020) Master Configuration Register 8 -------- */ -#define MATRIX_MCFG8_ULBT_Pos 0 -#define MATRIX_MCFG8_ULBT_Msk (0x7u << MATRIX_MCFG8_ULBT_Pos) /**< \brief (MATRIX_MCFG8) Undefined Length Burst Type */ -#define MATRIX_MCFG8_ULBT(value) ((MATRIX_MCFG8_ULBT_Msk & ((value) << MATRIX_MCFG8_ULBT_Pos))) -#define MATRIX_MCFG8_ULBT_UNLTD_LENGTH (0x0u << 0) /**< \brief (MATRIX_MCFG8) Unlimited Length Burst-No predicted end of burst is generated, therefore INCR bursts coming from this master can only be broken if the Slave Slot Cycle Limit is reached. If the Slot Cycle Limit is not reached, the burst is normally completed by the master, at the latest, on the next AHB 1-Kbyte address boundary, allowing up to 256-beat word bursts or 128-beat double-word bursts.This value should not be used in the very particular case of a master capable of performing back-to-back undefined length bursts on a single slave, since this could indefinitely freeze the slave arbitration and thus prevent another master from accessing this slave. */ -#define MATRIX_MCFG8_ULBT_SINGLE_ACCESS (0x1u << 0) /**< \brief (MATRIX_MCFG8) Single Access-The undefined length burst is treated as a succession of single accesses, allowing re-arbitration at each beat of the INCR burst or bursts sequence. */ -#define MATRIX_MCFG8_ULBT_4BEAT_BURST (0x2u << 0) /**< \brief (MATRIX_MCFG8) 4-beat Burst-The undefined length burst or bursts sequence is split into 4-beat bursts or less, allowing re-arbitration every 4 beats. */ -#define MATRIX_MCFG8_ULBT_8BEAT_BURST (0x3u << 0) /**< \brief (MATRIX_MCFG8) 8-beat Burst-The undefined length burst or bursts sequence is split into 8-beat bursts or less, allowing re-arbitration every 8 beats. */ -#define MATRIX_MCFG8_ULBT_16BEAT_BURST (0x4u << 0) /**< \brief (MATRIX_MCFG8) 16-beat Burst-The undefined length burst or bursts sequence is split into 16-beat bursts or less, allowing re-arbitration every 16 beats. */ -#define MATRIX_MCFG8_ULBT_32BEAT_BURST (0x5u << 0) /**< \brief (MATRIX_MCFG8) 32-beat Burst -The undefined length burst or bursts sequence is split into 32-beat bursts or less, allowing re-arbitration every 32 beats. */ -#define MATRIX_MCFG8_ULBT_64BEAT_BURST (0x6u << 0) /**< \brief (MATRIX_MCFG8) 64-beat Burst-The undefined length burst or bursts sequence is split into 64-beat bursts or less, allowing re-arbitration every 64 beats. */ -#define MATRIX_MCFG8_ULBT_128BEAT_BURST (0x7u << 0) /**< \brief (MATRIX_MCFG8) 128-beat Burst-The undefined length burst or bursts sequence is split into 128-beat bursts or less, allowing re-arbitration every 128 beats. */ -/* -------- MATRIX_SCFG[9] : (MATRIX Offset: 0x0040) Slave Configuration Register -------- */ -#define MATRIX_SCFG_SLOT_CYCLE_Pos 0 -#define MATRIX_SCFG_SLOT_CYCLE_Msk (0x1ffu << MATRIX_SCFG_SLOT_CYCLE_Pos) /**< \brief (MATRIX_SCFG[9]) Maximum Bus Grant Duration for Masters */ -#define MATRIX_SCFG_SLOT_CYCLE(value) ((MATRIX_SCFG_SLOT_CYCLE_Msk & ((value) << MATRIX_SCFG_SLOT_CYCLE_Pos))) -#define MATRIX_SCFG_DEFMSTR_TYPE_Pos 16 -#define MATRIX_SCFG_DEFMSTR_TYPE_Msk (0x3u << MATRIX_SCFG_DEFMSTR_TYPE_Pos) /**< \brief (MATRIX_SCFG[9]) Default Master Type */ -#define MATRIX_SCFG_DEFMSTR_TYPE(value) ((MATRIX_SCFG_DEFMSTR_TYPE_Msk & ((value) << MATRIX_SCFG_DEFMSTR_TYPE_Pos))) -#define MATRIX_SCFG_DEFMSTR_TYPE_NONE (0x0u << 16) /**< \brief (MATRIX_SCFG[9]) No Default Master-At the end of the current slave access, if no other master request is pending, the slave is disconnected from all masters.This results in a one clock cycle latency for the first access of a burst transfer or for a single access. */ -#define MATRIX_SCFG_DEFMSTR_TYPE_LAST (0x1u << 16) /**< \brief (MATRIX_SCFG[9]) Last Default Master-At the end of the current slave access, if no other master request is pending, the slave stays connected to the last master having accessed it.This results in not having one clock cycle latency when the last master tries to access the slave again. */ -#define MATRIX_SCFG_DEFMSTR_TYPE_FIXED (0x2u << 16) /**< \brief (MATRIX_SCFG[9]) Fixed Default Master-At the end of the current slave access, if no other master request is pending, the slave connects to the fixed master the number that has been written in the FIXED_DEFMSTR field.This results in not having one clock cycle latency when the fixed master tries to access the slave again. */ -#define MATRIX_SCFG_FIXED_DEFMSTR_Pos 18 -#define MATRIX_SCFG_FIXED_DEFMSTR_Msk (0xfu << MATRIX_SCFG_FIXED_DEFMSTR_Pos) /**< \brief (MATRIX_SCFG[9]) Fixed Default Master */ -#define MATRIX_SCFG_FIXED_DEFMSTR(value) ((MATRIX_SCFG_FIXED_DEFMSTR_Msk & ((value) << MATRIX_SCFG_FIXED_DEFMSTR_Pos))) -/* -------- MATRIX_PRAS0 : (MATRIX Offset: 0x0080) Priority Register A for Slave 0 -------- */ -#define MATRIX_PRAS0_M0PR_Pos 0 -#define MATRIX_PRAS0_M0PR_Msk (0x3u << MATRIX_PRAS0_M0PR_Pos) /**< \brief (MATRIX_PRAS0) Master 0 Priority */ -#define MATRIX_PRAS0_M0PR(value) ((MATRIX_PRAS0_M0PR_Msk & ((value) << MATRIX_PRAS0_M0PR_Pos))) -#define MATRIX_PRAS0_M1PR_Pos 4 -#define MATRIX_PRAS0_M1PR_Msk (0x3u << MATRIX_PRAS0_M1PR_Pos) /**< \brief (MATRIX_PRAS0) Master 1 Priority */ -#define MATRIX_PRAS0_M1PR(value) ((MATRIX_PRAS0_M1PR_Msk & ((value) << MATRIX_PRAS0_M1PR_Pos))) -#define MATRIX_PRAS0_M2PR_Pos 8 -#define MATRIX_PRAS0_M2PR_Msk (0x3u << MATRIX_PRAS0_M2PR_Pos) /**< \brief (MATRIX_PRAS0) Master 2 Priority */ -#define MATRIX_PRAS0_M2PR(value) ((MATRIX_PRAS0_M2PR_Msk & ((value) << MATRIX_PRAS0_M2PR_Pos))) -#define MATRIX_PRAS0_M3PR_Pos 12 -#define MATRIX_PRAS0_M3PR_Msk (0x3u << MATRIX_PRAS0_M3PR_Pos) /**< \brief (MATRIX_PRAS0) Master 3 Priority */ -#define MATRIX_PRAS0_M3PR(value) ((MATRIX_PRAS0_M3PR_Msk & ((value) << MATRIX_PRAS0_M3PR_Pos))) -#define MATRIX_PRAS0_M4PR_Pos 16 -#define MATRIX_PRAS0_M4PR_Msk (0x3u << MATRIX_PRAS0_M4PR_Pos) /**< \brief (MATRIX_PRAS0) Master 4 Priority */ -#define MATRIX_PRAS0_M4PR(value) ((MATRIX_PRAS0_M4PR_Msk & ((value) << MATRIX_PRAS0_M4PR_Pos))) -#define MATRIX_PRAS0_M5PR_Pos 20 -#define MATRIX_PRAS0_M5PR_Msk (0x3u << MATRIX_PRAS0_M5PR_Pos) /**< \brief (MATRIX_PRAS0) Master 5 Priority */ -#define MATRIX_PRAS0_M5PR(value) ((MATRIX_PRAS0_M5PR_Msk & ((value) << MATRIX_PRAS0_M5PR_Pos))) -#define MATRIX_PRAS0_M6PR_Pos 24 -#define MATRIX_PRAS0_M6PR_Msk (0x3u << MATRIX_PRAS0_M6PR_Pos) /**< \brief (MATRIX_PRAS0) Master 6 Priority */ -#define MATRIX_PRAS0_M6PR(value) ((MATRIX_PRAS0_M6PR_Msk & ((value) << MATRIX_PRAS0_M6PR_Pos))) -/* -------- MATRIX_PRBS0 : (MATRIX Offset: 0x0084) Priority Register B for Slave 0 -------- */ -#define MATRIX_PRBS0_M8PR_Pos 0 -#define MATRIX_PRBS0_M8PR_Msk (0x3u << MATRIX_PRBS0_M8PR_Pos) /**< \brief (MATRIX_PRBS0) Master 8 Priority */ -#define MATRIX_PRBS0_M8PR(value) ((MATRIX_PRBS0_M8PR_Msk & ((value) << MATRIX_PRBS0_M8PR_Pos))) -/* -------- MATRIX_PRAS1 : (MATRIX Offset: 0x0088) Priority Register A for Slave 1 -------- */ -#define MATRIX_PRAS1_M0PR_Pos 0 -#define MATRIX_PRAS1_M0PR_Msk (0x3u << MATRIX_PRAS1_M0PR_Pos) /**< \brief (MATRIX_PRAS1) Master 0 Priority */ -#define MATRIX_PRAS1_M0PR(value) ((MATRIX_PRAS1_M0PR_Msk & ((value) << MATRIX_PRAS1_M0PR_Pos))) -#define MATRIX_PRAS1_M1PR_Pos 4 -#define MATRIX_PRAS1_M1PR_Msk (0x3u << MATRIX_PRAS1_M1PR_Pos) /**< \brief (MATRIX_PRAS1) Master 1 Priority */ -#define MATRIX_PRAS1_M1PR(value) ((MATRIX_PRAS1_M1PR_Msk & ((value) << MATRIX_PRAS1_M1PR_Pos))) -#define MATRIX_PRAS1_M2PR_Pos 8 -#define MATRIX_PRAS1_M2PR_Msk (0x3u << MATRIX_PRAS1_M2PR_Pos) /**< \brief (MATRIX_PRAS1) Master 2 Priority */ -#define MATRIX_PRAS1_M2PR(value) ((MATRIX_PRAS1_M2PR_Msk & ((value) << MATRIX_PRAS1_M2PR_Pos))) -#define MATRIX_PRAS1_M3PR_Pos 12 -#define MATRIX_PRAS1_M3PR_Msk (0x3u << MATRIX_PRAS1_M3PR_Pos) /**< \brief (MATRIX_PRAS1) Master 3 Priority */ -#define MATRIX_PRAS1_M3PR(value) ((MATRIX_PRAS1_M3PR_Msk & ((value) << MATRIX_PRAS1_M3PR_Pos))) -#define MATRIX_PRAS1_M4PR_Pos 16 -#define MATRIX_PRAS1_M4PR_Msk (0x3u << MATRIX_PRAS1_M4PR_Pos) /**< \brief (MATRIX_PRAS1) Master 4 Priority */ -#define MATRIX_PRAS1_M4PR(value) ((MATRIX_PRAS1_M4PR_Msk & ((value) << MATRIX_PRAS1_M4PR_Pos))) -#define MATRIX_PRAS1_M5PR_Pos 20 -#define MATRIX_PRAS1_M5PR_Msk (0x3u << MATRIX_PRAS1_M5PR_Pos) /**< \brief (MATRIX_PRAS1) Master 5 Priority */ -#define MATRIX_PRAS1_M5PR(value) ((MATRIX_PRAS1_M5PR_Msk & ((value) << MATRIX_PRAS1_M5PR_Pos))) -#define MATRIX_PRAS1_M6PR_Pos 24 -#define MATRIX_PRAS1_M6PR_Msk (0x3u << MATRIX_PRAS1_M6PR_Pos) /**< \brief (MATRIX_PRAS1) Master 6 Priority */ -#define MATRIX_PRAS1_M6PR(value) ((MATRIX_PRAS1_M6PR_Msk & ((value) << MATRIX_PRAS1_M6PR_Pos))) -/* -------- MATRIX_PRBS1 : (MATRIX Offset: 0x008C) Priority Register B for Slave 1 -------- */ -#define MATRIX_PRBS1_M8PR_Pos 0 -#define MATRIX_PRBS1_M8PR_Msk (0x3u << MATRIX_PRBS1_M8PR_Pos) /**< \brief (MATRIX_PRBS1) Master 8 Priority */ -#define MATRIX_PRBS1_M8PR(value) ((MATRIX_PRBS1_M8PR_Msk & ((value) << MATRIX_PRBS1_M8PR_Pos))) -/* -------- MATRIX_PRAS2 : (MATRIX Offset: 0x0090) Priority Register A for Slave 2 -------- */ -#define MATRIX_PRAS2_M0PR_Pos 0 -#define MATRIX_PRAS2_M0PR_Msk (0x3u << MATRIX_PRAS2_M0PR_Pos) /**< \brief (MATRIX_PRAS2) Master 0 Priority */ -#define MATRIX_PRAS2_M0PR(value) ((MATRIX_PRAS2_M0PR_Msk & ((value) << MATRIX_PRAS2_M0PR_Pos))) -#define MATRIX_PRAS2_M1PR_Pos 4 -#define MATRIX_PRAS2_M1PR_Msk (0x3u << MATRIX_PRAS2_M1PR_Pos) /**< \brief (MATRIX_PRAS2) Master 1 Priority */ -#define MATRIX_PRAS2_M1PR(value) ((MATRIX_PRAS2_M1PR_Msk & ((value) << MATRIX_PRAS2_M1PR_Pos))) -#define MATRIX_PRAS2_M2PR_Pos 8 -#define MATRIX_PRAS2_M2PR_Msk (0x3u << MATRIX_PRAS2_M2PR_Pos) /**< \brief (MATRIX_PRAS2) Master 2 Priority */ -#define MATRIX_PRAS2_M2PR(value) ((MATRIX_PRAS2_M2PR_Msk & ((value) << MATRIX_PRAS2_M2PR_Pos))) -#define MATRIX_PRAS2_M3PR_Pos 12 -#define MATRIX_PRAS2_M3PR_Msk (0x3u << MATRIX_PRAS2_M3PR_Pos) /**< \brief (MATRIX_PRAS2) Master 3 Priority */ -#define MATRIX_PRAS2_M3PR(value) ((MATRIX_PRAS2_M3PR_Msk & ((value) << MATRIX_PRAS2_M3PR_Pos))) -#define MATRIX_PRAS2_M4PR_Pos 16 -#define MATRIX_PRAS2_M4PR_Msk (0x3u << MATRIX_PRAS2_M4PR_Pos) /**< \brief (MATRIX_PRAS2) Master 4 Priority */ -#define MATRIX_PRAS2_M4PR(value) ((MATRIX_PRAS2_M4PR_Msk & ((value) << MATRIX_PRAS2_M4PR_Pos))) -#define MATRIX_PRAS2_M5PR_Pos 20 -#define MATRIX_PRAS2_M5PR_Msk (0x3u << MATRIX_PRAS2_M5PR_Pos) /**< \brief (MATRIX_PRAS2) Master 5 Priority */ -#define MATRIX_PRAS2_M5PR(value) ((MATRIX_PRAS2_M5PR_Msk & ((value) << MATRIX_PRAS2_M5PR_Pos))) -#define MATRIX_PRAS2_M6PR_Pos 24 -#define MATRIX_PRAS2_M6PR_Msk (0x3u << MATRIX_PRAS2_M6PR_Pos) /**< \brief (MATRIX_PRAS2) Master 6 Priority */ -#define MATRIX_PRAS2_M6PR(value) ((MATRIX_PRAS2_M6PR_Msk & ((value) << MATRIX_PRAS2_M6PR_Pos))) -/* -------- MATRIX_PRBS2 : (MATRIX Offset: 0x0094) Priority Register B for Slave 2 -------- */ -#define MATRIX_PRBS2_M8PR_Pos 0 -#define MATRIX_PRBS2_M8PR_Msk (0x3u << MATRIX_PRBS2_M8PR_Pos) /**< \brief (MATRIX_PRBS2) Master 8 Priority */ -#define MATRIX_PRBS2_M8PR(value) ((MATRIX_PRBS2_M8PR_Msk & ((value) << MATRIX_PRBS2_M8PR_Pos))) -/* -------- MATRIX_PRAS3 : (MATRIX Offset: 0x0098) Priority Register A for Slave 3 -------- */ -#define MATRIX_PRAS3_M0PR_Pos 0 -#define MATRIX_PRAS3_M0PR_Msk (0x3u << MATRIX_PRAS3_M0PR_Pos) /**< \brief (MATRIX_PRAS3) Master 0 Priority */ -#define MATRIX_PRAS3_M0PR(value) ((MATRIX_PRAS3_M0PR_Msk & ((value) << MATRIX_PRAS3_M0PR_Pos))) -#define MATRIX_PRAS3_M1PR_Pos 4 -#define MATRIX_PRAS3_M1PR_Msk (0x3u << MATRIX_PRAS3_M1PR_Pos) /**< \brief (MATRIX_PRAS3) Master 1 Priority */ -#define MATRIX_PRAS3_M1PR(value) ((MATRIX_PRAS3_M1PR_Msk & ((value) << MATRIX_PRAS3_M1PR_Pos))) -#define MATRIX_PRAS3_M2PR_Pos 8 -#define MATRIX_PRAS3_M2PR_Msk (0x3u << MATRIX_PRAS3_M2PR_Pos) /**< \brief (MATRIX_PRAS3) Master 2 Priority */ -#define MATRIX_PRAS3_M2PR(value) ((MATRIX_PRAS3_M2PR_Msk & ((value) << MATRIX_PRAS3_M2PR_Pos))) -#define MATRIX_PRAS3_M3PR_Pos 12 -#define MATRIX_PRAS3_M3PR_Msk (0x3u << MATRIX_PRAS3_M3PR_Pos) /**< \brief (MATRIX_PRAS3) Master 3 Priority */ -#define MATRIX_PRAS3_M3PR(value) ((MATRIX_PRAS3_M3PR_Msk & ((value) << MATRIX_PRAS3_M3PR_Pos))) -#define MATRIX_PRAS3_M4PR_Pos 16 -#define MATRIX_PRAS3_M4PR_Msk (0x3u << MATRIX_PRAS3_M4PR_Pos) /**< \brief (MATRIX_PRAS3) Master 4 Priority */ -#define MATRIX_PRAS3_M4PR(value) ((MATRIX_PRAS3_M4PR_Msk & ((value) << MATRIX_PRAS3_M4PR_Pos))) -#define MATRIX_PRAS3_M5PR_Pos 20 -#define MATRIX_PRAS3_M5PR_Msk (0x3u << MATRIX_PRAS3_M5PR_Pos) /**< \brief (MATRIX_PRAS3) Master 5 Priority */ -#define MATRIX_PRAS3_M5PR(value) ((MATRIX_PRAS3_M5PR_Msk & ((value) << MATRIX_PRAS3_M5PR_Pos))) -#define MATRIX_PRAS3_M6PR_Pos 24 -#define MATRIX_PRAS3_M6PR_Msk (0x3u << MATRIX_PRAS3_M6PR_Pos) /**< \brief (MATRIX_PRAS3) Master 6 Priority */ -#define MATRIX_PRAS3_M6PR(value) ((MATRIX_PRAS3_M6PR_Msk & ((value) << MATRIX_PRAS3_M6PR_Pos))) -/* -------- MATRIX_PRBS3 : (MATRIX Offset: 0x009C) Priority Register B for Slave 3 -------- */ -#define MATRIX_PRBS3_M8PR_Pos 0 -#define MATRIX_PRBS3_M8PR_Msk (0x3u << MATRIX_PRBS3_M8PR_Pos) /**< \brief (MATRIX_PRBS3) Master 8 Priority */ -#define MATRIX_PRBS3_M8PR(value) ((MATRIX_PRBS3_M8PR_Msk & ((value) << MATRIX_PRBS3_M8PR_Pos))) -/* -------- MATRIX_PRAS4 : (MATRIX Offset: 0x00A0) Priority Register A for Slave 4 -------- */ -#define MATRIX_PRAS4_M0PR_Pos 0 -#define MATRIX_PRAS4_M0PR_Msk (0x3u << MATRIX_PRAS4_M0PR_Pos) /**< \brief (MATRIX_PRAS4) Master 0 Priority */ -#define MATRIX_PRAS4_M0PR(value) ((MATRIX_PRAS4_M0PR_Msk & ((value) << MATRIX_PRAS4_M0PR_Pos))) -#define MATRIX_PRAS4_M1PR_Pos 4 -#define MATRIX_PRAS4_M1PR_Msk (0x3u << MATRIX_PRAS4_M1PR_Pos) /**< \brief (MATRIX_PRAS4) Master 1 Priority */ -#define MATRIX_PRAS4_M1PR(value) ((MATRIX_PRAS4_M1PR_Msk & ((value) << MATRIX_PRAS4_M1PR_Pos))) -#define MATRIX_PRAS4_M2PR_Pos 8 -#define MATRIX_PRAS4_M2PR_Msk (0x3u << MATRIX_PRAS4_M2PR_Pos) /**< \brief (MATRIX_PRAS4) Master 2 Priority */ -#define MATRIX_PRAS4_M2PR(value) ((MATRIX_PRAS4_M2PR_Msk & ((value) << MATRIX_PRAS4_M2PR_Pos))) -#define MATRIX_PRAS4_M3PR_Pos 12 -#define MATRIX_PRAS4_M3PR_Msk (0x3u << MATRIX_PRAS4_M3PR_Pos) /**< \brief (MATRIX_PRAS4) Master 3 Priority */ -#define MATRIX_PRAS4_M3PR(value) ((MATRIX_PRAS4_M3PR_Msk & ((value) << MATRIX_PRAS4_M3PR_Pos))) -#define MATRIX_PRAS4_M4PR_Pos 16 -#define MATRIX_PRAS4_M4PR_Msk (0x3u << MATRIX_PRAS4_M4PR_Pos) /**< \brief (MATRIX_PRAS4) Master 4 Priority */ -#define MATRIX_PRAS4_M4PR(value) ((MATRIX_PRAS4_M4PR_Msk & ((value) << MATRIX_PRAS4_M4PR_Pos))) -#define MATRIX_PRAS4_M5PR_Pos 20 -#define MATRIX_PRAS4_M5PR_Msk (0x3u << MATRIX_PRAS4_M5PR_Pos) /**< \brief (MATRIX_PRAS4) Master 5 Priority */ -#define MATRIX_PRAS4_M5PR(value) ((MATRIX_PRAS4_M5PR_Msk & ((value) << MATRIX_PRAS4_M5PR_Pos))) -#define MATRIX_PRAS4_M6PR_Pos 24 -#define MATRIX_PRAS4_M6PR_Msk (0x3u << MATRIX_PRAS4_M6PR_Pos) /**< \brief (MATRIX_PRAS4) Master 6 Priority */ -#define MATRIX_PRAS4_M6PR(value) ((MATRIX_PRAS4_M6PR_Msk & ((value) << MATRIX_PRAS4_M6PR_Pos))) -/* -------- MATRIX_PRBS4 : (MATRIX Offset: 0x00A4) Priority Register B for Slave 4 -------- */ -#define MATRIX_PRBS4_M8PR_Pos 0 -#define MATRIX_PRBS4_M8PR_Msk (0x3u << MATRIX_PRBS4_M8PR_Pos) /**< \brief (MATRIX_PRBS4) Master 8 Priority */ -#define MATRIX_PRBS4_M8PR(value) ((MATRIX_PRBS4_M8PR_Msk & ((value) << MATRIX_PRBS4_M8PR_Pos))) -/* -------- MATRIX_PRAS5 : (MATRIX Offset: 0x00A8) Priority Register A for Slave 5 -------- */ -#define MATRIX_PRAS5_M0PR_Pos 0 -#define MATRIX_PRAS5_M0PR_Msk (0x3u << MATRIX_PRAS5_M0PR_Pos) /**< \brief (MATRIX_PRAS5) Master 0 Priority */ -#define MATRIX_PRAS5_M0PR(value) ((MATRIX_PRAS5_M0PR_Msk & ((value) << MATRIX_PRAS5_M0PR_Pos))) -#define MATRIX_PRAS5_M1PR_Pos 4 -#define MATRIX_PRAS5_M1PR_Msk (0x3u << MATRIX_PRAS5_M1PR_Pos) /**< \brief (MATRIX_PRAS5) Master 1 Priority */ -#define MATRIX_PRAS5_M1PR(value) ((MATRIX_PRAS5_M1PR_Msk & ((value) << MATRIX_PRAS5_M1PR_Pos))) -#define MATRIX_PRAS5_M2PR_Pos 8 -#define MATRIX_PRAS5_M2PR_Msk (0x3u << MATRIX_PRAS5_M2PR_Pos) /**< \brief (MATRIX_PRAS5) Master 2 Priority */ -#define MATRIX_PRAS5_M2PR(value) ((MATRIX_PRAS5_M2PR_Msk & ((value) << MATRIX_PRAS5_M2PR_Pos))) -#define MATRIX_PRAS5_M3PR_Pos 12 -#define MATRIX_PRAS5_M3PR_Msk (0x3u << MATRIX_PRAS5_M3PR_Pos) /**< \brief (MATRIX_PRAS5) Master 3 Priority */ -#define MATRIX_PRAS5_M3PR(value) ((MATRIX_PRAS5_M3PR_Msk & ((value) << MATRIX_PRAS5_M3PR_Pos))) -#define MATRIX_PRAS5_M4PR_Pos 16 -#define MATRIX_PRAS5_M4PR_Msk (0x3u << MATRIX_PRAS5_M4PR_Pos) /**< \brief (MATRIX_PRAS5) Master 4 Priority */ -#define MATRIX_PRAS5_M4PR(value) ((MATRIX_PRAS5_M4PR_Msk & ((value) << MATRIX_PRAS5_M4PR_Pos))) -#define MATRIX_PRAS5_M5PR_Pos 20 -#define MATRIX_PRAS5_M5PR_Msk (0x3u << MATRIX_PRAS5_M5PR_Pos) /**< \brief (MATRIX_PRAS5) Master 5 Priority */ -#define MATRIX_PRAS5_M5PR(value) ((MATRIX_PRAS5_M5PR_Msk & ((value) << MATRIX_PRAS5_M5PR_Pos))) -#define MATRIX_PRAS5_M6PR_Pos 24 -#define MATRIX_PRAS5_M6PR_Msk (0x3u << MATRIX_PRAS5_M6PR_Pos) /**< \brief (MATRIX_PRAS5) Master 6 Priority */ -#define MATRIX_PRAS5_M6PR(value) ((MATRIX_PRAS5_M6PR_Msk & ((value) << MATRIX_PRAS5_M6PR_Pos))) -/* -------- MATRIX_PRBS5 : (MATRIX Offset: 0x00AC) Priority Register B for Slave 5 -------- */ -#define MATRIX_PRBS5_M8PR_Pos 0 -#define MATRIX_PRBS5_M8PR_Msk (0x3u << MATRIX_PRBS5_M8PR_Pos) /**< \brief (MATRIX_PRBS5) Master 8 Priority */ -#define MATRIX_PRBS5_M8PR(value) ((MATRIX_PRBS5_M8PR_Msk & ((value) << MATRIX_PRBS5_M8PR_Pos))) -/* -------- MATRIX_PRAS6 : (MATRIX Offset: 0x00B0) Priority Register A for Slave 6 -------- */ -#define MATRIX_PRAS6_M0PR_Pos 0 -#define MATRIX_PRAS6_M0PR_Msk (0x3u << MATRIX_PRAS6_M0PR_Pos) /**< \brief (MATRIX_PRAS6) Master 0 Priority */ -#define MATRIX_PRAS6_M0PR(value) ((MATRIX_PRAS6_M0PR_Msk & ((value) << MATRIX_PRAS6_M0PR_Pos))) -#define MATRIX_PRAS6_M1PR_Pos 4 -#define MATRIX_PRAS6_M1PR_Msk (0x3u << MATRIX_PRAS6_M1PR_Pos) /**< \brief (MATRIX_PRAS6) Master 1 Priority */ -#define MATRIX_PRAS6_M1PR(value) ((MATRIX_PRAS6_M1PR_Msk & ((value) << MATRIX_PRAS6_M1PR_Pos))) -#define MATRIX_PRAS6_M2PR_Pos 8 -#define MATRIX_PRAS6_M2PR_Msk (0x3u << MATRIX_PRAS6_M2PR_Pos) /**< \brief (MATRIX_PRAS6) Master 2 Priority */ -#define MATRIX_PRAS6_M2PR(value) ((MATRIX_PRAS6_M2PR_Msk & ((value) << MATRIX_PRAS6_M2PR_Pos))) -#define MATRIX_PRAS6_M3PR_Pos 12 -#define MATRIX_PRAS6_M3PR_Msk (0x3u << MATRIX_PRAS6_M3PR_Pos) /**< \brief (MATRIX_PRAS6) Master 3 Priority */ -#define MATRIX_PRAS6_M3PR(value) ((MATRIX_PRAS6_M3PR_Msk & ((value) << MATRIX_PRAS6_M3PR_Pos))) -#define MATRIX_PRAS6_M4PR_Pos 16 -#define MATRIX_PRAS6_M4PR_Msk (0x3u << MATRIX_PRAS6_M4PR_Pos) /**< \brief (MATRIX_PRAS6) Master 4 Priority */ -#define MATRIX_PRAS6_M4PR(value) ((MATRIX_PRAS6_M4PR_Msk & ((value) << MATRIX_PRAS6_M4PR_Pos))) -#define MATRIX_PRAS6_M5PR_Pos 20 -#define MATRIX_PRAS6_M5PR_Msk (0x3u << MATRIX_PRAS6_M5PR_Pos) /**< \brief (MATRIX_PRAS6) Master 5 Priority */ -#define MATRIX_PRAS6_M5PR(value) ((MATRIX_PRAS6_M5PR_Msk & ((value) << MATRIX_PRAS6_M5PR_Pos))) -#define MATRIX_PRAS6_M6PR_Pos 24 -#define MATRIX_PRAS6_M6PR_Msk (0x3u << MATRIX_PRAS6_M6PR_Pos) /**< \brief (MATRIX_PRAS6) Master 6 Priority */ -#define MATRIX_PRAS6_M6PR(value) ((MATRIX_PRAS6_M6PR_Msk & ((value) << MATRIX_PRAS6_M6PR_Pos))) -/* -------- MATRIX_PRBS6 : (MATRIX Offset: 0x00B4) Priority Register B for Slave 6 -------- */ -#define MATRIX_PRBS6_M8PR_Pos 0 -#define MATRIX_PRBS6_M8PR_Msk (0x3u << MATRIX_PRBS6_M8PR_Pos) /**< \brief (MATRIX_PRBS6) Master 8 Priority */ -#define MATRIX_PRBS6_M8PR(value) ((MATRIX_PRBS6_M8PR_Msk & ((value) << MATRIX_PRBS6_M8PR_Pos))) -/* -------- MATRIX_PRAS7 : (MATRIX Offset: 0x00B8) Priority Register A for Slave 7 -------- */ -#define MATRIX_PRAS7_M0PR_Pos 0 -#define MATRIX_PRAS7_M0PR_Msk (0x3u << MATRIX_PRAS7_M0PR_Pos) /**< \brief (MATRIX_PRAS7) Master 0 Priority */ -#define MATRIX_PRAS7_M0PR(value) ((MATRIX_PRAS7_M0PR_Msk & ((value) << MATRIX_PRAS7_M0PR_Pos))) -#define MATRIX_PRAS7_M1PR_Pos 4 -#define MATRIX_PRAS7_M1PR_Msk (0x3u << MATRIX_PRAS7_M1PR_Pos) /**< \brief (MATRIX_PRAS7) Master 1 Priority */ -#define MATRIX_PRAS7_M1PR(value) ((MATRIX_PRAS7_M1PR_Msk & ((value) << MATRIX_PRAS7_M1PR_Pos))) -#define MATRIX_PRAS7_M2PR_Pos 8 -#define MATRIX_PRAS7_M2PR_Msk (0x3u << MATRIX_PRAS7_M2PR_Pos) /**< \brief (MATRIX_PRAS7) Master 2 Priority */ -#define MATRIX_PRAS7_M2PR(value) ((MATRIX_PRAS7_M2PR_Msk & ((value) << MATRIX_PRAS7_M2PR_Pos))) -#define MATRIX_PRAS7_M3PR_Pos 12 -#define MATRIX_PRAS7_M3PR_Msk (0x3u << MATRIX_PRAS7_M3PR_Pos) /**< \brief (MATRIX_PRAS7) Master 3 Priority */ -#define MATRIX_PRAS7_M3PR(value) ((MATRIX_PRAS7_M3PR_Msk & ((value) << MATRIX_PRAS7_M3PR_Pos))) -#define MATRIX_PRAS7_M4PR_Pos 16 -#define MATRIX_PRAS7_M4PR_Msk (0x3u << MATRIX_PRAS7_M4PR_Pos) /**< \brief (MATRIX_PRAS7) Master 4 Priority */ -#define MATRIX_PRAS7_M4PR(value) ((MATRIX_PRAS7_M4PR_Msk & ((value) << MATRIX_PRAS7_M4PR_Pos))) -#define MATRIX_PRAS7_M5PR_Pos 20 -#define MATRIX_PRAS7_M5PR_Msk (0x3u << MATRIX_PRAS7_M5PR_Pos) /**< \brief (MATRIX_PRAS7) Master 5 Priority */ -#define MATRIX_PRAS7_M5PR(value) ((MATRIX_PRAS7_M5PR_Msk & ((value) << MATRIX_PRAS7_M5PR_Pos))) -#define MATRIX_PRAS7_M6PR_Pos 24 -#define MATRIX_PRAS7_M6PR_Msk (0x3u << MATRIX_PRAS7_M6PR_Pos) /**< \brief (MATRIX_PRAS7) Master 6 Priority */ -#define MATRIX_PRAS7_M6PR(value) ((MATRIX_PRAS7_M6PR_Msk & ((value) << MATRIX_PRAS7_M6PR_Pos))) -/* -------- MATRIX_PRBS7 : (MATRIX Offset: 0x00BC) Priority Register B for Slave 7 -------- */ -#define MATRIX_PRBS7_M8PR_Pos 0 -#define MATRIX_PRBS7_M8PR_Msk (0x3u << MATRIX_PRBS7_M8PR_Pos) /**< \brief (MATRIX_PRBS7) Master 8 Priority */ -#define MATRIX_PRBS7_M8PR(value) ((MATRIX_PRBS7_M8PR_Msk & ((value) << MATRIX_PRBS7_M8PR_Pos))) -/* -------- MATRIX_PRAS8 : (MATRIX Offset: 0x00C0) Priority Register A for Slave 8 -------- */ -#define MATRIX_PRAS8_M0PR_Pos 0 -#define MATRIX_PRAS8_M0PR_Msk (0x3u << MATRIX_PRAS8_M0PR_Pos) /**< \brief (MATRIX_PRAS8) Master 0 Priority */ -#define MATRIX_PRAS8_M0PR(value) ((MATRIX_PRAS8_M0PR_Msk & ((value) << MATRIX_PRAS8_M0PR_Pos))) -#define MATRIX_PRAS8_M1PR_Pos 4 -#define MATRIX_PRAS8_M1PR_Msk (0x3u << MATRIX_PRAS8_M1PR_Pos) /**< \brief (MATRIX_PRAS8) Master 1 Priority */ -#define MATRIX_PRAS8_M1PR(value) ((MATRIX_PRAS8_M1PR_Msk & ((value) << MATRIX_PRAS8_M1PR_Pos))) -#define MATRIX_PRAS8_M2PR_Pos 8 -#define MATRIX_PRAS8_M2PR_Msk (0x3u << MATRIX_PRAS8_M2PR_Pos) /**< \brief (MATRIX_PRAS8) Master 2 Priority */ -#define MATRIX_PRAS8_M2PR(value) ((MATRIX_PRAS8_M2PR_Msk & ((value) << MATRIX_PRAS8_M2PR_Pos))) -#define MATRIX_PRAS8_M3PR_Pos 12 -#define MATRIX_PRAS8_M3PR_Msk (0x3u << MATRIX_PRAS8_M3PR_Pos) /**< \brief (MATRIX_PRAS8) Master 3 Priority */ -#define MATRIX_PRAS8_M3PR(value) ((MATRIX_PRAS8_M3PR_Msk & ((value) << MATRIX_PRAS8_M3PR_Pos))) -#define MATRIX_PRAS8_M4PR_Pos 16 -#define MATRIX_PRAS8_M4PR_Msk (0x3u << MATRIX_PRAS8_M4PR_Pos) /**< \brief (MATRIX_PRAS8) Master 4 Priority */ -#define MATRIX_PRAS8_M4PR(value) ((MATRIX_PRAS8_M4PR_Msk & ((value) << MATRIX_PRAS8_M4PR_Pos))) -#define MATRIX_PRAS8_M5PR_Pos 20 -#define MATRIX_PRAS8_M5PR_Msk (0x3u << MATRIX_PRAS8_M5PR_Pos) /**< \brief (MATRIX_PRAS8) Master 5 Priority */ -#define MATRIX_PRAS8_M5PR(value) ((MATRIX_PRAS8_M5PR_Msk & ((value) << MATRIX_PRAS8_M5PR_Pos))) -#define MATRIX_PRAS8_M6PR_Pos 24 -#define MATRIX_PRAS8_M6PR_Msk (0x3u << MATRIX_PRAS8_M6PR_Pos) /**< \brief (MATRIX_PRAS8) Master 6 Priority */ -#define MATRIX_PRAS8_M6PR(value) ((MATRIX_PRAS8_M6PR_Msk & ((value) << MATRIX_PRAS8_M6PR_Pos))) -/* -------- MATRIX_PRBS8 : (MATRIX Offset: 0x00C4) Priority Register B for Slave 8 -------- */ -#define MATRIX_PRBS8_M8PR_Pos 0 -#define MATRIX_PRBS8_M8PR_Msk (0x3u << MATRIX_PRBS8_M8PR_Pos) /**< \brief (MATRIX_PRBS8) Master 8 Priority */ -#define MATRIX_PRBS8_M8PR(value) ((MATRIX_PRBS8_M8PR_Msk & ((value) << MATRIX_PRBS8_M8PR_Pos))) -/* -------- MATRIX_MRCR : (MATRIX Offset: 0x0100) Master Remap Control Register -------- */ -#define MATRIX_MRCR_RCB0 (0x1u << 0) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 0 */ -#define MATRIX_MRCR_RCB1 (0x1u << 1) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 1 */ -#define MATRIX_MRCR_RCB2 (0x1u << 2) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 2 */ -#define MATRIX_MRCR_RCB3 (0x1u << 3) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 3 */ -#define MATRIX_MRCR_RCB4 (0x1u << 4) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 4 */ -#define MATRIX_MRCR_RCB5 (0x1u << 5) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 5 */ -#define MATRIX_MRCR_RCB6 (0x1u << 6) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 6 */ -#define MATRIX_MRCR_RCB8 (0x1u << 8) /**< \brief (MATRIX_MRCR) Remap Command Bit for Master 8 */ -/* -------- CCFG_SYSIO : (MATRIX Offset: 0x0114) System I/O Configuration Register -------- */ -#define CCFG_SYSIO_SYSIO4 (0x1u << 4) /**< \brief (CCFG_SYSIO) PB4 or TDI Assignment */ -#define CCFG_SYSIO_SYSIO5 (0x1u << 5) /**< \brief (CCFG_SYSIO) PB5 or TDO/TRACESWO Assignment */ -#define CCFG_SYSIO_SYSIO6 (0x1u << 6) /**< \brief (CCFG_SYSIO) PB6 or TMS/SWDIO Assignment */ -#define CCFG_SYSIO_SYSIO7 (0x1u << 7) /**< \brief (CCFG_SYSIO) PB7 or TCK/SWCLK Assignment */ -#define CCFG_SYSIO_SYSIO12 (0x1u << 12) /**< \brief (CCFG_SYSIO) PB12 or ERASE Assignment */ -/* -------- CCFG_SMCNFCS : (MATRIX Offset: 0x0124) SMC NAND Flash Chip Select Configuration Register -------- */ -#define CCFG_SMCNFCS_SMC_NFCS0 (0x1u << 0) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 0 Assignment */ -#define CCFG_SMCNFCS_SMC_NFCS1 (0x1u << 1) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 1 Assignment */ -#define CCFG_SMCNFCS_SMC_NFCS2 (0x1u << 2) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 2 Assignment */ -#define CCFG_SMCNFCS_SMC_NFCS3 (0x1u << 3) /**< \brief (CCFG_SMCNFCS) SMC NAND Flash Chip Select 3 Assignment */ -#define CCFG_SMCNFCS_SDRAMEN (0x1u << 4) /**< \brief (CCFG_SMCNFCS) SDRAM Enable */ -/* -------- MATRIX_WPMR : (MATRIX Offset: 0x01E4) Write Protection Mode Register -------- */ -#define MATRIX_WPMR_WPEN (0x1u << 0) /**< \brief (MATRIX_WPMR) Write Protection Enable */ -#define MATRIX_WPMR_WPKEY_Pos 8 -#define MATRIX_WPMR_WPKEY_Msk (0xffffffu << MATRIX_WPMR_WPKEY_Pos) /**< \brief (MATRIX_WPMR) Write Protection Key */ -#define MATRIX_WPMR_WPKEY(value) ((MATRIX_WPMR_WPKEY_Msk & ((value) << MATRIX_WPMR_WPKEY_Pos))) -#define MATRIX_WPMR_WPKEY_PASSWD (0x4D4154u << 8) /**< \brief (MATRIX_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- MATRIX_WPSR : (MATRIX Offset: 0x01E8) Write Protection Status Register -------- */ -#define MATRIX_WPSR_WPVS (0x1u << 0) /**< \brief (MATRIX_WPSR) Write Protection Violation Status */ -#define MATRIX_WPSR_WPVSRC_Pos 8 -#define MATRIX_WPSR_WPVSRC_Msk (0xffffu << MATRIX_WPSR_WPVSRC_Pos) /**< \brief (MATRIX_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_MATRIX_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h deleted file mode 100644 index 94bc5c2..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pio.h +++ /dev/null @@ -1,1629 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIO_COMPONENT_ -#define _SAMS70_PIO_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Parallel Input/Output Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_PIO Parallel Input/Output Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Pio hardware registers */ -typedef struct { - __O uint32_t PIO_PER; /**< \brief (Pio Offset: 0x0000) PIO Enable Register */ - __O uint32_t PIO_PDR; /**< \brief (Pio Offset: 0x0004) PIO Disable Register */ - __I uint32_t PIO_PSR; /**< \brief (Pio Offset: 0x0008) PIO Status Register */ - __I uint32_t Reserved1[1]; - __O uint32_t PIO_OER; /**< \brief (Pio Offset: 0x0010) Output Enable Register */ - __O uint32_t PIO_ODR; /**< \brief (Pio Offset: 0x0014) Output Disable Register */ - __I uint32_t PIO_OSR; /**< \brief (Pio Offset: 0x0018) Output Status Register */ - __I uint32_t Reserved2[1]; - __O uint32_t PIO_IFER; /**< \brief (Pio Offset: 0x0020) Glitch Input Filter Enable Register */ - __O uint32_t PIO_IFDR; /**< \brief (Pio Offset: 0x0024) Glitch Input Filter Disable Register */ - __I uint32_t PIO_IFSR; /**< \brief (Pio Offset: 0x0028) Glitch Input Filter Status Register */ - __I uint32_t Reserved3[1]; - __O uint32_t PIO_SODR; /**< \brief (Pio Offset: 0x0030) Set Output Data Register */ - __O uint32_t PIO_CODR; /**< \brief (Pio Offset: 0x0034) Clear Output Data Register */ - __IO uint32_t PIO_ODSR; /**< \brief (Pio Offset: 0x0038) Output Data Status Register */ - __I uint32_t PIO_PDSR; /**< \brief (Pio Offset: 0x003C) Pin Data Status Register */ - __O uint32_t PIO_IER; /**< \brief (Pio Offset: 0x0040) Interrupt Enable Register */ - __O uint32_t PIO_IDR; /**< \brief (Pio Offset: 0x0044) Interrupt Disable Register */ - __I uint32_t PIO_IMR; /**< \brief (Pio Offset: 0x0048) Interrupt Mask Register */ - __I uint32_t PIO_ISR; /**< \brief (Pio Offset: 0x004C) Interrupt Status Register */ - __O uint32_t PIO_MDER; /**< \brief (Pio Offset: 0x0050) Multi-driver Enable Register */ - __O uint32_t PIO_MDDR; /**< \brief (Pio Offset: 0x0054) Multi-driver Disable Register */ - __I uint32_t PIO_MDSR; /**< \brief (Pio Offset: 0x0058) Multi-driver Status Register */ - __I uint32_t Reserved4[1]; - __O uint32_t PIO_PUDR; /**< \brief (Pio Offset: 0x0060) Pull-up Disable Register */ - __O uint32_t PIO_PUER; /**< \brief (Pio Offset: 0x0064) Pull-up Enable Register */ - __I uint32_t PIO_PUSR; /**< \brief (Pio Offset: 0x0068) Pad Pull-up Status Register */ - __I uint32_t Reserved5[1]; - __IO uint32_t PIO_ABCDSR[2]; /**< \brief (Pio Offset: 0x0070) Peripheral Select Register */ - __I uint32_t Reserved6[2]; - __O uint32_t PIO_IFSCDR; /**< \brief (Pio Offset: 0x0080) Input Filter Slow Clock Disable Register */ - __O uint32_t PIO_IFSCER; /**< \brief (Pio Offset: 0x0084) Input Filter Slow Clock Enable Register */ - __I uint32_t PIO_IFSCSR; /**< \brief (Pio Offset: 0x0088) Input Filter Slow Clock Status Register */ - __IO uint32_t PIO_SCDR; /**< \brief (Pio Offset: 0x008C) Slow Clock Divider Debouncing Register */ - __O uint32_t PIO_PPDDR; /**< \brief (Pio Offset: 0x0090) Pad Pull-down Disable Register */ - __O uint32_t PIO_PPDER; /**< \brief (Pio Offset: 0x0094) Pad Pull-down Enable Register */ - __I uint32_t PIO_PPDSR; /**< \brief (Pio Offset: 0x0098) Pad Pull-down Status Register */ - __I uint32_t Reserved7[1]; - __O uint32_t PIO_OWER; /**< \brief (Pio Offset: 0x00A0) Output Write Enable */ - __O uint32_t PIO_OWDR; /**< \brief (Pio Offset: 0x00A4) Output Write Disable */ - __I uint32_t PIO_OWSR; /**< \brief (Pio Offset: 0x00A8) Output Write Status Register */ - __I uint32_t Reserved8[1]; - __O uint32_t PIO_AIMER; /**< \brief (Pio Offset: 0x00B0) Additional Interrupt Modes Enable Register */ - __O uint32_t PIO_AIMDR; /**< \brief (Pio Offset: 0x00B4) Additional Interrupt Modes Disable Register */ - __I uint32_t PIO_AIMMR; /**< \brief (Pio Offset: 0x00B8) Additional Interrupt Modes Mask Register */ - __I uint32_t Reserved9[1]; - __O uint32_t PIO_ESR; /**< \brief (Pio Offset: 0x00C0) Edge Select Register */ - __O uint32_t PIO_LSR; /**< \brief (Pio Offset: 0x00C4) Level Select Register */ - __I uint32_t PIO_ELSR; /**< \brief (Pio Offset: 0x00C8) Edge/Level Status Register */ - __I uint32_t Reserved10[1]; - __O uint32_t PIO_FELLSR; /**< \brief (Pio Offset: 0x00D0) Falling Edge/Low-Level Select Register */ - __O uint32_t PIO_REHLSR; /**< \brief (Pio Offset: 0x00D4) Rising Edge/High-Level Select Register */ - __I uint32_t PIO_FRLHSR; /**< \brief (Pio Offset: 0x00D8) Fall/Rise - Low/High Status Register */ - __I uint32_t Reserved11[1]; - __I uint32_t PIO_LOCKSR; /**< \brief (Pio Offset: 0x00E0) Lock Status */ - __IO uint32_t PIO_WPMR; /**< \brief (Pio Offset: 0x00E4) Write Protection Mode Register */ - __I uint32_t PIO_WPSR; /**< \brief (Pio Offset: 0x00E8) Write Protection Status Register */ - __I uint32_t Reserved12[5]; - __IO uint32_t PIO_SCHMITT; /**< \brief (Pio Offset: 0x0100) Schmitt Trigger Register */ - __I uint32_t Reserved13[5]; - __IO uint32_t PIO_DRIVER; /**< \brief (Pio Offset: 0x0118) I/O Drive Register */ - __I uint32_t Reserved14[13]; - __IO uint32_t PIO_PCMR; /**< \brief (Pio Offset: 0x0150) Parallel Capture Mode Register */ - __O uint32_t PIO_PCIER; /**< \brief (Pio Offset: 0x0154) Parallel Capture Interrupt Enable Register */ - __O uint32_t PIO_PCIDR; /**< \brief (Pio Offset: 0x0158) Parallel Capture Interrupt Disable Register */ - __I uint32_t PIO_PCIMR; /**< \brief (Pio Offset: 0x015C) Parallel Capture Interrupt Mask Register */ - __I uint32_t PIO_PCISR; /**< \brief (Pio Offset: 0x0160) Parallel Capture Interrupt Status Register */ - __I uint32_t PIO_PCRHR; /**< \brief (Pio Offset: 0x0164) Parallel Capture Reception Holding Register */ -} Pio; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- PIO_PER : (PIO Offset: 0x0000) PIO Enable Register -------- */ -#define PIO_PER_P0 (0x1u << 0) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P1 (0x1u << 1) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P2 (0x1u << 2) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P3 (0x1u << 3) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P4 (0x1u << 4) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P5 (0x1u << 5) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P6 (0x1u << 6) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P7 (0x1u << 7) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P8 (0x1u << 8) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P9 (0x1u << 9) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P10 (0x1u << 10) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P11 (0x1u << 11) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P12 (0x1u << 12) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P13 (0x1u << 13) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P14 (0x1u << 14) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P15 (0x1u << 15) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P16 (0x1u << 16) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P17 (0x1u << 17) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P18 (0x1u << 18) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P19 (0x1u << 19) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P20 (0x1u << 20) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P21 (0x1u << 21) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P22 (0x1u << 22) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P23 (0x1u << 23) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P24 (0x1u << 24) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P25 (0x1u << 25) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P26 (0x1u << 26) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P27 (0x1u << 27) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P28 (0x1u << 28) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P29 (0x1u << 29) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P30 (0x1u << 30) /**< \brief (PIO_PER) PIO Enable */ -#define PIO_PER_P31 (0x1u << 31) /**< \brief (PIO_PER) PIO Enable */ -/* -------- PIO_PDR : (PIO Offset: 0x0004) PIO Disable Register -------- */ -#define PIO_PDR_P0 (0x1u << 0) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P1 (0x1u << 1) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P2 (0x1u << 2) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P3 (0x1u << 3) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P4 (0x1u << 4) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P5 (0x1u << 5) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P6 (0x1u << 6) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P7 (0x1u << 7) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P8 (0x1u << 8) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P9 (0x1u << 9) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P10 (0x1u << 10) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P11 (0x1u << 11) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P12 (0x1u << 12) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P13 (0x1u << 13) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P14 (0x1u << 14) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P15 (0x1u << 15) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P16 (0x1u << 16) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P17 (0x1u << 17) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P18 (0x1u << 18) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P19 (0x1u << 19) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P20 (0x1u << 20) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P21 (0x1u << 21) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P22 (0x1u << 22) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P23 (0x1u << 23) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P24 (0x1u << 24) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P25 (0x1u << 25) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P26 (0x1u << 26) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P27 (0x1u << 27) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P28 (0x1u << 28) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P29 (0x1u << 29) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P30 (0x1u << 30) /**< \brief (PIO_PDR) PIO Disable */ -#define PIO_PDR_P31 (0x1u << 31) /**< \brief (PIO_PDR) PIO Disable */ -/* -------- PIO_PSR : (PIO Offset: 0x0008) PIO Status Register -------- */ -#define PIO_PSR_P0 (0x1u << 0) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P1 (0x1u << 1) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P2 (0x1u << 2) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P3 (0x1u << 3) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P4 (0x1u << 4) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P5 (0x1u << 5) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P6 (0x1u << 6) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P7 (0x1u << 7) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P8 (0x1u << 8) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P9 (0x1u << 9) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P10 (0x1u << 10) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P11 (0x1u << 11) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P12 (0x1u << 12) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P13 (0x1u << 13) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P14 (0x1u << 14) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P15 (0x1u << 15) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P16 (0x1u << 16) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P17 (0x1u << 17) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P18 (0x1u << 18) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P19 (0x1u << 19) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P20 (0x1u << 20) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P21 (0x1u << 21) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P22 (0x1u << 22) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P23 (0x1u << 23) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P24 (0x1u << 24) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P25 (0x1u << 25) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P26 (0x1u << 26) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P27 (0x1u << 27) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P28 (0x1u << 28) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P29 (0x1u << 29) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P30 (0x1u << 30) /**< \brief (PIO_PSR) PIO Status */ -#define PIO_PSR_P31 (0x1u << 31) /**< \brief (PIO_PSR) PIO Status */ -/* -------- PIO_OER : (PIO Offset: 0x0010) Output Enable Register -------- */ -#define PIO_OER_P0 (0x1u << 0) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P1 (0x1u << 1) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P2 (0x1u << 2) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P3 (0x1u << 3) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P4 (0x1u << 4) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P5 (0x1u << 5) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P6 (0x1u << 6) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P7 (0x1u << 7) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P8 (0x1u << 8) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P9 (0x1u << 9) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P10 (0x1u << 10) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P11 (0x1u << 11) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P12 (0x1u << 12) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P13 (0x1u << 13) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P14 (0x1u << 14) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P15 (0x1u << 15) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P16 (0x1u << 16) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P17 (0x1u << 17) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P18 (0x1u << 18) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P19 (0x1u << 19) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P20 (0x1u << 20) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P21 (0x1u << 21) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P22 (0x1u << 22) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P23 (0x1u << 23) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P24 (0x1u << 24) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P25 (0x1u << 25) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P26 (0x1u << 26) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P27 (0x1u << 27) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P28 (0x1u << 28) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P29 (0x1u << 29) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P30 (0x1u << 30) /**< \brief (PIO_OER) Output Enable */ -#define PIO_OER_P31 (0x1u << 31) /**< \brief (PIO_OER) Output Enable */ -/* -------- PIO_ODR : (PIO Offset: 0x0014) Output Disable Register -------- */ -#define PIO_ODR_P0 (0x1u << 0) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P1 (0x1u << 1) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P2 (0x1u << 2) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P3 (0x1u << 3) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P4 (0x1u << 4) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P5 (0x1u << 5) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P6 (0x1u << 6) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P7 (0x1u << 7) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P8 (0x1u << 8) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P9 (0x1u << 9) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P10 (0x1u << 10) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P11 (0x1u << 11) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P12 (0x1u << 12) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P13 (0x1u << 13) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P14 (0x1u << 14) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P15 (0x1u << 15) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P16 (0x1u << 16) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P17 (0x1u << 17) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P18 (0x1u << 18) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P19 (0x1u << 19) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P20 (0x1u << 20) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P21 (0x1u << 21) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P22 (0x1u << 22) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P23 (0x1u << 23) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P24 (0x1u << 24) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P25 (0x1u << 25) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P26 (0x1u << 26) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P27 (0x1u << 27) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P28 (0x1u << 28) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P29 (0x1u << 29) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P30 (0x1u << 30) /**< \brief (PIO_ODR) Output Disable */ -#define PIO_ODR_P31 (0x1u << 31) /**< \brief (PIO_ODR) Output Disable */ -/* -------- PIO_OSR : (PIO Offset: 0x0018) Output Status Register -------- */ -#define PIO_OSR_P0 (0x1u << 0) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P1 (0x1u << 1) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P2 (0x1u << 2) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P3 (0x1u << 3) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P4 (0x1u << 4) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P5 (0x1u << 5) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P6 (0x1u << 6) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P7 (0x1u << 7) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P8 (0x1u << 8) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P9 (0x1u << 9) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P10 (0x1u << 10) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P11 (0x1u << 11) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P12 (0x1u << 12) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P13 (0x1u << 13) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P14 (0x1u << 14) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P15 (0x1u << 15) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P16 (0x1u << 16) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P17 (0x1u << 17) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P18 (0x1u << 18) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P19 (0x1u << 19) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P20 (0x1u << 20) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P21 (0x1u << 21) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P22 (0x1u << 22) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P23 (0x1u << 23) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P24 (0x1u << 24) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P25 (0x1u << 25) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P26 (0x1u << 26) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P27 (0x1u << 27) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P28 (0x1u << 28) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P29 (0x1u << 29) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P30 (0x1u << 30) /**< \brief (PIO_OSR) Output Status */ -#define PIO_OSR_P31 (0x1u << 31) /**< \brief (PIO_OSR) Output Status */ -/* -------- PIO_IFER : (PIO Offset: 0x0020) Glitch Input Filter Enable Register -------- */ -#define PIO_IFER_P0 (0x1u << 0) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P1 (0x1u << 1) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P2 (0x1u << 2) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P3 (0x1u << 3) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P4 (0x1u << 4) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P5 (0x1u << 5) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P6 (0x1u << 6) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P7 (0x1u << 7) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P8 (0x1u << 8) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P9 (0x1u << 9) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P10 (0x1u << 10) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P11 (0x1u << 11) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P12 (0x1u << 12) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P13 (0x1u << 13) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P14 (0x1u << 14) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P15 (0x1u << 15) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P16 (0x1u << 16) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P17 (0x1u << 17) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P18 (0x1u << 18) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P19 (0x1u << 19) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P20 (0x1u << 20) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P21 (0x1u << 21) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P22 (0x1u << 22) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P23 (0x1u << 23) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P24 (0x1u << 24) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P25 (0x1u << 25) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P26 (0x1u << 26) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P27 (0x1u << 27) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P28 (0x1u << 28) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P29 (0x1u << 29) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P30 (0x1u << 30) /**< \brief (PIO_IFER) Input Filter Enable */ -#define PIO_IFER_P31 (0x1u << 31) /**< \brief (PIO_IFER) Input Filter Enable */ -/* -------- PIO_IFDR : (PIO Offset: 0x0024) Glitch Input Filter Disable Register -------- */ -#define PIO_IFDR_P0 (0x1u << 0) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P1 (0x1u << 1) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P2 (0x1u << 2) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P3 (0x1u << 3) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P4 (0x1u << 4) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P5 (0x1u << 5) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P6 (0x1u << 6) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P7 (0x1u << 7) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P8 (0x1u << 8) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P9 (0x1u << 9) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P10 (0x1u << 10) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P11 (0x1u << 11) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P12 (0x1u << 12) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P13 (0x1u << 13) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P14 (0x1u << 14) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P15 (0x1u << 15) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P16 (0x1u << 16) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P17 (0x1u << 17) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P18 (0x1u << 18) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P19 (0x1u << 19) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P20 (0x1u << 20) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P21 (0x1u << 21) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P22 (0x1u << 22) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P23 (0x1u << 23) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P24 (0x1u << 24) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P25 (0x1u << 25) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P26 (0x1u << 26) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P27 (0x1u << 27) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P28 (0x1u << 28) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P29 (0x1u << 29) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P30 (0x1u << 30) /**< \brief (PIO_IFDR) Input Filter Disable */ -#define PIO_IFDR_P31 (0x1u << 31) /**< \brief (PIO_IFDR) Input Filter Disable */ -/* -------- PIO_IFSR : (PIO Offset: 0x0028) Glitch Input Filter Status Register -------- */ -#define PIO_IFSR_P0 (0x1u << 0) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P1 (0x1u << 1) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P2 (0x1u << 2) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P3 (0x1u << 3) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P4 (0x1u << 4) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P5 (0x1u << 5) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P6 (0x1u << 6) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P7 (0x1u << 7) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P8 (0x1u << 8) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P9 (0x1u << 9) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P10 (0x1u << 10) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P11 (0x1u << 11) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P12 (0x1u << 12) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P13 (0x1u << 13) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P14 (0x1u << 14) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P15 (0x1u << 15) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P16 (0x1u << 16) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P17 (0x1u << 17) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P18 (0x1u << 18) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P19 (0x1u << 19) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P20 (0x1u << 20) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P21 (0x1u << 21) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P22 (0x1u << 22) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P23 (0x1u << 23) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P24 (0x1u << 24) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P25 (0x1u << 25) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P26 (0x1u << 26) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P27 (0x1u << 27) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P28 (0x1u << 28) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P29 (0x1u << 29) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P30 (0x1u << 30) /**< \brief (PIO_IFSR) Input Filter Status */ -#define PIO_IFSR_P31 (0x1u << 31) /**< \brief (PIO_IFSR) Input Filter Status */ -/* -------- PIO_SODR : (PIO Offset: 0x0030) Set Output Data Register -------- */ -#define PIO_SODR_P0 (0x1u << 0) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P1 (0x1u << 1) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P2 (0x1u << 2) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P3 (0x1u << 3) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P4 (0x1u << 4) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P5 (0x1u << 5) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P6 (0x1u << 6) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P7 (0x1u << 7) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P8 (0x1u << 8) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P9 (0x1u << 9) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P10 (0x1u << 10) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P11 (0x1u << 11) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P12 (0x1u << 12) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P13 (0x1u << 13) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P14 (0x1u << 14) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P15 (0x1u << 15) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P16 (0x1u << 16) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P17 (0x1u << 17) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P18 (0x1u << 18) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P19 (0x1u << 19) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P20 (0x1u << 20) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P21 (0x1u << 21) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P22 (0x1u << 22) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P23 (0x1u << 23) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P24 (0x1u << 24) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P25 (0x1u << 25) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P26 (0x1u << 26) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P27 (0x1u << 27) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P28 (0x1u << 28) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P29 (0x1u << 29) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P30 (0x1u << 30) /**< \brief (PIO_SODR) Set Output Data */ -#define PIO_SODR_P31 (0x1u << 31) /**< \brief (PIO_SODR) Set Output Data */ -/* -------- PIO_CODR : (PIO Offset: 0x0034) Clear Output Data Register -------- */ -#define PIO_CODR_P0 (0x1u << 0) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P1 (0x1u << 1) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P2 (0x1u << 2) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P3 (0x1u << 3) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P4 (0x1u << 4) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P5 (0x1u << 5) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P6 (0x1u << 6) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P7 (0x1u << 7) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P8 (0x1u << 8) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P9 (0x1u << 9) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P10 (0x1u << 10) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P11 (0x1u << 11) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P12 (0x1u << 12) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P13 (0x1u << 13) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P14 (0x1u << 14) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P15 (0x1u << 15) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P16 (0x1u << 16) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P17 (0x1u << 17) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P18 (0x1u << 18) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P19 (0x1u << 19) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P20 (0x1u << 20) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P21 (0x1u << 21) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P22 (0x1u << 22) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P23 (0x1u << 23) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P24 (0x1u << 24) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P25 (0x1u << 25) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P26 (0x1u << 26) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P27 (0x1u << 27) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P28 (0x1u << 28) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P29 (0x1u << 29) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P30 (0x1u << 30) /**< \brief (PIO_CODR) Clear Output Data */ -#define PIO_CODR_P31 (0x1u << 31) /**< \brief (PIO_CODR) Clear Output Data */ -/* -------- PIO_ODSR : (PIO Offset: 0x0038) Output Data Status Register -------- */ -#define PIO_ODSR_P0 (0x1u << 0) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P1 (0x1u << 1) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P2 (0x1u << 2) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P3 (0x1u << 3) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P4 (0x1u << 4) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P5 (0x1u << 5) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P6 (0x1u << 6) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P7 (0x1u << 7) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P8 (0x1u << 8) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P9 (0x1u << 9) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P10 (0x1u << 10) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P11 (0x1u << 11) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P12 (0x1u << 12) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P13 (0x1u << 13) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P14 (0x1u << 14) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P15 (0x1u << 15) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P16 (0x1u << 16) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P17 (0x1u << 17) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P18 (0x1u << 18) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P19 (0x1u << 19) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P20 (0x1u << 20) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P21 (0x1u << 21) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P22 (0x1u << 22) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P23 (0x1u << 23) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P24 (0x1u << 24) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P25 (0x1u << 25) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P26 (0x1u << 26) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P27 (0x1u << 27) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P28 (0x1u << 28) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P29 (0x1u << 29) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P30 (0x1u << 30) /**< \brief (PIO_ODSR) Output Data Status */ -#define PIO_ODSR_P31 (0x1u << 31) /**< \brief (PIO_ODSR) Output Data Status */ -/* -------- PIO_PDSR : (PIO Offset: 0x003C) Pin Data Status Register -------- */ -#define PIO_PDSR_P0 (0x1u << 0) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P1 (0x1u << 1) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P2 (0x1u << 2) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P3 (0x1u << 3) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P4 (0x1u << 4) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P5 (0x1u << 5) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P6 (0x1u << 6) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P7 (0x1u << 7) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P8 (0x1u << 8) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P9 (0x1u << 9) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P10 (0x1u << 10) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P11 (0x1u << 11) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P12 (0x1u << 12) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P13 (0x1u << 13) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P14 (0x1u << 14) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P15 (0x1u << 15) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P16 (0x1u << 16) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P17 (0x1u << 17) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P18 (0x1u << 18) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P19 (0x1u << 19) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P20 (0x1u << 20) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P21 (0x1u << 21) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P22 (0x1u << 22) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P23 (0x1u << 23) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P24 (0x1u << 24) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P25 (0x1u << 25) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P26 (0x1u << 26) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P27 (0x1u << 27) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P28 (0x1u << 28) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P29 (0x1u << 29) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P30 (0x1u << 30) /**< \brief (PIO_PDSR) Output Data Status */ -#define PIO_PDSR_P31 (0x1u << 31) /**< \brief (PIO_PDSR) Output Data Status */ -/* -------- PIO_IER : (PIO Offset: 0x0040) Interrupt Enable Register -------- */ -#define PIO_IER_P0 (0x1u << 0) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P1 (0x1u << 1) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P2 (0x1u << 2) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P3 (0x1u << 3) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P4 (0x1u << 4) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P5 (0x1u << 5) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P6 (0x1u << 6) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P7 (0x1u << 7) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P8 (0x1u << 8) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P9 (0x1u << 9) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P10 (0x1u << 10) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P11 (0x1u << 11) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P12 (0x1u << 12) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P13 (0x1u << 13) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P14 (0x1u << 14) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P15 (0x1u << 15) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P16 (0x1u << 16) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P17 (0x1u << 17) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P18 (0x1u << 18) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P19 (0x1u << 19) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P20 (0x1u << 20) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P21 (0x1u << 21) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P22 (0x1u << 22) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P23 (0x1u << 23) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P24 (0x1u << 24) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P25 (0x1u << 25) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P26 (0x1u << 26) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P27 (0x1u << 27) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P28 (0x1u << 28) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P29 (0x1u << 29) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P30 (0x1u << 30) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -#define PIO_IER_P31 (0x1u << 31) /**< \brief (PIO_IER) Input Change Interrupt Enable */ -/* -------- PIO_IDR : (PIO Offset: 0x0044) Interrupt Disable Register -------- */ -#define PIO_IDR_P0 (0x1u << 0) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P1 (0x1u << 1) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P2 (0x1u << 2) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P3 (0x1u << 3) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P4 (0x1u << 4) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P5 (0x1u << 5) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P6 (0x1u << 6) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P7 (0x1u << 7) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P8 (0x1u << 8) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P9 (0x1u << 9) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P10 (0x1u << 10) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P11 (0x1u << 11) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P12 (0x1u << 12) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P13 (0x1u << 13) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P14 (0x1u << 14) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P15 (0x1u << 15) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P16 (0x1u << 16) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P17 (0x1u << 17) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P18 (0x1u << 18) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P19 (0x1u << 19) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P20 (0x1u << 20) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P21 (0x1u << 21) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P22 (0x1u << 22) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P23 (0x1u << 23) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P24 (0x1u << 24) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P25 (0x1u << 25) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P26 (0x1u << 26) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P27 (0x1u << 27) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P28 (0x1u << 28) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P29 (0x1u << 29) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P30 (0x1u << 30) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -#define PIO_IDR_P31 (0x1u << 31) /**< \brief (PIO_IDR) Input Change Interrupt Disable */ -/* -------- PIO_IMR : (PIO Offset: 0x0048) Interrupt Mask Register -------- */ -#define PIO_IMR_P0 (0x1u << 0) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P1 (0x1u << 1) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P2 (0x1u << 2) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P3 (0x1u << 3) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P4 (0x1u << 4) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P5 (0x1u << 5) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P6 (0x1u << 6) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P7 (0x1u << 7) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P8 (0x1u << 8) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P9 (0x1u << 9) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P10 (0x1u << 10) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P11 (0x1u << 11) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P12 (0x1u << 12) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P13 (0x1u << 13) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P14 (0x1u << 14) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P15 (0x1u << 15) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P16 (0x1u << 16) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P17 (0x1u << 17) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P18 (0x1u << 18) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P19 (0x1u << 19) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P20 (0x1u << 20) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P21 (0x1u << 21) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P22 (0x1u << 22) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P23 (0x1u << 23) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P24 (0x1u << 24) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P25 (0x1u << 25) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P26 (0x1u << 26) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P27 (0x1u << 27) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P28 (0x1u << 28) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P29 (0x1u << 29) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P30 (0x1u << 30) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -#define PIO_IMR_P31 (0x1u << 31) /**< \brief (PIO_IMR) Input Change Interrupt Mask */ -/* -------- PIO_ISR : (PIO Offset: 0x004C) Interrupt Status Register -------- */ -#define PIO_ISR_P0 (0x1u << 0) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P1 (0x1u << 1) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P2 (0x1u << 2) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P3 (0x1u << 3) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P4 (0x1u << 4) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P5 (0x1u << 5) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P6 (0x1u << 6) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P7 (0x1u << 7) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P8 (0x1u << 8) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P9 (0x1u << 9) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P10 (0x1u << 10) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P11 (0x1u << 11) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P12 (0x1u << 12) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P13 (0x1u << 13) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P14 (0x1u << 14) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P15 (0x1u << 15) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P16 (0x1u << 16) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P17 (0x1u << 17) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P18 (0x1u << 18) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P19 (0x1u << 19) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P20 (0x1u << 20) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P21 (0x1u << 21) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P22 (0x1u << 22) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P23 (0x1u << 23) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P24 (0x1u << 24) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P25 (0x1u << 25) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P26 (0x1u << 26) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P27 (0x1u << 27) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P28 (0x1u << 28) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P29 (0x1u << 29) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P30 (0x1u << 30) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -#define PIO_ISR_P31 (0x1u << 31) /**< \brief (PIO_ISR) Input Change Interrupt Status */ -/* -------- PIO_MDER : (PIO Offset: 0x0050) Multi-driver Enable Register -------- */ -#define PIO_MDER_P0 (0x1u << 0) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P1 (0x1u << 1) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P2 (0x1u << 2) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P3 (0x1u << 3) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P4 (0x1u << 4) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P5 (0x1u << 5) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P6 (0x1u << 6) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P7 (0x1u << 7) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P8 (0x1u << 8) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P9 (0x1u << 9) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P10 (0x1u << 10) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P11 (0x1u << 11) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P12 (0x1u << 12) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P13 (0x1u << 13) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P14 (0x1u << 14) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P15 (0x1u << 15) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P16 (0x1u << 16) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P17 (0x1u << 17) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P18 (0x1u << 18) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P19 (0x1u << 19) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P20 (0x1u << 20) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P21 (0x1u << 21) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P22 (0x1u << 22) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P23 (0x1u << 23) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P24 (0x1u << 24) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P25 (0x1u << 25) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P26 (0x1u << 26) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P27 (0x1u << 27) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P28 (0x1u << 28) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P29 (0x1u << 29) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P30 (0x1u << 30) /**< \brief (PIO_MDER) Multi-drive Enable */ -#define PIO_MDER_P31 (0x1u << 31) /**< \brief (PIO_MDER) Multi-drive Enable */ -/* -------- PIO_MDDR : (PIO Offset: 0x0054) Multi-driver Disable Register -------- */ -#define PIO_MDDR_P0 (0x1u << 0) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P1 (0x1u << 1) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P2 (0x1u << 2) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P3 (0x1u << 3) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P4 (0x1u << 4) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P5 (0x1u << 5) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P6 (0x1u << 6) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P7 (0x1u << 7) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P8 (0x1u << 8) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P9 (0x1u << 9) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P10 (0x1u << 10) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P11 (0x1u << 11) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P12 (0x1u << 12) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P13 (0x1u << 13) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P14 (0x1u << 14) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P15 (0x1u << 15) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P16 (0x1u << 16) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P17 (0x1u << 17) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P18 (0x1u << 18) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P19 (0x1u << 19) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P20 (0x1u << 20) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P21 (0x1u << 21) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P22 (0x1u << 22) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P23 (0x1u << 23) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P24 (0x1u << 24) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P25 (0x1u << 25) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P26 (0x1u << 26) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P27 (0x1u << 27) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P28 (0x1u << 28) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P29 (0x1u << 29) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P30 (0x1u << 30) /**< \brief (PIO_MDDR) Multi-drive Disable */ -#define PIO_MDDR_P31 (0x1u << 31) /**< \brief (PIO_MDDR) Multi-drive Disable */ -/* -------- PIO_MDSR : (PIO Offset: 0x0058) Multi-driver Status Register -------- */ -#define PIO_MDSR_P0 (0x1u << 0) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P1 (0x1u << 1) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P2 (0x1u << 2) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P3 (0x1u << 3) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P4 (0x1u << 4) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P5 (0x1u << 5) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P6 (0x1u << 6) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P7 (0x1u << 7) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P8 (0x1u << 8) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P9 (0x1u << 9) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P10 (0x1u << 10) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P11 (0x1u << 11) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P12 (0x1u << 12) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P13 (0x1u << 13) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P14 (0x1u << 14) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P15 (0x1u << 15) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P16 (0x1u << 16) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P17 (0x1u << 17) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P18 (0x1u << 18) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P19 (0x1u << 19) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P20 (0x1u << 20) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P21 (0x1u << 21) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P22 (0x1u << 22) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P23 (0x1u << 23) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P24 (0x1u << 24) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P25 (0x1u << 25) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P26 (0x1u << 26) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P27 (0x1u << 27) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P28 (0x1u << 28) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P29 (0x1u << 29) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P30 (0x1u << 30) /**< \brief (PIO_MDSR) Multi-drive Status */ -#define PIO_MDSR_P31 (0x1u << 31) /**< \brief (PIO_MDSR) Multi-drive Status */ -/* -------- PIO_PUDR : (PIO Offset: 0x0060) Pull-up Disable Register -------- */ -#define PIO_PUDR_P0 (0x1u << 0) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P1 (0x1u << 1) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P2 (0x1u << 2) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P3 (0x1u << 3) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P4 (0x1u << 4) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P5 (0x1u << 5) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P6 (0x1u << 6) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P7 (0x1u << 7) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P8 (0x1u << 8) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P9 (0x1u << 9) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P10 (0x1u << 10) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P11 (0x1u << 11) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P12 (0x1u << 12) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P13 (0x1u << 13) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P14 (0x1u << 14) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P15 (0x1u << 15) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P16 (0x1u << 16) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P17 (0x1u << 17) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P18 (0x1u << 18) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P19 (0x1u << 19) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P20 (0x1u << 20) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P21 (0x1u << 21) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P22 (0x1u << 22) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P23 (0x1u << 23) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P24 (0x1u << 24) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P25 (0x1u << 25) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P26 (0x1u << 26) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P27 (0x1u << 27) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P28 (0x1u << 28) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P29 (0x1u << 29) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P30 (0x1u << 30) /**< \brief (PIO_PUDR) Pull-Up Disable */ -#define PIO_PUDR_P31 (0x1u << 31) /**< \brief (PIO_PUDR) Pull-Up Disable */ -/* -------- PIO_PUER : (PIO Offset: 0x0064) Pull-up Enable Register -------- */ -#define PIO_PUER_P0 (0x1u << 0) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P1 (0x1u << 1) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P2 (0x1u << 2) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P3 (0x1u << 3) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P4 (0x1u << 4) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P5 (0x1u << 5) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P6 (0x1u << 6) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P7 (0x1u << 7) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P8 (0x1u << 8) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P9 (0x1u << 9) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P10 (0x1u << 10) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P11 (0x1u << 11) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P12 (0x1u << 12) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P13 (0x1u << 13) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P14 (0x1u << 14) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P15 (0x1u << 15) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P16 (0x1u << 16) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P17 (0x1u << 17) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P18 (0x1u << 18) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P19 (0x1u << 19) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P20 (0x1u << 20) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P21 (0x1u << 21) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P22 (0x1u << 22) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P23 (0x1u << 23) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P24 (0x1u << 24) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P25 (0x1u << 25) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P26 (0x1u << 26) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P27 (0x1u << 27) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P28 (0x1u << 28) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P29 (0x1u << 29) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P30 (0x1u << 30) /**< \brief (PIO_PUER) Pull-Up Enable */ -#define PIO_PUER_P31 (0x1u << 31) /**< \brief (PIO_PUER) Pull-Up Enable */ -/* -------- PIO_PUSR : (PIO Offset: 0x0068) Pad Pull-up Status Register -------- */ -#define PIO_PUSR_P0 (0x1u << 0) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P1 (0x1u << 1) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P2 (0x1u << 2) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P3 (0x1u << 3) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P4 (0x1u << 4) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P5 (0x1u << 5) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P6 (0x1u << 6) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P7 (0x1u << 7) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P8 (0x1u << 8) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P9 (0x1u << 9) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P10 (0x1u << 10) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P11 (0x1u << 11) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P12 (0x1u << 12) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P13 (0x1u << 13) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P14 (0x1u << 14) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P15 (0x1u << 15) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P16 (0x1u << 16) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P17 (0x1u << 17) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P18 (0x1u << 18) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P19 (0x1u << 19) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P20 (0x1u << 20) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P21 (0x1u << 21) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P22 (0x1u << 22) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P23 (0x1u << 23) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P24 (0x1u << 24) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P25 (0x1u << 25) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P26 (0x1u << 26) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P27 (0x1u << 27) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P28 (0x1u << 28) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P29 (0x1u << 29) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P30 (0x1u << 30) /**< \brief (PIO_PUSR) Pull-Up Status */ -#define PIO_PUSR_P31 (0x1u << 31) /**< \brief (PIO_PUSR) Pull-Up Status */ -/* -------- PIO_ABCDSR[2] : (PIO Offset: 0x0070) Peripheral Select Register -------- */ -#define PIO_ABCDSR_P0 (0x1u << 0) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P1 (0x1u << 1) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P2 (0x1u << 2) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P3 (0x1u << 3) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P4 (0x1u << 4) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P5 (0x1u << 5) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P6 (0x1u << 6) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P7 (0x1u << 7) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P8 (0x1u << 8) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P9 (0x1u << 9) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P10 (0x1u << 10) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P11 (0x1u << 11) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P12 (0x1u << 12) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P13 (0x1u << 13) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P14 (0x1u << 14) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P15 (0x1u << 15) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P16 (0x1u << 16) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P17 (0x1u << 17) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P18 (0x1u << 18) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P19 (0x1u << 19) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P20 (0x1u << 20) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P21 (0x1u << 21) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P22 (0x1u << 22) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P23 (0x1u << 23) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P24 (0x1u << 24) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P25 (0x1u << 25) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P26 (0x1u << 26) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P27 (0x1u << 27) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P28 (0x1u << 28) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P29 (0x1u << 29) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P30 (0x1u << 30) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -#define PIO_ABCDSR_P31 (0x1u << 31) /**< \brief (PIO_ABCDSR[2]) Peripheral Select */ -/* -------- PIO_IFSCDR : (PIO Offset: 0x0080) Input Filter Slow Clock Disable Register -------- */ -#define PIO_IFSCDR_P0 (0x1u << 0) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P1 (0x1u << 1) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P2 (0x1u << 2) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P3 (0x1u << 3) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P4 (0x1u << 4) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P5 (0x1u << 5) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P6 (0x1u << 6) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P7 (0x1u << 7) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P8 (0x1u << 8) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P9 (0x1u << 9) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P10 (0x1u << 10) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P11 (0x1u << 11) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P12 (0x1u << 12) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P13 (0x1u << 13) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P14 (0x1u << 14) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P15 (0x1u << 15) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P16 (0x1u << 16) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P17 (0x1u << 17) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P18 (0x1u << 18) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P19 (0x1u << 19) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P20 (0x1u << 20) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P21 (0x1u << 21) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P22 (0x1u << 22) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P23 (0x1u << 23) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P24 (0x1u << 24) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P25 (0x1u << 25) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P26 (0x1u << 26) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P27 (0x1u << 27) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P28 (0x1u << 28) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P29 (0x1u << 29) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P30 (0x1u << 30) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -#define PIO_IFSCDR_P31 (0x1u << 31) /**< \brief (PIO_IFSCDR) Peripheral Clock Glitch Filtering Select */ -/* -------- PIO_IFSCER : (PIO Offset: 0x0084) Input Filter Slow Clock Enable Register -------- */ -#define PIO_IFSCER_P0 (0x1u << 0) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P1 (0x1u << 1) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P2 (0x1u << 2) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P3 (0x1u << 3) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P4 (0x1u << 4) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P5 (0x1u << 5) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P6 (0x1u << 6) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P7 (0x1u << 7) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P8 (0x1u << 8) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P9 (0x1u << 9) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P10 (0x1u << 10) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P11 (0x1u << 11) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P12 (0x1u << 12) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P13 (0x1u << 13) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P14 (0x1u << 14) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P15 (0x1u << 15) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P16 (0x1u << 16) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P17 (0x1u << 17) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P18 (0x1u << 18) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P19 (0x1u << 19) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P20 (0x1u << 20) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P21 (0x1u << 21) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P22 (0x1u << 22) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P23 (0x1u << 23) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P24 (0x1u << 24) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P25 (0x1u << 25) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P26 (0x1u << 26) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P27 (0x1u << 27) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P28 (0x1u << 28) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P29 (0x1u << 29) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P30 (0x1u << 30) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -#define PIO_IFSCER_P31 (0x1u << 31) /**< \brief (PIO_IFSCER) Slow Clock Debouncing Filtering Select */ -/* -------- PIO_IFSCSR : (PIO Offset: 0x0088) Input Filter Slow Clock Status Register -------- */ -#define PIO_IFSCSR_P0 (0x1u << 0) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P1 (0x1u << 1) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P2 (0x1u << 2) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P3 (0x1u << 3) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P4 (0x1u << 4) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P5 (0x1u << 5) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P6 (0x1u << 6) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P7 (0x1u << 7) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P8 (0x1u << 8) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P9 (0x1u << 9) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P10 (0x1u << 10) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P11 (0x1u << 11) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P12 (0x1u << 12) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P13 (0x1u << 13) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P14 (0x1u << 14) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P15 (0x1u << 15) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P16 (0x1u << 16) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P17 (0x1u << 17) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P18 (0x1u << 18) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P19 (0x1u << 19) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P20 (0x1u << 20) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P21 (0x1u << 21) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P22 (0x1u << 22) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P23 (0x1u << 23) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P24 (0x1u << 24) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P25 (0x1u << 25) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P26 (0x1u << 26) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P27 (0x1u << 27) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P28 (0x1u << 28) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P29 (0x1u << 29) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P30 (0x1u << 30) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -#define PIO_IFSCSR_P31 (0x1u << 31) /**< \brief (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */ -/* -------- PIO_SCDR : (PIO Offset: 0x008C) Slow Clock Divider Debouncing Register -------- */ -#define PIO_SCDR_DIV_Pos 0 -#define PIO_SCDR_DIV_Msk (0x3fffu << PIO_SCDR_DIV_Pos) /**< \brief (PIO_SCDR) Slow Clock Divider Selection for Debouncing */ -#define PIO_SCDR_DIV(value) ((PIO_SCDR_DIV_Msk & ((value) << PIO_SCDR_DIV_Pos))) -/* -------- PIO_PPDDR : (PIO Offset: 0x0090) Pad Pull-down Disable Register -------- */ -#define PIO_PPDDR_P0 (0x1u << 0) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P1 (0x1u << 1) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P2 (0x1u << 2) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P3 (0x1u << 3) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P4 (0x1u << 4) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P5 (0x1u << 5) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P6 (0x1u << 6) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P7 (0x1u << 7) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P8 (0x1u << 8) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P9 (0x1u << 9) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P10 (0x1u << 10) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P11 (0x1u << 11) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P12 (0x1u << 12) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P13 (0x1u << 13) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P14 (0x1u << 14) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P15 (0x1u << 15) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P16 (0x1u << 16) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P17 (0x1u << 17) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P18 (0x1u << 18) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P19 (0x1u << 19) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P20 (0x1u << 20) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P21 (0x1u << 21) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P22 (0x1u << 22) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P23 (0x1u << 23) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P24 (0x1u << 24) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P25 (0x1u << 25) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P26 (0x1u << 26) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P27 (0x1u << 27) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P28 (0x1u << 28) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P29 (0x1u << 29) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P30 (0x1u << 30) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -#define PIO_PPDDR_P31 (0x1u << 31) /**< \brief (PIO_PPDDR) Pull-Down Disable */ -/* -------- PIO_PPDER : (PIO Offset: 0x0094) Pad Pull-down Enable Register -------- */ -#define PIO_PPDER_P0 (0x1u << 0) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P1 (0x1u << 1) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P2 (0x1u << 2) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P3 (0x1u << 3) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P4 (0x1u << 4) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P5 (0x1u << 5) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P6 (0x1u << 6) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P7 (0x1u << 7) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P8 (0x1u << 8) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P9 (0x1u << 9) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P10 (0x1u << 10) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P11 (0x1u << 11) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P12 (0x1u << 12) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P13 (0x1u << 13) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P14 (0x1u << 14) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P15 (0x1u << 15) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P16 (0x1u << 16) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P17 (0x1u << 17) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P18 (0x1u << 18) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P19 (0x1u << 19) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P20 (0x1u << 20) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P21 (0x1u << 21) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P22 (0x1u << 22) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P23 (0x1u << 23) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P24 (0x1u << 24) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P25 (0x1u << 25) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P26 (0x1u << 26) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P27 (0x1u << 27) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P28 (0x1u << 28) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P29 (0x1u << 29) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P30 (0x1u << 30) /**< \brief (PIO_PPDER) Pull-Down Enable */ -#define PIO_PPDER_P31 (0x1u << 31) /**< \brief (PIO_PPDER) Pull-Down Enable */ -/* -------- PIO_PPDSR : (PIO Offset: 0x0098) Pad Pull-down Status Register -------- */ -#define PIO_PPDSR_P0 (0x1u << 0) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P1 (0x1u << 1) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P2 (0x1u << 2) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P3 (0x1u << 3) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P4 (0x1u << 4) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P5 (0x1u << 5) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P6 (0x1u << 6) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P7 (0x1u << 7) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P8 (0x1u << 8) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P9 (0x1u << 9) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P10 (0x1u << 10) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P11 (0x1u << 11) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P12 (0x1u << 12) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P13 (0x1u << 13) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P14 (0x1u << 14) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P15 (0x1u << 15) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P16 (0x1u << 16) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P17 (0x1u << 17) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P18 (0x1u << 18) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P19 (0x1u << 19) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P20 (0x1u << 20) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P21 (0x1u << 21) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P22 (0x1u << 22) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P23 (0x1u << 23) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P24 (0x1u << 24) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P25 (0x1u << 25) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P26 (0x1u << 26) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P27 (0x1u << 27) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P28 (0x1u << 28) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P29 (0x1u << 29) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P30 (0x1u << 30) /**< \brief (PIO_PPDSR) Pull-Down Status */ -#define PIO_PPDSR_P31 (0x1u << 31) /**< \brief (PIO_PPDSR) Pull-Down Status */ -/* -------- PIO_OWER : (PIO Offset: 0x00A0) Output Write Enable -------- */ -#define PIO_OWER_P0 (0x1u << 0) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P1 (0x1u << 1) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P2 (0x1u << 2) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P3 (0x1u << 3) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P4 (0x1u << 4) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P5 (0x1u << 5) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P6 (0x1u << 6) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P7 (0x1u << 7) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P8 (0x1u << 8) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P9 (0x1u << 9) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P10 (0x1u << 10) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P11 (0x1u << 11) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P12 (0x1u << 12) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P13 (0x1u << 13) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P14 (0x1u << 14) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P15 (0x1u << 15) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P16 (0x1u << 16) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P17 (0x1u << 17) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P18 (0x1u << 18) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P19 (0x1u << 19) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P20 (0x1u << 20) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P21 (0x1u << 21) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P22 (0x1u << 22) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P23 (0x1u << 23) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P24 (0x1u << 24) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P25 (0x1u << 25) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P26 (0x1u << 26) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P27 (0x1u << 27) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P28 (0x1u << 28) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P29 (0x1u << 29) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P30 (0x1u << 30) /**< \brief (PIO_OWER) Output Write Enable */ -#define PIO_OWER_P31 (0x1u << 31) /**< \brief (PIO_OWER) Output Write Enable */ -/* -------- PIO_OWDR : (PIO Offset: 0x00A4) Output Write Disable -------- */ -#define PIO_OWDR_P0 (0x1u << 0) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P1 (0x1u << 1) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P2 (0x1u << 2) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P3 (0x1u << 3) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P4 (0x1u << 4) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P5 (0x1u << 5) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P6 (0x1u << 6) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P7 (0x1u << 7) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P8 (0x1u << 8) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P9 (0x1u << 9) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P10 (0x1u << 10) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P11 (0x1u << 11) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P12 (0x1u << 12) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P13 (0x1u << 13) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P14 (0x1u << 14) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P15 (0x1u << 15) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P16 (0x1u << 16) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P17 (0x1u << 17) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P18 (0x1u << 18) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P19 (0x1u << 19) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P20 (0x1u << 20) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P21 (0x1u << 21) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P22 (0x1u << 22) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P23 (0x1u << 23) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P24 (0x1u << 24) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P25 (0x1u << 25) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P26 (0x1u << 26) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P27 (0x1u << 27) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P28 (0x1u << 28) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P29 (0x1u << 29) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P30 (0x1u << 30) /**< \brief (PIO_OWDR) Output Write Disable */ -#define PIO_OWDR_P31 (0x1u << 31) /**< \brief (PIO_OWDR) Output Write Disable */ -/* -------- PIO_OWSR : (PIO Offset: 0x00A8) Output Write Status Register -------- */ -#define PIO_OWSR_P0 (0x1u << 0) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P1 (0x1u << 1) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P2 (0x1u << 2) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P3 (0x1u << 3) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P4 (0x1u << 4) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P5 (0x1u << 5) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P6 (0x1u << 6) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P7 (0x1u << 7) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P8 (0x1u << 8) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P9 (0x1u << 9) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P10 (0x1u << 10) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P11 (0x1u << 11) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P12 (0x1u << 12) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P13 (0x1u << 13) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P14 (0x1u << 14) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P15 (0x1u << 15) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P16 (0x1u << 16) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P17 (0x1u << 17) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P18 (0x1u << 18) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P19 (0x1u << 19) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P20 (0x1u << 20) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P21 (0x1u << 21) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P22 (0x1u << 22) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P23 (0x1u << 23) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P24 (0x1u << 24) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P25 (0x1u << 25) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P26 (0x1u << 26) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P27 (0x1u << 27) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P28 (0x1u << 28) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P29 (0x1u << 29) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P30 (0x1u << 30) /**< \brief (PIO_OWSR) Output Write Status */ -#define PIO_OWSR_P31 (0x1u << 31) /**< \brief (PIO_OWSR) Output Write Status */ -/* -------- PIO_AIMER : (PIO Offset: 0x00B0) Additional Interrupt Modes Enable Register -------- */ -#define PIO_AIMER_P0 (0x1u << 0) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P1 (0x1u << 1) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P2 (0x1u << 2) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P3 (0x1u << 3) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P4 (0x1u << 4) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P5 (0x1u << 5) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P6 (0x1u << 6) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P7 (0x1u << 7) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P8 (0x1u << 8) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P9 (0x1u << 9) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P10 (0x1u << 10) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P11 (0x1u << 11) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P12 (0x1u << 12) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P13 (0x1u << 13) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P14 (0x1u << 14) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P15 (0x1u << 15) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P16 (0x1u << 16) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P17 (0x1u << 17) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P18 (0x1u << 18) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P19 (0x1u << 19) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P20 (0x1u << 20) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P21 (0x1u << 21) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P22 (0x1u << 22) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P23 (0x1u << 23) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P24 (0x1u << 24) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P25 (0x1u << 25) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P26 (0x1u << 26) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P27 (0x1u << 27) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P28 (0x1u << 28) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P29 (0x1u << 29) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P30 (0x1u << 30) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -#define PIO_AIMER_P31 (0x1u << 31) /**< \brief (PIO_AIMER) Additional Interrupt Modes Enable */ -/* -------- PIO_AIMDR : (PIO Offset: 0x00B4) Additional Interrupt Modes Disable Register -------- */ -#define PIO_AIMDR_P0 (0x1u << 0) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P1 (0x1u << 1) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P2 (0x1u << 2) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P3 (0x1u << 3) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P4 (0x1u << 4) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P5 (0x1u << 5) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P6 (0x1u << 6) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P7 (0x1u << 7) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P8 (0x1u << 8) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P9 (0x1u << 9) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P10 (0x1u << 10) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P11 (0x1u << 11) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P12 (0x1u << 12) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P13 (0x1u << 13) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P14 (0x1u << 14) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P15 (0x1u << 15) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P16 (0x1u << 16) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P17 (0x1u << 17) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P18 (0x1u << 18) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P19 (0x1u << 19) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P20 (0x1u << 20) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P21 (0x1u << 21) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P22 (0x1u << 22) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P23 (0x1u << 23) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P24 (0x1u << 24) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P25 (0x1u << 25) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P26 (0x1u << 26) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P27 (0x1u << 27) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P28 (0x1u << 28) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P29 (0x1u << 29) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P30 (0x1u << 30) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -#define PIO_AIMDR_P31 (0x1u << 31) /**< \brief (PIO_AIMDR) Additional Interrupt Modes Disable */ -/* -------- PIO_AIMMR : (PIO Offset: 0x00B8) Additional Interrupt Modes Mask Register -------- */ -#define PIO_AIMMR_P0 (0x1u << 0) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P1 (0x1u << 1) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P2 (0x1u << 2) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P3 (0x1u << 3) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P4 (0x1u << 4) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P5 (0x1u << 5) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P6 (0x1u << 6) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P7 (0x1u << 7) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P8 (0x1u << 8) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P9 (0x1u << 9) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P10 (0x1u << 10) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P11 (0x1u << 11) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P12 (0x1u << 12) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P13 (0x1u << 13) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P14 (0x1u << 14) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P15 (0x1u << 15) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P16 (0x1u << 16) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P17 (0x1u << 17) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P18 (0x1u << 18) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P19 (0x1u << 19) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P20 (0x1u << 20) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P21 (0x1u << 21) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P22 (0x1u << 22) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P23 (0x1u << 23) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P24 (0x1u << 24) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P25 (0x1u << 25) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P26 (0x1u << 26) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P27 (0x1u << 27) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P28 (0x1u << 28) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P29 (0x1u << 29) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P30 (0x1u << 30) /**< \brief (PIO_AIMMR) IO Line Index */ -#define PIO_AIMMR_P31 (0x1u << 31) /**< \brief (PIO_AIMMR) IO Line Index */ -/* -------- PIO_ESR : (PIO Offset: 0x00C0) Edge Select Register -------- */ -#define PIO_ESR_P0 (0x1u << 0) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P1 (0x1u << 1) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P2 (0x1u << 2) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P3 (0x1u << 3) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P4 (0x1u << 4) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P5 (0x1u << 5) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P6 (0x1u << 6) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P7 (0x1u << 7) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P8 (0x1u << 8) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P9 (0x1u << 9) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P10 (0x1u << 10) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P11 (0x1u << 11) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P12 (0x1u << 12) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P13 (0x1u << 13) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P14 (0x1u << 14) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P15 (0x1u << 15) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P16 (0x1u << 16) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P17 (0x1u << 17) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P18 (0x1u << 18) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P19 (0x1u << 19) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P20 (0x1u << 20) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P21 (0x1u << 21) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P22 (0x1u << 22) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P23 (0x1u << 23) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P24 (0x1u << 24) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P25 (0x1u << 25) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P26 (0x1u << 26) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P27 (0x1u << 27) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P28 (0x1u << 28) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P29 (0x1u << 29) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P30 (0x1u << 30) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -#define PIO_ESR_P31 (0x1u << 31) /**< \brief (PIO_ESR) Edge Interrupt Selection */ -/* -------- PIO_LSR : (PIO Offset: 0x00C4) Level Select Register -------- */ -#define PIO_LSR_P0 (0x1u << 0) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P1 (0x1u << 1) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P2 (0x1u << 2) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P3 (0x1u << 3) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P4 (0x1u << 4) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P5 (0x1u << 5) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P6 (0x1u << 6) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P7 (0x1u << 7) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P8 (0x1u << 8) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P9 (0x1u << 9) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P10 (0x1u << 10) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P11 (0x1u << 11) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P12 (0x1u << 12) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P13 (0x1u << 13) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P14 (0x1u << 14) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P15 (0x1u << 15) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P16 (0x1u << 16) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P17 (0x1u << 17) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P18 (0x1u << 18) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P19 (0x1u << 19) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P20 (0x1u << 20) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P21 (0x1u << 21) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P22 (0x1u << 22) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P23 (0x1u << 23) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P24 (0x1u << 24) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P25 (0x1u << 25) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P26 (0x1u << 26) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P27 (0x1u << 27) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P28 (0x1u << 28) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P29 (0x1u << 29) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P30 (0x1u << 30) /**< \brief (PIO_LSR) Level Interrupt Selection */ -#define PIO_LSR_P31 (0x1u << 31) /**< \brief (PIO_LSR) Level Interrupt Selection */ -/* -------- PIO_ELSR : (PIO Offset: 0x00C8) Edge/Level Status Register -------- */ -#define PIO_ELSR_P0 (0x1u << 0) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P1 (0x1u << 1) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P2 (0x1u << 2) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P3 (0x1u << 3) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P4 (0x1u << 4) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P5 (0x1u << 5) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P6 (0x1u << 6) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P7 (0x1u << 7) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P8 (0x1u << 8) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P9 (0x1u << 9) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P10 (0x1u << 10) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P11 (0x1u << 11) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P12 (0x1u << 12) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P13 (0x1u << 13) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P14 (0x1u << 14) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P15 (0x1u << 15) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P16 (0x1u << 16) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P17 (0x1u << 17) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P18 (0x1u << 18) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P19 (0x1u << 19) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P20 (0x1u << 20) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P21 (0x1u << 21) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P22 (0x1u << 22) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P23 (0x1u << 23) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P24 (0x1u << 24) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P25 (0x1u << 25) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P26 (0x1u << 26) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P27 (0x1u << 27) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P28 (0x1u << 28) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P29 (0x1u << 29) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P30 (0x1u << 30) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -#define PIO_ELSR_P31 (0x1u << 31) /**< \brief (PIO_ELSR) Edge/Level Interrupt Source Selection */ -/* -------- PIO_FELLSR : (PIO Offset: 0x00D0) Falling Edge/Low-Level Select Register -------- */ -#define PIO_FELLSR_P0 (0x1u << 0) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P1 (0x1u << 1) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P2 (0x1u << 2) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P3 (0x1u << 3) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P4 (0x1u << 4) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P5 (0x1u << 5) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P6 (0x1u << 6) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P7 (0x1u << 7) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P8 (0x1u << 8) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P9 (0x1u << 9) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P10 (0x1u << 10) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P11 (0x1u << 11) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P12 (0x1u << 12) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P13 (0x1u << 13) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P14 (0x1u << 14) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P15 (0x1u << 15) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P16 (0x1u << 16) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P17 (0x1u << 17) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P18 (0x1u << 18) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P19 (0x1u << 19) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P20 (0x1u << 20) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P21 (0x1u << 21) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P22 (0x1u << 22) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P23 (0x1u << 23) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P24 (0x1u << 24) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P25 (0x1u << 25) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P26 (0x1u << 26) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P27 (0x1u << 27) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P28 (0x1u << 28) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P29 (0x1u << 29) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P30 (0x1u << 30) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -#define PIO_FELLSR_P31 (0x1u << 31) /**< \brief (PIO_FELLSR) Falling Edge/Low-Level Interrupt Selection */ -/* -------- PIO_REHLSR : (PIO Offset: 0x00D4) Rising Edge/High-Level Select Register -------- */ -#define PIO_REHLSR_P0 (0x1u << 0) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P1 (0x1u << 1) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P2 (0x1u << 2) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P3 (0x1u << 3) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P4 (0x1u << 4) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P5 (0x1u << 5) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P6 (0x1u << 6) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P7 (0x1u << 7) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P8 (0x1u << 8) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P9 (0x1u << 9) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P10 (0x1u << 10) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P11 (0x1u << 11) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P12 (0x1u << 12) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P13 (0x1u << 13) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P14 (0x1u << 14) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P15 (0x1u << 15) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P16 (0x1u << 16) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P17 (0x1u << 17) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P18 (0x1u << 18) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P19 (0x1u << 19) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P20 (0x1u << 20) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P21 (0x1u << 21) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P22 (0x1u << 22) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P23 (0x1u << 23) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P24 (0x1u << 24) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P25 (0x1u << 25) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P26 (0x1u << 26) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P27 (0x1u << 27) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P28 (0x1u << 28) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P29 (0x1u << 29) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P30 (0x1u << 30) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -#define PIO_REHLSR_P31 (0x1u << 31) /**< \brief (PIO_REHLSR) Rising Edge/High-Level Interrupt Selection */ -/* -------- PIO_FRLHSR : (PIO Offset: 0x00D8) Fall/Rise - Low/High Status Register -------- */ -#define PIO_FRLHSR_P0 (0x1u << 0) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P1 (0x1u << 1) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P2 (0x1u << 2) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P3 (0x1u << 3) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P4 (0x1u << 4) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P5 (0x1u << 5) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P6 (0x1u << 6) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P7 (0x1u << 7) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P8 (0x1u << 8) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P9 (0x1u << 9) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P10 (0x1u << 10) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P11 (0x1u << 11) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P12 (0x1u << 12) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P13 (0x1u << 13) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P14 (0x1u << 14) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P15 (0x1u << 15) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P16 (0x1u << 16) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P17 (0x1u << 17) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P18 (0x1u << 18) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P19 (0x1u << 19) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P20 (0x1u << 20) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P21 (0x1u << 21) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P22 (0x1u << 22) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P23 (0x1u << 23) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P24 (0x1u << 24) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P25 (0x1u << 25) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P26 (0x1u << 26) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P27 (0x1u << 27) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P28 (0x1u << 28) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P29 (0x1u << 29) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P30 (0x1u << 30) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -#define PIO_FRLHSR_P31 (0x1u << 31) /**< \brief (PIO_FRLHSR) Edge/Level Interrupt Source Selection */ -/* -------- PIO_LOCKSR : (PIO Offset: 0x00E0) Lock Status -------- */ -#define PIO_LOCKSR_P0 (0x1u << 0) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P1 (0x1u << 1) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P2 (0x1u << 2) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P3 (0x1u << 3) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P4 (0x1u << 4) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P5 (0x1u << 5) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P6 (0x1u << 6) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P7 (0x1u << 7) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P8 (0x1u << 8) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P9 (0x1u << 9) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P10 (0x1u << 10) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P11 (0x1u << 11) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P12 (0x1u << 12) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P13 (0x1u << 13) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P14 (0x1u << 14) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P15 (0x1u << 15) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P16 (0x1u << 16) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P17 (0x1u << 17) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P18 (0x1u << 18) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P19 (0x1u << 19) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P20 (0x1u << 20) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P21 (0x1u << 21) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P22 (0x1u << 22) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P23 (0x1u << 23) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P24 (0x1u << 24) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P25 (0x1u << 25) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P26 (0x1u << 26) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P27 (0x1u << 27) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P28 (0x1u << 28) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P29 (0x1u << 29) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P30 (0x1u << 30) /**< \brief (PIO_LOCKSR) Lock Status */ -#define PIO_LOCKSR_P31 (0x1u << 31) /**< \brief (PIO_LOCKSR) Lock Status */ -/* -------- PIO_WPMR : (PIO Offset: 0x00E4) Write Protection Mode Register -------- */ -#define PIO_WPMR_WPEN (0x1u << 0) /**< \brief (PIO_WPMR) Write Protection Enable */ -#define PIO_WPMR_WPKEY_Pos 8 -#define PIO_WPMR_WPKEY_Msk (0xffffffu << PIO_WPMR_WPKEY_Pos) /**< \brief (PIO_WPMR) Write Protection Key */ -#define PIO_WPMR_WPKEY(value) ((PIO_WPMR_WPKEY_Msk & ((value) << PIO_WPMR_WPKEY_Pos))) -#define PIO_WPMR_WPKEY_PASSWD (0x50494Fu << 8) /**< \brief (PIO_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- PIO_WPSR : (PIO Offset: 0x00E8) Write Protection Status Register -------- */ -#define PIO_WPSR_WPVS (0x1u << 0) /**< \brief (PIO_WPSR) Write Protection Violation Status */ -#define PIO_WPSR_WPVSRC_Pos 8 -#define PIO_WPSR_WPVSRC_Msk (0xffffu << PIO_WPSR_WPVSRC_Pos) /**< \brief (PIO_WPSR) Write Protection Violation Source */ -/* -------- PIO_SCHMITT : (PIO Offset: 0x0100) Schmitt Trigger Register -------- */ -#define PIO_SCHMITT_SCHMITT0 (0x1u << 0) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT1 (0x1u << 1) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT2 (0x1u << 2) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT3 (0x1u << 3) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT4 (0x1u << 4) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT5 (0x1u << 5) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT6 (0x1u << 6) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT7 (0x1u << 7) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT8 (0x1u << 8) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT9 (0x1u << 9) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT10 (0x1u << 10) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT11 (0x1u << 11) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT12 (0x1u << 12) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT13 (0x1u << 13) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT14 (0x1u << 14) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT15 (0x1u << 15) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT16 (0x1u << 16) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT17 (0x1u << 17) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT18 (0x1u << 18) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT19 (0x1u << 19) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT20 (0x1u << 20) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT21 (0x1u << 21) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT22 (0x1u << 22) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT23 (0x1u << 23) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT24 (0x1u << 24) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT25 (0x1u << 25) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT26 (0x1u << 26) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT27 (0x1u << 27) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT28 (0x1u << 28) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT29 (0x1u << 29) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT30 (0x1u << 30) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -#define PIO_SCHMITT_SCHMITT31 (0x1u << 31) /**< \brief (PIO_SCHMITT) Schmitt Trigger Control */ -/* -------- PIO_PCMR : (PIO Offset: 0x0150) Parallel Capture Mode Register -------- */ -#define PIO_PCMR_PCEN (0x1u << 0) /**< \brief (PIO_PCMR) Parallel Capture Mode Enable */ -#define PIO_PCMR_DSIZE_Pos 4 -#define PIO_PCMR_DSIZE_Msk (0x3u << PIO_PCMR_DSIZE_Pos) /**< \brief (PIO_PCMR) Parallel Capture Mode Data Size */ -#define PIO_PCMR_DSIZE(value) ((PIO_PCMR_DSIZE_Msk & ((value) << PIO_PCMR_DSIZE_Pos))) -#define PIO_PCMR_DSIZE_BYTE (0x0u << 4) /**< \brief (PIO_PCMR) The reception data in the PIO_PCRHR is a byte (8-bit) */ -#define PIO_PCMR_DSIZE_HALFWORD (0x1u << 4) /**< \brief (PIO_PCMR) The reception data in the PIO_PCRHR is a half-word (16-bit) */ -#define PIO_PCMR_DSIZE_WORD (0x2u << 4) /**< \brief (PIO_PCMR) The reception data in the PIO_PCRHR is a word (32-bit) */ -#define PIO_PCMR_ALWYS (0x1u << 9) /**< \brief (PIO_PCMR) Parallel Capture Mode Always Sampling */ -#define PIO_PCMR_HALFS (0x1u << 10) /**< \brief (PIO_PCMR) Parallel Capture Mode Half Sampling */ -#define PIO_PCMR_FRSTS (0x1u << 11) /**< \brief (PIO_PCMR) Parallel Capture Mode First Sample */ -/* -------- PIO_PCIER : (PIO Offset: 0x0154) Parallel Capture Interrupt Enable Register -------- */ -#define PIO_PCIER_DRDY (0x1u << 0) /**< \brief (PIO_PCIER) Parallel Capture Mode Data Ready Interrupt Enable */ -#define PIO_PCIER_OVRE (0x1u << 1) /**< \brief (PIO_PCIER) Parallel Capture Mode Overrun Error Interrupt Enable */ -#define PIO_PCIER_ENDRX (0x1u << 2) /**< \brief (PIO_PCIER) End of Reception Transfer Interrupt Enable */ -#define PIO_PCIER_RXBUFF (0x1u << 3) /**< \brief (PIO_PCIER) Reception Buffer Full Interrupt Enable */ -/* -------- PIO_PCIDR : (PIO Offset: 0x0158) Parallel Capture Interrupt Disable Register -------- */ -#define PIO_PCIDR_DRDY (0x1u << 0) /**< \brief (PIO_PCIDR) Parallel Capture Mode Data Ready Interrupt Disable */ -#define PIO_PCIDR_OVRE (0x1u << 1) /**< \brief (PIO_PCIDR) Parallel Capture Mode Overrun Error Interrupt Disable */ -#define PIO_PCIDR_ENDRX (0x1u << 2) /**< \brief (PIO_PCIDR) End of Reception Transfer Interrupt Disable */ -#define PIO_PCIDR_RXBUFF (0x1u << 3) /**< \brief (PIO_PCIDR) Reception Buffer Full Interrupt Disable */ -/* -------- PIO_PCIMR : (PIO Offset: 0x015C) Parallel Capture Interrupt Mask Register -------- */ -#define PIO_PCIMR_DRDY (0x1u << 0) /**< \brief (PIO_PCIMR) Parallel Capture Mode Data Ready Interrupt Mask */ -#define PIO_PCIMR_OVRE (0x1u << 1) /**< \brief (PIO_PCIMR) Parallel Capture Mode Overrun Error Interrupt Mask */ -#define PIO_PCIMR_ENDRX (0x1u << 2) /**< \brief (PIO_PCIMR) End of Reception Transfer Interrupt Mask */ -#define PIO_PCIMR_RXBUFF (0x1u << 3) /**< \brief (PIO_PCIMR) Reception Buffer Full Interrupt Mask */ -/* -------- PIO_PCISR : (PIO Offset: 0x0160) Parallel Capture Interrupt Status Register -------- */ -#define PIO_PCISR_DRDY (0x1u << 0) /**< \brief (PIO_PCISR) Parallel Capture Mode Data Ready */ -#define PIO_PCISR_OVRE (0x1u << 1) /**< \brief (PIO_PCISR) Parallel Capture Mode Overrun Error */ -/* -------- PIO_PCRHR : (PIO Offset: 0x0164) Parallel Capture Reception Holding Register -------- */ -#define PIO_PCRHR_RDATA_Pos 0 -#define PIO_PCRHR_RDATA_Msk (0xffffffffu << PIO_PCRHR_RDATA_Pos) /**< \brief (PIO_PCRHR) Parallel Capture Mode Reception Data */ - -/*@}*/ - - -#endif /* _SAMS70_PIO_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h deleted file mode 100644 index 0c973cf..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pmc.h +++ /dev/null @@ -1,736 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PMC_COMPONENT_ -#define _SAMS70_PMC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Power Management Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_PMC Power Management Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Pmc hardware registers */ -typedef struct { - __O uint32_t PMC_SCER; /**< \brief (Pmc Offset: 0x0000) System Clock Enable Register */ - __O uint32_t PMC_SCDR; /**< \brief (Pmc Offset: 0x0004) System Clock Disable Register */ - __I uint32_t PMC_SCSR; /**< \brief (Pmc Offset: 0x0008) System Clock Status Register */ - __I uint32_t Reserved1[1]; - __O uint32_t PMC_PCER0; /**< \brief (Pmc Offset: 0x0010) Peripheral Clock Enable Register 0 */ - __O uint32_t PMC_PCDR0; /**< \brief (Pmc Offset: 0x0014) Peripheral Clock Disable Register 0 */ - __I uint32_t PMC_PCSR0; /**< \brief (Pmc Offset: 0x0018) Peripheral Clock Status Register 0 */ - __IO uint32_t CKGR_UCKR; /**< \brief (Pmc Offset: 0x001C) UTMI Clock Register */ - __IO uint32_t CKGR_MOR; /**< \brief (Pmc Offset: 0x0020) Main Oscillator Register */ - __IO uint32_t CKGR_MCFR; /**< \brief (Pmc Offset: 0x0024) Main Clock Frequency Register */ - __IO uint32_t CKGR_PLLAR; /**< \brief (Pmc Offset: 0x0028) PLLA Register */ - __I uint32_t Reserved2[1]; - __IO uint32_t PMC_MCKR; /**< \brief (Pmc Offset: 0x0030) Master Clock Register */ - __I uint32_t Reserved3[1]; - __IO uint32_t PMC_USB; /**< \brief (Pmc Offset: 0x0038) USB Clock Register */ - __I uint32_t Reserved4[1]; - __IO uint32_t PMC_PCK[7]; /**< \brief (Pmc Offset: 0x0040) Programmable Clock 0 Register */ - __I uint32_t Reserved5[1]; - __O uint32_t PMC_IER; /**< \brief (Pmc Offset: 0x0060) Interrupt Enable Register */ - __O uint32_t PMC_IDR; /**< \brief (Pmc Offset: 0x0064) Interrupt Disable Register */ - __I uint32_t PMC_SR; /**< \brief (Pmc Offset: 0x0068) Status Register */ - __I uint32_t PMC_IMR; /**< \brief (Pmc Offset: 0x006C) Interrupt Mask Register */ - __IO uint32_t PMC_FSMR; /**< \brief (Pmc Offset: 0x0070) Fast Startup Mode Register */ - __IO uint32_t PMC_FSPR; /**< \brief (Pmc Offset: 0x0074) Fast Startup Polarity Register */ - __O uint32_t PMC_FOCR; /**< \brief (Pmc Offset: 0x0078) Fault Output Clear Register */ - __I uint32_t Reserved6[26]; - __IO uint32_t PMC_WPMR; /**< \brief (Pmc Offset: 0x00E4) Write Protection Mode Register */ - __I uint32_t PMC_WPSR; /**< \brief (Pmc Offset: 0x00E8) Write Protection Status Register */ - __I uint32_t Reserved7[5]; - __O uint32_t PMC_PCER1; /**< \brief (Pmc Offset: 0x0100) Peripheral Clock Enable Register 1 */ - __O uint32_t PMC_PCDR1; /**< \brief (Pmc Offset: 0x0104) Peripheral Clock Disable Register 1 */ - __I uint32_t PMC_PCSR1; /**< \brief (Pmc Offset: 0x0108) Peripheral Clock Status Register 1 */ - __IO uint32_t PMC_PCR; /**< \brief (Pmc Offset: 0x010C) Peripheral Control Register */ - __IO uint32_t PMC_OCR; /**< \brief (Pmc Offset: 0x0110) Oscillator Calibration Register */ - __O uint32_t PMC_SLPWK_ER0; /**< \brief (Pmc Offset: 0x0114) SleepWalking Enable Register 0 */ - __O uint32_t PMC_SLPWK_DR0; /**< \brief (Pmc Offset: 0x0118) SleepWalking Disable Register 0 */ - __I uint32_t PMC_SLPWK_SR0; /**< \brief (Pmc Offset: 0x011C) SleepWalking Status Register 0 */ - __I uint32_t PMC_SLPWK_ASR0; /**< \brief (Pmc Offset: 0x0120) SleepWalking Activity Status Register 0 */ - __I uint32_t Reserved8[4]; - __O uint32_t PMC_SLPWK_ER1; /**< \brief (Pmc Offset: 0x0134) SleepWalking Enable Register 1 */ - __O uint32_t PMC_SLPWK_DR1; /**< \brief (Pmc Offset: 0x0138) SleepWalking Disable Register 1 */ - __I uint32_t PMC_SLPWK_SR1; /**< \brief (Pmc Offset: 0x013C) SleepWalking Status Register 1 */ - __I uint32_t PMC_SLPWK_ASR1; /**< \brief (Pmc Offset: 0x0140) SleepWalking Activity Status Register 1 */ - __I uint32_t PMC_SLPWK_AIPR; /**< \brief (Pmc Offset: 0x0144) SleepWalking Activity In Progress Register */ -} Pmc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- PMC_SCER : (PMC Offset: 0x0000) System Clock Enable Register -------- */ -#define PMC_SCER_USBCLK (0x1u << 5) /**< \brief (PMC_SCER) Enable USB FS Clock */ -#define PMC_SCER_PCK0 (0x1u << 8) /**< \brief (PMC_SCER) Programmable Clock 0 Output Enable */ -#define PMC_SCER_PCK1 (0x1u << 9) /**< \brief (PMC_SCER) Programmable Clock 1 Output Enable */ -#define PMC_SCER_PCK2 (0x1u << 10) /**< \brief (PMC_SCER) Programmable Clock 2 Output Enable */ -#define PMC_SCER_PCK3 (0x1u << 11) /**< \brief (PMC_SCER) Programmable Clock 3 Output Enable */ -#define PMC_SCER_PCK4 (0x1u << 12) /**< \brief (PMC_SCER) Programmable Clock 4 Output Enable */ -#define PMC_SCER_PCK5 (0x1u << 13) /**< \brief (PMC_SCER) Programmable Clock 5 Output Enable */ -#define PMC_SCER_PCK6 (0x1u << 14) /**< \brief (PMC_SCER) Programmable Clock 6 Output Enable */ -/* -------- PMC_SCDR : (PMC Offset: 0x0004) System Clock Disable Register -------- */ -#define PMC_SCDR_USBCLK (0x1u << 5) /**< \brief (PMC_SCDR) Disable USB FS Clock */ -#define PMC_SCDR_PCK0 (0x1u << 8) /**< \brief (PMC_SCDR) Programmable Clock 0 Output Disable */ -#define PMC_SCDR_PCK1 (0x1u << 9) /**< \brief (PMC_SCDR) Programmable Clock 1 Output Disable */ -#define PMC_SCDR_PCK2 (0x1u << 10) /**< \brief (PMC_SCDR) Programmable Clock 2 Output Disable */ -#define PMC_SCDR_PCK3 (0x1u << 11) /**< \brief (PMC_SCDR) Programmable Clock 3 Output Disable */ -#define PMC_SCDR_PCK4 (0x1u << 12) /**< \brief (PMC_SCDR) Programmable Clock 4 Output Disable */ -#define PMC_SCDR_PCK5 (0x1u << 13) /**< \brief (PMC_SCDR) Programmable Clock 5 Output Disable */ -#define PMC_SCDR_PCK6 (0x1u << 14) /**< \brief (PMC_SCDR) Programmable Clock 6 Output Disable */ -/* -------- PMC_SCSR : (PMC Offset: 0x0008) System Clock Status Register -------- */ -#define PMC_SCSR_USBCLK (0x1u << 5) /**< \brief (PMC_SCSR) USB FS Clock Status */ -#define PMC_SCSR_PCK0 (0x1u << 8) /**< \brief (PMC_SCSR) Programmable Clock 0 Output Status */ -#define PMC_SCSR_PCK1 (0x1u << 9) /**< \brief (PMC_SCSR) Programmable Clock 1 Output Status */ -#define PMC_SCSR_PCK2 (0x1u << 10) /**< \brief (PMC_SCSR) Programmable Clock 2 Output Status */ -#define PMC_SCSR_PCK3 (0x1u << 11) /**< \brief (PMC_SCSR) Programmable Clock 3 Output Status */ -#define PMC_SCSR_PCK4 (0x1u << 12) /**< \brief (PMC_SCSR) Programmable Clock 4 Output Status */ -#define PMC_SCSR_PCK5 (0x1u << 13) /**< \brief (PMC_SCSR) Programmable Clock 5 Output Status */ -#define PMC_SCSR_PCK6 (0x1u << 14) /**< \brief (PMC_SCSR) Programmable Clock 6 Output Status */ -/* -------- PMC_PCER0 : (PMC Offset: 0x0010) Peripheral Clock Enable Register 0 -------- */ -#define PMC_PCER0_PID7 (0x1u << 7) /**< \brief (PMC_PCER0) Peripheral Clock 7 Enable */ -#define PMC_PCER0_PID8 (0x1u << 8) /**< \brief (PMC_PCER0) Peripheral Clock 8 Enable */ -#define PMC_PCER0_PID9 (0x1u << 9) /**< \brief (PMC_PCER0) Peripheral Clock 9 Enable */ -#define PMC_PCER0_PID10 (0x1u << 10) /**< \brief (PMC_PCER0) Peripheral Clock 10 Enable */ -#define PMC_PCER0_PID11 (0x1u << 11) /**< \brief (PMC_PCER0) Peripheral Clock 11 Enable */ -#define PMC_PCER0_PID12 (0x1u << 12) /**< \brief (PMC_PCER0) Peripheral Clock 12 Enable */ -#define PMC_PCER0_PID13 (0x1u << 13) /**< \brief (PMC_PCER0) Peripheral Clock 13 Enable */ -#define PMC_PCER0_PID14 (0x1u << 14) /**< \brief (PMC_PCER0) Peripheral Clock 14 Enable */ -#define PMC_PCER0_PID15 (0x1u << 15) /**< \brief (PMC_PCER0) Peripheral Clock 15 Enable */ -#define PMC_PCER0_PID16 (0x1u << 16) /**< \brief (PMC_PCER0) Peripheral Clock 16 Enable */ -#define PMC_PCER0_PID17 (0x1u << 17) /**< \brief (PMC_PCER0) Peripheral Clock 17 Enable */ -#define PMC_PCER0_PID18 (0x1u << 18) /**< \brief (PMC_PCER0) Peripheral Clock 18 Enable */ -#define PMC_PCER0_PID19 (0x1u << 19) /**< \brief (PMC_PCER0) Peripheral Clock 19 Enable */ -#define PMC_PCER0_PID20 (0x1u << 20) /**< \brief (PMC_PCER0) Peripheral Clock 20 Enable */ -#define PMC_PCER0_PID21 (0x1u << 21) /**< \brief (PMC_PCER0) Peripheral Clock 21 Enable */ -#define PMC_PCER0_PID22 (0x1u << 22) /**< \brief (PMC_PCER0) Peripheral Clock 22 Enable */ -#define PMC_PCER0_PID23 (0x1u << 23) /**< \brief (PMC_PCER0) Peripheral Clock 23 Enable */ -#define PMC_PCER0_PID24 (0x1u << 24) /**< \brief (PMC_PCER0) Peripheral Clock 24 Enable */ -#define PMC_PCER0_PID25 (0x1u << 25) /**< \brief (PMC_PCER0) Peripheral Clock 25 Enable */ -#define PMC_PCER0_PID26 (0x1u << 26) /**< \brief (PMC_PCER0) Peripheral Clock 26 Enable */ -#define PMC_PCER0_PID27 (0x1u << 27) /**< \brief (PMC_PCER0) Peripheral Clock 27 Enable */ -#define PMC_PCER0_PID28 (0x1u << 28) /**< \brief (PMC_PCER0) Peripheral Clock 28 Enable */ -#define PMC_PCER0_PID29 (0x1u << 29) /**< \brief (PMC_PCER0) Peripheral Clock 29 Enable */ -#define PMC_PCER0_PID30 (0x1u << 30) /**< \brief (PMC_PCER0) Peripheral Clock 30 Enable */ -#define PMC_PCER0_PID31 (0x1u << 31) /**< \brief (PMC_PCER0) Peripheral Clock 31 Enable */ -/* -------- PMC_PCDR0 : (PMC Offset: 0x0014) Peripheral Clock Disable Register 0 -------- */ -#define PMC_PCDR0_PID7 (0x1u << 7) /**< \brief (PMC_PCDR0) Peripheral Clock 7 Disable */ -#define PMC_PCDR0_PID8 (0x1u << 8) /**< \brief (PMC_PCDR0) Peripheral Clock 8 Disable */ -#define PMC_PCDR0_PID9 (0x1u << 9) /**< \brief (PMC_PCDR0) Peripheral Clock 9 Disable */ -#define PMC_PCDR0_PID10 (0x1u << 10) /**< \brief (PMC_PCDR0) Peripheral Clock 10 Disable */ -#define PMC_PCDR0_PID11 (0x1u << 11) /**< \brief (PMC_PCDR0) Peripheral Clock 11 Disable */ -#define PMC_PCDR0_PID12 (0x1u << 12) /**< \brief (PMC_PCDR0) Peripheral Clock 12 Disable */ -#define PMC_PCDR0_PID13 (0x1u << 13) /**< \brief (PMC_PCDR0) Peripheral Clock 13 Disable */ -#define PMC_PCDR0_PID14 (0x1u << 14) /**< \brief (PMC_PCDR0) Peripheral Clock 14 Disable */ -#define PMC_PCDR0_PID15 (0x1u << 15) /**< \brief (PMC_PCDR0) Peripheral Clock 15 Disable */ -#define PMC_PCDR0_PID16 (0x1u << 16) /**< \brief (PMC_PCDR0) Peripheral Clock 16 Disable */ -#define PMC_PCDR0_PID17 (0x1u << 17) /**< \brief (PMC_PCDR0) Peripheral Clock 17 Disable */ -#define PMC_PCDR0_PID18 (0x1u << 18) /**< \brief (PMC_PCDR0) Peripheral Clock 18 Disable */ -#define PMC_PCDR0_PID19 (0x1u << 19) /**< \brief (PMC_PCDR0) Peripheral Clock 19 Disable */ -#define PMC_PCDR0_PID20 (0x1u << 20) /**< \brief (PMC_PCDR0) Peripheral Clock 20 Disable */ -#define PMC_PCDR0_PID21 (0x1u << 21) /**< \brief (PMC_PCDR0) Peripheral Clock 21 Disable */ -#define PMC_PCDR0_PID22 (0x1u << 22) /**< \brief (PMC_PCDR0) Peripheral Clock 22 Disable */ -#define PMC_PCDR0_PID23 (0x1u << 23) /**< \brief (PMC_PCDR0) Peripheral Clock 23 Disable */ -#define PMC_PCDR0_PID24 (0x1u << 24) /**< \brief (PMC_PCDR0) Peripheral Clock 24 Disable */ -#define PMC_PCDR0_PID25 (0x1u << 25) /**< \brief (PMC_PCDR0) Peripheral Clock 25 Disable */ -#define PMC_PCDR0_PID26 (0x1u << 26) /**< \brief (PMC_PCDR0) Peripheral Clock 26 Disable */ -#define PMC_PCDR0_PID27 (0x1u << 27) /**< \brief (PMC_PCDR0) Peripheral Clock 27 Disable */ -#define PMC_PCDR0_PID28 (0x1u << 28) /**< \brief (PMC_PCDR0) Peripheral Clock 28 Disable */ -#define PMC_PCDR0_PID29 (0x1u << 29) /**< \brief (PMC_PCDR0) Peripheral Clock 29 Disable */ -#define PMC_PCDR0_PID30 (0x1u << 30) /**< \brief (PMC_PCDR0) Peripheral Clock 30 Disable */ -#define PMC_PCDR0_PID31 (0x1u << 31) /**< \brief (PMC_PCDR0) Peripheral Clock 31 Disable */ -/* -------- PMC_PCSR0 : (PMC Offset: 0x0018) Peripheral Clock Status Register 0 -------- */ -#define PMC_PCSR0_PID7 (0x1u << 7) /**< \brief (PMC_PCSR0) Peripheral Clock 7 Status */ -#define PMC_PCSR0_PID8 (0x1u << 8) /**< \brief (PMC_PCSR0) Peripheral Clock 8 Status */ -#define PMC_PCSR0_PID9 (0x1u << 9) /**< \brief (PMC_PCSR0) Peripheral Clock 9 Status */ -#define PMC_PCSR0_PID10 (0x1u << 10) /**< \brief (PMC_PCSR0) Peripheral Clock 10 Status */ -#define PMC_PCSR0_PID11 (0x1u << 11) /**< \brief (PMC_PCSR0) Peripheral Clock 11 Status */ -#define PMC_PCSR0_PID12 (0x1u << 12) /**< \brief (PMC_PCSR0) Peripheral Clock 12 Status */ -#define PMC_PCSR0_PID13 (0x1u << 13) /**< \brief (PMC_PCSR0) Peripheral Clock 13 Status */ -#define PMC_PCSR0_PID14 (0x1u << 14) /**< \brief (PMC_PCSR0) Peripheral Clock 14 Status */ -#define PMC_PCSR0_PID15 (0x1u << 15) /**< \brief (PMC_PCSR0) Peripheral Clock 15 Status */ -#define PMC_PCSR0_PID16 (0x1u << 16) /**< \brief (PMC_PCSR0) Peripheral Clock 16 Status */ -#define PMC_PCSR0_PID17 (0x1u << 17) /**< \brief (PMC_PCSR0) Peripheral Clock 17 Status */ -#define PMC_PCSR0_PID18 (0x1u << 18) /**< \brief (PMC_PCSR0) Peripheral Clock 18 Status */ -#define PMC_PCSR0_PID19 (0x1u << 19) /**< \brief (PMC_PCSR0) Peripheral Clock 19 Status */ -#define PMC_PCSR0_PID20 (0x1u << 20) /**< \brief (PMC_PCSR0) Peripheral Clock 20 Status */ -#define PMC_PCSR0_PID21 (0x1u << 21) /**< \brief (PMC_PCSR0) Peripheral Clock 21 Status */ -#define PMC_PCSR0_PID22 (0x1u << 22) /**< \brief (PMC_PCSR0) Peripheral Clock 22 Status */ -#define PMC_PCSR0_PID23 (0x1u << 23) /**< \brief (PMC_PCSR0) Peripheral Clock 23 Status */ -#define PMC_PCSR0_PID24 (0x1u << 24) /**< \brief (PMC_PCSR0) Peripheral Clock 24 Status */ -#define PMC_PCSR0_PID25 (0x1u << 25) /**< \brief (PMC_PCSR0) Peripheral Clock 25 Status */ -#define PMC_PCSR0_PID26 (0x1u << 26) /**< \brief (PMC_PCSR0) Peripheral Clock 26 Status */ -#define PMC_PCSR0_PID27 (0x1u << 27) /**< \brief (PMC_PCSR0) Peripheral Clock 27 Status */ -#define PMC_PCSR0_PID28 (0x1u << 28) /**< \brief (PMC_PCSR0) Peripheral Clock 28 Status */ -#define PMC_PCSR0_PID29 (0x1u << 29) /**< \brief (PMC_PCSR0) Peripheral Clock 29 Status */ -#define PMC_PCSR0_PID30 (0x1u << 30) /**< \brief (PMC_PCSR0) Peripheral Clock 30 Status */ -#define PMC_PCSR0_PID31 (0x1u << 31) /**< \brief (PMC_PCSR0) Peripheral Clock 31 Status */ -/* -------- CKGR_UCKR : (PMC Offset: 0x001C) UTMI Clock Register -------- */ -#define CKGR_UCKR_UPLLEN (0x1u << 16) /**< \brief (CKGR_UCKR) UTMI PLL Enable */ -#define CKGR_UCKR_UPLLCOUNT_Pos 20 -#define CKGR_UCKR_UPLLCOUNT_Msk (0xfu << CKGR_UCKR_UPLLCOUNT_Pos) /**< \brief (CKGR_UCKR) UTMI PLL Start-up Time */ -#define CKGR_UCKR_UPLLCOUNT(value) ((CKGR_UCKR_UPLLCOUNT_Msk & ((value) << CKGR_UCKR_UPLLCOUNT_Pos))) -/* -------- CKGR_MOR : (PMC Offset: 0x0020) Main Oscillator Register -------- */ -#define CKGR_MOR_MOSCXTEN (0x1u << 0) /**< \brief (CKGR_MOR) Main Crystal Oscillator Enable */ -#define CKGR_MOR_MOSCXTBY (0x1u << 1) /**< \brief (CKGR_MOR) Main Crystal Oscillator Bypass */ -#define CKGR_MOR_WAITMODE (0x1u << 2) /**< \brief (CKGR_MOR) Wait Mode Command (Write-only) */ -#define CKGR_MOR_MOSCRCEN (0x1u << 3) /**< \brief (CKGR_MOR) Main On-Chip RC Oscillator Enable */ -#define CKGR_MOR_MOSCRCF_Pos 4 -#define CKGR_MOR_MOSCRCF_Msk (0x7u << CKGR_MOR_MOSCRCF_Pos) /**< \brief (CKGR_MOR) Main On-Chip RC Oscillator Frequency Selection */ -#define CKGR_MOR_MOSCRCF(value) ((CKGR_MOR_MOSCRCF_Msk & ((value) << CKGR_MOR_MOSCRCF_Pos))) -#define CKGR_MOR_MOSCRCF_4_MHz (0x0u << 4) /**< \brief (CKGR_MOR) Fast RC oscillator frequency is at 4 MHz (default) */ -#define CKGR_MOR_MOSCRCF_8_MHz (0x1u << 4) /**< \brief (CKGR_MOR) Fast RC oscillator frequency is at 8 MHz */ -#define CKGR_MOR_MOSCRCF_12_MHz (0x2u << 4) /**< \brief (CKGR_MOR) Fast RC oscillator frequency is at 12 MHz */ -#define CKGR_MOR_MOSCXTST_Pos 8 -#define CKGR_MOR_MOSCXTST_Msk (0xffu << CKGR_MOR_MOSCXTST_Pos) /**< \brief (CKGR_MOR) Main Crystal Oscillator Start-up Time */ -#define CKGR_MOR_MOSCXTST(value) ((CKGR_MOR_MOSCXTST_Msk & ((value) << CKGR_MOR_MOSCXTST_Pos))) -#define CKGR_MOR_KEY_Pos 16 -#define CKGR_MOR_KEY_Msk (0xffu << CKGR_MOR_KEY_Pos) /**< \brief (CKGR_MOR) Write Access Password */ -#define CKGR_MOR_KEY(value) ((CKGR_MOR_KEY_Msk & ((value) << CKGR_MOR_KEY_Pos))) -#define CKGR_MOR_KEY_PASSWD (0x37u << 16) /**< \brief (CKGR_MOR) Writing any other value in this field aborts the write operation.Always reads as 0. */ -#define CKGR_MOR_MOSCSEL (0x1u << 24) /**< \brief (CKGR_MOR) Main Oscillator Selection */ -#define CKGR_MOR_CFDEN (0x1u << 25) /**< \brief (CKGR_MOR) Clock Failure Detector Enable */ -#define CKGR_MOR_XT32KFME (0x1u << 26) /**< \brief (CKGR_MOR) Slow Crystal Oscillator Frequency Monitoring Enable */ -/* -------- CKGR_MCFR : (PMC Offset: 0x0024) Main Clock Frequency Register -------- */ -#define CKGR_MCFR_MAINF_Pos 0 -#define CKGR_MCFR_MAINF_Msk (0xffffu << CKGR_MCFR_MAINF_Pos) /**< \brief (CKGR_MCFR) Main Clock Frequency */ -#define CKGR_MCFR_MAINF(value) ((CKGR_MCFR_MAINF_Msk & ((value) << CKGR_MCFR_MAINF_Pos))) -#define CKGR_MCFR_MAINFRDY (0x1u << 16) /**< \brief (CKGR_MCFR) Main Clock Frequency Measure Ready */ -#define CKGR_MCFR_RCMEAS (0x1u << 20) /**< \brief (CKGR_MCFR) RC Oscillator Frequency Measure (write-only) */ -#define CKGR_MCFR_CCSS (0x1u << 24) /**< \brief (CKGR_MCFR) Counter Clock Source Selection */ -/* -------- CKGR_PLLAR : (PMC Offset: 0x0028) PLLA Register -------- */ -#define CKGR_PLLAR_DIVA_Pos 0 -#define CKGR_PLLAR_DIVA_Msk (0xffu << CKGR_PLLAR_DIVA_Pos) /**< \brief (CKGR_PLLAR) PLLA Front End Divider */ -#define CKGR_PLLAR_DIVA(value) ((CKGR_PLLAR_DIVA_Msk & ((value) << CKGR_PLLAR_DIVA_Pos))) -#define CKGR_PLLAR_DIVA_0 (0x0u << 0) /**< \brief (CKGR_PLLAR) Divider output is 0 and PLLA is disabled. */ -#define CKGR_PLLAR_DIVA_BYPASS (0x1u << 0) /**< \brief (CKGR_PLLAR) Divider is bypassed (divide by 1) and PLLA is enabled. */ -#define CKGR_PLLAR_PLLACOUNT_Pos 8 -#define CKGR_PLLAR_PLLACOUNT_Msk (0x3fu << CKGR_PLLAR_PLLACOUNT_Pos) /**< \brief (CKGR_PLLAR) PLLA Counter */ -#define CKGR_PLLAR_PLLACOUNT(value) ((CKGR_PLLAR_PLLACOUNT_Msk & ((value) << CKGR_PLLAR_PLLACOUNT_Pos))) -#define CKGR_PLLAR_MULA_Pos 16 -#define CKGR_PLLAR_MULA_Msk (0x7ffu << CKGR_PLLAR_MULA_Pos) /**< \brief (CKGR_PLLAR) PLLA Multiplier */ -#define CKGR_PLLAR_MULA(value) ((CKGR_PLLAR_MULA_Msk & ((value) << CKGR_PLLAR_MULA_Pos))) -#define CKGR_PLLAR_ONE (0x1u << 29) /**< \brief (CKGR_PLLAR) Must Be Set to 1 */ -/* -------- PMC_MCKR : (PMC Offset: 0x0030) Master Clock Register -------- */ -#define PMC_MCKR_CSS_Pos 0 -#define PMC_MCKR_CSS_Msk (0x3u << PMC_MCKR_CSS_Pos) /**< \brief (PMC_MCKR) Master Clock Source Selection */ -#define PMC_MCKR_CSS(value) ((PMC_MCKR_CSS_Msk & ((value) << PMC_MCKR_CSS_Pos))) -#define PMC_MCKR_CSS_SLOW_CLK (0x0u << 0) /**< \brief (PMC_MCKR) Slow Clock is selected */ -#define PMC_MCKR_CSS_MAIN_CLK (0x1u << 0) /**< \brief (PMC_MCKR) Main Clock is selected */ -#define PMC_MCKR_CSS_PLLA_CLK (0x2u << 0) /**< \brief (PMC_MCKR) PLLA Clock is selected */ -#define PMC_MCKR_CSS_UPLL_CLK (0x3u << 0) /**< \brief (PMC_MCKR) Divided UPLL Clock is selected */ -#define PMC_MCKR_PRES_Pos 4 -#define PMC_MCKR_PRES_Msk (0x7u << PMC_MCKR_PRES_Pos) /**< \brief (PMC_MCKR) Processor Clock Prescaler */ -#define PMC_MCKR_PRES(value) ((PMC_MCKR_PRES_Msk & ((value) << PMC_MCKR_PRES_Pos))) -#define PMC_MCKR_PRES_CLK_1 (0x0u << 4) /**< \brief (PMC_MCKR) Selected clock */ -#define PMC_MCKR_PRES_CLK_2 (0x1u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 2 */ -#define PMC_MCKR_PRES_CLK_4 (0x2u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 4 */ -#define PMC_MCKR_PRES_CLK_8 (0x3u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 8 */ -#define PMC_MCKR_PRES_CLK_16 (0x4u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 16 */ -#define PMC_MCKR_PRES_CLK_32 (0x5u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 32 */ -#define PMC_MCKR_PRES_CLK_64 (0x6u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 64 */ -#define PMC_MCKR_PRES_CLK_3 (0x7u << 4) /**< \brief (PMC_MCKR) Selected clock divided by 3 */ -#define PMC_MCKR_MDIV_Pos 8 -#define PMC_MCKR_MDIV_Msk (0x3u << PMC_MCKR_MDIV_Pos) /**< \brief (PMC_MCKR) Master Clock Division */ -#define PMC_MCKR_MDIV(value) ((PMC_MCKR_MDIV_Msk & ((value) << PMC_MCKR_MDIV_Pos))) -#define PMC_MCKR_MDIV_EQ_PCK (0x0u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 1. */ -#define PMC_MCKR_MDIV_PCK_DIV2 (0x1u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 2. */ -#define PMC_MCKR_MDIV_PCK_DIV4 (0x2u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 4. */ -#define PMC_MCKR_MDIV_PCK_DIV3 (0x3u << 8) /**< \brief (PMC_MCKR) Master Clock is Prescaler Output Clock divided by 3. */ -#define PMC_MCKR_UPLLDIV2 (0x1u << 13) /**< \brief (PMC_MCKR) UPLL Divisor by 2 */ -/* -------- PMC_USB : (PMC Offset: 0x0038) USB Clock Register -------- */ -#define PMC_USB_USBS (0x1u << 0) /**< \brief (PMC_USB) USB Input Clock Selection */ -#define PMC_USB_USBDIV_Pos 8 -#define PMC_USB_USBDIV_Msk (0xfu << PMC_USB_USBDIV_Pos) /**< \brief (PMC_USB) Divider for USB Clock */ -#define PMC_USB_USBDIV(value) ((PMC_USB_USBDIV_Msk & ((value) << PMC_USB_USBDIV_Pos))) -/* -------- PMC_PCK[7] : (PMC Offset: 0x0040) Programmable Clock 0 Register -------- */ -#define PMC_PCK_CSS_Pos 0 -#define PMC_PCK_CSS_Msk (0x7u << PMC_PCK_CSS_Pos) /**< \brief (PMC_PCK[7]) Master Clock Source Selection */ -#define PMC_PCK_CSS(value) ((PMC_PCK_CSS_Msk & ((value) << PMC_PCK_CSS_Pos))) -#define PMC_PCK_CSS_SLOW_CLK (0x0u << 0) /**< \brief (PMC_PCK[7]) Slow Clock is selected */ -#define PMC_PCK_CSS_MAIN_CLK (0x1u << 0) /**< \brief (PMC_PCK[7]) Main Clock is selected */ -#define PMC_PCK_CSS_PLLA_CLK (0x2u << 0) /**< \brief (PMC_PCK[7]) PLLA Clock is selected */ -#define PMC_PCK_CSS_UPLL_CLK (0x3u << 0) /**< \brief (PMC_PCK[7]) Divided UPLL Clock is selected */ -#define PMC_PCK_CSS_MCK (0x4u << 0) /**< \brief (PMC_PCK[7]) Master Clock is selected */ -#define PMC_PCK_PRES_Pos 4 -#define PMC_PCK_PRES_Msk (0xffu << PMC_PCK_PRES_Pos) /**< \brief (PMC_PCK[7]) Programmable Clock Prescaler */ -#define PMC_PCK_PRES(value) ((PMC_PCK_PRES_Msk & ((value) << PMC_PCK_PRES_Pos))) -/* -------- PMC_IER : (PMC Offset: 0x0060) Interrupt Enable Register -------- */ -#define PMC_IER_MOSCXTS (0x1u << 0) /**< \brief (PMC_IER) Main Crystal Oscillator Status Interrupt Enable */ -#define PMC_IER_LOCKA (0x1u << 1) /**< \brief (PMC_IER) PLLA Lock Interrupt Enable */ -#define PMC_IER_MCKRDY (0x1u << 3) /**< \brief (PMC_IER) Master Clock Ready Interrupt Enable */ -#define PMC_IER_LOCKU (0x1u << 6) /**< \brief (PMC_IER) UTMI PLL Lock Interrupt Enable */ -#define PMC_IER_PCKRDY0 (0x1u << 8) /**< \brief (PMC_IER) Programmable Clock Ready 0 Interrupt Enable */ -#define PMC_IER_PCKRDY1 (0x1u << 9) /**< \brief (PMC_IER) Programmable Clock Ready 1 Interrupt Enable */ -#define PMC_IER_PCKRDY2 (0x1u << 10) /**< \brief (PMC_IER) Programmable Clock Ready 2 Interrupt Enable */ -#define PMC_IER_PCKRDY3 (0x1u << 11) /**< \brief (PMC_IER) Programmable Clock Ready 3 Interrupt Enable */ -#define PMC_IER_PCKRDY4 (0x1u << 12) /**< \brief (PMC_IER) Programmable Clock Ready 4 Interrupt Enable */ -#define PMC_IER_PCKRDY5 (0x1u << 13) /**< \brief (PMC_IER) Programmable Clock Ready 5 Interrupt Enable */ -#define PMC_IER_PCKRDY6 (0x1u << 14) /**< \brief (PMC_IER) Programmable Clock Ready 6 Interrupt Enable */ -#define PMC_IER_MOSCSELS (0x1u << 16) /**< \brief (PMC_IER) Main Oscillator Selection Status Interrupt Enable */ -#define PMC_IER_MOSCRCS (0x1u << 17) /**< \brief (PMC_IER) Main On-Chip RC Status Interrupt Enable */ -#define PMC_IER_CFDEV (0x1u << 18) /**< \brief (PMC_IER) Clock Failure Detector Event Interrupt Enable */ -#define PMC_IER_XT32KERR (0x1u << 21) /**< \brief (PMC_IER) Slow Crystal Oscillator Error Interrupt Enable */ -/* -------- PMC_IDR : (PMC Offset: 0x0064) Interrupt Disable Register -------- */ -#define PMC_IDR_MOSCXTS (0x1u << 0) /**< \brief (PMC_IDR) Main Crystal Oscillator Status Interrupt Disable */ -#define PMC_IDR_LOCKA (0x1u << 1) /**< \brief (PMC_IDR) PLLA Lock Interrupt Disable */ -#define PMC_IDR_MCKRDY (0x1u << 3) /**< \brief (PMC_IDR) Master Clock Ready Interrupt Disable */ -#define PMC_IDR_LOCKU (0x1u << 6) /**< \brief (PMC_IDR) UTMI PLL Lock Interrupt Disable */ -#define PMC_IDR_PCKRDY0 (0x1u << 8) /**< \brief (PMC_IDR) Programmable Clock Ready 0 Interrupt Disable */ -#define PMC_IDR_PCKRDY1 (0x1u << 9) /**< \brief (PMC_IDR) Programmable Clock Ready 1 Interrupt Disable */ -#define PMC_IDR_PCKRDY2 (0x1u << 10) /**< \brief (PMC_IDR) Programmable Clock Ready 2 Interrupt Disable */ -#define PMC_IDR_PCKRDY3 (0x1u << 11) /**< \brief (PMC_IDR) Programmable Clock Ready 3 Interrupt Disable */ -#define PMC_IDR_PCKRDY4 (0x1u << 12) /**< \brief (PMC_IDR) Programmable Clock Ready 4 Interrupt Disable */ -#define PMC_IDR_PCKRDY5 (0x1u << 13) /**< \brief (PMC_IDR) Programmable Clock Ready 5 Interrupt Disable */ -#define PMC_IDR_PCKRDY6 (0x1u << 14) /**< \brief (PMC_IDR) Programmable Clock Ready 6 Interrupt Disable */ -#define PMC_IDR_MOSCSELS (0x1u << 16) /**< \brief (PMC_IDR) Main Oscillator Selection Status Interrupt Disable */ -#define PMC_IDR_MOSCRCS (0x1u << 17) /**< \brief (PMC_IDR) Main On-Chip RC Status Interrupt Disable */ -#define PMC_IDR_CFDEV (0x1u << 18) /**< \brief (PMC_IDR) Clock Failure Detector Event Interrupt Disable */ -#define PMC_IDR_XT32KERR (0x1u << 21) /**< \brief (PMC_IDR) Slow Crystal Oscillator Error Interrupt Disable */ -/* -------- PMC_SR : (PMC Offset: 0x0068) Status Register -------- */ -#define PMC_SR_MOSCXTS (0x1u << 0) /**< \brief (PMC_SR) Main Crystal Oscillator Status */ -#define PMC_SR_LOCKA (0x1u << 1) /**< \brief (PMC_SR) PLLA Lock Status */ -#define PMC_SR_MCKRDY (0x1u << 3) /**< \brief (PMC_SR) Master Clock Status */ -#define PMC_SR_LOCKU (0x1u << 6) /**< \brief (PMC_SR) UTMI PLL Lock Status */ -#define PMC_SR_OSCSELS (0x1u << 7) /**< \brief (PMC_SR) Slow Clock Oscillator Selection */ -#define PMC_SR_PCKRDY0 (0x1u << 8) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY1 (0x1u << 9) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY2 (0x1u << 10) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY3 (0x1u << 11) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY4 (0x1u << 12) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY5 (0x1u << 13) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_PCKRDY6 (0x1u << 14) /**< \brief (PMC_SR) Programmable Clock Ready Status */ -#define PMC_SR_MOSCSELS (0x1u << 16) /**< \brief (PMC_SR) Main Oscillator Selection Status */ -#define PMC_SR_MOSCRCS (0x1u << 17) /**< \brief (PMC_SR) Main On-Chip RC Oscillator Status */ -#define PMC_SR_CFDEV (0x1u << 18) /**< \brief (PMC_SR) Clock Failure Detector Event */ -#define PMC_SR_CFDS (0x1u << 19) /**< \brief (PMC_SR) Clock Failure Detector Status */ -#define PMC_SR_FOS (0x1u << 20) /**< \brief (PMC_SR) Clock Failure Detector Fault Output Status */ -#define PMC_SR_XT32KERR (0x1u << 21) /**< \brief (PMC_SR) Slow Crystal Oscillator Error */ -/* -------- PMC_IMR : (PMC Offset: 0x006C) Interrupt Mask Register -------- */ -#define PMC_IMR_MOSCXTS (0x1u << 0) /**< \brief (PMC_IMR) Main Crystal Oscillator Status Interrupt Mask */ -#define PMC_IMR_LOCKA (0x1u << 1) /**< \brief (PMC_IMR) PLLA Lock Interrupt Mask */ -#define PMC_IMR_MCKRDY (0x1u << 3) /**< \brief (PMC_IMR) Master Clock Ready Interrupt Mask */ -#define PMC_IMR_LOCKU (0x1u << 6) /**< \brief (PMC_IMR) UTMI PLL Lock Interrupt Mask */ -#define PMC_IMR_PCKRDY0 (0x1u << 8) /**< \brief (PMC_IMR) Programmable Clock Ready 0 Interrupt Mask */ -#define PMC_IMR_PCKRDY1 (0x1u << 9) /**< \brief (PMC_IMR) Programmable Clock Ready 1 Interrupt Mask */ -#define PMC_IMR_PCKRDY2 (0x1u << 10) /**< \brief (PMC_IMR) Programmable Clock Ready 2 Interrupt Mask */ -#define PMC_IMR_MOSCSELS (0x1u << 16) /**< \brief (PMC_IMR) Main Oscillator Selection Status Interrupt Mask */ -#define PMC_IMR_MOSCRCS (0x1u << 17) /**< \brief (PMC_IMR) Main On-Chip RC Status Interrupt Mask */ -#define PMC_IMR_CFDEV (0x1u << 18) /**< \brief (PMC_IMR) Clock Failure Detector Event Interrupt Mask */ -#define PMC_IMR_XT32KERR (0x1u << 21) /**< \brief (PMC_IMR) Slow Crystal Oscillator Error Interrupt Mask */ -/* -------- PMC_FSMR : (PMC Offset: 0x0070) Fast Startup Mode Register -------- */ -#define PMC_FSMR_FSTT0 (0x1u << 0) /**< \brief (PMC_FSMR) Fast Startup Input Enable 0 */ -#define PMC_FSMR_FSTT1 (0x1u << 1) /**< \brief (PMC_FSMR) Fast Startup Input Enable 1 */ -#define PMC_FSMR_FSTT2 (0x1u << 2) /**< \brief (PMC_FSMR) Fast Startup Input Enable 2 */ -#define PMC_FSMR_FSTT3 (0x1u << 3) /**< \brief (PMC_FSMR) Fast Startup Input Enable 3 */ -#define PMC_FSMR_FSTT4 (0x1u << 4) /**< \brief (PMC_FSMR) Fast Startup Input Enable 4 */ -#define PMC_FSMR_FSTT5 (0x1u << 5) /**< \brief (PMC_FSMR) Fast Startup Input Enable 5 */ -#define PMC_FSMR_FSTT6 (0x1u << 6) /**< \brief (PMC_FSMR) Fast Startup Input Enable 6 */ -#define PMC_FSMR_FSTT7 (0x1u << 7) /**< \brief (PMC_FSMR) Fast Startup Input Enable 7 */ -#define PMC_FSMR_FSTT8 (0x1u << 8) /**< \brief (PMC_FSMR) Fast Startup Input Enable 8 */ -#define PMC_FSMR_FSTT9 (0x1u << 9) /**< \brief (PMC_FSMR) Fast Startup Input Enable 9 */ -#define PMC_FSMR_FSTT10 (0x1u << 10) /**< \brief (PMC_FSMR) Fast Startup Input Enable 10 */ -#define PMC_FSMR_FSTT11 (0x1u << 11) /**< \brief (PMC_FSMR) Fast Startup Input Enable 11 */ -#define PMC_FSMR_FSTT12 (0x1u << 12) /**< \brief (PMC_FSMR) Fast Startup Input Enable 12 */ -#define PMC_FSMR_FSTT13 (0x1u << 13) /**< \brief (PMC_FSMR) Fast Startup Input Enable 13 */ -#define PMC_FSMR_FSTT14 (0x1u << 14) /**< \brief (PMC_FSMR) Fast Startup Input Enable 14 */ -#define PMC_FSMR_FSTT15 (0x1u << 15) /**< \brief (PMC_FSMR) Fast Startup Input Enable 15 */ -#define PMC_FSMR_RTTAL (0x1u << 16) /**< \brief (PMC_FSMR) RTT Alarm Enable */ -#define PMC_FSMR_RTCAL (0x1u << 17) /**< \brief (PMC_FSMR) RTC Alarm Enable */ -#define PMC_FSMR_USBAL (0x1u << 18) /**< \brief (PMC_FSMR) USB Alarm Enable */ -#define PMC_FSMR_LPM (0x1u << 20) /**< \brief (PMC_FSMR) Low-power Mode */ -#define PMC_FSMR_FLPM_Pos 21 -#define PMC_FSMR_FLPM_Msk (0x3u << PMC_FSMR_FLPM_Pos) /**< \brief (PMC_FSMR) Flash Low-power Mode */ -#define PMC_FSMR_FLPM(value) ((PMC_FSMR_FLPM_Msk & ((value) << PMC_FSMR_FLPM_Pos))) -#define PMC_FSMR_FLPM_FLASH_STANDBY (0x0u << 21) /**< \brief (PMC_FSMR) Flash is in Standby Mode when system enters Wait Mode */ -#define PMC_FSMR_FLPM_FLASH_DEEP_POWERDOWN (0x1u << 21) /**< \brief (PMC_FSMR) Flash is in Deep-power-down mode when system enters Wait Mode */ -#define PMC_FSMR_FLPM_FLASH_IDLE (0x2u << 21) /**< \brief (PMC_FSMR) Idle mode */ -#define PMC_FSMR_FFLPM (0x1u << 23) /**< \brief (PMC_FSMR) Force Flash Low-power Mode */ -/* -------- PMC_FSPR : (PMC Offset: 0x0074) Fast Startup Polarity Register -------- */ -#define PMC_FSPR_FSTP0 (0x1u << 0) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 0 */ -#define PMC_FSPR_FSTP1 (0x1u << 1) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 1 */ -#define PMC_FSPR_FSTP2 (0x1u << 2) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 2 */ -#define PMC_FSPR_FSTP3 (0x1u << 3) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 3 */ -#define PMC_FSPR_FSTP4 (0x1u << 4) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 4 */ -#define PMC_FSPR_FSTP5 (0x1u << 5) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 5 */ -#define PMC_FSPR_FSTP6 (0x1u << 6) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 6 */ -#define PMC_FSPR_FSTP7 (0x1u << 7) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 7 */ -#define PMC_FSPR_FSTP8 (0x1u << 8) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 8 */ -#define PMC_FSPR_FSTP9 (0x1u << 9) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 9 */ -#define PMC_FSPR_FSTP10 (0x1u << 10) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 10 */ -#define PMC_FSPR_FSTP11 (0x1u << 11) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 11 */ -#define PMC_FSPR_FSTP12 (0x1u << 12) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 12 */ -#define PMC_FSPR_FSTP13 (0x1u << 13) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 13 */ -#define PMC_FSPR_FSTP14 (0x1u << 14) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 14 */ -#define PMC_FSPR_FSTP15 (0x1u << 15) /**< \brief (PMC_FSPR) Fast Startup Input Polarity 15 */ -/* -------- PMC_FOCR : (PMC Offset: 0x0078) Fault Output Clear Register -------- */ -#define PMC_FOCR_FOCLR (0x1u << 0) /**< \brief (PMC_FOCR) Fault Output Clear */ -/* -------- PMC_WPMR : (PMC Offset: 0x00E4) Write Protection Mode Register -------- */ -#define PMC_WPMR_WPEN (0x1u << 0) /**< \brief (PMC_WPMR) Write Protection Enable */ -#define PMC_WPMR_WPKEY_Pos 8 -#define PMC_WPMR_WPKEY_Msk (0xffffffu << PMC_WPMR_WPKEY_Pos) /**< \brief (PMC_WPMR) Write Protection Key */ -#define PMC_WPMR_WPKEY(value) ((PMC_WPMR_WPKEY_Msk & ((value) << PMC_WPMR_WPKEY_Pos))) -#define PMC_WPMR_WPKEY_PASSWD (0x504D43u << 8) /**< \brief (PMC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- PMC_WPSR : (PMC Offset: 0x00E8) Write Protection Status Register -------- */ -#define PMC_WPSR_WPVS (0x1u << 0) /**< \brief (PMC_WPSR) Write Protection Violation Status */ -#define PMC_WPSR_WPVSRC_Pos 8 -#define PMC_WPSR_WPVSRC_Msk (0xffffu << PMC_WPSR_WPVSRC_Pos) /**< \brief (PMC_WPSR) Write Protection Violation Source */ -/* -------- PMC_PCER1 : (PMC Offset: 0x0100) Peripheral Clock Enable Register 1 -------- */ -#define PMC_PCER1_PID32 (0x1u << 0) /**< \brief (PMC_PCER1) Peripheral Clock 32 Enable */ -#define PMC_PCER1_PID33 (0x1u << 1) /**< \brief (PMC_PCER1) Peripheral Clock 33 Enable */ -#define PMC_PCER1_PID34 (0x1u << 2) /**< \brief (PMC_PCER1) Peripheral Clock 34 Enable */ -#define PMC_PCER1_PID35 (0x1u << 3) /**< \brief (PMC_PCER1) Peripheral Clock 35 Enable */ -#define PMC_PCER1_PID37 (0x1u << 5) /**< \brief (PMC_PCER1) Peripheral Clock 37 Enable */ -#define PMC_PCER1_PID39 (0x1u << 7) /**< \brief (PMC_PCER1) Peripheral Clock 39 Enable */ -#define PMC_PCER1_PID40 (0x1u << 8) /**< \brief (PMC_PCER1) Peripheral Clock 40 Enable */ -#define PMC_PCER1_PID41 (0x1u << 9) /**< \brief (PMC_PCER1) Peripheral Clock 41 Enable */ -#define PMC_PCER1_PID42 (0x1u << 10) /**< \brief (PMC_PCER1) Peripheral Clock 42 Enable */ -#define PMC_PCER1_PID43 (0x1u << 11) /**< \brief (PMC_PCER1) Peripheral Clock 43 Enable */ -#define PMC_PCER1_PID44 (0x1u << 12) /**< \brief (PMC_PCER1) Peripheral Clock 44 Enable */ -#define PMC_PCER1_PID45 (0x1u << 13) /**< \brief (PMC_PCER1) Peripheral Clock 45 Enable */ -#define PMC_PCER1_PID46 (0x1u << 14) /**< \brief (PMC_PCER1) Peripheral Clock 46 Enable */ -#define PMC_PCER1_PID47 (0x1u << 15) /**< \brief (PMC_PCER1) Peripheral Clock 47 Enable */ -#define PMC_PCER1_PID48 (0x1u << 16) /**< \brief (PMC_PCER1) Peripheral Clock 48 Enable */ -#define PMC_PCER1_PID49 (0x1u << 17) /**< \brief (PMC_PCER1) Peripheral Clock 49 Enable */ -#define PMC_PCER1_PID50 (0x1u << 18) /**< \brief (PMC_PCER1) Peripheral Clock 50 Enable */ -#define PMC_PCER1_PID51 (0x1u << 19) /**< \brief (PMC_PCER1) Peripheral Clock 51 Enable */ -#define PMC_PCER1_PID52 (0x1u << 20) /**< \brief (PMC_PCER1) Peripheral Clock 52 Enable */ -#define PMC_PCER1_PID53 (0x1u << 21) /**< \brief (PMC_PCER1) Peripheral Clock 53 Enable */ -#define PMC_PCER1_PID56 (0x1u << 24) /**< \brief (PMC_PCER1) Peripheral Clock 56 Enable */ -#define PMC_PCER1_PID57 (0x1u << 25) /**< \brief (PMC_PCER1) Peripheral Clock 57 Enable */ -#define PMC_PCER1_PID58 (0x1u << 26) /**< \brief (PMC_PCER1) Peripheral Clock 58 Enable */ -#define PMC_PCER1_PID59 (0x1u << 27) /**< \brief (PMC_PCER1) Peripheral Clock 59 Enable */ -#define PMC_PCER1_PID60 (0x1u << 28) /**< \brief (PMC_PCER1) Peripheral Clock 60 Enable */ -/* -------- PMC_PCDR1 : (PMC Offset: 0x0104) Peripheral Clock Disable Register 1 -------- */ -#define PMC_PCDR1_PID32 (0x1u << 0) /**< \brief (PMC_PCDR1) Peripheral Clock 32 Disable */ -#define PMC_PCDR1_PID33 (0x1u << 1) /**< \brief (PMC_PCDR1) Peripheral Clock 33 Disable */ -#define PMC_PCDR1_PID34 (0x1u << 2) /**< \brief (PMC_PCDR1) Peripheral Clock 34 Disable */ -#define PMC_PCDR1_PID35 (0x1u << 3) /**< \brief (PMC_PCDR1) Peripheral Clock 35 Disable */ -#define PMC_PCDR1_PID37 (0x1u << 5) /**< \brief (PMC_PCDR1) Peripheral Clock 37 Disable */ -#define PMC_PCDR1_PID39 (0x1u << 7) /**< \brief (PMC_PCDR1) Peripheral Clock 39 Disable */ -#define PMC_PCDR1_PID40 (0x1u << 8) /**< \brief (PMC_PCDR1) Peripheral Clock 40 Disable */ -#define PMC_PCDR1_PID41 (0x1u << 9) /**< \brief (PMC_PCDR1) Peripheral Clock 41 Disable */ -#define PMC_PCDR1_PID42 (0x1u << 10) /**< \brief (PMC_PCDR1) Peripheral Clock 42 Disable */ -#define PMC_PCDR1_PID43 (0x1u << 11) /**< \brief (PMC_PCDR1) Peripheral Clock 43 Disable */ -#define PMC_PCDR1_PID44 (0x1u << 12) /**< \brief (PMC_PCDR1) Peripheral Clock 44 Disable */ -#define PMC_PCDR1_PID45 (0x1u << 13) /**< \brief (PMC_PCDR1) Peripheral Clock 45 Disable */ -#define PMC_PCDR1_PID46 (0x1u << 14) /**< \brief (PMC_PCDR1) Peripheral Clock 46 Disable */ -#define PMC_PCDR1_PID47 (0x1u << 15) /**< \brief (PMC_PCDR1) Peripheral Clock 47 Disable */ -#define PMC_PCDR1_PID48 (0x1u << 16) /**< \brief (PMC_PCDR1) Peripheral Clock 48 Disable */ -#define PMC_PCDR1_PID49 (0x1u << 17) /**< \brief (PMC_PCDR1) Peripheral Clock 49 Disable */ -#define PMC_PCDR1_PID50 (0x1u << 18) /**< \brief (PMC_PCDR1) Peripheral Clock 50 Disable */ -#define PMC_PCDR1_PID51 (0x1u << 19) /**< \brief (PMC_PCDR1) Peripheral Clock 51 Disable */ -#define PMC_PCDR1_PID52 (0x1u << 20) /**< \brief (PMC_PCDR1) Peripheral Clock 52 Disable */ -#define PMC_PCDR1_PID53 (0x1u << 21) /**< \brief (PMC_PCDR1) Peripheral Clock 53 Disable */ -#define PMC_PCDR1_PID56 (0x1u << 24) /**< \brief (PMC_PCDR1) Peripheral Clock 56 Disable */ -#define PMC_PCDR1_PID57 (0x1u << 25) /**< \brief (PMC_PCDR1) Peripheral Clock 57 Disable */ -#define PMC_PCDR1_PID58 (0x1u << 26) /**< \brief (PMC_PCDR1) Peripheral Clock 58 Disable */ -#define PMC_PCDR1_PID59 (0x1u << 27) /**< \brief (PMC_PCDR1) Peripheral Clock 59 Disable */ -#define PMC_PCDR1_PID60 (0x1u << 28) /**< \brief (PMC_PCDR1) Peripheral Clock 60 Disable */ -/* -------- PMC_PCSR1 : (PMC Offset: 0x0108) Peripheral Clock Status Register 1 -------- */ -#define PMC_PCSR1_PID32 (0x1u << 0) /**< \brief (PMC_PCSR1) Peripheral Clock 32 Status */ -#define PMC_PCSR1_PID33 (0x1u << 1) /**< \brief (PMC_PCSR1) Peripheral Clock 33 Status */ -#define PMC_PCSR1_PID34 (0x1u << 2) /**< \brief (PMC_PCSR1) Peripheral Clock 34 Status */ -#define PMC_PCSR1_PID35 (0x1u << 3) /**< \brief (PMC_PCSR1) Peripheral Clock 35 Status */ -#define PMC_PCSR1_PID37 (0x1u << 5) /**< \brief (PMC_PCSR1) Peripheral Clock 37 Status */ -#define PMC_PCSR1_PID39 (0x1u << 7) /**< \brief (PMC_PCSR1) Peripheral Clock 39 Status */ -#define PMC_PCSR1_PID40 (0x1u << 8) /**< \brief (PMC_PCSR1) Peripheral Clock 40 Status */ -#define PMC_PCSR1_PID41 (0x1u << 9) /**< \brief (PMC_PCSR1) Peripheral Clock 41 Status */ -#define PMC_PCSR1_PID42 (0x1u << 10) /**< \brief (PMC_PCSR1) Peripheral Clock 42 Status */ -#define PMC_PCSR1_PID43 (0x1u << 11) /**< \brief (PMC_PCSR1) Peripheral Clock 43 Status */ -#define PMC_PCSR1_PID44 (0x1u << 12) /**< \brief (PMC_PCSR1) Peripheral Clock 44 Status */ -#define PMC_PCSR1_PID45 (0x1u << 13) /**< \brief (PMC_PCSR1) Peripheral Clock 45 Status */ -#define PMC_PCSR1_PID46 (0x1u << 14) /**< \brief (PMC_PCSR1) Peripheral Clock 46 Status */ -#define PMC_PCSR1_PID47 (0x1u << 15) /**< \brief (PMC_PCSR1) Peripheral Clock 47 Status */ -#define PMC_PCSR1_PID48 (0x1u << 16) /**< \brief (PMC_PCSR1) Peripheral Clock 48 Status */ -#define PMC_PCSR1_PID49 (0x1u << 17) /**< \brief (PMC_PCSR1) Peripheral Clock 49 Status */ -#define PMC_PCSR1_PID50 (0x1u << 18) /**< \brief (PMC_PCSR1) Peripheral Clock 50 Status */ -#define PMC_PCSR1_PID51 (0x1u << 19) /**< \brief (PMC_PCSR1) Peripheral Clock 51 Status */ -#define PMC_PCSR1_PID52 (0x1u << 20) /**< \brief (PMC_PCSR1) Peripheral Clock 52 Status */ -#define PMC_PCSR1_PID53 (0x1u << 21) /**< \brief (PMC_PCSR1) Peripheral Clock 53 Status */ -#define PMC_PCSR1_PID56 (0x1u << 24) /**< \brief (PMC_PCSR1) Peripheral Clock 56 Status */ -#define PMC_PCSR1_PID57 (0x1u << 25) /**< \brief (PMC_PCSR1) Peripheral Clock 57 Status */ -#define PMC_PCSR1_PID58 (0x1u << 26) /**< \brief (PMC_PCSR1) Peripheral Clock 58 Status */ -#define PMC_PCSR1_PID59 (0x1u << 27) /**< \brief (PMC_PCSR1) Peripheral Clock 59 Status */ -#define PMC_PCSR1_PID60 (0x1u << 28) /**< \brief (PMC_PCSR1) Peripheral Clock 60 Status */ -/* -------- PMC_PCR : (PMC Offset: 0x010C) Peripheral Control Register -------- */ -#define PMC_PCR_PID_Pos 0 -#define PMC_PCR_PID_Msk (0x3fu << PMC_PCR_PID_Pos) /**< \brief (PMC_PCR) Peripheral ID */ -#define PMC_PCR_PID(value) ((PMC_PCR_PID_Msk & ((value) << PMC_PCR_PID_Pos))) -#define PMC_PCR_CMD (0x1u << 12) /**< \brief (PMC_PCR) Command */ -#define PMC_PCR_DIV_Pos 16 -#define PMC_PCR_DIV_Msk (0x3u << PMC_PCR_DIV_Pos) /**< \brief (PMC_PCR) Divisor Value */ -#define PMC_PCR_DIV(value) ((PMC_PCR_DIV_Msk & ((value) << PMC_PCR_DIV_Pos))) -#define PMC_PCR_DIV_PERIPH_DIV_MCK (0x0u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK */ -#define PMC_PCR_DIV_PERIPH_DIV2_MCK (0x1u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK/2 */ -#define PMC_PCR_DIV_PERIPH_DIV4_MCK (0x2u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK/4 */ -#define PMC_PCR_DIV_PERIPH_DIV8_MCK (0x3u << 16) /**< \brief (PMC_PCR) Peripheral clock is MCK/8 */ -#define PMC_PCR_EN (0x1u << 28) /**< \brief (PMC_PCR) Enable */ -/* -------- PMC_OCR : (PMC Offset: 0x0110) Oscillator Calibration Register -------- */ -#define PMC_OCR_CAL4_Pos 0 -#define PMC_OCR_CAL4_Msk (0x7fu << PMC_OCR_CAL4_Pos) /**< \brief (PMC_OCR) RC Oscillator Calibration bits for 4 MHz */ -#define PMC_OCR_CAL4(value) ((PMC_OCR_CAL4_Msk & ((value) << PMC_OCR_CAL4_Pos))) -#define PMC_OCR_SEL4 (0x1u << 7) /**< \brief (PMC_OCR) Selection of RC Oscillator Calibration bits for 4 MHz */ -#define PMC_OCR_CAL8_Pos 8 -#define PMC_OCR_CAL8_Msk (0x7fu << PMC_OCR_CAL8_Pos) /**< \brief (PMC_OCR) RC Oscillator Calibration bits for 8 MHz */ -#define PMC_OCR_CAL8(value) ((PMC_OCR_CAL8_Msk & ((value) << PMC_OCR_CAL8_Pos))) -#define PMC_OCR_SEL8 (0x1u << 15) /**< \brief (PMC_OCR) Selection of RC Oscillator Calibration bits for 8 MHz */ -#define PMC_OCR_CAL12_Pos 16 -#define PMC_OCR_CAL12_Msk (0x7fu << PMC_OCR_CAL12_Pos) /**< \brief (PMC_OCR) RC Oscillator Calibration bits for 12 MHz */ -#define PMC_OCR_CAL12(value) ((PMC_OCR_CAL12_Msk & ((value) << PMC_OCR_CAL12_Pos))) -#define PMC_OCR_SEL12 (0x1u << 23) /**< \brief (PMC_OCR) Selection of RC Oscillator Calibration bits for 12 MHz */ -/* -------- PMC_SLPWK_ER0 : (PMC Offset: 0x0114) SleepWalking Enable Register 0 -------- */ -#define PMC_SLPWK_ER0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_ER0) Peripheral 7 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_ER0) Peripheral 8 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_ER0) Peripheral 9 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_ER0) Peripheral 10 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_ER0) Peripheral 11 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_ER0) Peripheral 12 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_ER0) Peripheral 13 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_ER0) Peripheral 14 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_ER0) Peripheral 15 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_ER0) Peripheral 16 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_ER0) Peripheral 17 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_ER0) Peripheral 18 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_ER0) Peripheral 19 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_ER0) Peripheral 20 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_ER0) Peripheral 21 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_ER0) Peripheral 22 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_ER0) Peripheral 23 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_ER0) Peripheral 24 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_ER0) Peripheral 25 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_ER0) Peripheral 26 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_ER0) Peripheral 27 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_ER0) Peripheral 28 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_ER0) Peripheral 29 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_ER0) Peripheral 30 SleepWalking Enable */ -#define PMC_SLPWK_ER0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_ER0) Peripheral 31 SleepWalking Enable */ -/* -------- PMC_SLPWK_DR0 : (PMC Offset: 0x0118) SleepWalking Disable Register 0 -------- */ -#define PMC_SLPWK_DR0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_DR0) Peripheral 7 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_DR0) Peripheral 8 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_DR0) Peripheral 9 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_DR0) Peripheral 10 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_DR0) Peripheral 11 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_DR0) Peripheral 12 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_DR0) Peripheral 13 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_DR0) Peripheral 14 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_DR0) Peripheral 15 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_DR0) Peripheral 16 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_DR0) Peripheral 17 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_DR0) Peripheral 18 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_DR0) Peripheral 19 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_DR0) Peripheral 20 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_DR0) Peripheral 21 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_DR0) Peripheral 22 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_DR0) Peripheral 23 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_DR0) Peripheral 24 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_DR0) Peripheral 25 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_DR0) Peripheral 26 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_DR0) Peripheral 27 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_DR0) Peripheral 28 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_DR0) Peripheral 29 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_DR0) Peripheral 30 SleepWalking Disable */ -#define PMC_SLPWK_DR0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_DR0) Peripheral 31 SleepWalking Disable */ -/* -------- PMC_SLPWK_SR0 : (PMC Offset: 0x011C) SleepWalking Status Register 0 -------- */ -#define PMC_SLPWK_SR0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_SR0) Peripheral 7 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_SR0) Peripheral 8 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_SR0) Peripheral 9 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_SR0) Peripheral 10 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_SR0) Peripheral 11 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_SR0) Peripheral 12 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_SR0) Peripheral 13 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_SR0) Peripheral 14 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_SR0) Peripheral 15 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_SR0) Peripheral 16 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_SR0) Peripheral 17 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_SR0) Peripheral 18 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_SR0) Peripheral 19 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_SR0) Peripheral 20 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_SR0) Peripheral 21 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_SR0) Peripheral 22 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_SR0) Peripheral 23 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_SR0) Peripheral 24 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_SR0) Peripheral 25 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_SR0) Peripheral 26 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_SR0) Peripheral 27 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_SR0) Peripheral 28 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_SR0) Peripheral 29 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_SR0) Peripheral 30 SleepWalking Status */ -#define PMC_SLPWK_SR0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_SR0) Peripheral 31 SleepWalking Status */ -/* -------- PMC_SLPWK_ASR0 : (PMC Offset: 0x0120) SleepWalking Activity Status Register 0 -------- */ -#define PMC_SLPWK_ASR0_PID7 (0x1u << 7) /**< \brief (PMC_SLPWK_ASR0) Peripheral 7 Activity Status */ -#define PMC_SLPWK_ASR0_PID8 (0x1u << 8) /**< \brief (PMC_SLPWK_ASR0) Peripheral 8 Activity Status */ -#define PMC_SLPWK_ASR0_PID9 (0x1u << 9) /**< \brief (PMC_SLPWK_ASR0) Peripheral 9 Activity Status */ -#define PMC_SLPWK_ASR0_PID10 (0x1u << 10) /**< \brief (PMC_SLPWK_ASR0) Peripheral 10 Activity Status */ -#define PMC_SLPWK_ASR0_PID11 (0x1u << 11) /**< \brief (PMC_SLPWK_ASR0) Peripheral 11 Activity Status */ -#define PMC_SLPWK_ASR0_PID12 (0x1u << 12) /**< \brief (PMC_SLPWK_ASR0) Peripheral 12 Activity Status */ -#define PMC_SLPWK_ASR0_PID13 (0x1u << 13) /**< \brief (PMC_SLPWK_ASR0) Peripheral 13 Activity Status */ -#define PMC_SLPWK_ASR0_PID14 (0x1u << 14) /**< \brief (PMC_SLPWK_ASR0) Peripheral 14 Activity Status */ -#define PMC_SLPWK_ASR0_PID15 (0x1u << 15) /**< \brief (PMC_SLPWK_ASR0) Peripheral 15 Activity Status */ -#define PMC_SLPWK_ASR0_PID16 (0x1u << 16) /**< \brief (PMC_SLPWK_ASR0) Peripheral 16 Activity Status */ -#define PMC_SLPWK_ASR0_PID17 (0x1u << 17) /**< \brief (PMC_SLPWK_ASR0) Peripheral 17 Activity Status */ -#define PMC_SLPWK_ASR0_PID18 (0x1u << 18) /**< \brief (PMC_SLPWK_ASR0) Peripheral 18 Activity Status */ -#define PMC_SLPWK_ASR0_PID19 (0x1u << 19) /**< \brief (PMC_SLPWK_ASR0) Peripheral 19 Activity Status */ -#define PMC_SLPWK_ASR0_PID20 (0x1u << 20) /**< \brief (PMC_SLPWK_ASR0) Peripheral 20 Activity Status */ -#define PMC_SLPWK_ASR0_PID21 (0x1u << 21) /**< \brief (PMC_SLPWK_ASR0) Peripheral 21 Activity Status */ -#define PMC_SLPWK_ASR0_PID22 (0x1u << 22) /**< \brief (PMC_SLPWK_ASR0) Peripheral 22 Activity Status */ -#define PMC_SLPWK_ASR0_PID23 (0x1u << 23) /**< \brief (PMC_SLPWK_ASR0) Peripheral 23 Activity Status */ -#define PMC_SLPWK_ASR0_PID24 (0x1u << 24) /**< \brief (PMC_SLPWK_ASR0) Peripheral 24 Activity Status */ -#define PMC_SLPWK_ASR0_PID25 (0x1u << 25) /**< \brief (PMC_SLPWK_ASR0) Peripheral 25 Activity Status */ -#define PMC_SLPWK_ASR0_PID26 (0x1u << 26) /**< \brief (PMC_SLPWK_ASR0) Peripheral 26 Activity Status */ -#define PMC_SLPWK_ASR0_PID27 (0x1u << 27) /**< \brief (PMC_SLPWK_ASR0) Peripheral 27 Activity Status */ -#define PMC_SLPWK_ASR0_PID28 (0x1u << 28) /**< \brief (PMC_SLPWK_ASR0) Peripheral 28 Activity Status */ -#define PMC_SLPWK_ASR0_PID29 (0x1u << 29) /**< \brief (PMC_SLPWK_ASR0) Peripheral 29 Activity Status */ -#define PMC_SLPWK_ASR0_PID30 (0x1u << 30) /**< \brief (PMC_SLPWK_ASR0) Peripheral 30 Activity Status */ -#define PMC_SLPWK_ASR0_PID31 (0x1u << 31) /**< \brief (PMC_SLPWK_ASR0) Peripheral 31 Activity Status */ -/* -------- PMC_SLPWK_ER1 : (PMC Offset: 0x0134) SleepWalking Enable Register 1 -------- */ -#define PMC_SLPWK_ER1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_ER1) Peripheral 32 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_ER1) Peripheral 33 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_ER1) Peripheral 34 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_ER1) Peripheral 35 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_ER1) Peripheral 37 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_ER1) Peripheral 39 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_ER1) Peripheral 40 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_ER1) Peripheral 41 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_ER1) Peripheral 42 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_ER1) Peripheral 43 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_ER1) Peripheral 44 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_ER1) Peripheral 45 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_ER1) Peripheral 46 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_ER1) Peripheral 47 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_ER1) Peripheral 48 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_ER1) Peripheral 49 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_ER1) Peripheral 50 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_ER1) Peripheral 51 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_ER1) Peripheral 52 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_ER1) Peripheral 53 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_ER1) Peripheral 56 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_ER1) Peripheral 57 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_ER1) Peripheral 58 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_ER1) Peripheral 59 SleepWalking Enable */ -#define PMC_SLPWK_ER1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_ER1) Peripheral 60 SleepWalking Enable */ -/* -------- PMC_SLPWK_DR1 : (PMC Offset: 0x0138) SleepWalking Disable Register 1 -------- */ -#define PMC_SLPWK_DR1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_DR1) Peripheral 32 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_DR1) Peripheral 33 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_DR1) Peripheral 34 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_DR1) Peripheral 35 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_DR1) Peripheral 37 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_DR1) Peripheral 39 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_DR1) Peripheral 40 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_DR1) Peripheral 41 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_DR1) Peripheral 42 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_DR1) Peripheral 43 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_DR1) Peripheral 44 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_DR1) Peripheral 45 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_DR1) Peripheral 46 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_DR1) Peripheral 47 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_DR1) Peripheral 48 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_DR1) Peripheral 49 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_DR1) Peripheral 50 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_DR1) Peripheral 51 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_DR1) Peripheral 52 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_DR1) Peripheral 53 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_DR1) Peripheral 56 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_DR1) Peripheral 57 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_DR1) Peripheral 58 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_DR1) Peripheral 59 SleepWalking Disable */ -#define PMC_SLPWK_DR1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_DR1) Peripheral 60 SleepWalking Disable */ -/* -------- PMC_SLPWK_SR1 : (PMC Offset: 0x013C) SleepWalking Status Register 1 -------- */ -#define PMC_SLPWK_SR1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_SR1) Peripheral 32 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_SR1) Peripheral 33 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_SR1) Peripheral 34 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_SR1) Peripheral 35 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_SR1) Peripheral 37 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_SR1) Peripheral 39 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_SR1) Peripheral 40 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_SR1) Peripheral 41 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_SR1) Peripheral 42 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_SR1) Peripheral 43 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_SR1) Peripheral 44 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_SR1) Peripheral 45 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_SR1) Peripheral 46 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_SR1) Peripheral 47 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_SR1) Peripheral 48 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_SR1) Peripheral 49 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_SR1) Peripheral 50 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_SR1) Peripheral 51 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_SR1) Peripheral 52 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_SR1) Peripheral 53 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_SR1) Peripheral 56 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_SR1) Peripheral 57 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_SR1) Peripheral 58 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_SR1) Peripheral 59 SleepWalking Status */ -#define PMC_SLPWK_SR1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_SR1) Peripheral 60 SleepWalking Status */ -/* -------- PMC_SLPWK_ASR1 : (PMC Offset: 0x0140) SleepWalking Activity Status Register 1 -------- */ -#define PMC_SLPWK_ASR1_PID32 (0x1u << 0) /**< \brief (PMC_SLPWK_ASR1) Peripheral 32 Activity Status */ -#define PMC_SLPWK_ASR1_PID33 (0x1u << 1) /**< \brief (PMC_SLPWK_ASR1) Peripheral 33 Activity Status */ -#define PMC_SLPWK_ASR1_PID34 (0x1u << 2) /**< \brief (PMC_SLPWK_ASR1) Peripheral 34 Activity Status */ -#define PMC_SLPWK_ASR1_PID35 (0x1u << 3) /**< \brief (PMC_SLPWK_ASR1) Peripheral 35 Activity Status */ -#define PMC_SLPWK_ASR1_PID37 (0x1u << 5) /**< \brief (PMC_SLPWK_ASR1) Peripheral 37 Activity Status */ -#define PMC_SLPWK_ASR1_PID39 (0x1u << 7) /**< \brief (PMC_SLPWK_ASR1) Peripheral 39 Activity Status */ -#define PMC_SLPWK_ASR1_PID40 (0x1u << 8) /**< \brief (PMC_SLPWK_ASR1) Peripheral 40 Activity Status */ -#define PMC_SLPWK_ASR1_PID41 (0x1u << 9) /**< \brief (PMC_SLPWK_ASR1) Peripheral 41 Activity Status */ -#define PMC_SLPWK_ASR1_PID42 (0x1u << 10) /**< \brief (PMC_SLPWK_ASR1) Peripheral 42 Activity Status */ -#define PMC_SLPWK_ASR1_PID43 (0x1u << 11) /**< \brief (PMC_SLPWK_ASR1) Peripheral 43 Activity Status */ -#define PMC_SLPWK_ASR1_PID44 (0x1u << 12) /**< \brief (PMC_SLPWK_ASR1) Peripheral 44 Activity Status */ -#define PMC_SLPWK_ASR1_PID45 (0x1u << 13) /**< \brief (PMC_SLPWK_ASR1) Peripheral 45 Activity Status */ -#define PMC_SLPWK_ASR1_PID46 (0x1u << 14) /**< \brief (PMC_SLPWK_ASR1) Peripheral 46 Activity Status */ -#define PMC_SLPWK_ASR1_PID47 (0x1u << 15) /**< \brief (PMC_SLPWK_ASR1) Peripheral 47 Activity Status */ -#define PMC_SLPWK_ASR1_PID48 (0x1u << 16) /**< \brief (PMC_SLPWK_ASR1) Peripheral 48 Activity Status */ -#define PMC_SLPWK_ASR1_PID49 (0x1u << 17) /**< \brief (PMC_SLPWK_ASR1) Peripheral 49 Activity Status */ -#define PMC_SLPWK_ASR1_PID50 (0x1u << 18) /**< \brief (PMC_SLPWK_ASR1) Peripheral 50 Activity Status */ -#define PMC_SLPWK_ASR1_PID51 (0x1u << 19) /**< \brief (PMC_SLPWK_ASR1) Peripheral 51 Activity Status */ -#define PMC_SLPWK_ASR1_PID52 (0x1u << 20) /**< \brief (PMC_SLPWK_ASR1) Peripheral 52 Activity Status */ -#define PMC_SLPWK_ASR1_PID53 (0x1u << 21) /**< \brief (PMC_SLPWK_ASR1) Peripheral 53 Activity Status */ -#define PMC_SLPWK_ASR1_PID56 (0x1u << 24) /**< \brief (PMC_SLPWK_ASR1) Peripheral 56 Activity Status */ -#define PMC_SLPWK_ASR1_PID57 (0x1u << 25) /**< \brief (PMC_SLPWK_ASR1) Peripheral 57 Activity Status */ -#define PMC_SLPWK_ASR1_PID58 (0x1u << 26) /**< \brief (PMC_SLPWK_ASR1) Peripheral 58 Activity Status */ -#define PMC_SLPWK_ASR1_PID59 (0x1u << 27) /**< \brief (PMC_SLPWK_ASR1) Peripheral 59 Activity Status */ -#define PMC_SLPWK_ASR1_PID60 (0x1u << 28) /**< \brief (PMC_SLPWK_ASR1) Peripheral 60 Activity Status */ -/* -------- PMC_SLPWK_AIPR : (PMC Offset: 0x0144) SleepWalking Activity In Progress Register -------- */ -#define PMC_SLPWK_AIPR_AIP (0x1u << 0) /**< \brief (PMC_SLPWK_AIPR) Activity In Progress */ - -/*@}*/ - - -#endif /* _SAMS70_PMC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h deleted file mode 100644 index fb3c8fb..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/pwm.h +++ /dev/null @@ -1,715 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PWM_COMPONENT_ -#define _SAMS70_PWM_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Pulse Width Modulation Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_PWM Pulse Width Modulation Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief PwmCh_num hardware registers */ -typedef struct { - __IO uint32_t PWM_CMR; /**< \brief (PwmCh_num Offset: 0x0) PWM Channel Mode Register */ - __IO uint32_t PWM_CDTY; /**< \brief (PwmCh_num Offset: 0x4) PWM Channel Duty Cycle Register */ - __O uint32_t PWM_CDTYUPD; /**< \brief (PwmCh_num Offset: 0x8) PWM Channel Duty Cycle Update Register */ - __IO uint32_t PWM_CPRD; /**< \brief (PwmCh_num Offset: 0xC) PWM Channel Period Register */ - __O uint32_t PWM_CPRDUPD; /**< \brief (PwmCh_num Offset: 0x10) PWM Channel Period Update Register */ - __I uint32_t PWM_CCNT; /**< \brief (PwmCh_num Offset: 0x14) PWM Channel Counter Register */ - __IO uint32_t PWM_DT; /**< \brief (PwmCh_num Offset: 0x18) PWM Channel Dead Time Register */ - __O uint32_t PWM_DTUPD; /**< \brief (PwmCh_num Offset: 0x1C) PWM Channel Dead Time Update Register */ -} PwmCh_num; -/** \brief PwmCmp hardware registers */ -typedef struct { - __IO uint32_t PWM_CMPV; /**< \brief (PwmCmp Offset: 0x0) PWM Comparison 0 Value Register */ - __O uint32_t PWM_CMPVUPD; /**< \brief (PwmCmp Offset: 0x4) PWM Comparison 0 Value Update Register */ - __IO uint32_t PWM_CMPM; /**< \brief (PwmCmp Offset: 0x8) PWM Comparison 0 Mode Register */ - __O uint32_t PWM_CMPMUPD; /**< \brief (PwmCmp Offset: 0xC) PWM Comparison 0 Mode Update Register */ -} PwmCmp; -/** \brief Pwm hardware registers */ -#define PWMCMP_NUMBER 8 -#define PWMCH_NUM_NUMBER 4 -typedef struct { - __IO uint32_t PWM_CLK; /**< \brief (Pwm Offset: 0x00) PWM Clock Register */ - __O uint32_t PWM_ENA; /**< \brief (Pwm Offset: 0x04) PWM Enable Register */ - __O uint32_t PWM_DIS; /**< \brief (Pwm Offset: 0x08) PWM Disable Register */ - __I uint32_t PWM_SR; /**< \brief (Pwm Offset: 0x0C) PWM Status Register */ - __O uint32_t PWM_IER1; /**< \brief (Pwm Offset: 0x10) PWM Interrupt Enable Register 1 */ - __O uint32_t PWM_IDR1; /**< \brief (Pwm Offset: 0x14) PWM Interrupt Disable Register 1 */ - __I uint32_t PWM_IMR1; /**< \brief (Pwm Offset: 0x18) PWM Interrupt Mask Register 1 */ - __I uint32_t PWM_ISR1; /**< \brief (Pwm Offset: 0x1C) PWM Interrupt Status Register 1 */ - __IO uint32_t PWM_SCM; /**< \brief (Pwm Offset: 0x20) PWM Sync Channels Mode Register */ - __O uint32_t PWM_DMAR; /**< \brief (Pwm Offset: 0x24) PWM DMA Register */ - __IO uint32_t PWM_SCUC; /**< \brief (Pwm Offset: 0x28) PWM Sync Channels Update Control Register */ - __IO uint32_t PWM_SCUP; /**< \brief (Pwm Offset: 0x2C) PWM Sync Channels Update Period Register */ - __O uint32_t PWM_SCUPUPD; /**< \brief (Pwm Offset: 0x30) PWM Sync Channels Update Period Update Register */ - __O uint32_t PWM_IER2; /**< \brief (Pwm Offset: 0x34) PWM Interrupt Enable Register 2 */ - __O uint32_t PWM_IDR2; /**< \brief (Pwm Offset: 0x38) PWM Interrupt Disable Register 2 */ - __I uint32_t PWM_IMR2; /**< \brief (Pwm Offset: 0x3C) PWM Interrupt Mask Register 2 */ - __I uint32_t PWM_ISR2; /**< \brief (Pwm Offset: 0x40) PWM Interrupt Status Register 2 */ - __IO uint32_t PWM_OOV; /**< \brief (Pwm Offset: 0x44) PWM Output Override Value Register */ - __IO uint32_t PWM_OS; /**< \brief (Pwm Offset: 0x48) PWM Output Selection Register */ - __O uint32_t PWM_OSS; /**< \brief (Pwm Offset: 0x4C) PWM Output Selection Set Register */ - __O uint32_t PWM_OSC; /**< \brief (Pwm Offset: 0x50) PWM Output Selection Clear Register */ - __O uint32_t PWM_OSSUPD; /**< \brief (Pwm Offset: 0x54) PWM Output Selection Set Update Register */ - __O uint32_t PWM_OSCUPD; /**< \brief (Pwm Offset: 0x58) PWM Output Selection Clear Update Register */ - __IO uint32_t PWM_FMR; /**< \brief (Pwm Offset: 0x5C) PWM Fault Mode Register */ - __I uint32_t PWM_FSR; /**< \brief (Pwm Offset: 0x60) PWM Fault Status Register */ - __O uint32_t PWM_FCR; /**< \brief (Pwm Offset: 0x64) PWM Fault Clear Register */ - __IO uint32_t PWM_FPV1; /**< \brief (Pwm Offset: 0x68) PWM Fault Protection Value Register 1 */ - __IO uint32_t PWM_FPE; /**< \brief (Pwm Offset: 0x6C) PWM Fault Protection Enable Register */ - __I uint32_t Reserved1[3]; - __IO uint32_t PWM_ELMR[8]; /**< \brief (Pwm Offset: 0x7C) PWM Event Line 0 Mode Register */ - __I uint32_t Reserved2[1]; - __IO uint32_t PWM_SSPR; /**< \brief (Pwm Offset: 0xA0) PWM Spread Spectrum Register */ - __O uint32_t PWM_SSPUP; /**< \brief (Pwm Offset: 0xA4) PWM Spread Spectrum Update Register */ - __I uint32_t Reserved3[2]; - __IO uint32_t PWM_SMMR; /**< \brief (Pwm Offset: 0xB0) PWM Stepper Motor Mode Register */ - __I uint32_t Reserved4[3]; - __IO uint32_t PWM_FPV2; /**< \brief (Pwm Offset: 0xC0) PWM Fault Protection Value 2 Register */ - __I uint32_t Reserved5[8]; - __O uint32_t PWM_WPCR; /**< \brief (Pwm Offset: 0xE4) PWM Write Protection Control Register */ - __I uint32_t PWM_WPSR; /**< \brief (Pwm Offset: 0xE8) PWM Write Protection Status Register */ - __I uint32_t Reserved6[17]; - PwmCmp PWM_CMP[PWMCMP_NUMBER]; /**< \brief (Pwm Offset: 0x130) 0 .. 7 */ - __I uint32_t Reserved7[20]; - PwmCh_num PWM_CH_NUM[PWMCH_NUM_NUMBER]; /**< \brief (Pwm Offset: 0x200) ch_num = 0 .. 3 */ - __I uint32_t Reserved8[96]; - __O uint32_t PWM_CMUPD0; /**< \brief (Pwm Offset: 0x400) PWM Channel Mode Update Register (ch_num = 0) */ - __I uint32_t Reserved9[7]; - __O uint32_t PWM_CMUPD1; /**< \brief (Pwm Offset: 0x420) PWM Channel Mode Update Register (ch_num = 1) */ - __I uint32_t Reserved10[2]; - __IO uint32_t PWM_ETRG1; /**< \brief (Pwm Offset: 0x42C) PWM External Trigger Register (trg_num = 1) */ - __IO uint32_t PWM_LEBR1; /**< \brief (Pwm Offset: 0x430) PWM Leading-Edge Blanking Register (trg_num = 1) */ - __I uint32_t Reserved11[3]; - __O uint32_t PWM_CMUPD2; /**< \brief (Pwm Offset: 0x440) PWM Channel Mode Update Register (ch_num = 2) */ - __I uint32_t Reserved12[2]; - __IO uint32_t PWM_ETRG2; /**< \brief (Pwm Offset: 0x44C) PWM External Trigger Register (trg_num = 2) */ - __IO uint32_t PWM_LEBR2; /**< \brief (Pwm Offset: 0x450) PWM Leading-Edge Blanking Register (trg_num = 2) */ - __I uint32_t Reserved13[3]; - __O uint32_t PWM_CMUPD3; /**< \brief (Pwm Offset: 0x460) PWM Channel Mode Update Register (ch_num = 3) */ - __I uint32_t Reserved14[2]; - __IO uint32_t PWM_ETRG3; /**< \brief (Pwm Offset: 0x46C) PWM External Trigger Register (trg_num = 3) */ - __IO uint32_t PWM_LEBR3; /**< \brief (Pwm Offset: 0x470) PWM Leading-Edge Blanking Register (trg_num = 3) */ - __I uint32_t Reserved15[6]; - __IO uint32_t PWM_ETRG4; /**< \brief (Pwm Offset: 0x48C) PWM External Trigger Register (trg_num = 4) */ - __IO uint32_t PWM_LEBR4; /**< \brief (Pwm Offset: 0x490) PWM Leading-Edge Blanking Register (trg_num = 4) */ -} Pwm; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- PWM_CLK : (PWM Offset: 0x00) PWM Clock Register -------- */ -#define PWM_CLK_DIVA_Pos 0 -#define PWM_CLK_DIVA_Msk (0xffu << PWM_CLK_DIVA_Pos) /**< \brief (PWM_CLK) CLKA Divide Factor */ -#define PWM_CLK_DIVA(value) ((PWM_CLK_DIVA_Msk & ((value) << PWM_CLK_DIVA_Pos))) -#define PWM_CLK_DIVA_CLKA_POFF (0x0u << 0) /**< \brief (PWM_CLK) CLKA clock is turned off */ -#define PWM_CLK_DIVA_PREA (0x1u << 0) /**< \brief (PWM_CLK) CLKA clock is clock selected by PREA */ -#define PWM_CLK_PREA_Pos 8 -#define PWM_CLK_PREA_Msk (0xfu << PWM_CLK_PREA_Pos) /**< \brief (PWM_CLK) CLKA Source Clock Selection */ -#define PWM_CLK_PREA(value) ((PWM_CLK_PREA_Msk & ((value) << PWM_CLK_PREA_Pos))) -#define PWM_CLK_PREA_CLK (0x0u << 8) /**< \brief (PWM_CLK) Peripheral clock */ -#define PWM_CLK_PREA_CLK_DIV2 (0x1u << 8) /**< \brief (PWM_CLK) Peripheral clock/2 */ -#define PWM_CLK_PREA_CLK_DIV4 (0x2u << 8) /**< \brief (PWM_CLK) Peripheral clock/4 */ -#define PWM_CLK_PREA_CLK_DIV8 (0x3u << 8) /**< \brief (PWM_CLK) Peripheral clock/8 */ -#define PWM_CLK_PREA_CLK_DIV16 (0x4u << 8) /**< \brief (PWM_CLK) Peripheral clock/16 */ -#define PWM_CLK_PREA_CLK_DIV32 (0x5u << 8) /**< \brief (PWM_CLK) Peripheral clock/32 */ -#define PWM_CLK_PREA_CLK_DIV64 (0x6u << 8) /**< \brief (PWM_CLK) Peripheral clock/64 */ -#define PWM_CLK_PREA_CLK_DIV128 (0x7u << 8) /**< \brief (PWM_CLK) Peripheral clock/128 */ -#define PWM_CLK_PREA_CLK_DIV256 (0x8u << 8) /**< \brief (PWM_CLK) Peripheral clock/256 */ -#define PWM_CLK_PREA_CLK_DIV512 (0x9u << 8) /**< \brief (PWM_CLK) Peripheral clock/512 */ -#define PWM_CLK_PREA_CLK_DIV1024 (0xAu << 8) /**< \brief (PWM_CLK) Peripheral clock/1024 */ -#define PWM_CLK_DIVB_Pos 16 -#define PWM_CLK_DIVB_Msk (0xffu << PWM_CLK_DIVB_Pos) /**< \brief (PWM_CLK) CLKB Divide Factor */ -#define PWM_CLK_DIVB(value) ((PWM_CLK_DIVB_Msk & ((value) << PWM_CLK_DIVB_Pos))) -#define PWM_CLK_DIVB_CLKB_POFF (0x0u << 16) /**< \brief (PWM_CLK) CLKB clock is turned off */ -#define PWM_CLK_DIVB_PREB (0x1u << 16) /**< \brief (PWM_CLK) CLKB clock is clock selected by PREB */ -#define PWM_CLK_PREB_Pos 24 -#define PWM_CLK_PREB_Msk (0xfu << PWM_CLK_PREB_Pos) /**< \brief (PWM_CLK) CLKB Source Clock Selection */ -#define PWM_CLK_PREB(value) ((PWM_CLK_PREB_Msk & ((value) << PWM_CLK_PREB_Pos))) -#define PWM_CLK_PREB_CLK (0x0u << 24) /**< \brief (PWM_CLK) Peripheral clock */ -#define PWM_CLK_PREB_CLK_DIV2 (0x1u << 24) /**< \brief (PWM_CLK) Peripheral clock/2 */ -#define PWM_CLK_PREB_CLK_DIV4 (0x2u << 24) /**< \brief (PWM_CLK) Peripheral clock/4 */ -#define PWM_CLK_PREB_CLK_DIV8 (0x3u << 24) /**< \brief (PWM_CLK) Peripheral clock/8 */ -#define PWM_CLK_PREB_CLK_DIV16 (0x4u << 24) /**< \brief (PWM_CLK) Peripheral clock/16 */ -#define PWM_CLK_PREB_CLK_DIV32 (0x5u << 24) /**< \brief (PWM_CLK) Peripheral clock/32 */ -#define PWM_CLK_PREB_CLK_DIV64 (0x6u << 24) /**< \brief (PWM_CLK) Peripheral clock/64 */ -#define PWM_CLK_PREB_CLK_DIV128 (0x7u << 24) /**< \brief (PWM_CLK) Peripheral clock/128 */ -#define PWM_CLK_PREB_CLK_DIV256 (0x8u << 24) /**< \brief (PWM_CLK) Peripheral clock/256 */ -#define PWM_CLK_PREB_CLK_DIV512 (0x9u << 24) /**< \brief (PWM_CLK) Peripheral clock/512 */ -#define PWM_CLK_PREB_CLK_DIV1024 (0xAu << 24) /**< \brief (PWM_CLK) Peripheral clock/1024 */ -/* -------- PWM_ENA : (PWM Offset: 0x04) PWM Enable Register -------- */ -#define PWM_ENA_CHID0 (0x1u << 0) /**< \brief (PWM_ENA) Channel ID */ -#define PWM_ENA_CHID1 (0x1u << 1) /**< \brief (PWM_ENA) Channel ID */ -#define PWM_ENA_CHID2 (0x1u << 2) /**< \brief (PWM_ENA) Channel ID */ -#define PWM_ENA_CHID3 (0x1u << 3) /**< \brief (PWM_ENA) Channel ID */ -/* -------- PWM_DIS : (PWM Offset: 0x08) PWM Disable Register -------- */ -#define PWM_DIS_CHID0 (0x1u << 0) /**< \brief (PWM_DIS) Channel ID */ -#define PWM_DIS_CHID1 (0x1u << 1) /**< \brief (PWM_DIS) Channel ID */ -#define PWM_DIS_CHID2 (0x1u << 2) /**< \brief (PWM_DIS) Channel ID */ -#define PWM_DIS_CHID3 (0x1u << 3) /**< \brief (PWM_DIS) Channel ID */ -/* -------- PWM_SR : (PWM Offset: 0x0C) PWM Status Register -------- */ -#define PWM_SR_CHID0 (0x1u << 0) /**< \brief (PWM_SR) Channel ID */ -#define PWM_SR_CHID1 (0x1u << 1) /**< \brief (PWM_SR) Channel ID */ -#define PWM_SR_CHID2 (0x1u << 2) /**< \brief (PWM_SR) Channel ID */ -#define PWM_SR_CHID3 (0x1u << 3) /**< \brief (PWM_SR) Channel ID */ -/* -------- PWM_IER1 : (PWM Offset: 0x10) PWM Interrupt Enable Register 1 -------- */ -#define PWM_IER1_CHID0 (0x1u << 0) /**< \brief (PWM_IER1) Counter Event on Channel 0 Interrupt Enable */ -#define PWM_IER1_CHID1 (0x1u << 1) /**< \brief (PWM_IER1) Counter Event on Channel 1 Interrupt Enable */ -#define PWM_IER1_CHID2 (0x1u << 2) /**< \brief (PWM_IER1) Counter Event on Channel 2 Interrupt Enable */ -#define PWM_IER1_CHID3 (0x1u << 3) /**< \brief (PWM_IER1) Counter Event on Channel 3 Interrupt Enable */ -#define PWM_IER1_FCHID0 (0x1u << 16) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 0 Interrupt Enable */ -#define PWM_IER1_FCHID1 (0x1u << 17) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 1 Interrupt Enable */ -#define PWM_IER1_FCHID2 (0x1u << 18) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 2 Interrupt Enable */ -#define PWM_IER1_FCHID3 (0x1u << 19) /**< \brief (PWM_IER1) Fault Protection Trigger on Channel 3 Interrupt Enable */ -/* -------- PWM_IDR1 : (PWM Offset: 0x14) PWM Interrupt Disable Register 1 -------- */ -#define PWM_IDR1_CHID0 (0x1u << 0) /**< \brief (PWM_IDR1) Counter Event on Channel 0 Interrupt Disable */ -#define PWM_IDR1_CHID1 (0x1u << 1) /**< \brief (PWM_IDR1) Counter Event on Channel 1 Interrupt Disable */ -#define PWM_IDR1_CHID2 (0x1u << 2) /**< \brief (PWM_IDR1) Counter Event on Channel 2 Interrupt Disable */ -#define PWM_IDR1_CHID3 (0x1u << 3) /**< \brief (PWM_IDR1) Counter Event on Channel 3 Interrupt Disable */ -#define PWM_IDR1_FCHID0 (0x1u << 16) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 0 Interrupt Disable */ -#define PWM_IDR1_FCHID1 (0x1u << 17) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 1 Interrupt Disable */ -#define PWM_IDR1_FCHID2 (0x1u << 18) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 2 Interrupt Disable */ -#define PWM_IDR1_FCHID3 (0x1u << 19) /**< \brief (PWM_IDR1) Fault Protection Trigger on Channel 3 Interrupt Disable */ -/* -------- PWM_IMR1 : (PWM Offset: 0x18) PWM Interrupt Mask Register 1 -------- */ -#define PWM_IMR1_CHID0 (0x1u << 0) /**< \brief (PWM_IMR1) Counter Event on Channel 0 Interrupt Mask */ -#define PWM_IMR1_CHID1 (0x1u << 1) /**< \brief (PWM_IMR1) Counter Event on Channel 1 Interrupt Mask */ -#define PWM_IMR1_CHID2 (0x1u << 2) /**< \brief (PWM_IMR1) Counter Event on Channel 2 Interrupt Mask */ -#define PWM_IMR1_CHID3 (0x1u << 3) /**< \brief (PWM_IMR1) Counter Event on Channel 3 Interrupt Mask */ -#define PWM_IMR1_FCHID0 (0x1u << 16) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 0 Interrupt Mask */ -#define PWM_IMR1_FCHID1 (0x1u << 17) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 1 Interrupt Mask */ -#define PWM_IMR1_FCHID2 (0x1u << 18) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 2 Interrupt Mask */ -#define PWM_IMR1_FCHID3 (0x1u << 19) /**< \brief (PWM_IMR1) Fault Protection Trigger on Channel 3 Interrupt Mask */ -/* -------- PWM_ISR1 : (PWM Offset: 0x1C) PWM Interrupt Status Register 1 -------- */ -#define PWM_ISR1_CHID0 (0x1u << 0) /**< \brief (PWM_ISR1) Counter Event on Channel 0 */ -#define PWM_ISR1_CHID1 (0x1u << 1) /**< \brief (PWM_ISR1) Counter Event on Channel 1 */ -#define PWM_ISR1_CHID2 (0x1u << 2) /**< \brief (PWM_ISR1) Counter Event on Channel 2 */ -#define PWM_ISR1_CHID3 (0x1u << 3) /**< \brief (PWM_ISR1) Counter Event on Channel 3 */ -#define PWM_ISR1_FCHID0 (0x1u << 16) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 0 */ -#define PWM_ISR1_FCHID1 (0x1u << 17) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 1 */ -#define PWM_ISR1_FCHID2 (0x1u << 18) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 2 */ -#define PWM_ISR1_FCHID3 (0x1u << 19) /**< \brief (PWM_ISR1) Fault Protection Trigger on Channel 3 */ -/* -------- PWM_SCM : (PWM Offset: 0x20) PWM Sync Channels Mode Register -------- */ -#define PWM_SCM_SYNC0 (0x1u << 0) /**< \brief (PWM_SCM) Synchronous Channel 0 */ -#define PWM_SCM_SYNC1 (0x1u << 1) /**< \brief (PWM_SCM) Synchronous Channel 1 */ -#define PWM_SCM_SYNC2 (0x1u << 2) /**< \brief (PWM_SCM) Synchronous Channel 2 */ -#define PWM_SCM_SYNC3 (0x1u << 3) /**< \brief (PWM_SCM) Synchronous Channel 3 */ -#define PWM_SCM_UPDM_Pos 16 -#define PWM_SCM_UPDM_Msk (0x3u << PWM_SCM_UPDM_Pos) /**< \brief (PWM_SCM) Synchronous Channels Update Mode */ -#define PWM_SCM_UPDM(value) ((PWM_SCM_UPDM_Msk & ((value) << PWM_SCM_UPDM_Pos))) -#define PWM_SCM_UPDM_MODE0 (0x0u << 16) /**< \brief (PWM_SCM) Manual write of double buffer registers and manual update of synchronous channels */ -#define PWM_SCM_UPDM_MODE1 (0x1u << 16) /**< \brief (PWM_SCM) Manual write of double buffer registers and automatic update of synchronous channels */ -#define PWM_SCM_UPDM_MODE2 (0x2u << 16) /**< \brief (PWM_SCM) Automatic write of duty-cycle update registers by the DMA and automatic update of synchronous channels */ -#define PWM_SCM_PTRM (0x1u << 20) /**< \brief (PWM_SCM) DMA Transfer Request Mode */ -#define PWM_SCM_PTRCS_Pos 21 -#define PWM_SCM_PTRCS_Msk (0x7u << PWM_SCM_PTRCS_Pos) /**< \brief (PWM_SCM) DMA Transfer Request Comparison Selection */ -#define PWM_SCM_PTRCS(value) ((PWM_SCM_PTRCS_Msk & ((value) << PWM_SCM_PTRCS_Pos))) -/* -------- PWM_DMAR : (PWM Offset: 0x24) PWM DMA Register -------- */ -#define PWM_DMAR_DMADUTY_Pos 0 -#define PWM_DMAR_DMADUTY_Msk (0xffffffu << PWM_DMAR_DMADUTY_Pos) /**< \brief (PWM_DMAR) Duty-Cycle Holding Register for DMA Access */ -#define PWM_DMAR_DMADUTY(value) ((PWM_DMAR_DMADUTY_Msk & ((value) << PWM_DMAR_DMADUTY_Pos))) -/* -------- PWM_SCUC : (PWM Offset: 0x28) PWM Sync Channels Update Control Register -------- */ -#define PWM_SCUC_UPDULOCK (0x1u << 0) /**< \brief (PWM_SCUC) Synchronous Channels Update Unlock */ -/* -------- PWM_SCUP : (PWM Offset: 0x2C) PWM Sync Channels Update Period Register -------- */ -#define PWM_SCUP_UPR_Pos 0 -#define PWM_SCUP_UPR_Msk (0xfu << PWM_SCUP_UPR_Pos) /**< \brief (PWM_SCUP) Update Period */ -#define PWM_SCUP_UPR(value) ((PWM_SCUP_UPR_Msk & ((value) << PWM_SCUP_UPR_Pos))) -#define PWM_SCUP_UPRCNT_Pos 4 -#define PWM_SCUP_UPRCNT_Msk (0xfu << PWM_SCUP_UPRCNT_Pos) /**< \brief (PWM_SCUP) Update Period Counter */ -#define PWM_SCUP_UPRCNT(value) ((PWM_SCUP_UPRCNT_Msk & ((value) << PWM_SCUP_UPRCNT_Pos))) -/* -------- PWM_SCUPUPD : (PWM Offset: 0x30) PWM Sync Channels Update Period Update Register -------- */ -#define PWM_SCUPUPD_UPRUPD_Pos 0 -#define PWM_SCUPUPD_UPRUPD_Msk (0xfu << PWM_SCUPUPD_UPRUPD_Pos) /**< \brief (PWM_SCUPUPD) Update Period Update */ -#define PWM_SCUPUPD_UPRUPD(value) ((PWM_SCUPUPD_UPRUPD_Msk & ((value) << PWM_SCUPUPD_UPRUPD_Pos))) -/* -------- PWM_IER2 : (PWM Offset: 0x34) PWM Interrupt Enable Register 2 -------- */ -#define PWM_IER2_WRDY (0x1u << 0) /**< \brief (PWM_IER2) Write Ready for Synchronous Channels Update Interrupt Enable */ -#define PWM_IER2_UNRE (0x1u << 3) /**< \brief (PWM_IER2) Synchronous Channels Update Underrun Error Interrupt Enable */ -#define PWM_IER2_CMPM0 (0x1u << 8) /**< \brief (PWM_IER2) Comparison 0 Match Interrupt Enable */ -#define PWM_IER2_CMPM1 (0x1u << 9) /**< \brief (PWM_IER2) Comparison 1 Match Interrupt Enable */ -#define PWM_IER2_CMPM2 (0x1u << 10) /**< \brief (PWM_IER2) Comparison 2 Match Interrupt Enable */ -#define PWM_IER2_CMPM3 (0x1u << 11) /**< \brief (PWM_IER2) Comparison 3 Match Interrupt Enable */ -#define PWM_IER2_CMPM4 (0x1u << 12) /**< \brief (PWM_IER2) Comparison 4 Match Interrupt Enable */ -#define PWM_IER2_CMPM5 (0x1u << 13) /**< \brief (PWM_IER2) Comparison 5 Match Interrupt Enable */ -#define PWM_IER2_CMPM6 (0x1u << 14) /**< \brief (PWM_IER2) Comparison 6 Match Interrupt Enable */ -#define PWM_IER2_CMPM7 (0x1u << 15) /**< \brief (PWM_IER2) Comparison 7 Match Interrupt Enable */ -#define PWM_IER2_CMPU0 (0x1u << 16) /**< \brief (PWM_IER2) Comparison 0 Update Interrupt Enable */ -#define PWM_IER2_CMPU1 (0x1u << 17) /**< \brief (PWM_IER2) Comparison 1 Update Interrupt Enable */ -#define PWM_IER2_CMPU2 (0x1u << 18) /**< \brief (PWM_IER2) Comparison 2 Update Interrupt Enable */ -#define PWM_IER2_CMPU3 (0x1u << 19) /**< \brief (PWM_IER2) Comparison 3 Update Interrupt Enable */ -#define PWM_IER2_CMPU4 (0x1u << 20) /**< \brief (PWM_IER2) Comparison 4 Update Interrupt Enable */ -#define PWM_IER2_CMPU5 (0x1u << 21) /**< \brief (PWM_IER2) Comparison 5 Update Interrupt Enable */ -#define PWM_IER2_CMPU6 (0x1u << 22) /**< \brief (PWM_IER2) Comparison 6 Update Interrupt Enable */ -#define PWM_IER2_CMPU7 (0x1u << 23) /**< \brief (PWM_IER2) Comparison 7 Update Interrupt Enable */ -/* -------- PWM_IDR2 : (PWM Offset: 0x38) PWM Interrupt Disable Register 2 -------- */ -#define PWM_IDR2_WRDY (0x1u << 0) /**< \brief (PWM_IDR2) Write Ready for Synchronous Channels Update Interrupt Disable */ -#define PWM_IDR2_UNRE (0x1u << 3) /**< \brief (PWM_IDR2) Synchronous Channels Update Underrun Error Interrupt Disable */ -#define PWM_IDR2_CMPM0 (0x1u << 8) /**< \brief (PWM_IDR2) Comparison 0 Match Interrupt Disable */ -#define PWM_IDR2_CMPM1 (0x1u << 9) /**< \brief (PWM_IDR2) Comparison 1 Match Interrupt Disable */ -#define PWM_IDR2_CMPM2 (0x1u << 10) /**< \brief (PWM_IDR2) Comparison 2 Match Interrupt Disable */ -#define PWM_IDR2_CMPM3 (0x1u << 11) /**< \brief (PWM_IDR2) Comparison 3 Match Interrupt Disable */ -#define PWM_IDR2_CMPM4 (0x1u << 12) /**< \brief (PWM_IDR2) Comparison 4 Match Interrupt Disable */ -#define PWM_IDR2_CMPM5 (0x1u << 13) /**< \brief (PWM_IDR2) Comparison 5 Match Interrupt Disable */ -#define PWM_IDR2_CMPM6 (0x1u << 14) /**< \brief (PWM_IDR2) Comparison 6 Match Interrupt Disable */ -#define PWM_IDR2_CMPM7 (0x1u << 15) /**< \brief (PWM_IDR2) Comparison 7 Match Interrupt Disable */ -#define PWM_IDR2_CMPU0 (0x1u << 16) /**< \brief (PWM_IDR2) Comparison 0 Update Interrupt Disable */ -#define PWM_IDR2_CMPU1 (0x1u << 17) /**< \brief (PWM_IDR2) Comparison 1 Update Interrupt Disable */ -#define PWM_IDR2_CMPU2 (0x1u << 18) /**< \brief (PWM_IDR2) Comparison 2 Update Interrupt Disable */ -#define PWM_IDR2_CMPU3 (0x1u << 19) /**< \brief (PWM_IDR2) Comparison 3 Update Interrupt Disable */ -#define PWM_IDR2_CMPU4 (0x1u << 20) /**< \brief (PWM_IDR2) Comparison 4 Update Interrupt Disable */ -#define PWM_IDR2_CMPU5 (0x1u << 21) /**< \brief (PWM_IDR2) Comparison 5 Update Interrupt Disable */ -#define PWM_IDR2_CMPU6 (0x1u << 22) /**< \brief (PWM_IDR2) Comparison 6 Update Interrupt Disable */ -#define PWM_IDR2_CMPU7 (0x1u << 23) /**< \brief (PWM_IDR2) Comparison 7 Update Interrupt Disable */ -/* -------- PWM_IMR2 : (PWM Offset: 0x3C) PWM Interrupt Mask Register 2 -------- */ -#define PWM_IMR2_WRDY (0x1u << 0) /**< \brief (PWM_IMR2) Write Ready for Synchronous Channels Update Interrupt Mask */ -#define PWM_IMR2_UNRE (0x1u << 3) /**< \brief (PWM_IMR2) Synchronous Channels Update Underrun Error Interrupt Mask */ -#define PWM_IMR2_CMPM0 (0x1u << 8) /**< \brief (PWM_IMR2) Comparison 0 Match Interrupt Mask */ -#define PWM_IMR2_CMPM1 (0x1u << 9) /**< \brief (PWM_IMR2) Comparison 1 Match Interrupt Mask */ -#define PWM_IMR2_CMPM2 (0x1u << 10) /**< \brief (PWM_IMR2) Comparison 2 Match Interrupt Mask */ -#define PWM_IMR2_CMPM3 (0x1u << 11) /**< \brief (PWM_IMR2) Comparison 3 Match Interrupt Mask */ -#define PWM_IMR2_CMPM4 (0x1u << 12) /**< \brief (PWM_IMR2) Comparison 4 Match Interrupt Mask */ -#define PWM_IMR2_CMPM5 (0x1u << 13) /**< \brief (PWM_IMR2) Comparison 5 Match Interrupt Mask */ -#define PWM_IMR2_CMPM6 (0x1u << 14) /**< \brief (PWM_IMR2) Comparison 6 Match Interrupt Mask */ -#define PWM_IMR2_CMPM7 (0x1u << 15) /**< \brief (PWM_IMR2) Comparison 7 Match Interrupt Mask */ -#define PWM_IMR2_CMPU0 (0x1u << 16) /**< \brief (PWM_IMR2) Comparison 0 Update Interrupt Mask */ -#define PWM_IMR2_CMPU1 (0x1u << 17) /**< \brief (PWM_IMR2) Comparison 1 Update Interrupt Mask */ -#define PWM_IMR2_CMPU2 (0x1u << 18) /**< \brief (PWM_IMR2) Comparison 2 Update Interrupt Mask */ -#define PWM_IMR2_CMPU3 (0x1u << 19) /**< \brief (PWM_IMR2) Comparison 3 Update Interrupt Mask */ -#define PWM_IMR2_CMPU4 (0x1u << 20) /**< \brief (PWM_IMR2) Comparison 4 Update Interrupt Mask */ -#define PWM_IMR2_CMPU5 (0x1u << 21) /**< \brief (PWM_IMR2) Comparison 5 Update Interrupt Mask */ -#define PWM_IMR2_CMPU6 (0x1u << 22) /**< \brief (PWM_IMR2) Comparison 6 Update Interrupt Mask */ -#define PWM_IMR2_CMPU7 (0x1u << 23) /**< \brief (PWM_IMR2) Comparison 7 Update Interrupt Mask */ -/* -------- PWM_ISR2 : (PWM Offset: 0x40) PWM Interrupt Status Register 2 -------- */ -#define PWM_ISR2_WRDY (0x1u << 0) /**< \brief (PWM_ISR2) Write Ready for Synchronous Channels Update */ -#define PWM_ISR2_UNRE (0x1u << 3) /**< \brief (PWM_ISR2) Synchronous Channels Update Underrun Error */ -#define PWM_ISR2_CMPM0 (0x1u << 8) /**< \brief (PWM_ISR2) Comparison 0 Match */ -#define PWM_ISR2_CMPM1 (0x1u << 9) /**< \brief (PWM_ISR2) Comparison 1 Match */ -#define PWM_ISR2_CMPM2 (0x1u << 10) /**< \brief (PWM_ISR2) Comparison 2 Match */ -#define PWM_ISR2_CMPM3 (0x1u << 11) /**< \brief (PWM_ISR2) Comparison 3 Match */ -#define PWM_ISR2_CMPM4 (0x1u << 12) /**< \brief (PWM_ISR2) Comparison 4 Match */ -#define PWM_ISR2_CMPM5 (0x1u << 13) /**< \brief (PWM_ISR2) Comparison 5 Match */ -#define PWM_ISR2_CMPM6 (0x1u << 14) /**< \brief (PWM_ISR2) Comparison 6 Match */ -#define PWM_ISR2_CMPM7 (0x1u << 15) /**< \brief (PWM_ISR2) Comparison 7 Match */ -#define PWM_ISR2_CMPU0 (0x1u << 16) /**< \brief (PWM_ISR2) Comparison 0 Update */ -#define PWM_ISR2_CMPU1 (0x1u << 17) /**< \brief (PWM_ISR2) Comparison 1 Update */ -#define PWM_ISR2_CMPU2 (0x1u << 18) /**< \brief (PWM_ISR2) Comparison 2 Update */ -#define PWM_ISR2_CMPU3 (0x1u << 19) /**< \brief (PWM_ISR2) Comparison 3 Update */ -#define PWM_ISR2_CMPU4 (0x1u << 20) /**< \brief (PWM_ISR2) Comparison 4 Update */ -#define PWM_ISR2_CMPU5 (0x1u << 21) /**< \brief (PWM_ISR2) Comparison 5 Update */ -#define PWM_ISR2_CMPU6 (0x1u << 22) /**< \brief (PWM_ISR2) Comparison 6 Update */ -#define PWM_ISR2_CMPU7 (0x1u << 23) /**< \brief (PWM_ISR2) Comparison 7 Update */ -/* -------- PWM_OOV : (PWM Offset: 0x44) PWM Output Override Value Register -------- */ -#define PWM_OOV_OOVH0 (0x1u << 0) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 0 */ -#define PWM_OOV_OOVH1 (0x1u << 1) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 1 */ -#define PWM_OOV_OOVH2 (0x1u << 2) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 2 */ -#define PWM_OOV_OOVH3 (0x1u << 3) /**< \brief (PWM_OOV) Output Override Value for PWMH output of the channel 3 */ -#define PWM_OOV_OOVL0 (0x1u << 16) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 0 */ -#define PWM_OOV_OOVL1 (0x1u << 17) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 1 */ -#define PWM_OOV_OOVL2 (0x1u << 18) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 2 */ -#define PWM_OOV_OOVL3 (0x1u << 19) /**< \brief (PWM_OOV) Output Override Value for PWML output of the channel 3 */ -/* -------- PWM_OS : (PWM Offset: 0x48) PWM Output Selection Register -------- */ -#define PWM_OS_OSH0 (0x1u << 0) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 0 */ -#define PWM_OS_OSH1 (0x1u << 1) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 1 */ -#define PWM_OS_OSH2 (0x1u << 2) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 2 */ -#define PWM_OS_OSH3 (0x1u << 3) /**< \brief (PWM_OS) Output Selection for PWMH output of the channel 3 */ -#define PWM_OS_OSL0 (0x1u << 16) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 0 */ -#define PWM_OS_OSL1 (0x1u << 17) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 1 */ -#define PWM_OS_OSL2 (0x1u << 18) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 2 */ -#define PWM_OS_OSL3 (0x1u << 19) /**< \brief (PWM_OS) Output Selection for PWML output of the channel 3 */ -/* -------- PWM_OSS : (PWM Offset: 0x4C) PWM Output Selection Set Register -------- */ -#define PWM_OSS_OSSH0 (0x1u << 0) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 0 */ -#define PWM_OSS_OSSH1 (0x1u << 1) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 1 */ -#define PWM_OSS_OSSH2 (0x1u << 2) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 2 */ -#define PWM_OSS_OSSH3 (0x1u << 3) /**< \brief (PWM_OSS) Output Selection Set for PWMH output of the channel 3 */ -#define PWM_OSS_OSSL0 (0x1u << 16) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 0 */ -#define PWM_OSS_OSSL1 (0x1u << 17) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 1 */ -#define PWM_OSS_OSSL2 (0x1u << 18) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 2 */ -#define PWM_OSS_OSSL3 (0x1u << 19) /**< \brief (PWM_OSS) Output Selection Set for PWML output of the channel 3 */ -/* -------- PWM_OSC : (PWM Offset: 0x50) PWM Output Selection Clear Register -------- */ -#define PWM_OSC_OSCH0 (0x1u << 0) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 0 */ -#define PWM_OSC_OSCH1 (0x1u << 1) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 1 */ -#define PWM_OSC_OSCH2 (0x1u << 2) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 2 */ -#define PWM_OSC_OSCH3 (0x1u << 3) /**< \brief (PWM_OSC) Output Selection Clear for PWMH output of the channel 3 */ -#define PWM_OSC_OSCL0 (0x1u << 16) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 0 */ -#define PWM_OSC_OSCL1 (0x1u << 17) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 1 */ -#define PWM_OSC_OSCL2 (0x1u << 18) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 2 */ -#define PWM_OSC_OSCL3 (0x1u << 19) /**< \brief (PWM_OSC) Output Selection Clear for PWML output of the channel 3 */ -/* -------- PWM_OSSUPD : (PWM Offset: 0x54) PWM Output Selection Set Update Register -------- */ -#define PWM_OSSUPD_OSSUPH0 (0x1u << 0) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 0 */ -#define PWM_OSSUPD_OSSUPH1 (0x1u << 1) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 1 */ -#define PWM_OSSUPD_OSSUPH2 (0x1u << 2) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 2 */ -#define PWM_OSSUPD_OSSUPH3 (0x1u << 3) /**< \brief (PWM_OSSUPD) Output Selection Set for PWMH output of the channel 3 */ -#define PWM_OSSUPD_OSSUPL0 (0x1u << 16) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 0 */ -#define PWM_OSSUPD_OSSUPL1 (0x1u << 17) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 1 */ -#define PWM_OSSUPD_OSSUPL2 (0x1u << 18) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 2 */ -#define PWM_OSSUPD_OSSUPL3 (0x1u << 19) /**< \brief (PWM_OSSUPD) Output Selection Set for PWML output of the channel 3 */ -/* -------- PWM_OSCUPD : (PWM Offset: 0x58) PWM Output Selection Clear Update Register -------- */ -#define PWM_OSCUPD_OSCUPH0 (0x1u << 0) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 0 */ -#define PWM_OSCUPD_OSCUPH1 (0x1u << 1) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 1 */ -#define PWM_OSCUPD_OSCUPH2 (0x1u << 2) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 2 */ -#define PWM_OSCUPD_OSCUPH3 (0x1u << 3) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWMH output of the channel 3 */ -#define PWM_OSCUPD_OSCUPL0 (0x1u << 16) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 0 */ -#define PWM_OSCUPD_OSCUPL1 (0x1u << 17) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 1 */ -#define PWM_OSCUPD_OSCUPL2 (0x1u << 18) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 2 */ -#define PWM_OSCUPD_OSCUPL3 (0x1u << 19) /**< \brief (PWM_OSCUPD) Output Selection Clear for PWML output of the channel 3 */ -/* -------- PWM_FMR : (PWM Offset: 0x5C) PWM Fault Mode Register -------- */ -#define PWM_FMR_FPOL_Pos 0 -#define PWM_FMR_FPOL_Msk (0xffu << PWM_FMR_FPOL_Pos) /**< \brief (PWM_FMR) Fault Polarity */ -#define PWM_FMR_FPOL(value) ((PWM_FMR_FPOL_Msk & ((value) << PWM_FMR_FPOL_Pos))) -#define PWM_FMR_FMOD_Pos 8 -#define PWM_FMR_FMOD_Msk (0xffu << PWM_FMR_FMOD_Pos) /**< \brief (PWM_FMR) Fault Activation Mode */ -#define PWM_FMR_FMOD(value) ((PWM_FMR_FMOD_Msk & ((value) << PWM_FMR_FMOD_Pos))) -#define PWM_FMR_FFIL_Pos 16 -#define PWM_FMR_FFIL_Msk (0xffu << PWM_FMR_FFIL_Pos) /**< \brief (PWM_FMR) Fault Filtering */ -#define PWM_FMR_FFIL(value) ((PWM_FMR_FFIL_Msk & ((value) << PWM_FMR_FFIL_Pos))) -/* -------- PWM_FSR : (PWM Offset: 0x60) PWM Fault Status Register -------- */ -#define PWM_FSR_FIV_Pos 0 -#define PWM_FSR_FIV_Msk (0xffu << PWM_FSR_FIV_Pos) /**< \brief (PWM_FSR) Fault Input Value */ -#define PWM_FSR_FS_Pos 8 -#define PWM_FSR_FS_Msk (0xffu << PWM_FSR_FS_Pos) /**< \brief (PWM_FSR) Fault Status */ -/* -------- PWM_FCR : (PWM Offset: 0x64) PWM Fault Clear Register -------- */ -#define PWM_FCR_FCLR_Pos 0 -#define PWM_FCR_FCLR_Msk (0xffu << PWM_FCR_FCLR_Pos) /**< \brief (PWM_FCR) Fault Clear */ -#define PWM_FCR_FCLR(value) ((PWM_FCR_FCLR_Msk & ((value) << PWM_FCR_FCLR_Pos))) -/* -------- PWM_FPV1 : (PWM Offset: 0x68) PWM Fault Protection Value Register 1 -------- */ -#define PWM_FPV1_FPVH0 (0x1u << 0) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 0 */ -#define PWM_FPV1_FPVH1 (0x1u << 1) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 1 */ -#define PWM_FPV1_FPVH2 (0x1u << 2) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 2 */ -#define PWM_FPV1_FPVH3 (0x1u << 3) /**< \brief (PWM_FPV1) Fault Protection Value for PWMH output on channel 3 */ -#define PWM_FPV1_FPVL0 (0x1u << 16) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 0 */ -#define PWM_FPV1_FPVL1 (0x1u << 17) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 1 */ -#define PWM_FPV1_FPVL2 (0x1u << 18) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 2 */ -#define PWM_FPV1_FPVL3 (0x1u << 19) /**< \brief (PWM_FPV1) Fault Protection Value for PWML output on channel 3 */ -/* -------- PWM_FPE : (PWM Offset: 0x6C) PWM Fault Protection Enable Register -------- */ -#define PWM_FPE_FPE0_Pos 0 -#define PWM_FPE_FPE0_Msk (0xffu << PWM_FPE_FPE0_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 0 */ -#define PWM_FPE_FPE0(value) ((PWM_FPE_FPE0_Msk & ((value) << PWM_FPE_FPE0_Pos))) -#define PWM_FPE_FPE1_Pos 8 -#define PWM_FPE_FPE1_Msk (0xffu << PWM_FPE_FPE1_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 1 */ -#define PWM_FPE_FPE1(value) ((PWM_FPE_FPE1_Msk & ((value) << PWM_FPE_FPE1_Pos))) -#define PWM_FPE_FPE2_Pos 16 -#define PWM_FPE_FPE2_Msk (0xffu << PWM_FPE_FPE2_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 2 */ -#define PWM_FPE_FPE2(value) ((PWM_FPE_FPE2_Msk & ((value) << PWM_FPE_FPE2_Pos))) -#define PWM_FPE_FPE3_Pos 24 -#define PWM_FPE_FPE3_Msk (0xffu << PWM_FPE_FPE3_Pos) /**< \brief (PWM_FPE) Fault Protection Enable for channel 3 */ -#define PWM_FPE_FPE3(value) ((PWM_FPE_FPE3_Msk & ((value) << PWM_FPE_FPE3_Pos))) -/* -------- PWM_ELMR[8] : (PWM Offset: 0x7C) PWM Event Line 0 Mode Register -------- */ -#define PWM_ELMR_CSEL0 (0x1u << 0) /**< \brief (PWM_ELMR[8]) Comparison 0 Selection */ -#define PWM_ELMR_CSEL1 (0x1u << 1) /**< \brief (PWM_ELMR[8]) Comparison 1 Selection */ -#define PWM_ELMR_CSEL2 (0x1u << 2) /**< \brief (PWM_ELMR[8]) Comparison 2 Selection */ -#define PWM_ELMR_CSEL3 (0x1u << 3) /**< \brief (PWM_ELMR[8]) Comparison 3 Selection */ -#define PWM_ELMR_CSEL4 (0x1u << 4) /**< \brief (PWM_ELMR[8]) Comparison 4 Selection */ -#define PWM_ELMR_CSEL5 (0x1u << 5) /**< \brief (PWM_ELMR[8]) Comparison 5 Selection */ -#define PWM_ELMR_CSEL6 (0x1u << 6) /**< \brief (PWM_ELMR[8]) Comparison 6 Selection */ -#define PWM_ELMR_CSEL7 (0x1u << 7) /**< \brief (PWM_ELMR[8]) Comparison 7 Selection */ -/* -------- PWM_SSPR : (PWM Offset: 0xA0) PWM Spread Spectrum Register -------- */ -#define PWM_SSPR_SPRD_Pos 0 -#define PWM_SSPR_SPRD_Msk (0xffffffu << PWM_SSPR_SPRD_Pos) /**< \brief (PWM_SSPR) Spread Spectrum Limit Value */ -#define PWM_SSPR_SPRD(value) ((PWM_SSPR_SPRD_Msk & ((value) << PWM_SSPR_SPRD_Pos))) -#define PWM_SSPR_SPRDM (0x1u << 24) /**< \brief (PWM_SSPR) Spread Spectrum Counter Mode */ -/* -------- PWM_SSPUP : (PWM Offset: 0xA4) PWM Spread Spectrum Update Register -------- */ -#define PWM_SSPUP_SPRDUP_Pos 0 -#define PWM_SSPUP_SPRDUP_Msk (0xffffffu << PWM_SSPUP_SPRDUP_Pos) /**< \brief (PWM_SSPUP) Spread Spectrum Limit Value Update */ -#define PWM_SSPUP_SPRDUP(value) ((PWM_SSPUP_SPRDUP_Msk & ((value) << PWM_SSPUP_SPRDUP_Pos))) -/* -------- PWM_SMMR : (PWM Offset: 0xB0) PWM Stepper Motor Mode Register -------- */ -#define PWM_SMMR_GCEN0 (0x1u << 0) /**< \brief (PWM_SMMR) Gray Count ENable */ -#define PWM_SMMR_GCEN1 (0x1u << 1) /**< \brief (PWM_SMMR) Gray Count ENable */ -#define PWM_SMMR_DOWN0 (0x1u << 16) /**< \brief (PWM_SMMR) DOWN Count */ -#define PWM_SMMR_DOWN1 (0x1u << 17) /**< \brief (PWM_SMMR) DOWN Count */ -/* -------- PWM_FPV2 : (PWM Offset: 0xC0) PWM Fault Protection Value 2 Register -------- */ -#define PWM_FPV2_FPZH0 (0x1u << 0) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 0 */ -#define PWM_FPV2_FPZH1 (0x1u << 1) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 1 */ -#define PWM_FPV2_FPZH2 (0x1u << 2) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 2 */ -#define PWM_FPV2_FPZH3 (0x1u << 3) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWMH output on channel 3 */ -#define PWM_FPV2_FPZL0 (0x1u << 16) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 0 */ -#define PWM_FPV2_FPZL1 (0x1u << 17) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 1 */ -#define PWM_FPV2_FPZL2 (0x1u << 18) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 2 */ -#define PWM_FPV2_FPZL3 (0x1u << 19) /**< \brief (PWM_FPV2) Fault Protection to Hi-Z for PWML output on channel 3 */ -/* -------- PWM_WPCR : (PWM Offset: 0xE4) PWM Write Protection Control Register -------- */ -#define PWM_WPCR_WPCMD_Pos 0 -#define PWM_WPCR_WPCMD_Msk (0x3u << PWM_WPCR_WPCMD_Pos) /**< \brief (PWM_WPCR) Write Protection Command */ -#define PWM_WPCR_WPCMD(value) ((PWM_WPCR_WPCMD_Msk & ((value) << PWM_WPCR_WPCMD_Pos))) -#define PWM_WPCR_WPCMD_DISABLE_SW_PROT (0x0u << 0) /**< \brief (PWM_WPCR) Disables the software write protection of the register groups of which the bit WPRGx is at '1'. */ -#define PWM_WPCR_WPCMD_ENABLE_SW_PROT (0x1u << 0) /**< \brief (PWM_WPCR) Enables the software write protection of the register groups of which the bit WPRGx is at '1'. */ -#define PWM_WPCR_WPCMD_ENABLE_HW_PROT (0x2u << 0) /**< \brief (PWM_WPCR) Enables the hardware write protection of the register groups of which the bit WPRGx is at '1'. Only a hardware reset of the PWM controller can disable the hardware write protection. Moreover, to meet security requirements, the PIO lines associated with the PWM can not be configured through the PIO interface. */ -#define PWM_WPCR_WPRG0 (0x1u << 2) /**< \brief (PWM_WPCR) Write Protection Register Group 0 */ -#define PWM_WPCR_WPRG1 (0x1u << 3) /**< \brief (PWM_WPCR) Write Protection Register Group 1 */ -#define PWM_WPCR_WPRG2 (0x1u << 4) /**< \brief (PWM_WPCR) Write Protection Register Group 2 */ -#define PWM_WPCR_WPRG3 (0x1u << 5) /**< \brief (PWM_WPCR) Write Protection Register Group 3 */ -#define PWM_WPCR_WPRG4 (0x1u << 6) /**< \brief (PWM_WPCR) Write Protection Register Group 4 */ -#define PWM_WPCR_WPRG5 (0x1u << 7) /**< \brief (PWM_WPCR) Write Protection Register Group 5 */ -#define PWM_WPCR_WPKEY_Pos 8 -#define PWM_WPCR_WPKEY_Msk (0xffffffu << PWM_WPCR_WPKEY_Pos) /**< \brief (PWM_WPCR) Write Protection Key */ -#define PWM_WPCR_WPKEY(value) ((PWM_WPCR_WPKEY_Msk & ((value) << PWM_WPCR_WPKEY_Pos))) -#define PWM_WPCR_WPKEY_PASSWD (0x50574Du << 8) /**< \brief (PWM_WPCR) Writing any other value in this field aborts the write operation of the WPCMD field.Always reads as 0 */ -/* -------- PWM_WPSR : (PWM Offset: 0xE8) PWM Write Protection Status Register -------- */ -#define PWM_WPSR_WPSWS0 (0x1u << 0) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS1 (0x1u << 1) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS2 (0x1u << 2) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS3 (0x1u << 3) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS4 (0x1u << 4) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPSWS5 (0x1u << 5) /**< \brief (PWM_WPSR) Write Protect SW Status */ -#define PWM_WPSR_WPVS (0x1u << 7) /**< \brief (PWM_WPSR) Write Protect Violation Status */ -#define PWM_WPSR_WPHWS0 (0x1u << 8) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS1 (0x1u << 9) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS2 (0x1u << 10) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS3 (0x1u << 11) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS4 (0x1u << 12) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPHWS5 (0x1u << 13) /**< \brief (PWM_WPSR) Write Protect HW Status */ -#define PWM_WPSR_WPVSRC_Pos 16 -#define PWM_WPSR_WPVSRC_Msk (0xffffu << PWM_WPSR_WPVSRC_Pos) /**< \brief (PWM_WPSR) Write Protect Violation Source */ -/* -------- PWM_CMPV : (PWM Offset: N/A) PWM Comparison 0 Value Register -------- */ -#define PWM_CMPV_CV_Pos 0 -#define PWM_CMPV_CV_Msk (0xffffffu << PWM_CMPV_CV_Pos) /**< \brief (PWM_CMPV) Comparison x Value */ -#define PWM_CMPV_CV(value) ((PWM_CMPV_CV_Msk & ((value) << PWM_CMPV_CV_Pos))) -#define PWM_CMPV_CVM (0x1u << 24) /**< \brief (PWM_CMPV) Comparison x Value Mode */ -/* -------- PWM_CMPVUPD : (PWM Offset: N/A) PWM Comparison 0 Value Update Register -------- */ -#define PWM_CMPVUPD_CVUPD_Pos 0 -#define PWM_CMPVUPD_CVUPD_Msk (0xffffffu << PWM_CMPVUPD_CVUPD_Pos) /**< \brief (PWM_CMPVUPD) Comparison x Value Update */ -#define PWM_CMPVUPD_CVUPD(value) ((PWM_CMPVUPD_CVUPD_Msk & ((value) << PWM_CMPVUPD_CVUPD_Pos))) -#define PWM_CMPVUPD_CVMUPD (0x1u << 24) /**< \brief (PWM_CMPVUPD) Comparison x Value Mode Update */ -/* -------- PWM_CMPM : (PWM Offset: N/A) PWM Comparison 0 Mode Register -------- */ -#define PWM_CMPM_CEN (0x1u << 0) /**< \brief (PWM_CMPM) Comparison x Enable */ -#define PWM_CMPM_CTR_Pos 4 -#define PWM_CMPM_CTR_Msk (0xfu << PWM_CMPM_CTR_Pos) /**< \brief (PWM_CMPM) Comparison x Trigger */ -#define PWM_CMPM_CTR(value) ((PWM_CMPM_CTR_Msk & ((value) << PWM_CMPM_CTR_Pos))) -#define PWM_CMPM_CPR_Pos 8 -#define PWM_CMPM_CPR_Msk (0xfu << PWM_CMPM_CPR_Pos) /**< \brief (PWM_CMPM) Comparison x Period */ -#define PWM_CMPM_CPR(value) ((PWM_CMPM_CPR_Msk & ((value) << PWM_CMPM_CPR_Pos))) -#define PWM_CMPM_CPRCNT_Pos 12 -#define PWM_CMPM_CPRCNT_Msk (0xfu << PWM_CMPM_CPRCNT_Pos) /**< \brief (PWM_CMPM) Comparison x Period Counter */ -#define PWM_CMPM_CPRCNT(value) ((PWM_CMPM_CPRCNT_Msk & ((value) << PWM_CMPM_CPRCNT_Pos))) -#define PWM_CMPM_CUPR_Pos 16 -#define PWM_CMPM_CUPR_Msk (0xfu << PWM_CMPM_CUPR_Pos) /**< \brief (PWM_CMPM) Comparison x Update Period */ -#define PWM_CMPM_CUPR(value) ((PWM_CMPM_CUPR_Msk & ((value) << PWM_CMPM_CUPR_Pos))) -#define PWM_CMPM_CUPRCNT_Pos 20 -#define PWM_CMPM_CUPRCNT_Msk (0xfu << PWM_CMPM_CUPRCNT_Pos) /**< \brief (PWM_CMPM) Comparison x Update Period Counter */ -#define PWM_CMPM_CUPRCNT(value) ((PWM_CMPM_CUPRCNT_Msk & ((value) << PWM_CMPM_CUPRCNT_Pos))) -/* -------- PWM_CMPMUPD : (PWM Offset: N/A) PWM Comparison 0 Mode Update Register -------- */ -#define PWM_CMPMUPD_CENUPD (0x1u << 0) /**< \brief (PWM_CMPMUPD) Comparison x Enable Update */ -#define PWM_CMPMUPD_CTRUPD_Pos 4 -#define PWM_CMPMUPD_CTRUPD_Msk (0xfu << PWM_CMPMUPD_CTRUPD_Pos) /**< \brief (PWM_CMPMUPD) Comparison x Trigger Update */ -#define PWM_CMPMUPD_CTRUPD(value) ((PWM_CMPMUPD_CTRUPD_Msk & ((value) << PWM_CMPMUPD_CTRUPD_Pos))) -#define PWM_CMPMUPD_CPRUPD_Pos 8 -#define PWM_CMPMUPD_CPRUPD_Msk (0xfu << PWM_CMPMUPD_CPRUPD_Pos) /**< \brief (PWM_CMPMUPD) Comparison x Period Update */ -#define PWM_CMPMUPD_CPRUPD(value) ((PWM_CMPMUPD_CPRUPD_Msk & ((value) << PWM_CMPMUPD_CPRUPD_Pos))) -#define PWM_CMPMUPD_CUPRUPD_Pos 16 -#define PWM_CMPMUPD_CUPRUPD_Msk (0xfu << PWM_CMPMUPD_CUPRUPD_Pos) /**< \brief (PWM_CMPMUPD) Comparison x Update Period Update */ -#define PWM_CMPMUPD_CUPRUPD(value) ((PWM_CMPMUPD_CUPRUPD_Msk & ((value) << PWM_CMPMUPD_CUPRUPD_Pos))) -/* -------- PWM_CMR : (PWM Offset: N/A) PWM Channel Mode Register -------- */ -#define PWM_CMR_CPRE_Pos 0 -#define PWM_CMR_CPRE_Msk (0xfu << PWM_CMR_CPRE_Pos) /**< \brief (PWM_CMR) Channel Pre-scaler */ -#define PWM_CMR_CPRE(value) ((PWM_CMR_CPRE_Msk & ((value) << PWM_CMR_CPRE_Pos))) -#define PWM_CMR_CPRE_MCK (0x0u << 0) /**< \brief (PWM_CMR) Peripheral clock */ -#define PWM_CMR_CPRE_MCK_DIV_2 (0x1u << 0) /**< \brief (PWM_CMR) Peripheral clock/2 */ -#define PWM_CMR_CPRE_MCK_DIV_4 (0x2u << 0) /**< \brief (PWM_CMR) Peripheral clock/4 */ -#define PWM_CMR_CPRE_MCK_DIV_8 (0x3u << 0) /**< \brief (PWM_CMR) Peripheral clock/8 */ -#define PWM_CMR_CPRE_MCK_DIV_16 (0x4u << 0) /**< \brief (PWM_CMR) Peripheral clock/16 */ -#define PWM_CMR_CPRE_MCK_DIV_32 (0x5u << 0) /**< \brief (PWM_CMR) Peripheral clock/32 */ -#define PWM_CMR_CPRE_MCK_DIV_64 (0x6u << 0) /**< \brief (PWM_CMR) Peripheral clock/64 */ -#define PWM_CMR_CPRE_MCK_DIV_128 (0x7u << 0) /**< \brief (PWM_CMR) Peripheral clock/128 */ -#define PWM_CMR_CPRE_MCK_DIV_256 (0x8u << 0) /**< \brief (PWM_CMR) Peripheral clock/256 */ -#define PWM_CMR_CPRE_MCK_DIV_512 (0x9u << 0) /**< \brief (PWM_CMR) Peripheral clock/512 */ -#define PWM_CMR_CPRE_MCK_DIV_1024 (0xAu << 0) /**< \brief (PWM_CMR) Peripheral clock/1024 */ -#define PWM_CMR_CPRE_CLKA (0xBu << 0) /**< \brief (PWM_CMR) Clock A */ -#define PWM_CMR_CPRE_CLKB (0xCu << 0) /**< \brief (PWM_CMR) Clock B */ -#define PWM_CMR_CALG (0x1u << 8) /**< \brief (PWM_CMR) Channel Alignment */ -#define PWM_CMR_CPOL (0x1u << 9) /**< \brief (PWM_CMR) Channel Polarity */ -#define PWM_CMR_CES (0x1u << 10) /**< \brief (PWM_CMR) Counter Event Selection */ -#define PWM_CMR_UPDS (0x1u << 11) /**< \brief (PWM_CMR) Update Selection */ -#define PWM_CMR_DPOLI (0x1u << 12) /**< \brief (PWM_CMR) Disabled Polarity Inverted */ -#define PWM_CMR_TCTS (0x1u << 13) /**< \brief (PWM_CMR) Timer Counter Trigger Selection */ -#define PWM_CMR_DTE (0x1u << 16) /**< \brief (PWM_CMR) Dead-Time Generator Enable */ -#define PWM_CMR_DTHI (0x1u << 17) /**< \brief (PWM_CMR) Dead-Time PWMHx Output Inverted */ -#define PWM_CMR_DTLI (0x1u << 18) /**< \brief (PWM_CMR) Dead-Time PWMLx Output Inverted */ -#define PWM_CMR_PPM (0x1u << 19) /**< \brief (PWM_CMR) Push-Pull Mode */ -/* -------- PWM_CDTY : (PWM Offset: N/A) PWM Channel Duty Cycle Register -------- */ -#define PWM_CDTY_CDTY_Pos 0 -#define PWM_CDTY_CDTY_Msk (0xffffffu << PWM_CDTY_CDTY_Pos) /**< \brief (PWM_CDTY) Channel Duty-Cycle */ -#define PWM_CDTY_CDTY(value) ((PWM_CDTY_CDTY_Msk & ((value) << PWM_CDTY_CDTY_Pos))) -/* -------- PWM_CDTYUPD : (PWM Offset: N/A) PWM Channel Duty Cycle Update Register -------- */ -#define PWM_CDTYUPD_CDTYUPD_Pos 0 -#define PWM_CDTYUPD_CDTYUPD_Msk (0xffffffu << PWM_CDTYUPD_CDTYUPD_Pos) /**< \brief (PWM_CDTYUPD) Channel Duty-Cycle Update */ -#define PWM_CDTYUPD_CDTYUPD(value) ((PWM_CDTYUPD_CDTYUPD_Msk & ((value) << PWM_CDTYUPD_CDTYUPD_Pos))) -/* -------- PWM_CPRD : (PWM Offset: N/A) PWM Channel Period Register -------- */ -#define PWM_CPRD_CPRD_Pos 0 -#define PWM_CPRD_CPRD_Msk (0xffffffu << PWM_CPRD_CPRD_Pos) /**< \brief (PWM_CPRD) Channel Period */ -#define PWM_CPRD_CPRD(value) ((PWM_CPRD_CPRD_Msk & ((value) << PWM_CPRD_CPRD_Pos))) -/* -------- PWM_CPRDUPD : (PWM Offset: N/A) PWM Channel Period Update Register -------- */ -#define PWM_CPRDUPD_CPRDUPD_Pos 0 -#define PWM_CPRDUPD_CPRDUPD_Msk (0xffffffu << PWM_CPRDUPD_CPRDUPD_Pos) /**< \brief (PWM_CPRDUPD) Channel Period Update */ -#define PWM_CPRDUPD_CPRDUPD(value) ((PWM_CPRDUPD_CPRDUPD_Msk & ((value) << PWM_CPRDUPD_CPRDUPD_Pos))) -/* -------- PWM_CCNT : (PWM Offset: N/A) PWM Channel Counter Register -------- */ -#define PWM_CCNT_CNT_Pos 0 -#define PWM_CCNT_CNT_Msk (0xffffffu << PWM_CCNT_CNT_Pos) /**< \brief (PWM_CCNT) Channel Counter Register */ -/* -------- PWM_DT : (PWM Offset: N/A) PWM Channel Dead Time Register -------- */ -#define PWM_DT_DTH_Pos 0 -#define PWM_DT_DTH_Msk (0xffffu << PWM_DT_DTH_Pos) /**< \brief (PWM_DT) Dead-Time Value for PWMHx Output */ -#define PWM_DT_DTH(value) ((PWM_DT_DTH_Msk & ((value) << PWM_DT_DTH_Pos))) -#define PWM_DT_DTL_Pos 16 -#define PWM_DT_DTL_Msk (0xffffu << PWM_DT_DTL_Pos) /**< \brief (PWM_DT) Dead-Time Value for PWMLx Output */ -#define PWM_DT_DTL(value) ((PWM_DT_DTL_Msk & ((value) << PWM_DT_DTL_Pos))) -/* -------- PWM_DTUPD : (PWM Offset: N/A) PWM Channel Dead Time Update Register -------- */ -#define PWM_DTUPD_DTHUPD_Pos 0 -#define PWM_DTUPD_DTHUPD_Msk (0xffffu << PWM_DTUPD_DTHUPD_Pos) /**< \brief (PWM_DTUPD) Dead-Time Value Update for PWMHx Output */ -#define PWM_DTUPD_DTHUPD(value) ((PWM_DTUPD_DTHUPD_Msk & ((value) << PWM_DTUPD_DTHUPD_Pos))) -#define PWM_DTUPD_DTLUPD_Pos 16 -#define PWM_DTUPD_DTLUPD_Msk (0xffffu << PWM_DTUPD_DTLUPD_Pos) /**< \brief (PWM_DTUPD) Dead-Time Value Update for PWMLx Output */ -#define PWM_DTUPD_DTLUPD(value) ((PWM_DTUPD_DTLUPD_Msk & ((value) << PWM_DTUPD_DTLUPD_Pos))) -/* -------- PWM_CMUPD0 : (PWM Offset: 0x400) PWM Channel Mode Update Register (ch_num = 0) -------- */ -#define PWM_CMUPD0_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD0) Channel Polarity Update */ -#define PWM_CMUPD0_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD0) Channel Polarity Inversion Update */ -/* -------- PWM_CMUPD1 : (PWM Offset: 0x420) PWM Channel Mode Update Register (ch_num = 1) -------- */ -#define PWM_CMUPD1_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD1) Channel Polarity Update */ -#define PWM_CMUPD1_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD1) Channel Polarity Inversion Update */ -/* -------- PWM_ETRG1 : (PWM Offset: 0x42C) PWM External Trigger Register (trg_num = 1) -------- */ -#define PWM_ETRG1_MAXCNT_Pos 0 -#define PWM_ETRG1_MAXCNT_Msk (0xffffffu << PWM_ETRG1_MAXCNT_Pos) /**< \brief (PWM_ETRG1) Maximum Counter value */ -#define PWM_ETRG1_MAXCNT(value) ((PWM_ETRG1_MAXCNT_Msk & ((value) << PWM_ETRG1_MAXCNT_Pos))) -#define PWM_ETRG1_TRGMODE_Pos 24 -#define PWM_ETRG1_TRGMODE_Msk (0x3u << PWM_ETRG1_TRGMODE_Pos) /**< \brief (PWM_ETRG1) External Trigger Mode */ -#define PWM_ETRG1_TRGMODE(value) ((PWM_ETRG1_TRGMODE_Msk & ((value) << PWM_ETRG1_TRGMODE_Pos))) -#define PWM_ETRG1_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG1) External trigger is not enabled. */ -#define PWM_ETRG1_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG1) External PWM Reset Mode */ -#define PWM_ETRG1_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG1) External PWM Start Mode */ -#define PWM_ETRG1_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG1) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG1_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG1) Edge Selection */ -#define PWM_ETRG1_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG1) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG1_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG1) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG1_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG1) Filtered input */ -#define PWM_ETRG1_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG1) Trigger Source */ -#define PWM_ETRG1_RFEN (0x1u << 31) /**< \brief (PWM_ETRG1) Recoverable Fault Enable */ -/* -------- PWM_LEBR1 : (PWM Offset: 0x430) PWM Leading-Edge Blanking Register (trg_num = 1) -------- */ -#define PWM_LEBR1_LEBDELAY_Pos 0 -#define PWM_LEBR1_LEBDELAY_Msk (0x7fu << PWM_LEBR1_LEBDELAY_Pos) /**< \brief (PWM_LEBR1) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR1_LEBDELAY(value) ((PWM_LEBR1_LEBDELAY_Msk & ((value) << PWM_LEBR1_LEBDELAY_Pos))) -#define PWM_LEBR1_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR1) PWML Falling Edge Enable */ -#define PWM_LEBR1_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR1) PWML Rising Edge Enable */ -#define PWM_LEBR1_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR1) PWMH Falling Edge Enable */ -#define PWM_LEBR1_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR1) PWMH Rising Edge Enable */ -/* -------- PWM_CMUPD2 : (PWM Offset: 0x440) PWM Channel Mode Update Register (ch_num = 2) -------- */ -#define PWM_CMUPD2_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD2) Channel Polarity Update */ -#define PWM_CMUPD2_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD2) Channel Polarity Inversion Update */ -/* -------- PWM_ETRG2 : (PWM Offset: 0x44C) PWM External Trigger Register (trg_num = 2) -------- */ -#define PWM_ETRG2_MAXCNT_Pos 0 -#define PWM_ETRG2_MAXCNT_Msk (0xffffffu << PWM_ETRG2_MAXCNT_Pos) /**< \brief (PWM_ETRG2) Maximum Counter value */ -#define PWM_ETRG2_MAXCNT(value) ((PWM_ETRG2_MAXCNT_Msk & ((value) << PWM_ETRG2_MAXCNT_Pos))) -#define PWM_ETRG2_TRGMODE_Pos 24 -#define PWM_ETRG2_TRGMODE_Msk (0x3u << PWM_ETRG2_TRGMODE_Pos) /**< \brief (PWM_ETRG2) External Trigger Mode */ -#define PWM_ETRG2_TRGMODE(value) ((PWM_ETRG2_TRGMODE_Msk & ((value) << PWM_ETRG2_TRGMODE_Pos))) -#define PWM_ETRG2_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG2) External trigger is not enabled. */ -#define PWM_ETRG2_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG2) External PWM Reset Mode */ -#define PWM_ETRG2_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG2) External PWM Start Mode */ -#define PWM_ETRG2_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG2) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG2_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG2) Edge Selection */ -#define PWM_ETRG2_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG2) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG2_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG2) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG2_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG2) Filtered input */ -#define PWM_ETRG2_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG2) Trigger Source */ -#define PWM_ETRG2_RFEN (0x1u << 31) /**< \brief (PWM_ETRG2) Recoverable Fault Enable */ -/* -------- PWM_LEBR2 : (PWM Offset: 0x450) PWM Leading-Edge Blanking Register (trg_num = 2) -------- */ -#define PWM_LEBR2_LEBDELAY_Pos 0 -#define PWM_LEBR2_LEBDELAY_Msk (0x7fu << PWM_LEBR2_LEBDELAY_Pos) /**< \brief (PWM_LEBR2) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR2_LEBDELAY(value) ((PWM_LEBR2_LEBDELAY_Msk & ((value) << PWM_LEBR2_LEBDELAY_Pos))) -#define PWM_LEBR2_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR2) PWML Falling Edge Enable */ -#define PWM_LEBR2_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR2) PWML Rising Edge Enable */ -#define PWM_LEBR2_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR2) PWMH Falling Edge Enable */ -#define PWM_LEBR2_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR2) PWMH Rising Edge Enable */ -/* -------- PWM_CMUPD3 : (PWM Offset: 0x460) PWM Channel Mode Update Register (ch_num = 3) -------- */ -#define PWM_CMUPD3_CPOLUP (0x1u << 9) /**< \brief (PWM_CMUPD3) Channel Polarity Update */ -#define PWM_CMUPD3_CPOLINVUP (0x1u << 13) /**< \brief (PWM_CMUPD3) Channel Polarity Inversion Update */ -/* -------- PWM_ETRG3 : (PWM Offset: 0x46C) PWM External Trigger Register (trg_num = 3) -------- */ -#define PWM_ETRG3_MAXCNT_Pos 0 -#define PWM_ETRG3_MAXCNT_Msk (0xffffffu << PWM_ETRG3_MAXCNT_Pos) /**< \brief (PWM_ETRG3) Maximum Counter value */ -#define PWM_ETRG3_MAXCNT(value) ((PWM_ETRG3_MAXCNT_Msk & ((value) << PWM_ETRG3_MAXCNT_Pos))) -#define PWM_ETRG3_TRGMODE_Pos 24 -#define PWM_ETRG3_TRGMODE_Msk (0x3u << PWM_ETRG3_TRGMODE_Pos) /**< \brief (PWM_ETRG3) External Trigger Mode */ -#define PWM_ETRG3_TRGMODE(value) ((PWM_ETRG3_TRGMODE_Msk & ((value) << PWM_ETRG3_TRGMODE_Pos))) -#define PWM_ETRG3_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG3) External trigger is not enabled. */ -#define PWM_ETRG3_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG3) External PWM Reset Mode */ -#define PWM_ETRG3_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG3) External PWM Start Mode */ -#define PWM_ETRG3_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG3) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG3_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG3) Edge Selection */ -#define PWM_ETRG3_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG3) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG3_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG3) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG3_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG3) Filtered input */ -#define PWM_ETRG3_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG3) Trigger Source */ -#define PWM_ETRG3_RFEN (0x1u << 31) /**< \brief (PWM_ETRG3) Recoverable Fault Enable */ -/* -------- PWM_LEBR3 : (PWM Offset: 0x470) PWM Leading-Edge Blanking Register (trg_num = 3) -------- */ -#define PWM_LEBR3_LEBDELAY_Pos 0 -#define PWM_LEBR3_LEBDELAY_Msk (0x7fu << PWM_LEBR3_LEBDELAY_Pos) /**< \brief (PWM_LEBR3) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR3_LEBDELAY(value) ((PWM_LEBR3_LEBDELAY_Msk & ((value) << PWM_LEBR3_LEBDELAY_Pos))) -#define PWM_LEBR3_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR3) PWML Falling Edge Enable */ -#define PWM_LEBR3_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR3) PWML Rising Edge Enable */ -#define PWM_LEBR3_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR3) PWMH Falling Edge Enable */ -#define PWM_LEBR3_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR3) PWMH Rising Edge Enable */ -/* -------- PWM_ETRG4 : (PWM Offset: 0x48C) PWM External Trigger Register (trg_num = 4) -------- */ -#define PWM_ETRG4_MAXCNT_Pos 0 -#define PWM_ETRG4_MAXCNT_Msk (0xffffffu << PWM_ETRG4_MAXCNT_Pos) /**< \brief (PWM_ETRG4) Maximum Counter value */ -#define PWM_ETRG4_MAXCNT(value) ((PWM_ETRG4_MAXCNT_Msk & ((value) << PWM_ETRG4_MAXCNT_Pos))) -#define PWM_ETRG4_TRGMODE_Pos 24 -#define PWM_ETRG4_TRGMODE_Msk (0x3u << PWM_ETRG4_TRGMODE_Pos) /**< \brief (PWM_ETRG4) External Trigger Mode */ -#define PWM_ETRG4_TRGMODE(value) ((PWM_ETRG4_TRGMODE_Msk & ((value) << PWM_ETRG4_TRGMODE_Pos))) -#define PWM_ETRG4_TRGMODE_OFF (0x0u << 24) /**< \brief (PWM_ETRG4) External trigger is not enabled. */ -#define PWM_ETRG4_TRGMODE_MODE1 (0x1u << 24) /**< \brief (PWM_ETRG4) External PWM Reset Mode */ -#define PWM_ETRG4_TRGMODE_MODE2 (0x2u << 24) /**< \brief (PWM_ETRG4) External PWM Start Mode */ -#define PWM_ETRG4_TRGMODE_MODE3 (0x3u << 24) /**< \brief (PWM_ETRG4) Cycle-by-cycle Duty Mode */ -#define PWM_ETRG4_TRGEDGE (0x1u << 28) /**< \brief (PWM_ETRG4) Edge Selection */ -#define PWM_ETRG4_TRGEDGE_FALLING_ZERO (0x0u << 28) /**< \brief (PWM_ETRG4) TRGMODE = 1: TRGINx event detection on falling edge.TRGMODE = 2, 3: TRGINx active level is 0 */ -#define PWM_ETRG4_TRGEDGE_RISING_ONE (0x1u << 28) /**< \brief (PWM_ETRG4) TRGMODE = 1: TRGINx event detection on rising edge.TRGMODE = 2, 3: TRGINx active level is 1 */ -#define PWM_ETRG4_TRGFILT (0x1u << 29) /**< \brief (PWM_ETRG4) Filtered input */ -#define PWM_ETRG4_TRGSRC (0x1u << 30) /**< \brief (PWM_ETRG4) Trigger Source */ -#define PWM_ETRG4_RFEN (0x1u << 31) /**< \brief (PWM_ETRG4) Recoverable Fault Enable */ -/* -------- PWM_LEBR4 : (PWM Offset: 0x490) PWM Leading-Edge Blanking Register (trg_num = 4) -------- */ -#define PWM_LEBR4_LEBDELAY_Pos 0 -#define PWM_LEBR4_LEBDELAY_Msk (0x7fu << PWM_LEBR4_LEBDELAY_Pos) /**< \brief (PWM_LEBR4) Leading-Edge Blanking Delay for TRGINx */ -#define PWM_LEBR4_LEBDELAY(value) ((PWM_LEBR4_LEBDELAY_Msk & ((value) << PWM_LEBR4_LEBDELAY_Pos))) -#define PWM_LEBR4_PWMLFEN (0x1u << 16) /**< \brief (PWM_LEBR4) PWML Falling Edge Enable */ -#define PWM_LEBR4_PWMLREN (0x1u << 17) /**< \brief (PWM_LEBR4) PWML Rising Edge Enable */ -#define PWM_LEBR4_PWMHFEN (0x1u << 18) /**< \brief (PWM_LEBR4) PWMH Falling Edge Enable */ -#define PWM_LEBR4_PWMHREN (0x1u << 19) /**< \brief (PWM_LEBR4) PWMH Rising Edge Enable */ - -/*@}*/ - - -#endif /* _SAMS70_PWM_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h deleted file mode 100644 index 6600ba3..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/qspi.h +++ /dev/null @@ -1,238 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_QSPI_COMPONENT_ -#define _SAMS70_QSPI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Quad Serial Peripheral Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_QSPI Quad Serial Peripheral Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Qspi hardware registers */ -typedef struct { - __O uint32_t QSPI_CR; /**< \brief (Qspi Offset: 0x00) Control Register */ - __IO uint32_t QSPI_MR; /**< \brief (Qspi Offset: 0x04) Mode Register */ - __I uint32_t QSPI_RDR; /**< \brief (Qspi Offset: 0x08) Receive Data Register */ - __O uint32_t QSPI_TDR; /**< \brief (Qspi Offset: 0x0C) Transmit Data Register */ - __I uint32_t QSPI_SR; /**< \brief (Qspi Offset: 0x10) Status Register */ - __O uint32_t QSPI_IER; /**< \brief (Qspi Offset: 0x14) Interrupt Enable Register */ - __O uint32_t QSPI_IDR; /**< \brief (Qspi Offset: 0x18) Interrupt Disable Register */ - __I uint32_t QSPI_IMR; /**< \brief (Qspi Offset: 0x1C) Interrupt Mask Register */ - __IO uint32_t QSPI_SCR; /**< \brief (Qspi Offset: 0x20) Serial Clock Register */ - __I uint32_t Reserved1[3]; - __IO uint32_t QSPI_IAR; /**< \brief (Qspi Offset: 0x30) Instruction Address Register */ - __IO uint32_t QSPI_ICR; /**< \brief (Qspi Offset: 0x34) Instruction Code Register */ - __IO uint32_t QSPI_IFR; /**< \brief (Qspi Offset: 0x38) Instruction Frame Register */ - __I uint32_t Reserved2[1]; - __IO uint32_t QSPI_SMR; /**< \brief (Qspi Offset: 0x40) Scrambling Mode Register */ - __O uint32_t QSPI_SKR; /**< \brief (Qspi Offset: 0x44) Scrambling Key Register */ - __I uint32_t Reserved3[39]; - __IO uint32_t QSPI_WPMR; /**< \brief (Qspi Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t QSPI_WPSR; /**< \brief (Qspi Offset: 0xE8) Write Protection Status Register */ -} Qspi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- QSPI_CR : (QSPI Offset: 0x00) Control Register -------- */ -#define QSPI_CR_QSPIEN (0x1u << 0) /**< \brief (QSPI_CR) QSPI Enable */ -#define QSPI_CR_QSPIDIS (0x1u << 1) /**< \brief (QSPI_CR) QSPI Disable */ -#define QSPI_CR_SWRST (0x1u << 7) /**< \brief (QSPI_CR) QSPI Software Reset */ -#define QSPI_CR_LASTXFER (0x1u << 24) /**< \brief (QSPI_CR) Last Transfer */ -/* -------- QSPI_MR : (QSPI Offset: 0x04) Mode Register -------- */ -#define QSPI_MR_SMM (0x1u << 0) /**< \brief (QSPI_MR) Serial Memory Mode */ -#define QSPI_MR_SMM_SPI (0x0u << 0) /**< \brief (QSPI_MR) The QSPI is in SPI mode. */ -#define QSPI_MR_SMM_MEMORY (0x1u << 0) /**< \brief (QSPI_MR) The QSPI is in Serial Memory mode. */ -#define QSPI_MR_LLB (0x1u << 1) /**< \brief (QSPI_MR) Local Loopback Enable */ -#define QSPI_MR_LLB_DISABLED (0x0u << 1) /**< \brief (QSPI_MR) Local loopback path disabled. */ -#define QSPI_MR_LLB_ENABLED (0x1u << 1) /**< \brief (QSPI_MR) Local loopback path enabled. */ -#define QSPI_MR_WDRBT (0x1u << 2) /**< \brief (QSPI_MR) Wait Data Read Before Transfer */ -#define QSPI_MR_WDRBT_DISABLED (0x0u << 2) /**< \brief (QSPI_MR) No effect. In SPI mode, a transfer can be initiated whatever the state of the QSPI_RDR is. */ -#define QSPI_MR_WDRBT_ENABLED (0x1u << 2) /**< \brief (QSPI_MR) In SPI mode, a transfer can start only if the QSPI_RDR is empty, i.e., does not contain any unread data. This mode prevents overrun error in reception. */ -#define QSPI_MR_CSMODE_Pos 4 -#define QSPI_MR_CSMODE_Msk (0x3u << QSPI_MR_CSMODE_Pos) /**< \brief (QSPI_MR) Chip Select Mode */ -#define QSPI_MR_CSMODE(value) ((QSPI_MR_CSMODE_Msk & ((value) << QSPI_MR_CSMODE_Pos))) -#define QSPI_MR_CSMODE_NOT_RELOADED (0x0u << 4) /**< \brief (QSPI_MR) The chip select is deasserted if TD has not been reloaded before the end of the current transfer. */ -#define QSPI_MR_CSMODE_LASTXFER (0x1u << 4) /**< \brief (QSPI_MR) The chip select is deasserted when the bit LASTXFER is written at 1 and the character written in TD has been transferred. */ -#define QSPI_MR_CSMODE_SYSTEMATICALLY (0x2u << 4) /**< \brief (QSPI_MR) The chip select is deasserted systematically after each transfer. */ -#define QSPI_MR_NBBITS_Pos 8 -#define QSPI_MR_NBBITS_Msk (0xfu << QSPI_MR_NBBITS_Pos) /**< \brief (QSPI_MR) Number Of Bits Per Transfer */ -#define QSPI_MR_NBBITS(value) ((QSPI_MR_NBBITS_Msk & ((value) << QSPI_MR_NBBITS_Pos))) -#define QSPI_MR_NBBITS_8_BIT (0x0u << 8) /**< \brief (QSPI_MR) 8 bits for transfer */ -#define QSPI_MR_NBBITS_9_BIT (0x1u << 8) /**< \brief (QSPI_MR) 9 bits for transfer */ -#define QSPI_MR_NBBITS_10_BIT (0x2u << 8) /**< \brief (QSPI_MR) 10 bits for transfer */ -#define QSPI_MR_NBBITS_11_BIT (0x3u << 8) /**< \brief (QSPI_MR) 11 bits for transfer */ -#define QSPI_MR_NBBITS_12_BIT (0x4u << 8) /**< \brief (QSPI_MR) 12 bits for transfer */ -#define QSPI_MR_NBBITS_13_BIT (0x5u << 8) /**< \brief (QSPI_MR) 13 bits for transfer */ -#define QSPI_MR_NBBITS_14_BIT (0x6u << 8) /**< \brief (QSPI_MR) 14 bits for transfer */ -#define QSPI_MR_NBBITS_15_BIT (0x7u << 8) /**< \brief (QSPI_MR) 15 bits for transfer */ -#define QSPI_MR_NBBITS_16_BIT (0x8u << 8) /**< \brief (QSPI_MR) 16 bits for transfer */ -#define QSPI_MR_DLYBCT_Pos 16 -#define QSPI_MR_DLYBCT_Msk (0xffu << QSPI_MR_DLYBCT_Pos) /**< \brief (QSPI_MR) Delay Between Consecutive Transfers */ -#define QSPI_MR_DLYBCT(value) ((QSPI_MR_DLYBCT_Msk & ((value) << QSPI_MR_DLYBCT_Pos))) -#define QSPI_MR_DLYCS_Pos 24 -#define QSPI_MR_DLYCS_Msk (0xffu << QSPI_MR_DLYCS_Pos) /**< \brief (QSPI_MR) Minimum Inactive QCS Delay */ -#define QSPI_MR_DLYCS(value) ((QSPI_MR_DLYCS_Msk & ((value) << QSPI_MR_DLYCS_Pos))) -/* -------- QSPI_RDR : (QSPI Offset: 0x08) Receive Data Register -------- */ -#define QSPI_RDR_RD_Pos 0 -#define QSPI_RDR_RD_Msk (0xffffu << QSPI_RDR_RD_Pos) /**< \brief (QSPI_RDR) Receive Data */ -/* -------- QSPI_TDR : (QSPI Offset: 0x0C) Transmit Data Register -------- */ -#define QSPI_TDR_TD_Pos 0 -#define QSPI_TDR_TD_Msk (0xffffu << QSPI_TDR_TD_Pos) /**< \brief (QSPI_TDR) Transmit Data */ -#define QSPI_TDR_TD(value) ((QSPI_TDR_TD_Msk & ((value) << QSPI_TDR_TD_Pos))) -/* -------- QSPI_SR : (QSPI Offset: 0x10) Status Register -------- */ -#define QSPI_SR_RDRF (0x1u << 0) /**< \brief (QSPI_SR) Receive Data Register Full */ -#define QSPI_SR_TDRE (0x1u << 1) /**< \brief (QSPI_SR) Transmit Data Register Empty */ -#define QSPI_SR_TXEMPTY (0x1u << 2) /**< \brief (QSPI_SR) Transmission Registers Empty */ -#define QSPI_SR_OVRES (0x1u << 3) /**< \brief (QSPI_SR) Overrun Error Status */ -#define QSPI_SR_CSR (0x1u << 8) /**< \brief (QSPI_SR) Chip Select Rise */ -#define QSPI_SR_CSS (0x1u << 9) /**< \brief (QSPI_SR) Chip Select Status */ -#define QSPI_SR_INSTRE (0x1u << 10) /**< \brief (QSPI_SR) Instruction End Status */ -#define QSPI_SR_QSPIENS (0x1u << 24) /**< \brief (QSPI_SR) QSPI Enable Status */ -/* -------- QSPI_IER : (QSPI Offset: 0x14) Interrupt Enable Register -------- */ -#define QSPI_IER_RDRF (0x1u << 0) /**< \brief (QSPI_IER) Receive Data Register Full Interrupt Enable */ -#define QSPI_IER_TDRE (0x1u << 1) /**< \brief (QSPI_IER) Transmit Data Register Empty Interrupt Enable */ -#define QSPI_IER_TXEMPTY (0x1u << 2) /**< \brief (QSPI_IER) Transmission Registers Empty Enable */ -#define QSPI_IER_OVRES (0x1u << 3) /**< \brief (QSPI_IER) Overrun Error Interrupt Enable */ -#define QSPI_IER_CSR (0x1u << 8) /**< \brief (QSPI_IER) Chip Select Rise Interrupt Enable */ -#define QSPI_IER_CSS (0x1u << 9) /**< \brief (QSPI_IER) Chip Select Status Interrupt Enable */ -#define QSPI_IER_INSTRE (0x1u << 10) /**< \brief (QSPI_IER) Instruction End Interrupt Enable */ -/* -------- QSPI_IDR : (QSPI Offset: 0x18) Interrupt Disable Register -------- */ -#define QSPI_IDR_RDRF (0x1u << 0) /**< \brief (QSPI_IDR) Receive Data Register Full Interrupt Disable */ -#define QSPI_IDR_TDRE (0x1u << 1) /**< \brief (QSPI_IDR) Transmit Data Register Empty Interrupt Disable */ -#define QSPI_IDR_TXEMPTY (0x1u << 2) /**< \brief (QSPI_IDR) Transmission Registers Empty Disable */ -#define QSPI_IDR_OVRES (0x1u << 3) /**< \brief (QSPI_IDR) Overrun Error Interrupt Disable */ -#define QSPI_IDR_CSR (0x1u << 8) /**< \brief (QSPI_IDR) Chip Select Rise Interrupt Disable */ -#define QSPI_IDR_CSS (0x1u << 9) /**< \brief (QSPI_IDR) Chip Select Status Interrupt Disable */ -#define QSPI_IDR_INSTRE (0x1u << 10) /**< \brief (QSPI_IDR) Instruction End Interrupt Disable */ -/* -------- QSPI_IMR : (QSPI Offset: 0x1C) Interrupt Mask Register -------- */ -#define QSPI_IMR_RDRF (0x1u << 0) /**< \brief (QSPI_IMR) Receive Data Register Full Interrupt Mask */ -#define QSPI_IMR_TDRE (0x1u << 1) /**< \brief (QSPI_IMR) Transmit Data Register Empty Interrupt Mask */ -#define QSPI_IMR_TXEMPTY (0x1u << 2) /**< \brief (QSPI_IMR) Transmission Registers Empty Mask */ -#define QSPI_IMR_OVRES (0x1u << 3) /**< \brief (QSPI_IMR) Overrun Error Interrupt Mask */ -#define QSPI_IMR_CSR (0x1u << 8) /**< \brief (QSPI_IMR) Chip Select Rise Interrupt Mask */ -#define QSPI_IMR_CSS (0x1u << 9) /**< \brief (QSPI_IMR) Chip Select Status Interrupt Mask */ -#define QSPI_IMR_INSTRE (0x1u << 10) /**< \brief (QSPI_IMR) Instruction End Interrupt Mask */ -/* -------- QSPI_SCR : (QSPI Offset: 0x20) Serial Clock Register -------- */ -#define QSPI_SCR_CPOL (0x1u << 0) /**< \brief (QSPI_SCR) Clock Polarity */ -#define QSPI_SCR_CPHA (0x1u << 1) /**< \brief (QSPI_SCR) Clock Phase */ -#define QSPI_SCR_SCBR_Pos 8 -#define QSPI_SCR_SCBR_Msk (0xffu << QSPI_SCR_SCBR_Pos) /**< \brief (QSPI_SCR) Serial Clock Baud Rate */ -#define QSPI_SCR_SCBR(value) ((QSPI_SCR_SCBR_Msk & ((value) << QSPI_SCR_SCBR_Pos))) -#define QSPI_SCR_DLYBS_Pos 16 -#define QSPI_SCR_DLYBS_Msk (0xffu << QSPI_SCR_DLYBS_Pos) /**< \brief (QSPI_SCR) Delay Before QSCK */ -#define QSPI_SCR_DLYBS(value) ((QSPI_SCR_DLYBS_Msk & ((value) << QSPI_SCR_DLYBS_Pos))) -/* -------- QSPI_IAR : (QSPI Offset: 0x30) Instruction Address Register -------- */ -#define QSPI_IAR_ADDR_Pos 0 -#define QSPI_IAR_ADDR_Msk (0xffffffffu << QSPI_IAR_ADDR_Pos) /**< \brief (QSPI_IAR) Address */ -#define QSPI_IAR_ADDR(value) ((QSPI_IAR_ADDR_Msk & ((value) << QSPI_IAR_ADDR_Pos))) -/* -------- QSPI_ICR : (QSPI Offset: 0x34) Instruction Code Register -------- */ -#define QSPI_ICR_INST_Pos 0 -#define QSPI_ICR_INST_Msk (0xffu << QSPI_ICR_INST_Pos) /**< \brief (QSPI_ICR) Instruction Code */ -#define QSPI_ICR_INST(value) ((QSPI_ICR_INST_Msk & ((value) << QSPI_ICR_INST_Pos))) -#define QSPI_ICR_OPT_Pos 16 -#define QSPI_ICR_OPT_Msk (0xffu << QSPI_ICR_OPT_Pos) /**< \brief (QSPI_ICR) Option Code */ -#define QSPI_ICR_OPT(value) ((QSPI_ICR_OPT_Msk & ((value) << QSPI_ICR_OPT_Pos))) -/* -------- QSPI_IFR : (QSPI Offset: 0x38) Instruction Frame Register -------- */ -#define QSPI_IFR_WIDTH_Pos 0 -#define QSPI_IFR_WIDTH_Msk (0x7u << QSPI_IFR_WIDTH_Pos) /**< \brief (QSPI_IFR) Width of Instruction Code, Address, Option Code and Data */ -#define QSPI_IFR_WIDTH(value) ((QSPI_IFR_WIDTH_Msk & ((value) << QSPI_IFR_WIDTH_Pos))) -#define QSPI_IFR_WIDTH_SINGLE_BIT_SPI (0x0u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Single-bit SPI */ -#define QSPI_IFR_WIDTH_DUAL_OUTPUT (0x1u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Dual SPI */ -#define QSPI_IFR_WIDTH_QUAD_OUTPUT (0x2u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Quad SPI */ -#define QSPI_IFR_WIDTH_DUAL_IO (0x3u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Dual SPI / Data: Dual SPI */ -#define QSPI_IFR_WIDTH_QUAD_IO (0x4u << 0) /**< \brief (QSPI_IFR) Instruction: Single-bit SPI / Address-Option: Quad SPI / Data: Quad SPI */ -#define QSPI_IFR_WIDTH_DUAL_CMD (0x5u << 0) /**< \brief (QSPI_IFR) Instruction: Dual SPI / Address-Option: Dual SPI / Data: Dual SPI */ -#define QSPI_IFR_WIDTH_QUAD_CMD (0x6u << 0) /**< \brief (QSPI_IFR) Instruction: Quad SPI / Address-Option: Quad SPI / Data: Quad SPI */ -#define QSPI_IFR_INSTEN (0x1u << 4) /**< \brief (QSPI_IFR) Instruction Enable */ -#define QSPI_IFR_ADDREN (0x1u << 5) /**< \brief (QSPI_IFR) Address Enable */ -#define QSPI_IFR_OPTEN (0x1u << 6) /**< \brief (QSPI_IFR) Option Enable */ -#define QSPI_IFR_DATAEN (0x1u << 7) /**< \brief (QSPI_IFR) Data Enable */ -#define QSPI_IFR_OPTL_Pos 8 -#define QSPI_IFR_OPTL_Msk (0x3u << QSPI_IFR_OPTL_Pos) /**< \brief (QSPI_IFR) Option Code Length */ -#define QSPI_IFR_OPTL(value) ((QSPI_IFR_OPTL_Msk & ((value) << QSPI_IFR_OPTL_Pos))) -#define QSPI_IFR_OPTL_OPTION_1BIT (0x0u << 8) /**< \brief (QSPI_IFR) The option code is 1 bit long. */ -#define QSPI_IFR_OPTL_OPTION_2BIT (0x1u << 8) /**< \brief (QSPI_IFR) The option code is 2 bits long. */ -#define QSPI_IFR_OPTL_OPTION_4BIT (0x2u << 8) /**< \brief (QSPI_IFR) The option code is 4 bits long. */ -#define QSPI_IFR_OPTL_OPTION_8BIT (0x3u << 8) /**< \brief (QSPI_IFR) The option code is 8 bits long. */ -#define QSPI_IFR_ADDRL (0x1u << 10) /**< \brief (QSPI_IFR) Address Length */ -#define QSPI_IFR_ADDRL_24_BIT (0x0u << 10) /**< \brief (QSPI_IFR) The address is 24 bits long. */ -#define QSPI_IFR_ADDRL_32_BIT (0x1u << 10) /**< \brief (QSPI_IFR) The address is 32 bits long. */ -#define QSPI_IFR_TFRTYP_Pos 12 -#define QSPI_IFR_TFRTYP_Msk (0x3u << QSPI_IFR_TFRTYP_Pos) /**< \brief (QSPI_IFR) Data Transfer Type */ -#define QSPI_IFR_TFRTYP(value) ((QSPI_IFR_TFRTYP_Msk & ((value) << QSPI_IFR_TFRTYP_Pos))) -#define QSPI_IFR_TFRTYP_TRSFR_READ (0x0u << 12) /**< \brief (QSPI_IFR) Read transfer from the serial memory.Scrambling is not performed.Read at random location (fetch) in the serial Flash memory is not possible. */ -#define QSPI_IFR_TFRTYP_TRSFR_READ_MEMORY (0x1u << 12) /**< \brief (QSPI_IFR) Read data transfer from the serial memory.If enabled, scrambling is performed.Read at random location (fetch) in the serial Flash memory is possible. */ -#define QSPI_IFR_TFRTYP_TRSFR_WRITE (0x2u << 12) /**< \brief (QSPI_IFR) Write transfer into the serial memory.Scrambling is not performed. */ -#define QSPI_IFR_TFRTYP_TRSFR_WRITE_MEMORY (0x3u << 12) /**< \brief (QSPI_IFR) Write data transfer into the serial memory.If enabled, scrambling is performed. */ -#define QSPI_IFR_CRM (0x1u << 14) /**< \brief (QSPI_IFR) Continuous Read Mode */ -#define QSPI_IFR_CRM_DISABLED (0x0u << 14) /**< \brief (QSPI_IFR) The Continuous Read mode is disabled. */ -#define QSPI_IFR_CRM_ENABLED (0x1u << 14) /**< \brief (QSPI_IFR) The Continuous Read mode is enabled. */ -#define QSPI_IFR_NBDUM_Pos 16 -#define QSPI_IFR_NBDUM_Msk (0x1fu << QSPI_IFR_NBDUM_Pos) /**< \brief (QSPI_IFR) Number Of Dummy Cycles */ -#define QSPI_IFR_NBDUM(value) ((QSPI_IFR_NBDUM_Msk & ((value) << QSPI_IFR_NBDUM_Pos))) -/* -------- QSPI_SMR : (QSPI Offset: 0x40) Scrambling Mode Register -------- */ -#define QSPI_SMR_SCREN (0x1u << 0) /**< \brief (QSPI_SMR) Scrambling/Unscrambling Enable */ -#define QSPI_SMR_SCREN_DISABLED (0x0u << 0) /**< \brief (QSPI_SMR) The scrambling/unscrambling is disabled. */ -#define QSPI_SMR_SCREN_ENABLED (0x1u << 0) /**< \brief (QSPI_SMR) The scrambling/unscrambling is enabled. */ -#define QSPI_SMR_RVDIS (0x1u << 1) /**< \brief (QSPI_SMR) Scrambling/Unscrambling Random Value Disable */ -/* -------- QSPI_SKR : (QSPI Offset: 0x44) Scrambling Key Register -------- */ -#define QSPI_SKR_USRK_Pos 0 -#define QSPI_SKR_USRK_Msk (0xffffffffu << QSPI_SKR_USRK_Pos) /**< \brief (QSPI_SKR) Scrambling User Key */ -#define QSPI_SKR_USRK(value) ((QSPI_SKR_USRK_Msk & ((value) << QSPI_SKR_USRK_Pos))) -/* -------- QSPI_WPMR : (QSPI Offset: 0xE4) Write Protection Mode Register -------- */ -#define QSPI_WPMR_WPEN (0x1u << 0) /**< \brief (QSPI_WPMR) Write Protection Enable */ -#define QSPI_WPMR_WPKEY_Pos 8 -#define QSPI_WPMR_WPKEY_Msk (0xffffffu << QSPI_WPMR_WPKEY_Pos) /**< \brief (QSPI_WPMR) Write Protection Key */ -#define QSPI_WPMR_WPKEY(value) ((QSPI_WPMR_WPKEY_Msk & ((value) << QSPI_WPMR_WPKEY_Pos))) -#define QSPI_WPMR_WPKEY_PASSWD (0x515350u << 8) /**< \brief (QSPI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- QSPI_WPSR : (QSPI Offset: 0xE8) Write Protection Status Register -------- */ -#define QSPI_WPSR_WPVS (0x1u << 0) /**< \brief (QSPI_WPSR) Write Protection Violation Status */ -#define QSPI_WPSR_WPVSRC_Pos 8 -#define QSPI_WPSR_WPVSRC_Msk (0xffu << QSPI_WPSR_WPVSRC_Pos) /**< \brief (QSPI_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_QSPI_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h deleted file mode 100644 index 592f50d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rstc.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSTC_COMPONENT_ -#define _SAMS70_RSTC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Reset Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RSTC Reset Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rstc hardware registers */ -typedef struct { - __O uint32_t RSTC_CR; /**< \brief (Rstc Offset: 0x00) Control Register */ - __I uint32_t RSTC_SR; /**< \brief (Rstc Offset: 0x04) Status Register */ - __IO uint32_t RSTC_MR; /**< \brief (Rstc Offset: 0x08) Mode Register */ -} Rstc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RSTC_CR : (RSTC Offset: 0x00) Control Register -------- */ -#define RSTC_CR_PROCRST (0x1u << 0) /**< \brief (RSTC_CR) Processor Reset */ -#define RSTC_CR_EXTRST (0x1u << 3) /**< \brief (RSTC_CR) External Reset */ -#define RSTC_CR_KEY_Pos 24 -#define RSTC_CR_KEY_Msk (0xffu << RSTC_CR_KEY_Pos) /**< \brief (RSTC_CR) System Reset Key */ -#define RSTC_CR_KEY(value) ((RSTC_CR_KEY_Msk & ((value) << RSTC_CR_KEY_Pos))) -#define RSTC_CR_KEY_PASSWD (0xA5u << 24) /**< \brief (RSTC_CR) Writing any other value in this field aborts the write operation. */ -/* -------- RSTC_SR : (RSTC Offset: 0x04) Status Register -------- */ -#define RSTC_SR_URSTS (0x1u << 0) /**< \brief (RSTC_SR) User Reset Status */ -#define RSTC_SR_RSTTYP_Pos 8 -#define RSTC_SR_RSTTYP_Msk (0x7u << RSTC_SR_RSTTYP_Pos) /**< \brief (RSTC_SR) Reset Type */ -#define RSTC_SR_RSTTYP_GENERAL_RST (0x0u << 8) /**< \brief (RSTC_SR) First power-up reset */ -#define RSTC_SR_RSTTYP_BACKUP_RST (0x1u << 8) /**< \brief (RSTC_SR) Return from Backup Mode */ -#define RSTC_SR_RSTTYP_WDT_RST (0x2u << 8) /**< \brief (RSTC_SR) Watchdog fault occurred */ -#define RSTC_SR_RSTTYP_SOFT_RST (0x3u << 8) /**< \brief (RSTC_SR) Processor reset required by the software */ -#define RSTC_SR_RSTTYP_USER_RST (0x4u << 8) /**< \brief (RSTC_SR) NRST pin detected low */ -#define RSTC_SR_NRSTL (0x1u << 16) /**< \brief (RSTC_SR) NRST Pin Level */ -#define RSTC_SR_SRCMP (0x1u << 17) /**< \brief (RSTC_SR) Software Reset Command in Progress */ -/* -------- RSTC_MR : (RSTC Offset: 0x08) Mode Register -------- */ -#define RSTC_MR_URSTEN (0x1u << 0) /**< \brief (RSTC_MR) User Reset Enable */ -#define RSTC_MR_URSTIEN (0x1u << 4) /**< \brief (RSTC_MR) User Reset Interrupt Enable */ -#define RSTC_MR_ERSTL_Pos 8 -#define RSTC_MR_ERSTL_Msk (0xfu << RSTC_MR_ERSTL_Pos) /**< \brief (RSTC_MR) External Reset Length */ -#define RSTC_MR_ERSTL(value) ((RSTC_MR_ERSTL_Msk & ((value) << RSTC_MR_ERSTL_Pos))) -#define RSTC_MR_KEY_Pos 24 -#define RSTC_MR_KEY_Msk (0xffu << RSTC_MR_KEY_Pos) /**< \brief (RSTC_MR) Write Access Password */ -#define RSTC_MR_KEY(value) ((RSTC_MR_KEY_Msk & ((value) << RSTC_MR_KEY_Pos))) -#define RSTC_MR_KEY_PASSWD (0xA5u << 24) /**< \brief (RSTC_MR) Writing any other value in this field aborts the write operation.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_RSTC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h deleted file mode 100644 index 09694f4..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rswdt.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSWDT_COMPONENT_ -#define _SAMS70_RSWDT_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Reinforced Safety Watchdog Timer */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RSWDT Reinforced Safety Watchdog Timer */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rswdt hardware registers */ -typedef struct { - __O uint32_t RSWDT_CR; /**< \brief (Rswdt Offset: 0x00) Control Register */ - __IO uint32_t RSWDT_MR; /**< \brief (Rswdt Offset: 0x04) Mode Register */ - __I uint32_t RSWDT_SR; /**< \brief (Rswdt Offset: 0x08) Status Register */ -} Rswdt; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RSWDT_CR : (RSWDT Offset: 0x00) Control Register -------- */ -#define RSWDT_CR_WDRSTT (0x1u << 0) /**< \brief (RSWDT_CR) Watchdog Restart */ -#define RSWDT_CR_KEY_Pos 24 -#define RSWDT_CR_KEY_Msk (0xffu << RSWDT_CR_KEY_Pos) /**< \brief (RSWDT_CR) Password */ -#define RSWDT_CR_KEY(value) ((RSWDT_CR_KEY_Msk & ((value) << RSWDT_CR_KEY_Pos))) -#define RSWDT_CR_KEY_PASSWD (0xC4u << 24) /**< \brief (RSWDT_CR) Writing any other value in this field aborts the write operation. */ -/* -------- RSWDT_MR : (RSWDT Offset: 0x04) Mode Register -------- */ -#define RSWDT_MR_WDV_Pos 0 -#define RSWDT_MR_WDV_Msk (0xfffu << RSWDT_MR_WDV_Pos) /**< \brief (RSWDT_MR) Watchdog Counter Value */ -#define RSWDT_MR_WDV(value) ((RSWDT_MR_WDV_Msk & ((value) << RSWDT_MR_WDV_Pos))) -#define RSWDT_MR_WDFIEN (0x1u << 12) /**< \brief (RSWDT_MR) Watchdog Fault Interrupt Enable */ -#define RSWDT_MR_WDRSTEN (0x1u << 13) /**< \brief (RSWDT_MR) Watchdog Reset Enable */ -#define RSWDT_MR_WDRPROC (0x1u << 14) /**< \brief (RSWDT_MR) Watchdog Reset Processor */ -#define RSWDT_MR_WDDIS (0x1u << 15) /**< \brief (RSWDT_MR) Watchdog Disable */ -#define RSWDT_MR_ALLONES_Pos 16 -#define RSWDT_MR_ALLONES_Msk (0xfffu << RSWDT_MR_ALLONES_Pos) /**< \brief (RSWDT_MR) Must Always Be Written with 0xFFF */ -#define RSWDT_MR_ALLONES(value) ((RSWDT_MR_ALLONES_Msk & ((value) << RSWDT_MR_ALLONES_Pos))) -#define RSWDT_MR_WDDBGHLT (0x1u << 28) /**< \brief (RSWDT_MR) Watchdog Debug Halt */ -#define RSWDT_MR_WDIDLEHLT (0x1u << 29) /**< \brief (RSWDT_MR) Watchdog Idle Halt */ -/* -------- RSWDT_SR : (RSWDT Offset: 0x08) Status Register -------- */ -#define RSWDT_SR_WDUNF (0x1u << 0) /**< \brief (RSWDT_SR) Watchdog Underflow */ - -/*@}*/ - - -#endif /* _SAMS70_RSWDT_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h deleted file mode 100644 index 2456bde..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtc.h +++ /dev/null @@ -1,241 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTC_COMPONENT_ -#define _SAMS70_RTC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Real-time Clock */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RTC Real-time Clock */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rtc hardware registers */ -typedef struct { - __IO uint32_t RTC_CR; /**< \brief (Rtc Offset: 0x00) Control Register */ - __IO uint32_t RTC_MR; /**< \brief (Rtc Offset: 0x04) Mode Register */ - __IO uint32_t RTC_TIMR; /**< \brief (Rtc Offset: 0x08) Time Register */ - __IO uint32_t RTC_CALR; /**< \brief (Rtc Offset: 0x0C) Calendar Register */ - __IO uint32_t RTC_TIMALR; /**< \brief (Rtc Offset: 0x10) Time Alarm Register */ - __IO uint32_t RTC_CALALR; /**< \brief (Rtc Offset: 0x14) Calendar Alarm Register */ - __I uint32_t RTC_SR; /**< \brief (Rtc Offset: 0x18) Status Register */ - __O uint32_t RTC_SCCR; /**< \brief (Rtc Offset: 0x1C) Status Clear Command Register */ - __O uint32_t RTC_IER; /**< \brief (Rtc Offset: 0x20) Interrupt Enable Register */ - __O uint32_t RTC_IDR; /**< \brief (Rtc Offset: 0x24) Interrupt Disable Register */ - __I uint32_t RTC_IMR; /**< \brief (Rtc Offset: 0x28) Interrupt Mask Register */ - __I uint32_t RTC_VER; /**< \brief (Rtc Offset: 0x2C) Valid Entry Register */ -} Rtc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RTC_CR : (RTC Offset: 0x00) Control Register -------- */ -#define RTC_CR_UPDTIM (0x1u << 0) /**< \brief (RTC_CR) Update Request Time Register */ -#define RTC_CR_UPDCAL (0x1u << 1) /**< \brief (RTC_CR) Update Request Calendar Register */ -#define RTC_CR_TIMEVSEL_Pos 8 -#define RTC_CR_TIMEVSEL_Msk (0x3u << RTC_CR_TIMEVSEL_Pos) /**< \brief (RTC_CR) Time Event Selection */ -#define RTC_CR_TIMEVSEL(value) ((RTC_CR_TIMEVSEL_Msk & ((value) << RTC_CR_TIMEVSEL_Pos))) -#define RTC_CR_TIMEVSEL_MINUTE (0x0u << 8) /**< \brief (RTC_CR) Minute change */ -#define RTC_CR_TIMEVSEL_HOUR (0x1u << 8) /**< \brief (RTC_CR) Hour change */ -#define RTC_CR_TIMEVSEL_MIDNIGHT (0x2u << 8) /**< \brief (RTC_CR) Every day at midnight */ -#define RTC_CR_TIMEVSEL_NOON (0x3u << 8) /**< \brief (RTC_CR) Every day at noon */ -#define RTC_CR_CALEVSEL_Pos 16 -#define RTC_CR_CALEVSEL_Msk (0x3u << RTC_CR_CALEVSEL_Pos) /**< \brief (RTC_CR) Calendar Event Selection */ -#define RTC_CR_CALEVSEL(value) ((RTC_CR_CALEVSEL_Msk & ((value) << RTC_CR_CALEVSEL_Pos))) -#define RTC_CR_CALEVSEL_WEEK (0x0u << 16) /**< \brief (RTC_CR) Week change (every Monday at time 00:00:00) */ -#define RTC_CR_CALEVSEL_MONTH (0x1u << 16) /**< \brief (RTC_CR) Month change (every 01 of each month at time 00:00:00) */ -#define RTC_CR_CALEVSEL_YEAR (0x2u << 16) /**< \brief (RTC_CR) Year change (every January 1 at time 00:00:00) */ -/* -------- RTC_MR : (RTC Offset: 0x04) Mode Register -------- */ -#define RTC_MR_HRMOD (0x1u << 0) /**< \brief (RTC_MR) 12-/24-hour Mode */ -#define RTC_MR_PERSIAN (0x1u << 1) /**< \brief (RTC_MR) PERSIAN Calendar */ -#define RTC_MR_NEGPPM (0x1u << 4) /**< \brief (RTC_MR) NEGative PPM Correction */ -#define RTC_MR_CORRECTION_Pos 8 -#define RTC_MR_CORRECTION_Msk (0x7fu << RTC_MR_CORRECTION_Pos) /**< \brief (RTC_MR) Slow Clock Correction */ -#define RTC_MR_CORRECTION(value) ((RTC_MR_CORRECTION_Msk & ((value) << RTC_MR_CORRECTION_Pos))) -#define RTC_MR_HIGHPPM (0x1u << 15) /**< \brief (RTC_MR) HIGH PPM Correction */ -#define RTC_MR_OUT0_Pos 16 -#define RTC_MR_OUT0_Msk (0x7u << RTC_MR_OUT0_Pos) /**< \brief (RTC_MR) RTCOUT0 OutputSource Selection */ -#define RTC_MR_OUT0(value) ((RTC_MR_OUT0_Msk & ((value) << RTC_MR_OUT0_Pos))) -#define RTC_MR_OUT0_NO_WAVE (0x0u << 16) /**< \brief (RTC_MR) No waveform, stuck at '0' */ -#define RTC_MR_OUT0_FREQ1HZ (0x1u << 16) /**< \brief (RTC_MR) 1 Hz square wave */ -#define RTC_MR_OUT0_FREQ32HZ (0x2u << 16) /**< \brief (RTC_MR) 32 Hz square wave */ -#define RTC_MR_OUT0_FREQ64HZ (0x3u << 16) /**< \brief (RTC_MR) 64 Hz square wave */ -#define RTC_MR_OUT0_FREQ512HZ (0x4u << 16) /**< \brief (RTC_MR) 512 Hz square wave */ -#define RTC_MR_OUT0_ALARM_TOGGLE (0x5u << 16) /**< \brief (RTC_MR) Output toggles when alarm flag rises */ -#define RTC_MR_OUT0_ALARM_FLAG (0x6u << 16) /**< \brief (RTC_MR) Output is a copy of the alarm flag */ -#define RTC_MR_OUT0_PROG_PULSE (0x7u << 16) /**< \brief (RTC_MR) Duty cycle programmable pulse */ -#define RTC_MR_OUT1_Pos 20 -#define RTC_MR_OUT1_Msk (0x7u << RTC_MR_OUT1_Pos) /**< \brief (RTC_MR) RTCOUT1 Output Source Selection */ -#define RTC_MR_OUT1(value) ((RTC_MR_OUT1_Msk & ((value) << RTC_MR_OUT1_Pos))) -#define RTC_MR_OUT1_NO_WAVE (0x0u << 20) /**< \brief (RTC_MR) No waveform, stuck at '0' */ -#define RTC_MR_OUT1_FREQ1HZ (0x1u << 20) /**< \brief (RTC_MR) 1 Hz square wave */ -#define RTC_MR_OUT1_FREQ32HZ (0x2u << 20) /**< \brief (RTC_MR) 32 Hz square wave */ -#define RTC_MR_OUT1_FREQ64HZ (0x3u << 20) /**< \brief (RTC_MR) 64 Hz square wave */ -#define RTC_MR_OUT1_FREQ512HZ (0x4u << 20) /**< \brief (RTC_MR) 512 Hz square wave */ -#define RTC_MR_OUT1_ALARM_TOGGLE (0x5u << 20) /**< \brief (RTC_MR) Output toggles when alarm flag rises */ -#define RTC_MR_OUT1_ALARM_FLAG (0x6u << 20) /**< \brief (RTC_MR) Output is a copy of the alarm flag */ -#define RTC_MR_OUT1_PROG_PULSE (0x7u << 20) /**< \brief (RTC_MR) Duty cycle programmable pulse */ -#define RTC_MR_THIGH_Pos 24 -#define RTC_MR_THIGH_Msk (0x7u << RTC_MR_THIGH_Pos) /**< \brief (RTC_MR) High Duration of the Output Pulse */ -#define RTC_MR_THIGH(value) ((RTC_MR_THIGH_Msk & ((value) << RTC_MR_THIGH_Pos))) -#define RTC_MR_THIGH_H_31MS (0x0u << 24) /**< \brief (RTC_MR) 31.2 ms */ -#define RTC_MR_THIGH_H_16MS (0x1u << 24) /**< \brief (RTC_MR) 15.6 ms */ -#define RTC_MR_THIGH_H_4MS (0x2u << 24) /**< \brief (RTC_MR) 3.91 ms */ -#define RTC_MR_THIGH_H_976US (0x3u << 24) /**< \brief (RTC_MR) 976 us */ -#define RTC_MR_THIGH_H_488US (0x4u << 24) /**< \brief (RTC_MR) 488 us */ -#define RTC_MR_THIGH_H_122US (0x5u << 24) /**< \brief (RTC_MR) 122 us */ -#define RTC_MR_THIGH_H_30US (0x6u << 24) /**< \brief (RTC_MR) 30.5 us */ -#define RTC_MR_THIGH_H_15US (0x7u << 24) /**< \brief (RTC_MR) 15.2 us */ -#define RTC_MR_TPERIOD_Pos 28 -#define RTC_MR_TPERIOD_Msk (0x3u << RTC_MR_TPERIOD_Pos) /**< \brief (RTC_MR) Period of the Output Pulse */ -#define RTC_MR_TPERIOD(value) ((RTC_MR_TPERIOD_Msk & ((value) << RTC_MR_TPERIOD_Pos))) -#define RTC_MR_TPERIOD_P_1S (0x0u << 28) /**< \brief (RTC_MR) 1 second */ -#define RTC_MR_TPERIOD_P_500MS (0x1u << 28) /**< \brief (RTC_MR) 500 ms */ -#define RTC_MR_TPERIOD_P_250MS (0x2u << 28) /**< \brief (RTC_MR) 250 ms */ -#define RTC_MR_TPERIOD_P_125MS (0x3u << 28) /**< \brief (RTC_MR) 125 ms */ -/* -------- RTC_TIMR : (RTC Offset: 0x08) Time Register -------- */ -#define RTC_TIMR_SEC_Pos 0 -#define RTC_TIMR_SEC_Msk (0x7fu << RTC_TIMR_SEC_Pos) /**< \brief (RTC_TIMR) Current Second */ -#define RTC_TIMR_SEC(value) ((RTC_TIMR_SEC_Msk & ((value) << RTC_TIMR_SEC_Pos))) -#define RTC_TIMR_MIN_Pos 8 -#define RTC_TIMR_MIN_Msk (0x7fu << RTC_TIMR_MIN_Pos) /**< \brief (RTC_TIMR) Current Minute */ -#define RTC_TIMR_MIN(value) ((RTC_TIMR_MIN_Msk & ((value) << RTC_TIMR_MIN_Pos))) -#define RTC_TIMR_HOUR_Pos 16 -#define RTC_TIMR_HOUR_Msk (0x3fu << RTC_TIMR_HOUR_Pos) /**< \brief (RTC_TIMR) Current Hour */ -#define RTC_TIMR_HOUR(value) ((RTC_TIMR_HOUR_Msk & ((value) << RTC_TIMR_HOUR_Pos))) -#define RTC_TIMR_AMPM (0x1u << 22) /**< \brief (RTC_TIMR) Ante Meridiem Post Meridiem Indicator */ -/* -------- RTC_CALR : (RTC Offset: 0x0C) Calendar Register -------- */ -#define RTC_CALR_CENT_Pos 0 -#define RTC_CALR_CENT_Msk (0x7fu << RTC_CALR_CENT_Pos) /**< \brief (RTC_CALR) Current Century */ -#define RTC_CALR_CENT(value) ((RTC_CALR_CENT_Msk & ((value) << RTC_CALR_CENT_Pos))) -#define RTC_CALR_YEAR_Pos 8 -#define RTC_CALR_YEAR_Msk (0xffu << RTC_CALR_YEAR_Pos) /**< \brief (RTC_CALR) Current Year */ -#define RTC_CALR_YEAR(value) ((RTC_CALR_YEAR_Msk & ((value) << RTC_CALR_YEAR_Pos))) -#define RTC_CALR_MONTH_Pos 16 -#define RTC_CALR_MONTH_Msk (0x1fu << RTC_CALR_MONTH_Pos) /**< \brief (RTC_CALR) Current Month */ -#define RTC_CALR_MONTH(value) ((RTC_CALR_MONTH_Msk & ((value) << RTC_CALR_MONTH_Pos))) -#define RTC_CALR_DAY_Pos 21 -#define RTC_CALR_DAY_Msk (0x7u << RTC_CALR_DAY_Pos) /**< \brief (RTC_CALR) Current Day in Current Week */ -#define RTC_CALR_DAY(value) ((RTC_CALR_DAY_Msk & ((value) << RTC_CALR_DAY_Pos))) -#define RTC_CALR_DATE_Pos 24 -#define RTC_CALR_DATE_Msk (0x3fu << RTC_CALR_DATE_Pos) /**< \brief (RTC_CALR) Current Day in Current Month */ -#define RTC_CALR_DATE(value) ((RTC_CALR_DATE_Msk & ((value) << RTC_CALR_DATE_Pos))) -/* -------- RTC_TIMALR : (RTC Offset: 0x10) Time Alarm Register -------- */ -#define RTC_TIMALR_SEC_Pos 0 -#define RTC_TIMALR_SEC_Msk (0x7fu << RTC_TIMALR_SEC_Pos) /**< \brief (RTC_TIMALR) Second Alarm */ -#define RTC_TIMALR_SEC(value) ((RTC_TIMALR_SEC_Msk & ((value) << RTC_TIMALR_SEC_Pos))) -#define RTC_TIMALR_SECEN (0x1u << 7) /**< \brief (RTC_TIMALR) Second Alarm Enable */ -#define RTC_TIMALR_MIN_Pos 8 -#define RTC_TIMALR_MIN_Msk (0x7fu << RTC_TIMALR_MIN_Pos) /**< \brief (RTC_TIMALR) Minute Alarm */ -#define RTC_TIMALR_MIN(value) ((RTC_TIMALR_MIN_Msk & ((value) << RTC_TIMALR_MIN_Pos))) -#define RTC_TIMALR_MINEN (0x1u << 15) /**< \brief (RTC_TIMALR) Minute Alarm Enable */ -#define RTC_TIMALR_HOUR_Pos 16 -#define RTC_TIMALR_HOUR_Msk (0x3fu << RTC_TIMALR_HOUR_Pos) /**< \brief (RTC_TIMALR) Hour Alarm */ -#define RTC_TIMALR_HOUR(value) ((RTC_TIMALR_HOUR_Msk & ((value) << RTC_TIMALR_HOUR_Pos))) -#define RTC_TIMALR_AMPM (0x1u << 22) /**< \brief (RTC_TIMALR) AM/PM Indicator */ -#define RTC_TIMALR_HOUREN (0x1u << 23) /**< \brief (RTC_TIMALR) Hour Alarm Enable */ -/* -------- RTC_CALALR : (RTC Offset: 0x14) Calendar Alarm Register -------- */ -#define RTC_CALALR_MONTH_Pos 16 -#define RTC_CALALR_MONTH_Msk (0x1fu << RTC_CALALR_MONTH_Pos) /**< \brief (RTC_CALALR) Month Alarm */ -#define RTC_CALALR_MONTH(value) ((RTC_CALALR_MONTH_Msk & ((value) << RTC_CALALR_MONTH_Pos))) -#define RTC_CALALR_MTHEN (0x1u << 23) /**< \brief (RTC_CALALR) Month Alarm Enable */ -#define RTC_CALALR_DATE_Pos 24 -#define RTC_CALALR_DATE_Msk (0x3fu << RTC_CALALR_DATE_Pos) /**< \brief (RTC_CALALR) Date Alarm */ -#define RTC_CALALR_DATE(value) ((RTC_CALALR_DATE_Msk & ((value) << RTC_CALALR_DATE_Pos))) -#define RTC_CALALR_DATEEN (0x1u << 31) /**< \brief (RTC_CALALR) Date Alarm Enable */ -/* -------- RTC_SR : (RTC Offset: 0x18) Status Register -------- */ -#define RTC_SR_ACKUPD (0x1u << 0) /**< \brief (RTC_SR) Acknowledge for Update */ -#define RTC_SR_ACKUPD_FREERUN (0x0u << 0) /**< \brief (RTC_SR) Time and calendar registers cannot be updated. */ -#define RTC_SR_ACKUPD_UPDATE (0x1u << 0) /**< \brief (RTC_SR) Time and calendar registers can be updated. */ -#define RTC_SR_ALARM (0x1u << 1) /**< \brief (RTC_SR) Alarm Flag */ -#define RTC_SR_ALARM_NO_ALARMEVENT (0x0u << 1) /**< \brief (RTC_SR) No alarm matching condition occurred. */ -#define RTC_SR_ALARM_ALARMEVENT (0x1u << 1) /**< \brief (RTC_SR) An alarm matching condition has occurred. */ -#define RTC_SR_SEC (0x1u << 2) /**< \brief (RTC_SR) Second Event */ -#define RTC_SR_SEC_NO_SECEVENT (0x0u << 2) /**< \brief (RTC_SR) No second event has occurred since the last clear. */ -#define RTC_SR_SEC_SECEVENT (0x1u << 2) /**< \brief (RTC_SR) At least one second event has occurred since the last clear. */ -#define RTC_SR_TIMEV (0x1u << 3) /**< \brief (RTC_SR) Time Event */ -#define RTC_SR_TIMEV_NO_TIMEVENT (0x0u << 3) /**< \brief (RTC_SR) No time event has occurred since the last clear. */ -#define RTC_SR_TIMEV_TIMEVENT (0x1u << 3) /**< \brief (RTC_SR) At least one time event has occurred since the last clear. */ -#define RTC_SR_CALEV (0x1u << 4) /**< \brief (RTC_SR) Calendar Event */ -#define RTC_SR_CALEV_NO_CALEVENT (0x0u << 4) /**< \brief (RTC_SR) No calendar event has occurred since the last clear. */ -#define RTC_SR_CALEV_CALEVENT (0x1u << 4) /**< \brief (RTC_SR) At least one calendar event has occurred since the last clear. */ -#define RTC_SR_TDERR (0x1u << 5) /**< \brief (RTC_SR) Time and/or Date Free Running Error */ -#define RTC_SR_TDERR_CORRECT (0x0u << 5) /**< \brief (RTC_SR) The internal free running counters are carrying valid values since the last read of the Status Register (RTC_SR). */ -#define RTC_SR_TDERR_ERR_TIMEDATE (0x1u << 5) /**< \brief (RTC_SR) The internal free running counters have been corrupted (invalid date or time, non-BCD values) since the last read and/or they are still invalid. */ -/* -------- RTC_SCCR : (RTC Offset: 0x1C) Status Clear Command Register -------- */ -#define RTC_SCCR_ACKCLR (0x1u << 0) /**< \brief (RTC_SCCR) Acknowledge Clear */ -#define RTC_SCCR_ALRCLR (0x1u << 1) /**< \brief (RTC_SCCR) Alarm Clear */ -#define RTC_SCCR_SECCLR (0x1u << 2) /**< \brief (RTC_SCCR) Second Clear */ -#define RTC_SCCR_TIMCLR (0x1u << 3) /**< \brief (RTC_SCCR) Time Clear */ -#define RTC_SCCR_CALCLR (0x1u << 4) /**< \brief (RTC_SCCR) Calendar Clear */ -#define RTC_SCCR_TDERRCLR (0x1u << 5) /**< \brief (RTC_SCCR) Time and/or Date Free Running Error Clear */ -/* -------- RTC_IER : (RTC Offset: 0x20) Interrupt Enable Register -------- */ -#define RTC_IER_ACKEN (0x1u << 0) /**< \brief (RTC_IER) Acknowledge Update Interrupt Enable */ -#define RTC_IER_ALREN (0x1u << 1) /**< \brief (RTC_IER) Alarm Interrupt Enable */ -#define RTC_IER_SECEN (0x1u << 2) /**< \brief (RTC_IER) Second Event Interrupt Enable */ -#define RTC_IER_TIMEN (0x1u << 3) /**< \brief (RTC_IER) Time Event Interrupt Enable */ -#define RTC_IER_CALEN (0x1u << 4) /**< \brief (RTC_IER) Calendar Event Interrupt Enable */ -#define RTC_IER_TDERREN (0x1u << 5) /**< \brief (RTC_IER) Time and/or Date Error Interrupt Enable */ -/* -------- RTC_IDR : (RTC Offset: 0x24) Interrupt Disable Register -------- */ -#define RTC_IDR_ACKDIS (0x1u << 0) /**< \brief (RTC_IDR) Acknowledge Update Interrupt Disable */ -#define RTC_IDR_ALRDIS (0x1u << 1) /**< \brief (RTC_IDR) Alarm Interrupt Disable */ -#define RTC_IDR_SECDIS (0x1u << 2) /**< \brief (RTC_IDR) Second Event Interrupt Disable */ -#define RTC_IDR_TIMDIS (0x1u << 3) /**< \brief (RTC_IDR) Time Event Interrupt Disable */ -#define RTC_IDR_CALDIS (0x1u << 4) /**< \brief (RTC_IDR) Calendar Event Interrupt Disable */ -#define RTC_IDR_TDERRDIS (0x1u << 5) /**< \brief (RTC_IDR) Time and/or Date Error Interrupt Disable */ -/* -------- RTC_IMR : (RTC Offset: 0x28) Interrupt Mask Register -------- */ -#define RTC_IMR_ACK (0x1u << 0) /**< \brief (RTC_IMR) Acknowledge Update Interrupt Mask */ -#define RTC_IMR_ALR (0x1u << 1) /**< \brief (RTC_IMR) Alarm Interrupt Mask */ -#define RTC_IMR_SEC (0x1u << 2) /**< \brief (RTC_IMR) Second Event Interrupt Mask */ -#define RTC_IMR_TIM (0x1u << 3) /**< \brief (RTC_IMR) Time Event Interrupt Mask */ -#define RTC_IMR_CAL (0x1u << 4) /**< \brief (RTC_IMR) Calendar Event Interrupt Mask */ -#define RTC_IMR_TDERR (0x1u << 5) /**< \brief (RTC_IMR) Time and/or Date Error Mask */ -/* -------- RTC_VER : (RTC Offset: 0x2C) Valid Entry Register -------- */ -#define RTC_VER_NVTIM (0x1u << 0) /**< \brief (RTC_VER) Non-valid Time */ -#define RTC_VER_NVCAL (0x1u << 1) /**< \brief (RTC_VER) Non-valid Calendar */ -#define RTC_VER_NVTIMALR (0x1u << 2) /**< \brief (RTC_VER) Non-valid Time Alarm */ -#define RTC_VER_NVCALALR (0x1u << 3) /**< \brief (RTC_VER) Non-valid Calendar Alarm */ - -/*@}*/ - - -#endif /* _SAMS70_RTC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h deleted file mode 100644 index d9c76c5..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/rtt.h +++ /dev/null @@ -1,86 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTT_COMPONENT_ -#define _SAMS70_RTT_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Real-time Timer */ -/* ============================================================================= */ -/** \addtogroup SAMS70_RTT Real-time Timer */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Rtt hardware registers */ -typedef struct { - __IO uint32_t RTT_MR; /**< \brief (Rtt Offset: 0x00) Mode Register */ - __IO uint32_t RTT_AR; /**< \brief (Rtt Offset: 0x04) Alarm Register */ - __I uint32_t RTT_VR; /**< \brief (Rtt Offset: 0x08) Value Register */ - __I uint32_t RTT_SR; /**< \brief (Rtt Offset: 0x0C) Status Register */ -} Rtt; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- RTT_MR : (RTT Offset: 0x00) Mode Register -------- */ -#define RTT_MR_RTPRES_Pos 0 -#define RTT_MR_RTPRES_Msk (0xffffu << RTT_MR_RTPRES_Pos) /**< \brief (RTT_MR) Real-time Timer Prescaler Value */ -#define RTT_MR_RTPRES(value) ((RTT_MR_RTPRES_Msk & ((value) << RTT_MR_RTPRES_Pos))) -#define RTT_MR_ALMIEN (0x1u << 16) /**< \brief (RTT_MR) Alarm Interrupt Enable */ -#define RTT_MR_RTTINCIEN (0x1u << 17) /**< \brief (RTT_MR) Real-time Timer Increment Interrupt Enable */ -#define RTT_MR_RTTRST (0x1u << 18) /**< \brief (RTT_MR) Real-time Timer Restart */ -#define RTT_MR_RTTDIS (0x1u << 20) /**< \brief (RTT_MR) Real-time Timer Disable */ -#define RTT_MR_RTC1HZ (0x1u << 24) /**< \brief (RTT_MR) Real-Time Clock 1Hz Clock Selection */ -/* -------- RTT_AR : (RTT Offset: 0x04) Alarm Register -------- */ -#define RTT_AR_ALMV_Pos 0 -#define RTT_AR_ALMV_Msk (0xffffffffu << RTT_AR_ALMV_Pos) /**< \brief (RTT_AR) Alarm Value */ -#define RTT_AR_ALMV(value) ((RTT_AR_ALMV_Msk & ((value) << RTT_AR_ALMV_Pos))) -/* -------- RTT_VR : (RTT Offset: 0x08) Value Register -------- */ -#define RTT_VR_CRTV_Pos 0 -#define RTT_VR_CRTV_Msk (0xffffffffu << RTT_VR_CRTV_Pos) /**< \brief (RTT_VR) Current Real-time Value */ -/* -------- RTT_SR : (RTT Offset: 0x0C) Status Register -------- */ -#define RTT_SR_ALMS (0x1u << 0) /**< \brief (RTT_SR) Real-time Alarm Status (cleared on read) */ -#define RTT_SR_RTTINC (0x1u << 1) /**< \brief (RTT_SR) Prescaler Roll-over Status (cleared on read) */ - -/*@}*/ - - -#endif /* _SAMS70_RTT_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h deleted file mode 100644 index 126e9ca..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/sdramc.h +++ /dev/null @@ -1,188 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SDRAMC_COMPONENT_ -#define _SAMS70_SDRAMC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR SDRAM Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SDRAMC SDRAM Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Sdramc hardware registers */ -typedef struct { - __IO uint32_t SDRAMC_MR; /**< \brief (Sdramc Offset: 0x00) SDRAMC Mode Register */ - __IO uint32_t SDRAMC_TR; /**< \brief (Sdramc Offset: 0x04) SDRAMC Refresh Timer Register */ - __IO uint32_t SDRAMC_CR; /**< \brief (Sdramc Offset: 0x08) SDRAMC Configuration Register */ - __I uint32_t Reserved1[1]; - __IO uint32_t SDRAMC_LPR; /**< \brief (Sdramc Offset: 0x10) SDRAMC Low Power Register */ - __O uint32_t SDRAMC_IER; /**< \brief (Sdramc Offset: 0x14) SDRAMC Interrupt Enable Register */ - __O uint32_t SDRAMC_IDR; /**< \brief (Sdramc Offset: 0x18) SDRAMC Interrupt Disable Register */ - __I uint32_t SDRAMC_IMR; /**< \brief (Sdramc Offset: 0x1C) SDRAMC Interrupt Mask Register */ - __I uint32_t SDRAMC_ISR; /**< \brief (Sdramc Offset: 0x20) SDRAMC Interrupt Status Register */ - __IO uint32_t SDRAMC_MDR; /**< \brief (Sdramc Offset: 0x24) SDRAMC Memory Device Register */ - __IO uint32_t SDRAMC_CFR1; /**< \brief (Sdramc Offset: 0x28) SDRAMC Configuration Register 1 */ - __IO uint32_t SDRAMC_OCMS; /**< \brief (Sdramc Offset: 0x2C) SDRAMC OCMS Register */ - __O uint32_t SDRAMC_OCMS_KEY1; /**< \brief (Sdramc Offset: 0x30) SDRAMC OCMS KEY1 Register */ - __O uint32_t SDRAMC_OCMS_KEY2; /**< \brief (Sdramc Offset: 0x34) SDRAMC OCMS KEY2 Register */ -} Sdramc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SDRAMC_MR : (SDRAMC Offset: 0x00) SDRAMC Mode Register -------- */ -#define SDRAMC_MR_MODE_Pos 0 -#define SDRAMC_MR_MODE_Msk (0x7u << SDRAMC_MR_MODE_Pos) /**< \brief (SDRAMC_MR) SDRAMC Command Mode */ -#define SDRAMC_MR_MODE(value) ((SDRAMC_MR_MODE_Msk & ((value) << SDRAMC_MR_MODE_Pos))) -#define SDRAMC_MR_MODE_NORMAL (0x0u << 0) /**< \brief (SDRAMC_MR) Normal mode. Any access to the SDRAM is decoded normally. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_NOP (0x1u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues a NOP command when the SDRAM device is accessed regardless of the cycle. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_ALLBANKS_PRECHARGE (0x2u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues an "All Banks Precharge" command when the SDRAM device is accessed regardless of the cycle. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_LOAD_MODEREG (0x3u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues a "Load Mode Register" command when the SDRAM device is accessed regardless of the cycle. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_AUTO_REFRESH (0x4u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues an "Auto-Refresh" Command when the SDRAM device is accessed regardless of the cycle. Previously, an "All Banks Precharge" command must be issued. To activate this mode, command must be followed by a write to the SDRAM. */ -#define SDRAMC_MR_MODE_EXT_LOAD_MODEREG (0x5u << 0) /**< \brief (SDRAMC_MR) The SDRAMC issues an "Extended Load Mode Register" command when the SDRAM device is accessed regardless of the cycle. To activate this mode, the "Extended Load Mode Register" command must be followed by a write to the SDRAM. The write in the SDRAM must be done in the appropriate bank; most low-power SDRAM devices use the bank 1. */ -#define SDRAMC_MR_MODE_DEEP_POWERDOWN (0x6u << 0) /**< \brief (SDRAMC_MR) Deep power-down mode. Enters deep power-down mode. */ -/* -------- SDRAMC_TR : (SDRAMC Offset: 0x04) SDRAMC Refresh Timer Register -------- */ -#define SDRAMC_TR_COUNT_Pos 0 -#define SDRAMC_TR_COUNT_Msk (0xfffu << SDRAMC_TR_COUNT_Pos) /**< \brief (SDRAMC_TR) SDRAMC Refresh Timer Count */ -#define SDRAMC_TR_COUNT(value) ((SDRAMC_TR_COUNT_Msk & ((value) << SDRAMC_TR_COUNT_Pos))) -/* -------- SDRAMC_CR : (SDRAMC Offset: 0x08) SDRAMC Configuration Register -------- */ -#define SDRAMC_CR_NC_Pos 0 -#define SDRAMC_CR_NC_Msk (0x3u << SDRAMC_CR_NC_Pos) /**< \brief (SDRAMC_CR) Number of Column Bits */ -#define SDRAMC_CR_NC(value) ((SDRAMC_CR_NC_Msk & ((value) << SDRAMC_CR_NC_Pos))) -#define SDRAMC_CR_NC_COL8 (0x0u << 0) /**< \brief (SDRAMC_CR) 8 column bits */ -#define SDRAMC_CR_NC_COL9 (0x1u << 0) /**< \brief (SDRAMC_CR) 9 column bits */ -#define SDRAMC_CR_NC_COL10 (0x2u << 0) /**< \brief (SDRAMC_CR) 10 column bits */ -#define SDRAMC_CR_NC_COL11 (0x3u << 0) /**< \brief (SDRAMC_CR) 11 column bits */ -#define SDRAMC_CR_NR_Pos 2 -#define SDRAMC_CR_NR_Msk (0x3u << SDRAMC_CR_NR_Pos) /**< \brief (SDRAMC_CR) Number of Row Bits */ -#define SDRAMC_CR_NR(value) ((SDRAMC_CR_NR_Msk & ((value) << SDRAMC_CR_NR_Pos))) -#define SDRAMC_CR_NR_ROW11 (0x0u << 2) /**< \brief (SDRAMC_CR) 11 row bits */ -#define SDRAMC_CR_NR_ROW12 (0x1u << 2) /**< \brief (SDRAMC_CR) 12 row bits */ -#define SDRAMC_CR_NR_ROW13 (0x2u << 2) /**< \brief (SDRAMC_CR) 13 row bits */ -#define SDRAMC_CR_NB (0x1u << 4) /**< \brief (SDRAMC_CR) Number of Banks */ -#define SDRAMC_CR_NB_BANK2 (0x0u << 4) /**< \brief (SDRAMC_CR) 2 banks */ -#define SDRAMC_CR_NB_BANK4 (0x1u << 4) /**< \brief (SDRAMC_CR) 4 banks */ -#define SDRAMC_CR_CAS_Pos 5 -#define SDRAMC_CR_CAS_Msk (0x3u << SDRAMC_CR_CAS_Pos) /**< \brief (SDRAMC_CR) CAS Latency */ -#define SDRAMC_CR_CAS(value) ((SDRAMC_CR_CAS_Msk & ((value) << SDRAMC_CR_CAS_Pos))) -#define SDRAMC_CR_CAS_LATENCY1 (0x0u << 5) /**< \brief (SDRAMC_CR) 1 cycle CAS latency */ -#define SDRAMC_CR_CAS_LATENCY2 (0x1u << 5) /**< \brief (SDRAMC_CR) 2 cycle CAS latency */ -#define SDRAMC_CR_CAS_LATENCY3 (0x2u << 5) /**< \brief (SDRAMC_CR) 3 cycle CAS latency */ -#define SDRAMC_CR_DBW (0x1u << 7) /**< \brief (SDRAMC_CR) Data Bus Width */ -#define SDRAMC_CR_TWR_Pos 8 -#define SDRAMC_CR_TWR_Msk (0xfu << SDRAMC_CR_TWR_Pos) /**< \brief (SDRAMC_CR) Write Recovery Delay */ -#define SDRAMC_CR_TWR(value) ((SDRAMC_CR_TWR_Msk & ((value) << SDRAMC_CR_TWR_Pos))) -#define SDRAMC_CR_TRC_TRFC_Pos 12 -#define SDRAMC_CR_TRC_TRFC_Msk (0xfu << SDRAMC_CR_TRC_TRFC_Pos) /**< \brief (SDRAMC_CR) Row Cycle Delay and Row Refresh Cycle */ -#define SDRAMC_CR_TRC_TRFC(value) ((SDRAMC_CR_TRC_TRFC_Msk & ((value) << SDRAMC_CR_TRC_TRFC_Pos))) -#define SDRAMC_CR_TRP_Pos 16 -#define SDRAMC_CR_TRP_Msk (0xfu << SDRAMC_CR_TRP_Pos) /**< \brief (SDRAMC_CR) Row Precharge Delay */ -#define SDRAMC_CR_TRP(value) ((SDRAMC_CR_TRP_Msk & ((value) << SDRAMC_CR_TRP_Pos))) -#define SDRAMC_CR_TRCD_Pos 20 -#define SDRAMC_CR_TRCD_Msk (0xfu << SDRAMC_CR_TRCD_Pos) /**< \brief (SDRAMC_CR) Row to Column Delay */ -#define SDRAMC_CR_TRCD(value) ((SDRAMC_CR_TRCD_Msk & ((value) << SDRAMC_CR_TRCD_Pos))) -#define SDRAMC_CR_TRAS_Pos 24 -#define SDRAMC_CR_TRAS_Msk (0xfu << SDRAMC_CR_TRAS_Pos) /**< \brief (SDRAMC_CR) Active to Precharge Delay */ -#define SDRAMC_CR_TRAS(value) ((SDRAMC_CR_TRAS_Msk & ((value) << SDRAMC_CR_TRAS_Pos))) -#define SDRAMC_CR_TXSR_Pos 28 -#define SDRAMC_CR_TXSR_Msk (0xfu << SDRAMC_CR_TXSR_Pos) /**< \brief (SDRAMC_CR) Exit Self Refresh to Active Delay */ -#define SDRAMC_CR_TXSR(value) ((SDRAMC_CR_TXSR_Msk & ((value) << SDRAMC_CR_TXSR_Pos))) -/* -------- SDRAMC_LPR : (SDRAMC Offset: 0x10) SDRAMC Low Power Register -------- */ -#define SDRAMC_LPR_LPCB_Pos 0 -#define SDRAMC_LPR_LPCB_Msk (0x3u << SDRAMC_LPR_LPCB_Pos) /**< \brief (SDRAMC_LPR) Low-power Configuration Bits */ -#define SDRAMC_LPR_LPCB(value) ((SDRAMC_LPR_LPCB_Msk & ((value) << SDRAMC_LPR_LPCB_Pos))) -#define SDRAMC_LPR_LPCB_DISABLED (0x0u << 0) /**< \brief (SDRAMC_LPR) Low Power Feature is inhibited: no Power-down, Self-refresh or Deep Power-down command is issued to the SDRAM device. */ -#define SDRAMC_LPR_LPCB_SELF_REFRESH (0x1u << 0) /**< \brief (SDRAMC_LPR) The SDRAMC issues a Self-refresh command to the SDRAM device, the SDCK clock is deactivated and the SDCKE signal is set low. The SDRAM device leaves the Self Refresh Mode when accessed and enters it after the access. */ -#define SDRAMC_LPR_LPCB_POWER_DOWN (0x2u << 0) /**< \brief (SDRAMC_LPR) The SDRAMC issues a Power-down Command to the SDRAM device after each access, the SDCKE signal is set to low. The SDRAM device leaves the Power-down Mode when accessed and enters it after the access. */ -#define SDRAMC_LPR_LPCB_DEEP_POWER_DOWN (0x3u << 0) /**< \brief (SDRAMC_LPR) The SDRAMC issues a Deep Power-down command to the SDRAM device. This mode is unique to low-power SDRAM. */ -#define SDRAMC_LPR_PASR_Pos 4 -#define SDRAMC_LPR_PASR_Msk (0x7u << SDRAMC_LPR_PASR_Pos) /**< \brief (SDRAMC_LPR) Partial Array Self-refresh (only for low-power SDRAM) */ -#define SDRAMC_LPR_PASR(value) ((SDRAMC_LPR_PASR_Msk & ((value) << SDRAMC_LPR_PASR_Pos))) -#define SDRAMC_LPR_TCSR_Pos 8 -#define SDRAMC_LPR_TCSR_Msk (0x3u << SDRAMC_LPR_TCSR_Pos) /**< \brief (SDRAMC_LPR) Temperature Compensated Self-Refresh (only for low-power SDRAM) */ -#define SDRAMC_LPR_TCSR(value) ((SDRAMC_LPR_TCSR_Msk & ((value) << SDRAMC_LPR_TCSR_Pos))) -#define SDRAMC_LPR_DS_Pos 10 -#define SDRAMC_LPR_DS_Msk (0x3u << SDRAMC_LPR_DS_Pos) /**< \brief (SDRAMC_LPR) Drive Strength (only for low-power SDRAM) */ -#define SDRAMC_LPR_DS(value) ((SDRAMC_LPR_DS_Msk & ((value) << SDRAMC_LPR_DS_Pos))) -#define SDRAMC_LPR_TIMEOUT_Pos 12 -#define SDRAMC_LPR_TIMEOUT_Msk (0x3u << SDRAMC_LPR_TIMEOUT_Pos) /**< \brief (SDRAMC_LPR) Time to Define When Low-power Mode Is Enabled */ -#define SDRAMC_LPR_TIMEOUT(value) ((SDRAMC_LPR_TIMEOUT_Msk & ((value) << SDRAMC_LPR_TIMEOUT_Pos))) -#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER (0x0u << 12) /**< \brief (SDRAMC_LPR) The SDRAMC activates the SDRAM low-power mode immediately after the end of the last transfer. */ -#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER_64 (0x1u << 12) /**< \brief (SDRAMC_LPR) The SDRAMC activates the SDRAM low-power mode 64 clock cycles after the end of the last transfer. */ -#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER_128 (0x2u << 12) /**< \brief (SDRAMC_LPR) The SDRAMC activates the SDRAM low-power mode 128 clock cycles after the end of the last transfer. */ -/* -------- SDRAMC_IER : (SDRAMC Offset: 0x14) SDRAMC Interrupt Enable Register -------- */ -#define SDRAMC_IER_RES (0x1u << 0) /**< \brief (SDRAMC_IER) Refresh Error Status */ -/* -------- SDRAMC_IDR : (SDRAMC Offset: 0x18) SDRAMC Interrupt Disable Register -------- */ -#define SDRAMC_IDR_RES (0x1u << 0) /**< \brief (SDRAMC_IDR) Refresh Error Status */ -/* -------- SDRAMC_IMR : (SDRAMC Offset: 0x1C) SDRAMC Interrupt Mask Register -------- */ -#define SDRAMC_IMR_RES (0x1u << 0) /**< \brief (SDRAMC_IMR) Refresh Error Status */ -/* -------- SDRAMC_ISR : (SDRAMC Offset: 0x20) SDRAMC Interrupt Status Register -------- */ -#define SDRAMC_ISR_RES (0x1u << 0) /**< \brief (SDRAMC_ISR) Refresh Error Status (cleared on read) */ -/* -------- SDRAMC_MDR : (SDRAMC Offset: 0x24) SDRAMC Memory Device Register -------- */ -#define SDRAMC_MDR_MD_Pos 0 -#define SDRAMC_MDR_MD_Msk (0x3u << SDRAMC_MDR_MD_Pos) /**< \brief (SDRAMC_MDR) Memory Device Type */ -#define SDRAMC_MDR_MD(value) ((SDRAMC_MDR_MD_Msk & ((value) << SDRAMC_MDR_MD_Pos))) -#define SDRAMC_MDR_MD_SDRAM (0x0u << 0) /**< \brief (SDRAMC_MDR) SDRAM */ -#define SDRAMC_MDR_MD_LPSDRAM (0x1u << 0) /**< \brief (SDRAMC_MDR) Low-power SDRAM */ -/* -------- SDRAMC_CFR1 : (SDRAMC Offset: 0x28) SDRAMC Configuration Register 1 -------- */ -#define SDRAMC_CFR1_TMRD_Pos 0 -#define SDRAMC_CFR1_TMRD_Msk (0xfu << SDRAMC_CFR1_TMRD_Pos) /**< \brief (SDRAMC_CFR1) Load Mode Register Command to Active or Refresh Command */ -#define SDRAMC_CFR1_TMRD(value) ((SDRAMC_CFR1_TMRD_Msk & ((value) << SDRAMC_CFR1_TMRD_Pos))) -#define SDRAMC_CFR1_UNAL (0x1u << 8) /**< \brief (SDRAMC_CFR1) Support Unaligned Access */ -#define SDRAMC_CFR1_UNAL_UNSUPPORTED (0x0u << 8) /**< \brief (SDRAMC_CFR1) Unaligned access is not supported. */ -#define SDRAMC_CFR1_UNAL_SUPPORTED (0x1u << 8) /**< \brief (SDRAMC_CFR1) Unaligned access is supported. */ -/* -------- SDRAMC_OCMS : (SDRAMC Offset: 0x2C) SDRAMC OCMS Register -------- */ -#define SDRAMC_OCMS_SDR_SE (0x1u << 0) /**< \brief (SDRAMC_OCMS) SDRAM Memory Controller Scrambling Enable */ -/* -------- SDRAMC_OCMS_KEY1 : (SDRAMC Offset: 0x30) SDRAMC OCMS KEY1 Register -------- */ -#define SDRAMC_OCMS_KEY1_KEY1_Pos 0 -#define SDRAMC_OCMS_KEY1_KEY1_Msk (0xffffffffu << SDRAMC_OCMS_KEY1_KEY1_Pos) /**< \brief (SDRAMC_OCMS_KEY1) Off-chip Memory Scrambling (OCMS) Key Part 1 */ -#define SDRAMC_OCMS_KEY1_KEY1(value) ((SDRAMC_OCMS_KEY1_KEY1_Msk & ((value) << SDRAMC_OCMS_KEY1_KEY1_Pos))) -/* -------- SDRAMC_OCMS_KEY2 : (SDRAMC Offset: 0x34) SDRAMC OCMS KEY2 Register -------- */ -#define SDRAMC_OCMS_KEY2_KEY2_Pos 0 -#define SDRAMC_OCMS_KEY2_KEY2_Msk (0xffffffffu << SDRAMC_OCMS_KEY2_KEY2_Pos) /**< \brief (SDRAMC_OCMS_KEY2) Off-chip Memory Scrambling (OCMS) Key Part 2 */ -#define SDRAMC_OCMS_KEY2_KEY2(value) ((SDRAMC_OCMS_KEY2_KEY2_Msk & ((value) << SDRAMC_OCMS_KEY2_KEY2_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_SDRAMC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h deleted file mode 100644 index 04954ec..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/smc.h +++ /dev/null @@ -1,159 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SMC_COMPONENT_ -#define _SAMS70_SMC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Static Memory Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SMC Static Memory Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief SmcCs_number hardware registers */ -typedef struct { - __IO uint32_t SMC_SETUP; /**< \brief (SmcCs_number Offset: 0x0) SMC Setup Register */ - __IO uint32_t SMC_PULSE; /**< \brief (SmcCs_number Offset: 0x4) SMC Pulse Register */ - __IO uint32_t SMC_CYCLE; /**< \brief (SmcCs_number Offset: 0x8) SMC Cycle Register */ - __IO uint32_t SMC_MODE; /**< \brief (SmcCs_number Offset: 0xC) SMC MODE Register */ -} SmcCs_number; -/** \brief Smc hardware registers */ -#define SMCCS_NUMBER_NUMBER 4 -typedef struct { - SmcCs_number SMC_CS_NUMBER[SMCCS_NUMBER_NUMBER]; /**< \brief (Smc Offset: 0x0) CS_number = 0 .. 3 */ - __I uint32_t Reserved1[16]; - __IO uint32_t SMC_OCMS; /**< \brief (Smc Offset: 0x80) SMC OCMS MODE Register */ - __O uint32_t SMC_KEY1; /**< \brief (Smc Offset: 0x84) SMC OCMS KEY1 Register */ - __O uint32_t SMC_KEY2; /**< \brief (Smc Offset: 0x88) SMC OCMS KEY2 Register */ - __I uint32_t Reserved2[22]; - __IO uint32_t SMC_WPMR; /**< \brief (Smc Offset: 0xE4) SMC Write Protection Mode Register */ - __I uint32_t SMC_WPSR; /**< \brief (Smc Offset: 0xE8) SMC Write Protection Status Register */ -} Smc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SMC_SETUP : (SMC Offset: N/A) SMC Setup Register -------- */ -#define SMC_SETUP_NWE_SETUP_Pos 0 -#define SMC_SETUP_NWE_SETUP_Msk (0x3fu << SMC_SETUP_NWE_SETUP_Pos) /**< \brief (SMC_SETUP) NWE Setup Length */ -#define SMC_SETUP_NWE_SETUP(value) ((SMC_SETUP_NWE_SETUP_Msk & ((value) << SMC_SETUP_NWE_SETUP_Pos))) -#define SMC_SETUP_NCS_WR_SETUP_Pos 8 -#define SMC_SETUP_NCS_WR_SETUP_Msk (0x3fu << SMC_SETUP_NCS_WR_SETUP_Pos) /**< \brief (SMC_SETUP) NCS Setup Length in WRITE Access */ -#define SMC_SETUP_NCS_WR_SETUP(value) ((SMC_SETUP_NCS_WR_SETUP_Msk & ((value) << SMC_SETUP_NCS_WR_SETUP_Pos))) -#define SMC_SETUP_NRD_SETUP_Pos 16 -#define SMC_SETUP_NRD_SETUP_Msk (0x3fu << SMC_SETUP_NRD_SETUP_Pos) /**< \brief (SMC_SETUP) NRD Setup Length */ -#define SMC_SETUP_NRD_SETUP(value) ((SMC_SETUP_NRD_SETUP_Msk & ((value) << SMC_SETUP_NRD_SETUP_Pos))) -#define SMC_SETUP_NCS_RD_SETUP_Pos 24 -#define SMC_SETUP_NCS_RD_SETUP_Msk (0x3fu << SMC_SETUP_NCS_RD_SETUP_Pos) /**< \brief (SMC_SETUP) NCS Setup Length in READ Access */ -#define SMC_SETUP_NCS_RD_SETUP(value) ((SMC_SETUP_NCS_RD_SETUP_Msk & ((value) << SMC_SETUP_NCS_RD_SETUP_Pos))) -/* -------- SMC_PULSE : (SMC Offset: N/A) SMC Pulse Register -------- */ -#define SMC_PULSE_NWE_PULSE_Pos 0 -#define SMC_PULSE_NWE_PULSE_Msk (0x7fu << SMC_PULSE_NWE_PULSE_Pos) /**< \brief (SMC_PULSE) NWE Pulse Length */ -#define SMC_PULSE_NWE_PULSE(value) ((SMC_PULSE_NWE_PULSE_Msk & ((value) << SMC_PULSE_NWE_PULSE_Pos))) -#define SMC_PULSE_NCS_WR_PULSE_Pos 8 -#define SMC_PULSE_NCS_WR_PULSE_Msk (0x7fu << SMC_PULSE_NCS_WR_PULSE_Pos) /**< \brief (SMC_PULSE) NCS Pulse Length in WRITE Access */ -#define SMC_PULSE_NCS_WR_PULSE(value) ((SMC_PULSE_NCS_WR_PULSE_Msk & ((value) << SMC_PULSE_NCS_WR_PULSE_Pos))) -#define SMC_PULSE_NRD_PULSE_Pos 16 -#define SMC_PULSE_NRD_PULSE_Msk (0x7fu << SMC_PULSE_NRD_PULSE_Pos) /**< \brief (SMC_PULSE) NRD Pulse Length */ -#define SMC_PULSE_NRD_PULSE(value) ((SMC_PULSE_NRD_PULSE_Msk & ((value) << SMC_PULSE_NRD_PULSE_Pos))) -#define SMC_PULSE_NCS_RD_PULSE_Pos 24 -#define SMC_PULSE_NCS_RD_PULSE_Msk (0x7fu << SMC_PULSE_NCS_RD_PULSE_Pos) /**< \brief (SMC_PULSE) NCS Pulse Length in READ Access */ -#define SMC_PULSE_NCS_RD_PULSE(value) ((SMC_PULSE_NCS_RD_PULSE_Msk & ((value) << SMC_PULSE_NCS_RD_PULSE_Pos))) -/* -------- SMC_CYCLE : (SMC Offset: N/A) SMC Cycle Register -------- */ -#define SMC_CYCLE_NWE_CYCLE_Pos 0 -#define SMC_CYCLE_NWE_CYCLE_Msk (0x1ffu << SMC_CYCLE_NWE_CYCLE_Pos) /**< \brief (SMC_CYCLE) Total Write Cycle Length */ -#define SMC_CYCLE_NWE_CYCLE(value) ((SMC_CYCLE_NWE_CYCLE_Msk & ((value) << SMC_CYCLE_NWE_CYCLE_Pos))) -#define SMC_CYCLE_NRD_CYCLE_Pos 16 -#define SMC_CYCLE_NRD_CYCLE_Msk (0x1ffu << SMC_CYCLE_NRD_CYCLE_Pos) /**< \brief (SMC_CYCLE) Total Read Cycle Length */ -#define SMC_CYCLE_NRD_CYCLE(value) ((SMC_CYCLE_NRD_CYCLE_Msk & ((value) << SMC_CYCLE_NRD_CYCLE_Pos))) -/* -------- SMC_MODE : (SMC Offset: N/A) SMC MODE Register -------- */ -#define SMC_MODE_READ_MODE (0x1u << 0) /**< \brief (SMC_MODE) Read Mode */ -#define SMC_MODE_WRITE_MODE (0x1u << 1) /**< \brief (SMC_MODE) Write Mode */ -#define SMC_MODE_EXNW_MODE_Pos 4 -#define SMC_MODE_EXNW_MODE_Msk (0x3u << SMC_MODE_EXNW_MODE_Pos) /**< \brief (SMC_MODE) NWAIT Mode */ -#define SMC_MODE_EXNW_MODE(value) ((SMC_MODE_EXNW_MODE_Msk & ((value) << SMC_MODE_EXNW_MODE_Pos))) -#define SMC_MODE_EXNW_MODE_DISABLED (0x0u << 4) /**< \brief (SMC_MODE) Disabled */ -#define SMC_MODE_EXNW_MODE_FROZEN (0x2u << 4) /**< \brief (SMC_MODE) Frozen Mode */ -#define SMC_MODE_EXNW_MODE_READY (0x3u << 4) /**< \brief (SMC_MODE) Ready Mode */ -#define SMC_MODE_BAT (0x1u << 8) /**< \brief (SMC_MODE) Byte Access Type */ -#define SMC_MODE_BAT_BYTE_SELECT (0x0u << 8) /**< \brief (SMC_MODE) Byte select access type:- Write operation is controlled using NCS, NWE, NBS0, NBS1.- Read operation is controlled using NCS, NRD, NBS0, NBS1. */ -#define SMC_MODE_BAT_BYTE_WRITE (0x1u << 8) /**< \brief (SMC_MODE) Byte write access type:- Write operation is controlled using NCS, NWR0, NWR1.- Read operation is controlled using NCS and NRD. */ -#define SMC_MODE_DBW (0x1u << 12) /**< \brief (SMC_MODE) Data Bus Width */ -#define SMC_MODE_DBW_8_BIT (0x0u << 12) /**< \brief (SMC_MODE) 8-bit Data Bus */ -#define SMC_MODE_DBW_16_BIT (0x1u << 12) /**< \brief (SMC_MODE) 16-bit Data Bus */ -#define SMC_MODE_TDF_CYCLES_Pos 16 -#define SMC_MODE_TDF_CYCLES_Msk (0xfu << SMC_MODE_TDF_CYCLES_Pos) /**< \brief (SMC_MODE) Data Float Time */ -#define SMC_MODE_TDF_CYCLES(value) ((SMC_MODE_TDF_CYCLES_Msk & ((value) << SMC_MODE_TDF_CYCLES_Pos))) -#define SMC_MODE_TDF_MODE (0x1u << 20) /**< \brief (SMC_MODE) TDF Optimization */ -#define SMC_MODE_PMEN (0x1u << 24) /**< \brief (SMC_MODE) Page Mode Enabled */ -#define SMC_MODE_PS_Pos 28 -#define SMC_MODE_PS_Msk (0x3u << SMC_MODE_PS_Pos) /**< \brief (SMC_MODE) Page Size */ -#define SMC_MODE_PS(value) ((SMC_MODE_PS_Msk & ((value) << SMC_MODE_PS_Pos))) -#define SMC_MODE_PS_4_BYTE (0x0u << 28) /**< \brief (SMC_MODE) 4-byte page */ -#define SMC_MODE_PS_8_BYTE (0x1u << 28) /**< \brief (SMC_MODE) 8-byte page */ -#define SMC_MODE_PS_16_BYTE (0x2u << 28) /**< \brief (SMC_MODE) 16-byte page */ -#define SMC_MODE_PS_32_BYTE (0x3u << 28) /**< \brief (SMC_MODE) 32-byte page */ -/* -------- SMC_OCMS : (SMC Offset: 0x80) SMC OCMS MODE Register -------- */ -#define SMC_OCMS_SMSE (0x1u << 0) /**< \brief (SMC_OCMS) Static Memory Controller Scrambling Enable */ -/* -------- SMC_KEY1 : (SMC Offset: 0x84) SMC OCMS KEY1 Register -------- */ -#define SMC_KEY1_KEY1_Pos 0 -#define SMC_KEY1_KEY1_Msk (0xffffffffu << SMC_KEY1_KEY1_Pos) /**< \brief (SMC_KEY1) Off Chip Memory Scrambling (OCMS) Key Part 1 */ -#define SMC_KEY1_KEY1(value) ((SMC_KEY1_KEY1_Msk & ((value) << SMC_KEY1_KEY1_Pos))) -/* -------- SMC_KEY2 : (SMC Offset: 0x88) SMC OCMS KEY2 Register -------- */ -#define SMC_KEY2_KEY2_Pos 0 -#define SMC_KEY2_KEY2_Msk (0xffffffffu << SMC_KEY2_KEY2_Pos) /**< \brief (SMC_KEY2) Off Chip Memory Scrambling (OCMS) Key Part 2 */ -#define SMC_KEY2_KEY2(value) ((SMC_KEY2_KEY2_Msk & ((value) << SMC_KEY2_KEY2_Pos))) -/* -------- SMC_WPMR : (SMC Offset: 0xE4) SMC Write Protection Mode Register -------- */ -#define SMC_WPMR_WPEN (0x1u << 0) /**< \brief (SMC_WPMR) Write Protect Enable */ -#define SMC_WPMR_WPKEY_Pos 8 -#define SMC_WPMR_WPKEY_Msk (0xffffffu << SMC_WPMR_WPKEY_Pos) /**< \brief (SMC_WPMR) Write Protection Key */ -#define SMC_WPMR_WPKEY(value) ((SMC_WPMR_WPKEY_Msk & ((value) << SMC_WPMR_WPKEY_Pos))) -#define SMC_WPMR_WPKEY_PASSWD (0x534D43u << 8) /**< \brief (SMC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- SMC_WPSR : (SMC Offset: 0xE8) SMC Write Protection Status Register -------- */ -#define SMC_WPSR_WPVS (0x1u << 0) /**< \brief (SMC_WPSR) Write Protection Violation Status */ -#define SMC_WPSR_WPVSRC_Pos 8 -#define SMC_WPSR_WPVSRC_Msk (0xffffu << SMC_WPSR_WPVSRC_Pos) /**< \brief (SMC_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_SMC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h deleted file mode 100644 index 0faef2c..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/spi.h +++ /dev/null @@ -1,176 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SPI_COMPONENT_ -#define _SAMS70_SPI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Serial Peripheral Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SPI Serial Peripheral Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Spi hardware registers */ -typedef struct { - __O uint32_t SPI_CR; /**< \brief (Spi Offset: 0x00) Control Register */ - __IO uint32_t SPI_MR; /**< \brief (Spi Offset: 0x04) Mode Register */ - __I uint32_t SPI_RDR; /**< \brief (Spi Offset: 0x08) Receive Data Register */ - __O uint32_t SPI_TDR; /**< \brief (Spi Offset: 0x0C) Transmit Data Register */ - __I uint32_t SPI_SR; /**< \brief (Spi Offset: 0x10) Status Register */ - __O uint32_t SPI_IER; /**< \brief (Spi Offset: 0x14) Interrupt Enable Register */ - __O uint32_t SPI_IDR; /**< \brief (Spi Offset: 0x18) Interrupt Disable Register */ - __I uint32_t SPI_IMR; /**< \brief (Spi Offset: 0x1C) Interrupt Mask Register */ - __I uint32_t Reserved1[4]; - __IO uint32_t SPI_CSR[4]; /**< \brief (Spi Offset: 0x30) Chip Select Register */ - __I uint32_t Reserved2[41]; - __IO uint32_t SPI_WPMR; /**< \brief (Spi Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t SPI_WPSR; /**< \brief (Spi Offset: 0xE8) Write Protection Status Register */ -} Spi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SPI_CR : (SPI Offset: 0x00) Control Register -------- */ -#define SPI_CR_SPIEN (0x1u << 0) /**< \brief (SPI_CR) SPI Enable */ -#define SPI_CR_SPIDIS (0x1u << 1) /**< \brief (SPI_CR) SPI Disable */ -#define SPI_CR_SWRST (0x1u << 7) /**< \brief (SPI_CR) SPI Software Reset */ -#define SPI_CR_LASTXFER (0x1u << 24) /**< \brief (SPI_CR) Last Transfer */ -/* -------- SPI_MR : (SPI Offset: 0x04) Mode Register -------- */ -#define SPI_MR_MSTR (0x1u << 0) /**< \brief (SPI_MR) Master/Slave Mode */ -#define SPI_MR_PS (0x1u << 1) /**< \brief (SPI_MR) Peripheral Select */ -#define SPI_MR_PCSDEC (0x1u << 2) /**< \brief (SPI_MR) Chip Select Decode */ -#define SPI_MR_MODFDIS (0x1u << 4) /**< \brief (SPI_MR) Mode Fault Detection */ -#define SPI_MR_WDRBT (0x1u << 5) /**< \brief (SPI_MR) Wait Data Read Before Transfer */ -#define SPI_MR_LLB (0x1u << 7) /**< \brief (SPI_MR) Local Loopback Enable */ -#define SPI_MR_PCS_Pos 16 -#define SPI_MR_PCS_Msk (0xfu << SPI_MR_PCS_Pos) /**< \brief (SPI_MR) Peripheral Chip Select */ -#define SPI_MR_PCS(value) ((SPI_MR_PCS_Msk & ((value) << SPI_MR_PCS_Pos))) -#define SPI_MR_DLYBCS_Pos 24 -#define SPI_MR_DLYBCS_Msk (0xffu << SPI_MR_DLYBCS_Pos) /**< \brief (SPI_MR) Delay Between Chip Selects */ -#define SPI_MR_DLYBCS(value) ((SPI_MR_DLYBCS_Msk & ((value) << SPI_MR_DLYBCS_Pos))) -/* -------- SPI_RDR : (SPI Offset: 0x08) Receive Data Register -------- */ -#define SPI_RDR_RD_Pos 0 -#define SPI_RDR_RD_Msk (0xffffu << SPI_RDR_RD_Pos) /**< \brief (SPI_RDR) Receive Data */ -#define SPI_RDR_PCS_Pos 16 -#define SPI_RDR_PCS_Msk (0xfu << SPI_RDR_PCS_Pos) /**< \brief (SPI_RDR) Peripheral Chip Select */ -/* -------- SPI_TDR : (SPI Offset: 0x0C) Transmit Data Register -------- */ -#define SPI_TDR_TD_Pos 0 -#define SPI_TDR_TD_Msk (0xffffu << SPI_TDR_TD_Pos) /**< \brief (SPI_TDR) Transmit Data */ -#define SPI_TDR_TD(value) ((SPI_TDR_TD_Msk & ((value) << SPI_TDR_TD_Pos))) -#define SPI_TDR_PCS_Pos 16 -#define SPI_TDR_PCS_Msk (0xfu << SPI_TDR_PCS_Pos) /**< \brief (SPI_TDR) Peripheral Chip Select */ -#define SPI_TDR_PCS(value) ((SPI_TDR_PCS_Msk & ((value) << SPI_TDR_PCS_Pos))) -#define SPI_TDR_LASTXFER (0x1u << 24) /**< \brief (SPI_TDR) Last Transfer */ -/* -------- SPI_SR : (SPI Offset: 0x10) Status Register -------- */ -#define SPI_SR_RDRF (0x1u << 0) /**< \brief (SPI_SR) Receive Data Register Full (cleared by reading SPI_RDR) */ -#define SPI_SR_TDRE (0x1u << 1) /**< \brief (SPI_SR) Transmit Data Register Empty (cleared by writing SPI_TDR) */ -#define SPI_SR_MODF (0x1u << 2) /**< \brief (SPI_SR) Mode Fault Error (cleared on read) */ -#define SPI_SR_OVRES (0x1u << 3) /**< \brief (SPI_SR) Overrun Error Status (cleared on read) */ -#define SPI_SR_NSSR (0x1u << 8) /**< \brief (SPI_SR) NSS Rising (cleared on read) */ -#define SPI_SR_TXEMPTY (0x1u << 9) /**< \brief (SPI_SR) Transmission Registers Empty (cleared by writing SPI_TDR) */ -#define SPI_SR_UNDES (0x1u << 10) /**< \brief (SPI_SR) Underrun Error Status (Slave mode only) (cleared on read) */ -#define SPI_SR_SPIENS (0x1u << 16) /**< \brief (SPI_SR) SPI Enable Status */ -/* -------- SPI_IER : (SPI Offset: 0x14) Interrupt Enable Register -------- */ -#define SPI_IER_RDRF (0x1u << 0) /**< \brief (SPI_IER) Receive Data Register Full Interrupt Enable */ -#define SPI_IER_TDRE (0x1u << 1) /**< \brief (SPI_IER) SPI Transmit Data Register Empty Interrupt Enable */ -#define SPI_IER_MODF (0x1u << 2) /**< \brief (SPI_IER) Mode Fault Error Interrupt Enable */ -#define SPI_IER_OVRES (0x1u << 3) /**< \brief (SPI_IER) Overrun Error Interrupt Enable */ -#define SPI_IER_NSSR (0x1u << 8) /**< \brief (SPI_IER) NSS Rising Interrupt Enable */ -#define SPI_IER_TXEMPTY (0x1u << 9) /**< \brief (SPI_IER) Transmission Registers Empty Enable */ -#define SPI_IER_UNDES (0x1u << 10) /**< \brief (SPI_IER) Underrun Error Interrupt Enable */ -/* -------- SPI_IDR : (SPI Offset: 0x18) Interrupt Disable Register -------- */ -#define SPI_IDR_RDRF (0x1u << 0) /**< \brief (SPI_IDR) Receive Data Register Full Interrupt Disable */ -#define SPI_IDR_TDRE (0x1u << 1) /**< \brief (SPI_IDR) SPI Transmit Data Register Empty Interrupt Disable */ -#define SPI_IDR_MODF (0x1u << 2) /**< \brief (SPI_IDR) Mode Fault Error Interrupt Disable */ -#define SPI_IDR_OVRES (0x1u << 3) /**< \brief (SPI_IDR) Overrun Error Interrupt Disable */ -#define SPI_IDR_NSSR (0x1u << 8) /**< \brief (SPI_IDR) NSS Rising Interrupt Disable */ -#define SPI_IDR_TXEMPTY (0x1u << 9) /**< \brief (SPI_IDR) Transmission Registers Empty Disable */ -#define SPI_IDR_UNDES (0x1u << 10) /**< \brief (SPI_IDR) Underrun Error Interrupt Disable */ -/* -------- SPI_IMR : (SPI Offset: 0x1C) Interrupt Mask Register -------- */ -#define SPI_IMR_RDRF (0x1u << 0) /**< \brief (SPI_IMR) Receive Data Register Full Interrupt Mask */ -#define SPI_IMR_TDRE (0x1u << 1) /**< \brief (SPI_IMR) SPI Transmit Data Register Empty Interrupt Mask */ -#define SPI_IMR_MODF (0x1u << 2) /**< \brief (SPI_IMR) Mode Fault Error Interrupt Mask */ -#define SPI_IMR_OVRES (0x1u << 3) /**< \brief (SPI_IMR) Overrun Error Interrupt Mask */ -#define SPI_IMR_NSSR (0x1u << 8) /**< \brief (SPI_IMR) NSS Rising Interrupt Mask */ -#define SPI_IMR_TXEMPTY (0x1u << 9) /**< \brief (SPI_IMR) Transmission Registers Empty Mask */ -#define SPI_IMR_UNDES (0x1u << 10) /**< \brief (SPI_IMR) Underrun Error Interrupt Mask */ -/* -------- SPI_CSR[4] : (SPI Offset: 0x30) Chip Select Register -------- */ -#define SPI_CSR_CPOL (0x1u << 0) /**< \brief (SPI_CSR[4]) Clock Polarity */ -#define SPI_CSR_NCPHA (0x1u << 1) /**< \brief (SPI_CSR[4]) Clock Phase */ -#define SPI_CSR_CSNAAT (0x1u << 2) /**< \brief (SPI_CSR[4]) Chip Select Not Active After Transfer (Ignored if CSAAT = 1) */ -#define SPI_CSR_CSAAT (0x1u << 3) /**< \brief (SPI_CSR[4]) Chip Select Active After Transfer */ -#define SPI_CSR_BITS_Pos 4 -#define SPI_CSR_BITS_Msk (0xfu << SPI_CSR_BITS_Pos) /**< \brief (SPI_CSR[4]) Bits Per Transfer */ -#define SPI_CSR_BITS(value) ((SPI_CSR_BITS_Msk & ((value) << SPI_CSR_BITS_Pos))) -#define SPI_CSR_BITS_8_BIT (0x0u << 4) /**< \brief (SPI_CSR[4]) 8 bits for transfer */ -#define SPI_CSR_BITS_9_BIT (0x1u << 4) /**< \brief (SPI_CSR[4]) 9 bits for transfer */ -#define SPI_CSR_BITS_10_BIT (0x2u << 4) /**< \brief (SPI_CSR[4]) 10 bits for transfer */ -#define SPI_CSR_BITS_11_BIT (0x3u << 4) /**< \brief (SPI_CSR[4]) 11 bits for transfer */ -#define SPI_CSR_BITS_12_BIT (0x4u << 4) /**< \brief (SPI_CSR[4]) 12 bits for transfer */ -#define SPI_CSR_BITS_13_BIT (0x5u << 4) /**< \brief (SPI_CSR[4]) 13 bits for transfer */ -#define SPI_CSR_BITS_14_BIT (0x6u << 4) /**< \brief (SPI_CSR[4]) 14 bits for transfer */ -#define SPI_CSR_BITS_15_BIT (0x7u << 4) /**< \brief (SPI_CSR[4]) 15 bits for transfer */ -#define SPI_CSR_BITS_16_BIT (0x8u << 4) /**< \brief (SPI_CSR[4]) 16 bits for transfer */ -#define SPI_CSR_SCBR_Pos 8 -#define SPI_CSR_SCBR_Msk (0xffu << SPI_CSR_SCBR_Pos) /**< \brief (SPI_CSR[4]) Serial Clock Bit Rate */ -#define SPI_CSR_SCBR(value) ((SPI_CSR_SCBR_Msk & ((value) << SPI_CSR_SCBR_Pos))) -#define SPI_CSR_DLYBS_Pos 16 -#define SPI_CSR_DLYBS_Msk (0xffu << SPI_CSR_DLYBS_Pos) /**< \brief (SPI_CSR[4]) Delay Before SPCK */ -#define SPI_CSR_DLYBS(value) ((SPI_CSR_DLYBS_Msk & ((value) << SPI_CSR_DLYBS_Pos))) -#define SPI_CSR_DLYBCT_Pos 24 -#define SPI_CSR_DLYBCT_Msk (0xffu << SPI_CSR_DLYBCT_Pos) /**< \brief (SPI_CSR[4]) Delay Between Consecutive Transfers */ -#define SPI_CSR_DLYBCT(value) ((SPI_CSR_DLYBCT_Msk & ((value) << SPI_CSR_DLYBCT_Pos))) -/* -------- SPI_WPMR : (SPI Offset: 0xE4) Write Protection Mode Register -------- */ -#define SPI_WPMR_WPEN (0x1u << 0) /**< \brief (SPI_WPMR) Write Protection Enable */ -#define SPI_WPMR_WPKEY_Pos 8 -#define SPI_WPMR_WPKEY_Msk (0xffffffu << SPI_WPMR_WPKEY_Pos) /**< \brief (SPI_WPMR) Write Protection Key */ -#define SPI_WPMR_WPKEY(value) ((SPI_WPMR_WPKEY_Msk & ((value) << SPI_WPMR_WPKEY_Pos))) -#define SPI_WPMR_WPKEY_PASSWD (0x535049u << 8) /**< \brief (SPI_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- SPI_WPSR : (SPI Offset: 0xE8) Write Protection Status Register -------- */ -#define SPI_WPSR_WPVS (0x1u << 0) /**< \brief (SPI_WPSR) Write Protection Violation Status */ -#define SPI_WPSR_WPVSRC_Pos 8 -#define SPI_WPSR_WPVSRC_Msk (0xffu << SPI_WPSR_WPVSRC_Pos) /**< \brief (SPI_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_SPI_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h deleted file mode 100644 index 904716c..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/ssc.h +++ /dev/null @@ -1,295 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SSC_COMPONENT_ -#define _SAMS70_SSC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Synchronous Serial Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SSC Synchronous Serial Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Ssc hardware registers */ -typedef struct { - __O uint32_t SSC_CR; /**< \brief (Ssc Offset: 0x0) Control Register */ - __IO uint32_t SSC_CMR; /**< \brief (Ssc Offset: 0x4) Clock Mode Register */ - __I uint32_t Reserved1[2]; - __IO uint32_t SSC_RCMR; /**< \brief (Ssc Offset: 0x10) Receive Clock Mode Register */ - __IO uint32_t SSC_RFMR; /**< \brief (Ssc Offset: 0x14) Receive Frame Mode Register */ - __IO uint32_t SSC_TCMR; /**< \brief (Ssc Offset: 0x18) Transmit Clock Mode Register */ - __IO uint32_t SSC_TFMR; /**< \brief (Ssc Offset: 0x1C) Transmit Frame Mode Register */ - __I uint32_t SSC_RHR; /**< \brief (Ssc Offset: 0x20) Receive Holding Register */ - __O uint32_t SSC_THR; /**< \brief (Ssc Offset: 0x24) Transmit Holding Register */ - __I uint32_t Reserved2[2]; - __I uint32_t SSC_RSHR; /**< \brief (Ssc Offset: 0x30) Receive Sync. Holding Register */ - __IO uint32_t SSC_TSHR; /**< \brief (Ssc Offset: 0x34) Transmit Sync. Holding Register */ - __IO uint32_t SSC_RC0R; /**< \brief (Ssc Offset: 0x38) Receive Compare 0 Register */ - __IO uint32_t SSC_RC1R; /**< \brief (Ssc Offset: 0x3C) Receive Compare 1 Register */ - __I uint32_t SSC_SR; /**< \brief (Ssc Offset: 0x40) Status Register */ - __O uint32_t SSC_IER; /**< \brief (Ssc Offset: 0x44) Interrupt Enable Register */ - __O uint32_t SSC_IDR; /**< \brief (Ssc Offset: 0x48) Interrupt Disable Register */ - __I uint32_t SSC_IMR; /**< \brief (Ssc Offset: 0x4C) Interrupt Mask Register */ - __I uint32_t Reserved3[37]; - __IO uint32_t SSC_WPMR; /**< \brief (Ssc Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t SSC_WPSR; /**< \brief (Ssc Offset: 0xE8) Write Protection Status Register */ -} Ssc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SSC_CR : (SSC Offset: 0x0) Control Register -------- */ -#define SSC_CR_RXEN (0x1u << 0) /**< \brief (SSC_CR) Receive Enable */ -#define SSC_CR_RXDIS (0x1u << 1) /**< \brief (SSC_CR) Receive Disable */ -#define SSC_CR_TXEN (0x1u << 8) /**< \brief (SSC_CR) Transmit Enable */ -#define SSC_CR_TXDIS (0x1u << 9) /**< \brief (SSC_CR) Transmit Disable */ -#define SSC_CR_SWRST (0x1u << 15) /**< \brief (SSC_CR) Software Reset */ -/* -------- SSC_CMR : (SSC Offset: 0x4) Clock Mode Register -------- */ -#define SSC_CMR_DIV_Pos 0 -#define SSC_CMR_DIV_Msk (0xfffu << SSC_CMR_DIV_Pos) /**< \brief (SSC_CMR) Clock Divider */ -#define SSC_CMR_DIV(value) ((SSC_CMR_DIV_Msk & ((value) << SSC_CMR_DIV_Pos))) -/* -------- SSC_RCMR : (SSC Offset: 0x10) Receive Clock Mode Register -------- */ -#define SSC_RCMR_CKS_Pos 0 -#define SSC_RCMR_CKS_Msk (0x3u << SSC_RCMR_CKS_Pos) /**< \brief (SSC_RCMR) Receive Clock Selection */ -#define SSC_RCMR_CKS(value) ((SSC_RCMR_CKS_Msk & ((value) << SSC_RCMR_CKS_Pos))) -#define SSC_RCMR_CKS_MCK (0x0u << 0) /**< \brief (SSC_RCMR) Divided Clock */ -#define SSC_RCMR_CKS_TK (0x1u << 0) /**< \brief (SSC_RCMR) TK Clock signal */ -#define SSC_RCMR_CKS_RK (0x2u << 0) /**< \brief (SSC_RCMR) RK pin */ -#define SSC_RCMR_CKO_Pos 2 -#define SSC_RCMR_CKO_Msk (0x7u << SSC_RCMR_CKO_Pos) /**< \brief (SSC_RCMR) Receive Clock Output Mode Selection */ -#define SSC_RCMR_CKO(value) ((SSC_RCMR_CKO_Msk & ((value) << SSC_RCMR_CKO_Pos))) -#define SSC_RCMR_CKO_NONE (0x0u << 2) /**< \brief (SSC_RCMR) None, RK pin is an input */ -#define SSC_RCMR_CKO_CONTINUOUS (0x1u << 2) /**< \brief (SSC_RCMR) Continuous Receive Clock, RK pin is an output */ -#define SSC_RCMR_CKO_TRANSFER (0x2u << 2) /**< \brief (SSC_RCMR) Receive Clock only during data transfers, RK pin is an output */ -#define SSC_RCMR_CKI (0x1u << 5) /**< \brief (SSC_RCMR) Receive Clock Inversion */ -#define SSC_RCMR_CKG_Pos 6 -#define SSC_RCMR_CKG_Msk (0x3u << SSC_RCMR_CKG_Pos) /**< \brief (SSC_RCMR) Receive Clock Gating Selection */ -#define SSC_RCMR_CKG(value) ((SSC_RCMR_CKG_Msk & ((value) << SSC_RCMR_CKG_Pos))) -#define SSC_RCMR_CKG_CONTINUOUS (0x0u << 6) /**< \brief (SSC_RCMR) None */ -#define SSC_RCMR_CKG_EN_RF_LOW (0x1u << 6) /**< \brief (SSC_RCMR) Receive Clock enabled only if RF Low */ -#define SSC_RCMR_CKG_EN_RF_HIGH (0x2u << 6) /**< \brief (SSC_RCMR) Receive Clock enabled only if RF High */ -#define SSC_RCMR_START_Pos 8 -#define SSC_RCMR_START_Msk (0xfu << SSC_RCMR_START_Pos) /**< \brief (SSC_RCMR) Receive Start Selection */ -#define SSC_RCMR_START(value) ((SSC_RCMR_START_Msk & ((value) << SSC_RCMR_START_Pos))) -#define SSC_RCMR_START_CONTINUOUS (0x0u << 8) /**< \brief (SSC_RCMR) Continuous, as soon as the receiver is enabled, and immediately after the end of transfer of the previous data. */ -#define SSC_RCMR_START_TRANSMIT (0x1u << 8) /**< \brief (SSC_RCMR) Transmit start */ -#define SSC_RCMR_START_RF_LOW (0x2u << 8) /**< \brief (SSC_RCMR) Detection of a low level on RF signal */ -#define SSC_RCMR_START_RF_HIGH (0x3u << 8) /**< \brief (SSC_RCMR) Detection of a high level on RF signal */ -#define SSC_RCMR_START_RF_FALLING (0x4u << 8) /**< \brief (SSC_RCMR) Detection of a falling edge on RF signal */ -#define SSC_RCMR_START_RF_RISING (0x5u << 8) /**< \brief (SSC_RCMR) Detection of a rising edge on RF signal */ -#define SSC_RCMR_START_RF_LEVEL (0x6u << 8) /**< \brief (SSC_RCMR) Detection of any level change on RF signal */ -#define SSC_RCMR_START_RF_EDGE (0x7u << 8) /**< \brief (SSC_RCMR) Detection of any edge on RF signal */ -#define SSC_RCMR_START_CMP_0 (0x8u << 8) /**< \brief (SSC_RCMR) Compare 0 */ -#define SSC_RCMR_STOP (0x1u << 12) /**< \brief (SSC_RCMR) Receive Stop Selection */ -#define SSC_RCMR_STTDLY_Pos 16 -#define SSC_RCMR_STTDLY_Msk (0xffu << SSC_RCMR_STTDLY_Pos) /**< \brief (SSC_RCMR) Receive Start Delay */ -#define SSC_RCMR_STTDLY(value) ((SSC_RCMR_STTDLY_Msk & ((value) << SSC_RCMR_STTDLY_Pos))) -#define SSC_RCMR_PERIOD_Pos 24 -#define SSC_RCMR_PERIOD_Msk (0xffu << SSC_RCMR_PERIOD_Pos) /**< \brief (SSC_RCMR) Receive Period Divider Selection */ -#define SSC_RCMR_PERIOD(value) ((SSC_RCMR_PERIOD_Msk & ((value) << SSC_RCMR_PERIOD_Pos))) -/* -------- SSC_RFMR : (SSC Offset: 0x14) Receive Frame Mode Register -------- */ -#define SSC_RFMR_DATLEN_Pos 0 -#define SSC_RFMR_DATLEN_Msk (0x1fu << SSC_RFMR_DATLEN_Pos) /**< \brief (SSC_RFMR) Data Length */ -#define SSC_RFMR_DATLEN(value) ((SSC_RFMR_DATLEN_Msk & ((value) << SSC_RFMR_DATLEN_Pos))) -#define SSC_RFMR_LOOP (0x1u << 5) /**< \brief (SSC_RFMR) Loop Mode */ -#define SSC_RFMR_MSBF (0x1u << 7) /**< \brief (SSC_RFMR) Most Significant Bit First */ -#define SSC_RFMR_DATNB_Pos 8 -#define SSC_RFMR_DATNB_Msk (0xfu << SSC_RFMR_DATNB_Pos) /**< \brief (SSC_RFMR) Data Number per Frame */ -#define SSC_RFMR_DATNB(value) ((SSC_RFMR_DATNB_Msk & ((value) << SSC_RFMR_DATNB_Pos))) -#define SSC_RFMR_FSLEN_Pos 16 -#define SSC_RFMR_FSLEN_Msk (0xfu << SSC_RFMR_FSLEN_Pos) /**< \brief (SSC_RFMR) Receive Frame Sync Length */ -#define SSC_RFMR_FSLEN(value) ((SSC_RFMR_FSLEN_Msk & ((value) << SSC_RFMR_FSLEN_Pos))) -#define SSC_RFMR_FSOS_Pos 20 -#define SSC_RFMR_FSOS_Msk (0x7u << SSC_RFMR_FSOS_Pos) /**< \brief (SSC_RFMR) Receive Frame Sync Output Selection */ -#define SSC_RFMR_FSOS(value) ((SSC_RFMR_FSOS_Msk & ((value) << SSC_RFMR_FSOS_Pos))) -#define SSC_RFMR_FSOS_NONE (0x0u << 20) /**< \brief (SSC_RFMR) None, RF pin is an input */ -#define SSC_RFMR_FSOS_NEGATIVE (0x1u << 20) /**< \brief (SSC_RFMR) Negative Pulse, RF pin is an output */ -#define SSC_RFMR_FSOS_POSITIVE (0x2u << 20) /**< \brief (SSC_RFMR) Positive Pulse, RF pin is an output */ -#define SSC_RFMR_FSOS_LOW (0x3u << 20) /**< \brief (SSC_RFMR) Driven Low during data transfer, RF pin is an output */ -#define SSC_RFMR_FSOS_HIGH (0x4u << 20) /**< \brief (SSC_RFMR) Driven High during data transfer, RF pin is an output */ -#define SSC_RFMR_FSOS_TOGGLING (0x5u << 20) /**< \brief (SSC_RFMR) Toggling at each start of data transfer, RF pin is an output */ -#define SSC_RFMR_FSEDGE (0x1u << 24) /**< \brief (SSC_RFMR) Frame Sync Edge Detection */ -#define SSC_RFMR_FSEDGE_POSITIVE (0x0u << 24) /**< \brief (SSC_RFMR) Positive Edge Detection */ -#define SSC_RFMR_FSEDGE_NEGATIVE (0x1u << 24) /**< \brief (SSC_RFMR) Negative Edge Detection */ -#define SSC_RFMR_FSLEN_EXT_Pos 28 -#define SSC_RFMR_FSLEN_EXT_Msk (0xfu << SSC_RFMR_FSLEN_EXT_Pos) /**< \brief (SSC_RFMR) FSLEN Field Extension */ -#define SSC_RFMR_FSLEN_EXT(value) ((SSC_RFMR_FSLEN_EXT_Msk & ((value) << SSC_RFMR_FSLEN_EXT_Pos))) -/* -------- SSC_TCMR : (SSC Offset: 0x18) Transmit Clock Mode Register -------- */ -#define SSC_TCMR_CKS_Pos 0 -#define SSC_TCMR_CKS_Msk (0x3u << SSC_TCMR_CKS_Pos) /**< \brief (SSC_TCMR) Transmit Clock Selection */ -#define SSC_TCMR_CKS(value) ((SSC_TCMR_CKS_Msk & ((value) << SSC_TCMR_CKS_Pos))) -#define SSC_TCMR_CKS_MCK (0x0u << 0) /**< \brief (SSC_TCMR) Divided Clock */ -#define SSC_TCMR_CKS_RK (0x1u << 0) /**< \brief (SSC_TCMR) RK Clock signal */ -#define SSC_TCMR_CKS_TK (0x2u << 0) /**< \brief (SSC_TCMR) TK pin */ -#define SSC_TCMR_CKO_Pos 2 -#define SSC_TCMR_CKO_Msk (0x7u << SSC_TCMR_CKO_Pos) /**< \brief (SSC_TCMR) Transmit Clock Output Mode Selection */ -#define SSC_TCMR_CKO(value) ((SSC_TCMR_CKO_Msk & ((value) << SSC_TCMR_CKO_Pos))) -#define SSC_TCMR_CKO_NONE (0x0u << 2) /**< \brief (SSC_TCMR) None, TK pin is an input */ -#define SSC_TCMR_CKO_CONTINUOUS (0x1u << 2) /**< \brief (SSC_TCMR) Continuous Transmit Clock, TK pin is an output */ -#define SSC_TCMR_CKO_TRANSFER (0x2u << 2) /**< \brief (SSC_TCMR) Transmit Clock only during data transfers, TK pin is an output */ -#define SSC_TCMR_CKI (0x1u << 5) /**< \brief (SSC_TCMR) Transmit Clock Inversion */ -#define SSC_TCMR_CKG_Pos 6 -#define SSC_TCMR_CKG_Msk (0x3u << SSC_TCMR_CKG_Pos) /**< \brief (SSC_TCMR) Transmit Clock Gating Selection */ -#define SSC_TCMR_CKG(value) ((SSC_TCMR_CKG_Msk & ((value) << SSC_TCMR_CKG_Pos))) -#define SSC_TCMR_CKG_CONTINUOUS (0x0u << 6) /**< \brief (SSC_TCMR) None */ -#define SSC_TCMR_CKG_EN_TF_LOW (0x1u << 6) /**< \brief (SSC_TCMR) Transmit Clock enabled only if TF Low */ -#define SSC_TCMR_CKG_EN_TF_HIGH (0x2u << 6) /**< \brief (SSC_TCMR) Transmit Clock enabled only if TF High */ -#define SSC_TCMR_START_Pos 8 -#define SSC_TCMR_START_Msk (0xfu << SSC_TCMR_START_Pos) /**< \brief (SSC_TCMR) Transmit Start Selection */ -#define SSC_TCMR_START(value) ((SSC_TCMR_START_Msk & ((value) << SSC_TCMR_START_Pos))) -#define SSC_TCMR_START_CONTINUOUS (0x0u << 8) /**< \brief (SSC_TCMR) Continuous, as soon as a word is written in the SSC_THR (if Transmit is enabled), and immediately after the end of transfer of the previous data */ -#define SSC_TCMR_START_RECEIVE (0x1u << 8) /**< \brief (SSC_TCMR) Receive start */ -#define SSC_TCMR_START_TF_LOW (0x2u << 8) /**< \brief (SSC_TCMR) Detection of a low level on TF signal */ -#define SSC_TCMR_START_TF_HIGH (0x3u << 8) /**< \brief (SSC_TCMR) Detection of a high level on TF signal */ -#define SSC_TCMR_START_TF_FALLING (0x4u << 8) /**< \brief (SSC_TCMR) Detection of a falling edge on TF signal */ -#define SSC_TCMR_START_TF_RISING (0x5u << 8) /**< \brief (SSC_TCMR) Detection of a rising edge on TF signal */ -#define SSC_TCMR_START_TF_LEVEL (0x6u << 8) /**< \brief (SSC_TCMR) Detection of any level change on TF signal */ -#define SSC_TCMR_START_TF_EDGE (0x7u << 8) /**< \brief (SSC_TCMR) Detection of any edge on TF signal */ -#define SSC_TCMR_STTDLY_Pos 16 -#define SSC_TCMR_STTDLY_Msk (0xffu << SSC_TCMR_STTDLY_Pos) /**< \brief (SSC_TCMR) Transmit Start Delay */ -#define SSC_TCMR_STTDLY(value) ((SSC_TCMR_STTDLY_Msk & ((value) << SSC_TCMR_STTDLY_Pos))) -#define SSC_TCMR_PERIOD_Pos 24 -#define SSC_TCMR_PERIOD_Msk (0xffu << SSC_TCMR_PERIOD_Pos) /**< \brief (SSC_TCMR) Transmit Period Divider Selection */ -#define SSC_TCMR_PERIOD(value) ((SSC_TCMR_PERIOD_Msk & ((value) << SSC_TCMR_PERIOD_Pos))) -/* -------- SSC_TFMR : (SSC Offset: 0x1C) Transmit Frame Mode Register -------- */ -#define SSC_TFMR_DATLEN_Pos 0 -#define SSC_TFMR_DATLEN_Msk (0x1fu << SSC_TFMR_DATLEN_Pos) /**< \brief (SSC_TFMR) Data Length */ -#define SSC_TFMR_DATLEN(value) ((SSC_TFMR_DATLEN_Msk & ((value) << SSC_TFMR_DATLEN_Pos))) -#define SSC_TFMR_DATDEF (0x1u << 5) /**< \brief (SSC_TFMR) Data Default Value */ -#define SSC_TFMR_MSBF (0x1u << 7) /**< \brief (SSC_TFMR) Most Significant Bit First */ -#define SSC_TFMR_DATNB_Pos 8 -#define SSC_TFMR_DATNB_Msk (0xfu << SSC_TFMR_DATNB_Pos) /**< \brief (SSC_TFMR) Data Number per Frame */ -#define SSC_TFMR_DATNB(value) ((SSC_TFMR_DATNB_Msk & ((value) << SSC_TFMR_DATNB_Pos))) -#define SSC_TFMR_FSLEN_Pos 16 -#define SSC_TFMR_FSLEN_Msk (0xfu << SSC_TFMR_FSLEN_Pos) /**< \brief (SSC_TFMR) Transmit Frame Sync Length */ -#define SSC_TFMR_FSLEN(value) ((SSC_TFMR_FSLEN_Msk & ((value) << SSC_TFMR_FSLEN_Pos))) -#define SSC_TFMR_FSOS_Pos 20 -#define SSC_TFMR_FSOS_Msk (0x7u << SSC_TFMR_FSOS_Pos) /**< \brief (SSC_TFMR) Transmit Frame Sync Output Selection */ -#define SSC_TFMR_FSOS(value) ((SSC_TFMR_FSOS_Msk & ((value) << SSC_TFMR_FSOS_Pos))) -#define SSC_TFMR_FSOS_NONE (0x0u << 20) /**< \brief (SSC_TFMR) None, TF pin is an input */ -#define SSC_TFMR_FSOS_NEGATIVE (0x1u << 20) /**< \brief (SSC_TFMR) Negative Pulse, TF pin is an output */ -#define SSC_TFMR_FSOS_POSITIVE (0x2u << 20) /**< \brief (SSC_TFMR) Positive Pulse, TF pin is an output */ -#define SSC_TFMR_FSOS_LOW (0x3u << 20) /**< \brief (SSC_TFMR) Driven Low during data transfer */ -#define SSC_TFMR_FSOS_HIGH (0x4u << 20) /**< \brief (SSC_TFMR) Driven High during data transfer */ -#define SSC_TFMR_FSOS_TOGGLING (0x5u << 20) /**< \brief (SSC_TFMR) Toggling at each start of data transfer */ -#define SSC_TFMR_FSDEN (0x1u << 23) /**< \brief (SSC_TFMR) Frame Sync Data Enable */ -#define SSC_TFMR_FSEDGE (0x1u << 24) /**< \brief (SSC_TFMR) Frame Sync Edge Detection */ -#define SSC_TFMR_FSEDGE_POSITIVE (0x0u << 24) /**< \brief (SSC_TFMR) Positive Edge Detection */ -#define SSC_TFMR_FSEDGE_NEGATIVE (0x1u << 24) /**< \brief (SSC_TFMR) Negative Edge Detection */ -#define SSC_TFMR_FSLEN_EXT_Pos 28 -#define SSC_TFMR_FSLEN_EXT_Msk (0xfu << SSC_TFMR_FSLEN_EXT_Pos) /**< \brief (SSC_TFMR) FSLEN Field Extension */ -#define SSC_TFMR_FSLEN_EXT(value) ((SSC_TFMR_FSLEN_EXT_Msk & ((value) << SSC_TFMR_FSLEN_EXT_Pos))) -/* -------- SSC_RHR : (SSC Offset: 0x20) Receive Holding Register -------- */ -#define SSC_RHR_RDAT_Pos 0 -#define SSC_RHR_RDAT_Msk (0xffffffffu << SSC_RHR_RDAT_Pos) /**< \brief (SSC_RHR) Receive Data */ -/* -------- SSC_THR : (SSC Offset: 0x24) Transmit Holding Register -------- */ -#define SSC_THR_TDAT_Pos 0 -#define SSC_THR_TDAT_Msk (0xffffffffu << SSC_THR_TDAT_Pos) /**< \brief (SSC_THR) Transmit Data */ -#define SSC_THR_TDAT(value) ((SSC_THR_TDAT_Msk & ((value) << SSC_THR_TDAT_Pos))) -/* -------- SSC_RSHR : (SSC Offset: 0x30) Receive Sync. Holding Register -------- */ -#define SSC_RSHR_RSDAT_Pos 0 -#define SSC_RSHR_RSDAT_Msk (0xffffu << SSC_RSHR_RSDAT_Pos) /**< \brief (SSC_RSHR) Receive Synchronization Data */ -/* -------- SSC_TSHR : (SSC Offset: 0x34) Transmit Sync. Holding Register -------- */ -#define SSC_TSHR_TSDAT_Pos 0 -#define SSC_TSHR_TSDAT_Msk (0xffffu << SSC_TSHR_TSDAT_Pos) /**< \brief (SSC_TSHR) Transmit Synchronization Data */ -#define SSC_TSHR_TSDAT(value) ((SSC_TSHR_TSDAT_Msk & ((value) << SSC_TSHR_TSDAT_Pos))) -/* -------- SSC_RC0R : (SSC Offset: 0x38) Receive Compare 0 Register -------- */ -#define SSC_RC0R_CP0_Pos 0 -#define SSC_RC0R_CP0_Msk (0xffffu << SSC_RC0R_CP0_Pos) /**< \brief (SSC_RC0R) Receive Compare Data 0 */ -#define SSC_RC0R_CP0(value) ((SSC_RC0R_CP0_Msk & ((value) << SSC_RC0R_CP0_Pos))) -/* -------- SSC_RC1R : (SSC Offset: 0x3C) Receive Compare 1 Register -------- */ -#define SSC_RC1R_CP1_Pos 0 -#define SSC_RC1R_CP1_Msk (0xffffu << SSC_RC1R_CP1_Pos) /**< \brief (SSC_RC1R) Receive Compare Data 1 */ -#define SSC_RC1R_CP1(value) ((SSC_RC1R_CP1_Msk & ((value) << SSC_RC1R_CP1_Pos))) -/* -------- SSC_SR : (SSC Offset: 0x40) Status Register -------- */ -#define SSC_SR_TXRDY (0x1u << 0) /**< \brief (SSC_SR) Transmit Ready */ -#define SSC_SR_TXEMPTY (0x1u << 1) /**< \brief (SSC_SR) Transmit Empty */ -#define SSC_SR_RXRDY (0x1u << 4) /**< \brief (SSC_SR) Receive Ready */ -#define SSC_SR_OVRUN (0x1u << 5) /**< \brief (SSC_SR) Receive Overrun */ -#define SSC_SR_CP0 (0x1u << 8) /**< \brief (SSC_SR) Compare 0 */ -#define SSC_SR_CP1 (0x1u << 9) /**< \brief (SSC_SR) Compare 1 */ -#define SSC_SR_TXSYN (0x1u << 10) /**< \brief (SSC_SR) Transmit Sync */ -#define SSC_SR_RXSYN (0x1u << 11) /**< \brief (SSC_SR) Receive Sync */ -#define SSC_SR_TXEN (0x1u << 16) /**< \brief (SSC_SR) Transmit Enable */ -#define SSC_SR_RXEN (0x1u << 17) /**< \brief (SSC_SR) Receive Enable */ -/* -------- SSC_IER : (SSC Offset: 0x44) Interrupt Enable Register -------- */ -#define SSC_IER_TXRDY (0x1u << 0) /**< \brief (SSC_IER) Transmit Ready Interrupt Enable */ -#define SSC_IER_TXEMPTY (0x1u << 1) /**< \brief (SSC_IER) Transmit Empty Interrupt Enable */ -#define SSC_IER_RXRDY (0x1u << 4) /**< \brief (SSC_IER) Receive Ready Interrupt Enable */ -#define SSC_IER_OVRUN (0x1u << 5) /**< \brief (SSC_IER) Receive Overrun Interrupt Enable */ -#define SSC_IER_CP0 (0x1u << 8) /**< \brief (SSC_IER) Compare 0 Interrupt Enable */ -#define SSC_IER_CP1 (0x1u << 9) /**< \brief (SSC_IER) Compare 1 Interrupt Enable */ -#define SSC_IER_TXSYN (0x1u << 10) /**< \brief (SSC_IER) Tx Sync Interrupt Enable */ -#define SSC_IER_RXSYN (0x1u << 11) /**< \brief (SSC_IER) Rx Sync Interrupt Enable */ -/* -------- SSC_IDR : (SSC Offset: 0x48) Interrupt Disable Register -------- */ -#define SSC_IDR_TXRDY (0x1u << 0) /**< \brief (SSC_IDR) Transmit Ready Interrupt Disable */ -#define SSC_IDR_TXEMPTY (0x1u << 1) /**< \brief (SSC_IDR) Transmit Empty Interrupt Disable */ -#define SSC_IDR_RXRDY (0x1u << 4) /**< \brief (SSC_IDR) Receive Ready Interrupt Disable */ -#define SSC_IDR_OVRUN (0x1u << 5) /**< \brief (SSC_IDR) Receive Overrun Interrupt Disable */ -#define SSC_IDR_CP0 (0x1u << 8) /**< \brief (SSC_IDR) Compare 0 Interrupt Disable */ -#define SSC_IDR_CP1 (0x1u << 9) /**< \brief (SSC_IDR) Compare 1 Interrupt Disable */ -#define SSC_IDR_TXSYN (0x1u << 10) /**< \brief (SSC_IDR) Tx Sync Interrupt Enable */ -#define SSC_IDR_RXSYN (0x1u << 11) /**< \brief (SSC_IDR) Rx Sync Interrupt Enable */ -/* -------- SSC_IMR : (SSC Offset: 0x4C) Interrupt Mask Register -------- */ -#define SSC_IMR_TXRDY (0x1u << 0) /**< \brief (SSC_IMR) Transmit Ready Interrupt Mask */ -#define SSC_IMR_TXEMPTY (0x1u << 1) /**< \brief (SSC_IMR) Transmit Empty Interrupt Mask */ -#define SSC_IMR_RXRDY (0x1u << 4) /**< \brief (SSC_IMR) Receive Ready Interrupt Mask */ -#define SSC_IMR_OVRUN (0x1u << 5) /**< \brief (SSC_IMR) Receive Overrun Interrupt Mask */ -#define SSC_IMR_CP0 (0x1u << 8) /**< \brief (SSC_IMR) Compare 0 Interrupt Mask */ -#define SSC_IMR_CP1 (0x1u << 9) /**< \brief (SSC_IMR) Compare 1 Interrupt Mask */ -#define SSC_IMR_TXSYN (0x1u << 10) /**< \brief (SSC_IMR) Tx Sync Interrupt Mask */ -#define SSC_IMR_RXSYN (0x1u << 11) /**< \brief (SSC_IMR) Rx Sync Interrupt Mask */ -/* -------- SSC_WPMR : (SSC Offset: 0xE4) Write Protection Mode Register -------- */ -#define SSC_WPMR_WPEN (0x1u << 0) /**< \brief (SSC_WPMR) Write Protection Enable */ -#define SSC_WPMR_WPKEY_Pos 8 -#define SSC_WPMR_WPKEY_Msk (0xffffffu << SSC_WPMR_WPKEY_Pos) /**< \brief (SSC_WPMR) Write Protection Key */ -#define SSC_WPMR_WPKEY(value) ((SSC_WPMR_WPKEY_Msk & ((value) << SSC_WPMR_WPKEY_Pos))) -#define SSC_WPMR_WPKEY_PASSWD (0x535343u << 8) /**< \brief (SSC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ -/* -------- SSC_WPSR : (SSC Offset: 0xE8) Write Protection Status Register -------- */ -#define SSC_WPSR_WPVS (0x1u << 0) /**< \brief (SSC_WPSR) Write Protection Violation Status */ -#define SSC_WPSR_WPVSRC_Pos 8 -#define SSC_WPSR_WPVSRC_Msk (0xffffu << SSC_WPSR_WPVSRC_Pos) /**< \brief (SSC_WPSR) Write Protect Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_SSC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h deleted file mode 100644 index 6e10ef4..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/supc.h +++ /dev/null @@ -1,310 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SUPC_COMPONENT_ -#define _SAMS70_SUPC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Supply Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_SUPC Supply Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Supc hardware registers */ -typedef struct { - __O uint32_t SUPC_CR; /**< \brief (Supc Offset: 0x00) Supply Controller Control Register */ - __IO uint32_t SUPC_SMMR; /**< \brief (Supc Offset: 0x04) Supply Controller Supply Monitor Mode Register */ - __IO uint32_t SUPC_MR; /**< \brief (Supc Offset: 0x08) Supply Controller Mode Register */ - __IO uint32_t SUPC_WUMR; /**< \brief (Supc Offset: 0x0C) Supply Controller Wake-up Mode Register */ - __IO uint32_t SUPC_WUIR; /**< \brief (Supc Offset: 0x10) Supply Controller Wake-up Inputs Register */ - __I uint32_t SUPC_SR; /**< \brief (Supc Offset: 0x14) Supply Controller Status Register */ -} Supc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- SUPC_CR : (SUPC Offset: 0x00) Supply Controller Control Register -------- */ -#define SUPC_CR_VROFF (0x1u << 2) /**< \brief (SUPC_CR) Voltage Regulator Off */ -#define SUPC_CR_VROFF_NO_EFFECT (0x0u << 2) /**< \brief (SUPC_CR) No effect. */ -#define SUPC_CR_VROFF_STOP_VREG (0x1u << 2) /**< \brief (SUPC_CR) If KEY is correct, VROFF asserts the vddcore_nreset and stops the voltage regulator. */ -#define SUPC_CR_XTALSEL (0x1u << 3) /**< \brief (SUPC_CR) Crystal Oscillator Select */ -#define SUPC_CR_XTALSEL_NO_EFFECT (0x0u << 3) /**< \brief (SUPC_CR) No effect. */ -#define SUPC_CR_XTALSEL_CRYSTAL_SEL (0x1u << 3) /**< \brief (SUPC_CR) If KEY is correct, XTALSEL switches the slow clock on the crystal oscillator output. */ -#define SUPC_CR_KEY_Pos 24 -#define SUPC_CR_KEY_Msk (0xffu << SUPC_CR_KEY_Pos) /**< \brief (SUPC_CR) Password */ -#define SUPC_CR_KEY(value) ((SUPC_CR_KEY_Msk & ((value) << SUPC_CR_KEY_Pos))) -#define SUPC_CR_KEY_PASSWD (0xA5u << 24) /**< \brief (SUPC_CR) Writing any other value in this field aborts the write operation. */ -/* -------- SUPC_SMMR : (SUPC Offset: 0x04) Supply Controller Supply Monitor Mode Register -------- */ -#define SUPC_SMMR_SMTH_Pos 0 -#define SUPC_SMMR_SMTH_Msk (0xfu << SUPC_SMMR_SMTH_Pos) /**< \brief (SUPC_SMMR) Supply Monitor Threshold */ -#define SUPC_SMMR_SMTH(value) ((SUPC_SMMR_SMTH_Msk & ((value) << SUPC_SMMR_SMTH_Pos))) -#define SUPC_SMMR_SMSMPL_Pos 8 -#define SUPC_SMMR_SMSMPL_Msk (0x7u << SUPC_SMMR_SMSMPL_Pos) /**< \brief (SUPC_SMMR) Supply Monitor Sampling Period */ -#define SUPC_SMMR_SMSMPL(value) ((SUPC_SMMR_SMSMPL_Msk & ((value) << SUPC_SMMR_SMSMPL_Pos))) -#define SUPC_SMMR_SMSMPL_SMD (0x0u << 8) /**< \brief (SUPC_SMMR) Supply Monitor disabled */ -#define SUPC_SMMR_SMSMPL_CSM (0x1u << 8) /**< \brief (SUPC_SMMR) Continuous Supply Monitor */ -#define SUPC_SMMR_SMSMPL_32SLCK (0x2u << 8) /**< \brief (SUPC_SMMR) Supply Monitor enabled one SLCK period every 32 SLCK periods */ -#define SUPC_SMMR_SMSMPL_256SLCK (0x3u << 8) /**< \brief (SUPC_SMMR) Supply Monitor enabled one SLCK period every 256 SLCK periods */ -#define SUPC_SMMR_SMSMPL_2048SLCK (0x4u << 8) /**< \brief (SUPC_SMMR) Supply Monitor enabled one SLCK period every 2,048 SLCK periods */ -#define SUPC_SMMR_SMRSTEN (0x1u << 12) /**< \brief (SUPC_SMMR) Supply Monitor Reset Enable */ -#define SUPC_SMMR_SMRSTEN_NOT_ENABLE (0x0u << 12) /**< \brief (SUPC_SMMR) The core reset signal vddcore_nreset is not affected when a supply monitor detection occurs. */ -#define SUPC_SMMR_SMRSTEN_ENABLE (0x1u << 12) /**< \brief (SUPC_SMMR) The core reset signal, vddcore_nreset is asserted when a supply monitor detection occurs. */ -#define SUPC_SMMR_SMIEN (0x1u << 13) /**< \brief (SUPC_SMMR) Supply Monitor Interrupt Enable */ -#define SUPC_SMMR_SMIEN_NOT_ENABLE (0x0u << 13) /**< \brief (SUPC_SMMR) The SUPC interrupt signal is not affected when a supply monitor detection occurs. */ -#define SUPC_SMMR_SMIEN_ENABLE (0x1u << 13) /**< \brief (SUPC_SMMR) The SUPC interrupt signal is asserted when a supply monitor detection occurs. */ -/* -------- SUPC_MR : (SUPC Offset: 0x08) Supply Controller Mode Register -------- */ -#define SUPC_MR_BODRSTEN (0x1u << 12) /**< \brief (SUPC_MR) Brownout Detector Reset Enable */ -#define SUPC_MR_BODRSTEN_NOT_ENABLE (0x0u << 12) /**< \brief (SUPC_MR) The core reset signal vddcore_nreset is not affected when a brownout detection occurs. */ -#define SUPC_MR_BODRSTEN_ENABLE (0x1u << 12) /**< \brief (SUPC_MR) The core reset signal, vddcore_nreset is asserted when a brownout detection occurs. */ -#define SUPC_MR_BODDIS (0x1u << 13) /**< \brief (SUPC_MR) Brownout Detector Disable */ -#define SUPC_MR_BODDIS_ENABLE (0x0u << 13) /**< \brief (SUPC_MR) The core brownout detector is enabled. */ -#define SUPC_MR_BODDIS_DISABLE (0x1u << 13) /**< \brief (SUPC_MR) The core brownout detector is disabled. */ -#define SUPC_MR_ONREG (0x1u << 14) /**< \brief (SUPC_MR) Voltage Regulator Enable */ -#define SUPC_MR_ONREG_ONREG_UNUSED (0x0u << 14) /**< \brief (SUPC_MR) Internal voltage regulator is not used (external power supply is used). */ -#define SUPC_MR_ONREG_ONREG_USED (0x1u << 14) /**< \brief (SUPC_MR) Internal voltage regulator is used. */ -#define SUPC_MR_BKUPRETON (0x1u << 17) /**< \brief (SUPC_MR) SRAM On In Backup Mode */ -#define SUPC_MR_OSCBYPASS (0x1u << 20) /**< \brief (SUPC_MR) Oscillator Bypass */ -#define SUPC_MR_OSCBYPASS_NO_EFFECT (0x0u << 20) /**< \brief (SUPC_MR) No effect. Clock selection depends on the value of XTALSEL (SUPC_CR). */ -#define SUPC_MR_OSCBYPASS_BYPASS (0x1u << 20) /**< \brief (SUPC_MR) The 32 kHz crystal oscillator is bypassed if XTALSEL (SUPC_CR) is set. OSCBYPASS must be set prior to setting XTALSEL. */ -#define SUPC_MR_KEY_Pos 24 -#define SUPC_MR_KEY_Msk (0xffu << SUPC_MR_KEY_Pos) /**< \brief (SUPC_MR) Password Key */ -#define SUPC_MR_KEY(value) ((SUPC_MR_KEY_Msk & ((value) << SUPC_MR_KEY_Pos))) -#define SUPC_MR_KEY_PASSWD (0xA5u << 24) /**< \brief (SUPC_MR) Writing any other value in this field aborts the write operation. */ -/* -------- SUPC_WUMR : (SUPC Offset: 0x0C) Supply Controller Wake-up Mode Register -------- */ -#define SUPC_WUMR_SMEN (0x1u << 1) /**< \brief (SUPC_WUMR) Supply Monitor Wake-up Enable */ -#define SUPC_WUMR_SMEN_NOT_ENABLE (0x0u << 1) /**< \brief (SUPC_WUMR) The supply monitor detection has no wake-up effect. */ -#define SUPC_WUMR_SMEN_ENABLE (0x1u << 1) /**< \brief (SUPC_WUMR) The supply monitor detection forces the wake-up of the core power supply. */ -#define SUPC_WUMR_RTTEN (0x1u << 2) /**< \brief (SUPC_WUMR) Real-time Timer Wake-up Enable */ -#define SUPC_WUMR_RTTEN_NOT_ENABLE (0x0u << 2) /**< \brief (SUPC_WUMR) The RTT alarm signal has no wake-up effect. */ -#define SUPC_WUMR_RTTEN_ENABLE (0x1u << 2) /**< \brief (SUPC_WUMR) The RTT alarm signal forces the wake-up of the core power supply. */ -#define SUPC_WUMR_RTCEN (0x1u << 3) /**< \brief (SUPC_WUMR) Real-time Clock Wake-up Enable */ -#define SUPC_WUMR_RTCEN_NOT_ENABLE (0x0u << 3) /**< \brief (SUPC_WUMR) The RTC alarm signal has no wake-up effect. */ -#define SUPC_WUMR_RTCEN_ENABLE (0x1u << 3) /**< \brief (SUPC_WUMR) The RTC alarm signal forces the wake-up of the core power supply. */ -#define SUPC_WUMR_LPDBCEN0 (0x1u << 5) /**< \brief (SUPC_WUMR) Low-power Debouncer Enable WKUP0 */ -#define SUPC_WUMR_LPDBCEN0_NOT_ENABLE (0x0u << 5) /**< \brief (SUPC_WUMR) The WKUP0 input pin is not connected to the low-power debouncer. */ -#define SUPC_WUMR_LPDBCEN0_ENABLE (0x1u << 5) /**< \brief (SUPC_WUMR) The WKUP0 input pin is connected to the low-power debouncer and forces a system wake-up. */ -#define SUPC_WUMR_LPDBCEN1 (0x1u << 6) /**< \brief (SUPC_WUMR) Low-power Debouncer Enable WKUP1 */ -#define SUPC_WUMR_LPDBCEN1_NOT_ENABLE (0x0u << 6) /**< \brief (SUPC_WUMR) The WKUP1 input pin is not connected to the low-power debouncer. */ -#define SUPC_WUMR_LPDBCEN1_ENABLE (0x1u << 6) /**< \brief (SUPC_WUMR) The WKUP1 input pin is connected to the low-power debouncer and forces a system wake-up. */ -#define SUPC_WUMR_LPDBCCLR (0x1u << 7) /**< \brief (SUPC_WUMR) Low-power Debouncer Clear */ -#define SUPC_WUMR_LPDBCCLR_NOT_ENABLE (0x0u << 7) /**< \brief (SUPC_WUMR) A low-power debounce event does not create an immediate clear on the first half of GPBR registers. */ -#define SUPC_WUMR_LPDBCCLR_ENABLE (0x1u << 7) /**< \brief (SUPC_WUMR) A low-power debounce event on WKUP0 or WKUP1 generates an immediate clear on the first half of GPBR registers. */ -#define SUPC_WUMR_WKUPDBC_Pos 12 -#define SUPC_WUMR_WKUPDBC_Msk (0x7u << SUPC_WUMR_WKUPDBC_Pos) /**< \brief (SUPC_WUMR) Wake-up Inputs Debouncer Period */ -#define SUPC_WUMR_WKUPDBC(value) ((SUPC_WUMR_WKUPDBC_Msk & ((value) << SUPC_WUMR_WKUPDBC_Pos))) -#define SUPC_WUMR_WKUPDBC_IMMEDIATE (0x0u << 12) /**< \brief (SUPC_WUMR) Immediate, no debouncing, detected active at least on one Slow Clock edge. */ -#define SUPC_WUMR_WKUPDBC_3_SLCK (0x1u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 3 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_32_SLCK (0x2u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 32 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_512_SLCK (0x3u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 512 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_4096_SLCK (0x4u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 4,096 SLCK periods */ -#define SUPC_WUMR_WKUPDBC_32768_SLCK (0x5u << 12) /**< \brief (SUPC_WUMR) WKUPx shall be in its active state for at least 32,768 SLCK periods */ -#define SUPC_WUMR_LPDBC_Pos 16 -#define SUPC_WUMR_LPDBC_Msk (0x7u << SUPC_WUMR_LPDBC_Pos) /**< \brief (SUPC_WUMR) Low-power Debouncer Period */ -#define SUPC_WUMR_LPDBC(value) ((SUPC_WUMR_LPDBC_Msk & ((value) << SUPC_WUMR_LPDBC_Pos))) -#define SUPC_WUMR_LPDBC_DISABLE (0x0u << 16) /**< \brief (SUPC_WUMR) Disable the low-power debouncers. */ -#define SUPC_WUMR_LPDBC_2_RTCOUT (0x1u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 2 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_3_RTCOUT (0x2u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 3 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_4_RTCOUT (0x3u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 4 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_5_RTCOUT (0x4u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 5 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_6_RTCOUT (0x5u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 6 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_7_RTCOUT (0x6u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 7 RTCOUTx clock periods */ -#define SUPC_WUMR_LPDBC_8_RTCOUT (0x7u << 16) /**< \brief (SUPC_WUMR) WKUP0/1 in active state for at least 8 RTCOUTx clock periods */ -/* -------- SUPC_WUIR : (SUPC Offset: 0x10) Supply Controller Wake-up Inputs Register -------- */ -#define SUPC_WUIR_WKUPEN0 (0x1u << 0) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 0 */ -#define SUPC_WUIR_WKUPEN0_DISABLE (0x0u << 0) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN0_ENABLE (0x1u << 0) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN1 (0x1u << 1) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 1 */ -#define SUPC_WUIR_WKUPEN1_DISABLE (0x0u << 1) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN1_ENABLE (0x1u << 1) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN2 (0x1u << 2) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 2 */ -#define SUPC_WUIR_WKUPEN2_DISABLE (0x0u << 2) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN2_ENABLE (0x1u << 2) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN3 (0x1u << 3) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 3 */ -#define SUPC_WUIR_WKUPEN3_DISABLE (0x0u << 3) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN3_ENABLE (0x1u << 3) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN4 (0x1u << 4) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 4 */ -#define SUPC_WUIR_WKUPEN4_DISABLE (0x0u << 4) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN4_ENABLE (0x1u << 4) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN5 (0x1u << 5) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 5 */ -#define SUPC_WUIR_WKUPEN5_DISABLE (0x0u << 5) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN5_ENABLE (0x1u << 5) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN6 (0x1u << 6) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 6 */ -#define SUPC_WUIR_WKUPEN6_DISABLE (0x0u << 6) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN6_ENABLE (0x1u << 6) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN7 (0x1u << 7) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 7 */ -#define SUPC_WUIR_WKUPEN7_DISABLE (0x0u << 7) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN7_ENABLE (0x1u << 7) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN8 (0x1u << 8) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 8 */ -#define SUPC_WUIR_WKUPEN8_DISABLE (0x0u << 8) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN8_ENABLE (0x1u << 8) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN9 (0x1u << 9) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 9 */ -#define SUPC_WUIR_WKUPEN9_DISABLE (0x0u << 9) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN9_ENABLE (0x1u << 9) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN10 (0x1u << 10) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 10 */ -#define SUPC_WUIR_WKUPEN10_DISABLE (0x0u << 10) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN10_ENABLE (0x1u << 10) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN11 (0x1u << 11) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 11 */ -#define SUPC_WUIR_WKUPEN11_DISABLE (0x0u << 11) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN11_ENABLE (0x1u << 11) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN12 (0x1u << 12) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 12 */ -#define SUPC_WUIR_WKUPEN12_DISABLE (0x0u << 12) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN12_ENABLE (0x1u << 12) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPEN13 (0x1u << 13) /**< \brief (SUPC_WUIR) Wake-up Input Enable 0 to 13 */ -#define SUPC_WUIR_WKUPEN13_DISABLE (0x0u << 13) /**< \brief (SUPC_WUIR) The corresponding wake-up input has no wake-up effect. */ -#define SUPC_WUIR_WKUPEN13_ENABLE (0x1u << 13) /**< \brief (SUPC_WUIR) The corresponding wake-up input is enabled for a wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT0 (0x1u << 16) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 0 */ -#define SUPC_WUIR_WKUPT0_LOW (0x0u << 16) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT0_HIGH (0x1u << 16) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT1 (0x1u << 17) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 1 */ -#define SUPC_WUIR_WKUPT1_LOW (0x0u << 17) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT1_HIGH (0x1u << 17) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT2 (0x1u << 18) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 2 */ -#define SUPC_WUIR_WKUPT2_LOW (0x0u << 18) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT2_HIGH (0x1u << 18) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT3 (0x1u << 19) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 3 */ -#define SUPC_WUIR_WKUPT3_LOW (0x0u << 19) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT3_HIGH (0x1u << 19) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT4 (0x1u << 20) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 4 */ -#define SUPC_WUIR_WKUPT4_LOW (0x0u << 20) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT4_HIGH (0x1u << 20) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT5 (0x1u << 21) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 5 */ -#define SUPC_WUIR_WKUPT5_LOW (0x0u << 21) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT5_HIGH (0x1u << 21) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT6 (0x1u << 22) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 6 */ -#define SUPC_WUIR_WKUPT6_LOW (0x0u << 22) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT6_HIGH (0x1u << 22) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT7 (0x1u << 23) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 7 */ -#define SUPC_WUIR_WKUPT7_LOW (0x0u << 23) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT7_HIGH (0x1u << 23) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT8 (0x1u << 24) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 8 */ -#define SUPC_WUIR_WKUPT8_LOW (0x0u << 24) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT8_HIGH (0x1u << 24) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT9 (0x1u << 25) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 9 */ -#define SUPC_WUIR_WKUPT9_LOW (0x0u << 25) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT9_HIGH (0x1u << 25) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT10 (0x1u << 26) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 10 */ -#define SUPC_WUIR_WKUPT10_LOW (0x0u << 26) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT10_HIGH (0x1u << 26) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT11 (0x1u << 27) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 11 */ -#define SUPC_WUIR_WKUPT11_LOW (0x0u << 27) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT11_HIGH (0x1u << 27) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT12 (0x1u << 28) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 12 */ -#define SUPC_WUIR_WKUPT12_LOW (0x0u << 28) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT12_HIGH (0x1u << 28) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT13 (0x1u << 29) /**< \brief (SUPC_WUIR) Wake-up Input Type 0 to 13 */ -#define SUPC_WUIR_WKUPT13_LOW (0x0u << 29) /**< \brief (SUPC_WUIR) A falling edge followed by a low level for a period defined by WKUPDBC on the corre-sponding wake-up input forces the wake-up of the core power supply. */ -#define SUPC_WUIR_WKUPT13_HIGH (0x1u << 29) /**< \brief (SUPC_WUIR) A rising edge followed by a high level for a period defined by WKUPDBC on the cor-responding wake-up input forces the wake-up of the core power supply. */ -/* -------- SUPC_SR : (SUPC Offset: 0x14) Supply Controller Status Register -------- */ -#define SUPC_SR_WKUPS (0x1u << 1) /**< \brief (SUPC_SR) WKUP Wake-up Status (cleared on read) */ -#define SUPC_SR_WKUPS_NO (0x0u << 1) /**< \brief (SUPC_SR) No wake-up due to the assertion of the WKUP pins has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPS_PRESENT (0x1u << 1) /**< \brief (SUPC_SR) At least one wake-up due to the assertion of the WKUP pins has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_SMWS (0x1u << 2) /**< \brief (SUPC_SR) Supply Monitor Detection Wake-up Status (cleared on read) */ -#define SUPC_SR_SMWS_NO (0x0u << 2) /**< \brief (SUPC_SR) No wake-up due to a supply monitor detection has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_SMWS_PRESENT (0x1u << 2) /**< \brief (SUPC_SR) At least one wake-up due to a supply monitor detection has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_BODRSTS (0x1u << 3) /**< \brief (SUPC_SR) Brownout Detector Reset Status (cleared on read) */ -#define SUPC_SR_BODRSTS_NO (0x0u << 3) /**< \brief (SUPC_SR) No core brownout rising edge event has been detected since the last read of the SUPC_SR. */ -#define SUPC_SR_BODRSTS_PRESENT (0x1u << 3) /**< \brief (SUPC_SR) At least one brownout output rising edge event has been detected since the last read of the SUPC_SR. */ -#define SUPC_SR_SMRSTS (0x1u << 4) /**< \brief (SUPC_SR) Supply Monitor Reset Status (cleared on read) */ -#define SUPC_SR_SMRSTS_NO (0x0u << 4) /**< \brief (SUPC_SR) No supply monitor detection has generated a core reset since the last read of the SUPC_SR. */ -#define SUPC_SR_SMRSTS_PRESENT (0x1u << 4) /**< \brief (SUPC_SR) At least one supply monitor detection has generated a core reset since the last read of the SUPC_SR. */ -#define SUPC_SR_SMS (0x1u << 5) /**< \brief (SUPC_SR) Supply Monitor Status (cleared on read) */ -#define SUPC_SR_SMS_NO (0x0u << 5) /**< \brief (SUPC_SR) No supply monitor detection since the last read of SUPC_SR. */ -#define SUPC_SR_SMS_PRESENT (0x1u << 5) /**< \brief (SUPC_SR) At least one supply monitor detection since the last read of SUPC_SR. */ -#define SUPC_SR_SMOS (0x1u << 6) /**< \brief (SUPC_SR) Supply Monitor Output Status */ -#define SUPC_SR_SMOS_HIGH (0x0u << 6) /**< \brief (SUPC_SR) The supply monitor detected VDDIO higher than its threshold at its last measurement. */ -#define SUPC_SR_SMOS_LOW (0x1u << 6) /**< \brief (SUPC_SR) The supply monitor detected VDDIO lower than its threshold at its last measurement. */ -#define SUPC_SR_OSCSEL (0x1u << 7) /**< \brief (SUPC_SR) 32-kHz Oscillator Selection Status */ -#define SUPC_SR_OSCSEL_RC (0x0u << 7) /**< \brief (SUPC_SR) The slow clock, SLCK, is generated by the embedded 32 kHz RC oscillator. */ -#define SUPC_SR_OSCSEL_CRYST (0x1u << 7) /**< \brief (SUPC_SR) The slow clock, SLCK, is generated by the 32 kHz crystal oscillator. */ -#define SUPC_SR_LPDBCS0 (0x1u << 13) /**< \brief (SUPC_SR) Low-power Debouncer Wake-up Status on WKUP0 (cleared on read) */ -#define SUPC_SR_LPDBCS0_NO (0x0u << 13) /**< \brief (SUPC_SR) No wake-up due to the assertion of the WKUP0 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_LPDBCS0_PRESENT (0x1u << 13) /**< \brief (SUPC_SR) At least one wake-up due to the assertion of the WKUP0 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_LPDBCS1 (0x1u << 14) /**< \brief (SUPC_SR) Low-power Debouncer Wake-up Status on WKUP1 (cleared on read) */ -#define SUPC_SR_LPDBCS1_NO (0x0u << 14) /**< \brief (SUPC_SR) No wake-up due to the assertion of the WKUP1 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_LPDBCS1_PRESENT (0x1u << 14) /**< \brief (SUPC_SR) At least one wake-up due to the assertion of the WKUP1 pin has occurred since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS0 (0x1u << 16) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS0_DIS (0x0u << 16) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS0_EN (0x1u << 16) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS1 (0x1u << 17) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS1_DIS (0x0u << 17) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS1_EN (0x1u << 17) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS2 (0x1u << 18) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS2_DIS (0x0u << 18) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS2_EN (0x1u << 18) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS3 (0x1u << 19) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS3_DIS (0x0u << 19) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS3_EN (0x1u << 19) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS4 (0x1u << 20) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS4_DIS (0x0u << 20) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS4_EN (0x1u << 20) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS5 (0x1u << 21) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS5_DIS (0x0u << 21) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS5_EN (0x1u << 21) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS6 (0x1u << 22) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS6_DIS (0x0u << 22) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS6_EN (0x1u << 22) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS7 (0x1u << 23) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS7_DIS (0x0u << 23) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS7_EN (0x1u << 23) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS8 (0x1u << 24) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS8_DIS (0x0u << 24) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS8_EN (0x1u << 24) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS9 (0x1u << 25) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS9_DIS (0x0u << 25) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS9_EN (0x1u << 25) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS10 (0x1u << 26) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS10_DIS (0x0u << 26) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS10_EN (0x1u << 26) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS11 (0x1u << 27) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS11_DIS (0x0u << 27) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS11_EN (0x1u << 27) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS12 (0x1u << 28) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS12_DIS (0x0u << 28) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS12_EN (0x1u << 28) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ -#define SUPC_SR_WKUPIS13 (0x1u << 29) /**< \brief (SUPC_SR) WKUPx Input Status (cleared on read) */ -#define SUPC_SR_WKUPIS13_DIS (0x0u << 29) /**< \brief (SUPC_SR) The corresponding wake-up input is disabled, or was inactive at the time the debouncer triggered a wake-up event. */ -#define SUPC_SR_WKUPIS13_EN (0x1u << 29) /**< \brief (SUPC_SR) The corresponding wake-up input was active at the time the debouncer triggered a wake-up event since the last read of SUPC_SR. */ - -/*@}*/ - - -#endif /* _SAMS70_SUPC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h deleted file mode 100644 index 5969e8a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/tc.h +++ /dev/null @@ -1,361 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC_COMPONENT_ -#define _SAMS70_TC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Timer Counter */ -/* ============================================================================= */ -/** \addtogroup SAMS70_TC Timer Counter */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief TcChannel hardware registers */ -typedef struct { - __O uint32_t TC_CCR; /**< \brief (TcChannel Offset: 0x0) Channel Control Register */ - __IO uint32_t TC_CMR; /**< \brief (TcChannel Offset: 0x4) Channel Mode Register */ - __IO uint32_t TC_SMMR; /**< \brief (TcChannel Offset: 0x8) Stepper Motor Mode Register */ - __I uint32_t TC_RAB; /**< \brief (TcChannel Offset: 0xC) Register AB */ - __I uint32_t TC_CV; /**< \brief (TcChannel Offset: 0x10) Counter Value */ - __IO uint32_t TC_RA; /**< \brief (TcChannel Offset: 0x14) Register A */ - __IO uint32_t TC_RB; /**< \brief (TcChannel Offset: 0x18) Register B */ - __IO uint32_t TC_RC; /**< \brief (TcChannel Offset: 0x1C) Register C */ - __I uint32_t TC_SR; /**< \brief (TcChannel Offset: 0x20) Status Register */ - __O uint32_t TC_IER; /**< \brief (TcChannel Offset: 0x24) Interrupt Enable Register */ - __O uint32_t TC_IDR; /**< \brief (TcChannel Offset: 0x28) Interrupt Disable Register */ - __I uint32_t TC_IMR; /**< \brief (TcChannel Offset: 0x2C) Interrupt Mask Register */ - __IO uint32_t TC_EMR; /**< \brief (TcChannel Offset: 0x30) Extended Mode Register */ - __I uint32_t Reserved1[3]; -} TcChannel; -/** \brief Tc hardware registers */ -#define TCCHANNEL_NUMBER 3 -typedef struct { - TcChannel TC_CHANNEL[TCCHANNEL_NUMBER]; /**< \brief (Tc Offset: 0x0) channel = 0 .. 2 */ - __O uint32_t TC_BCR; /**< \brief (Tc Offset: 0xC0) Block Control Register */ - __IO uint32_t TC_BMR; /**< \brief (Tc Offset: 0xC4) Block Mode Register */ - __O uint32_t TC_QIER; /**< \brief (Tc Offset: 0xC8) QDEC Interrupt Enable Register */ - __O uint32_t TC_QIDR; /**< \brief (Tc Offset: 0xCC) QDEC Interrupt Disable Register */ - __I uint32_t TC_QIMR; /**< \brief (Tc Offset: 0xD0) QDEC Interrupt Mask Register */ - __I uint32_t TC_QISR; /**< \brief (Tc Offset: 0xD4) QDEC Interrupt Status Register */ - __IO uint32_t TC_FMR; /**< \brief (Tc Offset: 0xD8) Fault Mode Register */ - __I uint32_t Reserved1[2]; - __IO uint32_t TC_WPMR; /**< \brief (Tc Offset: 0xE4) Write Protection Mode Register */ -} Tc; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- TC_CCR : (TC Offset: N/A) Channel Control Register -------- */ -#define TC_CCR_CLKEN (0x1u << 0) /**< \brief (TC_CCR) Counter Clock Enable Command */ -#define TC_CCR_CLKDIS (0x1u << 1) /**< \brief (TC_CCR) Counter Clock Disable Command */ -#define TC_CCR_SWTRG (0x1u << 2) /**< \brief (TC_CCR) Software Trigger Command */ -/* -------- TC_CMR : (TC Offset: N/A) Channel Mode Register -------- */ -#define TC_CMR_TCCLKS_Pos 0 -#define TC_CMR_TCCLKS_Msk (0x7u << TC_CMR_TCCLKS_Pos) /**< \brief (TC_CMR) Clock Selection */ -#define TC_CMR_TCCLKS(value) ((TC_CMR_TCCLKS_Msk & ((value) << TC_CMR_TCCLKS_Pos))) -#define TC_CMR_TCCLKS_TIMER_CLOCK1 (0x0u << 0) /**< \brief (TC_CMR) Clock selected: internal PCK6 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK2 (0x1u << 0) /**< \brief (TC_CMR) Clock selected: internal MCK/8 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK3 (0x2u << 0) /**< \brief (TC_CMR) Clock selected: internal MCK/32 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK4 (0x3u << 0) /**< \brief (TC_CMR) Clock selected: internal MCK/128 clock signal (from PMC) */ -#define TC_CMR_TCCLKS_TIMER_CLOCK5 (0x4u << 0) /**< \brief (TC_CMR) Clock selected: internal SLCK clock signal (from PMC) */ -#define TC_CMR_TCCLKS_XC0 (0x5u << 0) /**< \brief (TC_CMR) Clock selected: XC0 */ -#define TC_CMR_TCCLKS_XC1 (0x6u << 0) /**< \brief (TC_CMR) Clock selected: XC1 */ -#define TC_CMR_TCCLKS_XC2 (0x7u << 0) /**< \brief (TC_CMR) Clock selected: XC2 */ -#define TC_CMR_CLKI (0x1u << 3) /**< \brief (TC_CMR) Clock Invert */ -#define TC_CMR_BURST_Pos 4 -#define TC_CMR_BURST_Msk (0x3u << TC_CMR_BURST_Pos) /**< \brief (TC_CMR) Burst Signal Selection */ -#define TC_CMR_BURST(value) ((TC_CMR_BURST_Msk & ((value) << TC_CMR_BURST_Pos))) -#define TC_CMR_BURST_NONE (0x0u << 4) /**< \brief (TC_CMR) The clock is not gated by an external signal. */ -#define TC_CMR_BURST_XC0 (0x1u << 4) /**< \brief (TC_CMR) XC0 is ANDed with the selected clock. */ -#define TC_CMR_BURST_XC1 (0x2u << 4) /**< \brief (TC_CMR) XC1 is ANDed with the selected clock. */ -#define TC_CMR_BURST_XC2 (0x3u << 4) /**< \brief (TC_CMR) XC2 is ANDed with the selected clock. */ -#define TC_CMR_LDBSTOP (0x1u << 6) /**< \brief (TC_CMR) Counter Clock Stopped with RB Loading */ -#define TC_CMR_LDBDIS (0x1u << 7) /**< \brief (TC_CMR) Counter Clock Disable with RB Loading */ -#define TC_CMR_ETRGEDG_Pos 8 -#define TC_CMR_ETRGEDG_Msk (0x3u << TC_CMR_ETRGEDG_Pos) /**< \brief (TC_CMR) External Trigger Edge Selection */ -#define TC_CMR_ETRGEDG(value) ((TC_CMR_ETRGEDG_Msk & ((value) << TC_CMR_ETRGEDG_Pos))) -#define TC_CMR_ETRGEDG_NONE (0x0u << 8) /**< \brief (TC_CMR) The clock is not gated by an external signal. */ -#define TC_CMR_ETRGEDG_RISING (0x1u << 8) /**< \brief (TC_CMR) Rising edge */ -#define TC_CMR_ETRGEDG_FALLING (0x2u << 8) /**< \brief (TC_CMR) Falling edge */ -#define TC_CMR_ETRGEDG_EDGE (0x3u << 8) /**< \brief (TC_CMR) Each edge */ -#define TC_CMR_ABETRG (0x1u << 10) /**< \brief (TC_CMR) TIOA or TIOB External Trigger Selection */ -#define TC_CMR_CPCTRG (0x1u << 14) /**< \brief (TC_CMR) RC Compare Trigger Enable */ -#define TC_CMR_WAVE (0x1u << 15) /**< \brief (TC_CMR) Waveform Mode */ -#define TC_CMR_LDRA_Pos 16 -#define TC_CMR_LDRA_Msk (0x3u << TC_CMR_LDRA_Pos) /**< \brief (TC_CMR) RA Loading Edge Selection */ -#define TC_CMR_LDRA(value) ((TC_CMR_LDRA_Msk & ((value) << TC_CMR_LDRA_Pos))) -#define TC_CMR_LDRA_NONE (0x0u << 16) /**< \brief (TC_CMR) None */ -#define TC_CMR_LDRA_RISING (0x1u << 16) /**< \brief (TC_CMR) Rising edge of TIOA */ -#define TC_CMR_LDRA_FALLING (0x2u << 16) /**< \brief (TC_CMR) Falling edge of TIOA */ -#define TC_CMR_LDRA_EDGE (0x3u << 16) /**< \brief (TC_CMR) Each edge of TIOA */ -#define TC_CMR_LDRB_Pos 18 -#define TC_CMR_LDRB_Msk (0x3u << TC_CMR_LDRB_Pos) /**< \brief (TC_CMR) RB Loading Edge Selection */ -#define TC_CMR_LDRB(value) ((TC_CMR_LDRB_Msk & ((value) << TC_CMR_LDRB_Pos))) -#define TC_CMR_LDRB_NONE (0x0u << 18) /**< \brief (TC_CMR) None */ -#define TC_CMR_LDRB_RISING (0x1u << 18) /**< \brief (TC_CMR) Rising edge of TIOA */ -#define TC_CMR_LDRB_FALLING (0x2u << 18) /**< \brief (TC_CMR) Falling edge of TIOA */ -#define TC_CMR_LDRB_EDGE (0x3u << 18) /**< \brief (TC_CMR) Each edge of TIOA */ -#define TC_CMR_SBSMPLR_Pos 20 -#define TC_CMR_SBSMPLR_Msk (0x7u << TC_CMR_SBSMPLR_Pos) /**< \brief (TC_CMR) Loading Edge Subsampling Ratio */ -#define TC_CMR_SBSMPLR(value) ((TC_CMR_SBSMPLR_Msk & ((value) << TC_CMR_SBSMPLR_Pos))) -#define TC_CMR_SBSMPLR_ONE (0x0u << 20) /**< \brief (TC_CMR) Load a Capture Register each selected edge */ -#define TC_CMR_SBSMPLR_HALF (0x1u << 20) /**< \brief (TC_CMR) Load a Capture Register every 2 selected edges */ -#define TC_CMR_SBSMPLR_FOURTH (0x2u << 20) /**< \brief (TC_CMR) Load a Capture Register every 4 selected edges */ -#define TC_CMR_SBSMPLR_EIGHTH (0x3u << 20) /**< \brief (TC_CMR) Load a Capture Register every 8 selected edges */ -#define TC_CMR_SBSMPLR_SIXTEENTH (0x4u << 20) /**< \brief (TC_CMR) Load a Capture Register every 16 selected edges */ -#define TC_CMR_CPCSTOP (0x1u << 6) /**< \brief (TC_CMR) Counter Clock Stopped with RC Compare */ -#define TC_CMR_CPCDIS (0x1u << 7) /**< \brief (TC_CMR) Counter Clock Disable with RC Compare */ -#define TC_CMR_EEVTEDG_Pos 8 -#define TC_CMR_EEVTEDG_Msk (0x3u << TC_CMR_EEVTEDG_Pos) /**< \brief (TC_CMR) External Event Edge Selection */ -#define TC_CMR_EEVTEDG(value) ((TC_CMR_EEVTEDG_Msk & ((value) << TC_CMR_EEVTEDG_Pos))) -#define TC_CMR_EEVTEDG_NONE (0x0u << 8) /**< \brief (TC_CMR) None */ -#define TC_CMR_EEVTEDG_RISING (0x1u << 8) /**< \brief (TC_CMR) Rising edge */ -#define TC_CMR_EEVTEDG_FALLING (0x2u << 8) /**< \brief (TC_CMR) Falling edge */ -#define TC_CMR_EEVTEDG_EDGE (0x3u << 8) /**< \brief (TC_CMR) Each edge */ -#define TC_CMR_EEVT_Pos 10 -#define TC_CMR_EEVT_Msk (0x3u << TC_CMR_EEVT_Pos) /**< \brief (TC_CMR) External Event Selection */ -#define TC_CMR_EEVT(value) ((TC_CMR_EEVT_Msk & ((value) << TC_CMR_EEVT_Pos))) -#define TC_CMR_EEVT_TIOB (0x0u << 10) /**< \brief (TC_CMR) TIOB */ -#define TC_CMR_EEVT_XC0 (0x1u << 10) /**< \brief (TC_CMR) XC0 */ -#define TC_CMR_EEVT_XC1 (0x2u << 10) /**< \brief (TC_CMR) XC1 */ -#define TC_CMR_EEVT_XC2 (0x3u << 10) /**< \brief (TC_CMR) XC2 */ -#define TC_CMR_ENETRG (0x1u << 12) /**< \brief (TC_CMR) External Event Trigger Enable */ -#define TC_CMR_WAVSEL_Pos 13 -#define TC_CMR_WAVSEL_Msk (0x3u << TC_CMR_WAVSEL_Pos) /**< \brief (TC_CMR) Waveform Selection */ -#define TC_CMR_WAVSEL(value) ((TC_CMR_WAVSEL_Msk & ((value) << TC_CMR_WAVSEL_Pos))) -#define TC_CMR_WAVSEL_UP (0x0u << 13) /**< \brief (TC_CMR) UP mode without automatic trigger on RC Compare */ -#define TC_CMR_WAVSEL_UPDOWN (0x1u << 13) /**< \brief (TC_CMR) UPDOWN mode without automatic trigger on RC Compare */ -#define TC_CMR_WAVSEL_UP_RC (0x2u << 13) /**< \brief (TC_CMR) UP mode with automatic trigger on RC Compare */ -#define TC_CMR_WAVSEL_UPDOWN_RC (0x3u << 13) /**< \brief (TC_CMR) UPDOWN mode with automatic trigger on RC Compare */ -#define TC_CMR_ACPA_Pos 16 -#define TC_CMR_ACPA_Msk (0x3u << TC_CMR_ACPA_Pos) /**< \brief (TC_CMR) RA Compare Effect on TIOA */ -#define TC_CMR_ACPA(value) ((TC_CMR_ACPA_Msk & ((value) << TC_CMR_ACPA_Pos))) -#define TC_CMR_ACPA_NONE (0x0u << 16) /**< \brief (TC_CMR) None */ -#define TC_CMR_ACPA_SET (0x1u << 16) /**< \brief (TC_CMR) Set */ -#define TC_CMR_ACPA_CLEAR (0x2u << 16) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_ACPA_TOGGLE (0x3u << 16) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_ACPC_Pos 18 -#define TC_CMR_ACPC_Msk (0x3u << TC_CMR_ACPC_Pos) /**< \brief (TC_CMR) RC Compare Effect on TIOA */ -#define TC_CMR_ACPC(value) ((TC_CMR_ACPC_Msk & ((value) << TC_CMR_ACPC_Pos))) -#define TC_CMR_ACPC_NONE (0x0u << 18) /**< \brief (TC_CMR) None */ -#define TC_CMR_ACPC_SET (0x1u << 18) /**< \brief (TC_CMR) Set */ -#define TC_CMR_ACPC_CLEAR (0x2u << 18) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_ACPC_TOGGLE (0x3u << 18) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_AEEVT_Pos 20 -#define TC_CMR_AEEVT_Msk (0x3u << TC_CMR_AEEVT_Pos) /**< \brief (TC_CMR) External Event Effect on TIOA */ -#define TC_CMR_AEEVT(value) ((TC_CMR_AEEVT_Msk & ((value) << TC_CMR_AEEVT_Pos))) -#define TC_CMR_AEEVT_NONE (0x0u << 20) /**< \brief (TC_CMR) None */ -#define TC_CMR_AEEVT_SET (0x1u << 20) /**< \brief (TC_CMR) Set */ -#define TC_CMR_AEEVT_CLEAR (0x2u << 20) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_AEEVT_TOGGLE (0x3u << 20) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_ASWTRG_Pos 22 -#define TC_CMR_ASWTRG_Msk (0x3u << TC_CMR_ASWTRG_Pos) /**< \brief (TC_CMR) Software Trigger Effect on TIOA */ -#define TC_CMR_ASWTRG(value) ((TC_CMR_ASWTRG_Msk & ((value) << TC_CMR_ASWTRG_Pos))) -#define TC_CMR_ASWTRG_NONE (0x0u << 22) /**< \brief (TC_CMR) None */ -#define TC_CMR_ASWTRG_SET (0x1u << 22) /**< \brief (TC_CMR) Set */ -#define TC_CMR_ASWTRG_CLEAR (0x2u << 22) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_ASWTRG_TOGGLE (0x3u << 22) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BCPB_Pos 24 -#define TC_CMR_BCPB_Msk (0x3u << TC_CMR_BCPB_Pos) /**< \brief (TC_CMR) RB Compare Effect on TIOB */ -#define TC_CMR_BCPB(value) ((TC_CMR_BCPB_Msk & ((value) << TC_CMR_BCPB_Pos))) -#define TC_CMR_BCPB_NONE (0x0u << 24) /**< \brief (TC_CMR) None */ -#define TC_CMR_BCPB_SET (0x1u << 24) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BCPB_CLEAR (0x2u << 24) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BCPB_TOGGLE (0x3u << 24) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BCPC_Pos 26 -#define TC_CMR_BCPC_Msk (0x3u << TC_CMR_BCPC_Pos) /**< \brief (TC_CMR) RC Compare Effect on TIOB */ -#define TC_CMR_BCPC(value) ((TC_CMR_BCPC_Msk & ((value) << TC_CMR_BCPC_Pos))) -#define TC_CMR_BCPC_NONE (0x0u << 26) /**< \brief (TC_CMR) None */ -#define TC_CMR_BCPC_SET (0x1u << 26) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BCPC_CLEAR (0x2u << 26) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BCPC_TOGGLE (0x3u << 26) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BEEVT_Pos 28 -#define TC_CMR_BEEVT_Msk (0x3u << TC_CMR_BEEVT_Pos) /**< \brief (TC_CMR) External Event Effect on TIOB */ -#define TC_CMR_BEEVT(value) ((TC_CMR_BEEVT_Msk & ((value) << TC_CMR_BEEVT_Pos))) -#define TC_CMR_BEEVT_NONE (0x0u << 28) /**< \brief (TC_CMR) None */ -#define TC_CMR_BEEVT_SET (0x1u << 28) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BEEVT_CLEAR (0x2u << 28) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BEEVT_TOGGLE (0x3u << 28) /**< \brief (TC_CMR) Toggle */ -#define TC_CMR_BSWTRG_Pos 30 -#define TC_CMR_BSWTRG_Msk (0x3u << TC_CMR_BSWTRG_Pos) /**< \brief (TC_CMR) Software Trigger Effect on TIOB */ -#define TC_CMR_BSWTRG(value) ((TC_CMR_BSWTRG_Msk & ((value) << TC_CMR_BSWTRG_Pos))) -#define TC_CMR_BSWTRG_NONE (0x0u << 30) /**< \brief (TC_CMR) None */ -#define TC_CMR_BSWTRG_SET (0x1u << 30) /**< \brief (TC_CMR) Set */ -#define TC_CMR_BSWTRG_CLEAR (0x2u << 30) /**< \brief (TC_CMR) Clear */ -#define TC_CMR_BSWTRG_TOGGLE (0x3u << 30) /**< \brief (TC_CMR) Toggle */ -/* -------- TC_SMMR : (TC Offset: N/A) Stepper Motor Mode Register -------- */ -#define TC_SMMR_GCEN (0x1u << 0) /**< \brief (TC_SMMR) Gray Count Enable */ -#define TC_SMMR_DOWN (0x1u << 1) /**< \brief (TC_SMMR) Down Count */ -/* -------- TC_RAB : (TC Offset: N/A) Register AB -------- */ -#define TC_RAB_RAB_Pos 0 -#define TC_RAB_RAB_Msk (0xffffffffu << TC_RAB_RAB_Pos) /**< \brief (TC_RAB) Register A or Register B */ -/* -------- TC_CV : (TC Offset: N/A) Counter Value -------- */ -#define TC_CV_CV_Pos 0 -#define TC_CV_CV_Msk (0xffffffffu << TC_CV_CV_Pos) /**< \brief (TC_CV) Counter Value */ -/* -------- TC_RA : (TC Offset: N/A) Register A -------- */ -#define TC_RA_RA_Pos 0 -#define TC_RA_RA_Msk (0xffffffffu << TC_RA_RA_Pos) /**< \brief (TC_RA) Register A */ -#define TC_RA_RA(value) ((TC_RA_RA_Msk & ((value) << TC_RA_RA_Pos))) -/* -------- TC_RB : (TC Offset: N/A) Register B -------- */ -#define TC_RB_RB_Pos 0 -#define TC_RB_RB_Msk (0xffffffffu << TC_RB_RB_Pos) /**< \brief (TC_RB) Register B */ -#define TC_RB_RB(value) ((TC_RB_RB_Msk & ((value) << TC_RB_RB_Pos))) -/* -------- TC_RC : (TC Offset: N/A) Register C -------- */ -#define TC_RC_RC_Pos 0 -#define TC_RC_RC_Msk (0xffffffffu << TC_RC_RC_Pos) /**< \brief (TC_RC) Register C */ -#define TC_RC_RC(value) ((TC_RC_RC_Msk & ((value) << TC_RC_RC_Pos))) -/* -------- TC_SR : (TC Offset: N/A) Status Register -------- */ -#define TC_SR_COVFS (0x1u << 0) /**< \brief (TC_SR) Counter Overflow Status (cleared on read) */ -#define TC_SR_LOVRS (0x1u << 1) /**< \brief (TC_SR) Load Overrun Status (cleared on read) */ -#define TC_SR_CPAS (0x1u << 2) /**< \brief (TC_SR) RA Compare Status (cleared on read) */ -#define TC_SR_CPBS (0x1u << 3) /**< \brief (TC_SR) RB Compare Status (cleared on read) */ -#define TC_SR_CPCS (0x1u << 4) /**< \brief (TC_SR) RC Compare Status (cleared on read) */ -#define TC_SR_LDRAS (0x1u << 5) /**< \brief (TC_SR) RA Loading Status (cleared on read) */ -#define TC_SR_LDRBS (0x1u << 6) /**< \brief (TC_SR) RB Loading Status (cleared on read) */ -#define TC_SR_ETRGS (0x1u << 7) /**< \brief (TC_SR) External Trigger Status (cleared on read) */ -#define TC_SR_CLKSTA (0x1u << 16) /**< \brief (TC_SR) Clock Enabling Status */ -#define TC_SR_MTIOA (0x1u << 17) /**< \brief (TC_SR) TIOA Mirror */ -#define TC_SR_MTIOB (0x1u << 18) /**< \brief (TC_SR) TIOB Mirror */ -/* -------- TC_IER : (TC Offset: N/A) Interrupt Enable Register -------- */ -#define TC_IER_COVFS (0x1u << 0) /**< \brief (TC_IER) Counter Overflow */ -#define TC_IER_LOVRS (0x1u << 1) /**< \brief (TC_IER) Load Overrun */ -#define TC_IER_CPAS (0x1u << 2) /**< \brief (TC_IER) RA Compare */ -#define TC_IER_CPBS (0x1u << 3) /**< \brief (TC_IER) RB Compare */ -#define TC_IER_CPCS (0x1u << 4) /**< \brief (TC_IER) RC Compare */ -#define TC_IER_LDRAS (0x1u << 5) /**< \brief (TC_IER) RA Loading */ -#define TC_IER_LDRBS (0x1u << 6) /**< \brief (TC_IER) RB Loading */ -#define TC_IER_ETRGS (0x1u << 7) /**< \brief (TC_IER) External Trigger */ -/* -------- TC_IDR : (TC Offset: N/A) Interrupt Disable Register -------- */ -#define TC_IDR_COVFS (0x1u << 0) /**< \brief (TC_IDR) Counter Overflow */ -#define TC_IDR_LOVRS (0x1u << 1) /**< \brief (TC_IDR) Load Overrun */ -#define TC_IDR_CPAS (0x1u << 2) /**< \brief (TC_IDR) RA Compare */ -#define TC_IDR_CPBS (0x1u << 3) /**< \brief (TC_IDR) RB Compare */ -#define TC_IDR_CPCS (0x1u << 4) /**< \brief (TC_IDR) RC Compare */ -#define TC_IDR_LDRAS (0x1u << 5) /**< \brief (TC_IDR) RA Loading */ -#define TC_IDR_LDRBS (0x1u << 6) /**< \brief (TC_IDR) RB Loading */ -#define TC_IDR_ETRGS (0x1u << 7) /**< \brief (TC_IDR) External Trigger */ -/* -------- TC_IMR : (TC Offset: N/A) Interrupt Mask Register -------- */ -#define TC_IMR_COVFS (0x1u << 0) /**< \brief (TC_IMR) Counter Overflow */ -#define TC_IMR_LOVRS (0x1u << 1) /**< \brief (TC_IMR) Load Overrun */ -#define TC_IMR_CPAS (0x1u << 2) /**< \brief (TC_IMR) RA Compare */ -#define TC_IMR_CPBS (0x1u << 3) /**< \brief (TC_IMR) RB Compare */ -#define TC_IMR_CPCS (0x1u << 4) /**< \brief (TC_IMR) RC Compare */ -#define TC_IMR_LDRAS (0x1u << 5) /**< \brief (TC_IMR) RA Loading */ -#define TC_IMR_LDRBS (0x1u << 6) /**< \brief (TC_IMR) RB Loading */ -#define TC_IMR_ETRGS (0x1u << 7) /**< \brief (TC_IMR) External Trigger */ -/* -------- TC_EMR : (TC Offset: N/A) Extended Mode Register -------- */ -#define TC_EMR_TRIGSRCA_Pos 0 -#define TC_EMR_TRIGSRCA_Msk (0x3u << TC_EMR_TRIGSRCA_Pos) /**< \brief (TC_EMR) Trigger Source for Input A */ -#define TC_EMR_TRIGSRCA(value) ((TC_EMR_TRIGSRCA_Msk & ((value) << TC_EMR_TRIGSRCA_Pos))) -#define TC_EMR_TRIGSRCA_EXTERNAL_TIOAx (0x0u << 0) /**< \brief (TC_EMR) The trigger/capture input A is driven by external pin TIOAx */ -#define TC_EMR_TRIGSRCA_PWMx (0x1u << 0) /**< \brief (TC_EMR) The trigger/capture input A is driven internally by PWMx */ -#define TC_EMR_TRIGSRCB_Pos 4 -#define TC_EMR_TRIGSRCB_Msk (0x3u << TC_EMR_TRIGSRCB_Pos) /**< \brief (TC_EMR) Trigger Source for Input B */ -#define TC_EMR_TRIGSRCB(value) ((TC_EMR_TRIGSRCB_Msk & ((value) << TC_EMR_TRIGSRCB_Pos))) -#define TC_EMR_TRIGSRCB_EXTERNAL_TIOBx (0x0u << 4) /**< \brief (TC_EMR) The trigger/capture input B is driven by external pin TIOBx */ -#define TC_EMR_TRIGSRCB_PWMx (0x1u << 4) /**< \brief (TC_EMR) The trigger/capture input B is driven internally by PWMx */ -#define TC_EMR_NODIVCLK (0x1u << 8) /**< \brief (TC_EMR) No Divided Clock */ -/* -------- TC_BCR : (TC Offset: 0xC0) Block Control Register -------- */ -#define TC_BCR_SYNC (0x1u << 0) /**< \brief (TC_BCR) Synchro Command */ -/* -------- TC_BMR : (TC Offset: 0xC4) Block Mode Register -------- */ -#define TC_BMR_TC0XC0S_Pos 0 -#define TC_BMR_TC0XC0S_Msk (0x3u << TC_BMR_TC0XC0S_Pos) /**< \brief (TC_BMR) External Clock Signal 0 Selection */ -#define TC_BMR_TC0XC0S(value) ((TC_BMR_TC0XC0S_Msk & ((value) << TC_BMR_TC0XC0S_Pos))) -#define TC_BMR_TC0XC0S_TCLK0 (0x0u << 0) /**< \brief (TC_BMR) Signal connected to XC0: TCLK0 */ -#define TC_BMR_TC0XC0S_TIOA1 (0x2u << 0) /**< \brief (TC_BMR) Signal connected to XC0: TIOA1 */ -#define TC_BMR_TC0XC0S_TIOA2 (0x3u << 0) /**< \brief (TC_BMR) Signal connected to XC0: TIOA2 */ -#define TC_BMR_TC1XC1S_Pos 2 -#define TC_BMR_TC1XC1S_Msk (0x3u << TC_BMR_TC1XC1S_Pos) /**< \brief (TC_BMR) External Clock Signal 1 Selection */ -#define TC_BMR_TC1XC1S(value) ((TC_BMR_TC1XC1S_Msk & ((value) << TC_BMR_TC1XC1S_Pos))) -#define TC_BMR_TC1XC1S_TCLK1 (0x0u << 2) /**< \brief (TC_BMR) Signal connected to XC1: TCLK1 */ -#define TC_BMR_TC1XC1S_TIOA0 (0x2u << 2) /**< \brief (TC_BMR) Signal connected to XC1: TIOA0 */ -#define TC_BMR_TC1XC1S_TIOA2 (0x3u << 2) /**< \brief (TC_BMR) Signal connected to XC1: TIOA2 */ -#define TC_BMR_TC2XC2S_Pos 4 -#define TC_BMR_TC2XC2S_Msk (0x3u << TC_BMR_TC2XC2S_Pos) /**< \brief (TC_BMR) External Clock Signal 2 Selection */ -#define TC_BMR_TC2XC2S(value) ((TC_BMR_TC2XC2S_Msk & ((value) << TC_BMR_TC2XC2S_Pos))) -#define TC_BMR_TC2XC2S_TCLK2 (0x0u << 4) /**< \brief (TC_BMR) Signal connected to XC2: TCLK2 */ -#define TC_BMR_TC2XC2S_TIOA0 (0x2u << 4) /**< \brief (TC_BMR) Signal connected to XC2: TIOA0 */ -#define TC_BMR_TC2XC2S_TIOA1 (0x3u << 4) /**< \brief (TC_BMR) Signal connected to XC2: TIOA1 */ -#define TC_BMR_QDEN (0x1u << 8) /**< \brief (TC_BMR) Quadrature Decoder Enabled */ -#define TC_BMR_POSEN (0x1u << 9) /**< \brief (TC_BMR) Position Enabled */ -#define TC_BMR_SPEEDEN (0x1u << 10) /**< \brief (TC_BMR) Speed Enabled */ -#define TC_BMR_QDTRANS (0x1u << 11) /**< \brief (TC_BMR) Quadrature Decoding Transparent */ -#define TC_BMR_EDGPHA (0x1u << 12) /**< \brief (TC_BMR) Edge on PHA Count Mode */ -#define TC_BMR_INVA (0x1u << 13) /**< \brief (TC_BMR) Inverted PHA */ -#define TC_BMR_INVB (0x1u << 14) /**< \brief (TC_BMR) Inverted PHB */ -#define TC_BMR_INVIDX (0x1u << 15) /**< \brief (TC_BMR) Inverted Index */ -#define TC_BMR_SWAP (0x1u << 16) /**< \brief (TC_BMR) Swap PHA and PHB */ -#define TC_BMR_IDXPHB (0x1u << 17) /**< \brief (TC_BMR) Index Pin is PHB Pin */ -#define TC_BMR_MAXFILT_Pos 20 -#define TC_BMR_MAXFILT_Msk (0x3fu << TC_BMR_MAXFILT_Pos) /**< \brief (TC_BMR) Maximum Filter */ -#define TC_BMR_MAXFILT(value) ((TC_BMR_MAXFILT_Msk & ((value) << TC_BMR_MAXFILT_Pos))) -/* -------- TC_QIER : (TC Offset: 0xC8) QDEC Interrupt Enable Register -------- */ -#define TC_QIER_IDX (0x1u << 0) /**< \brief (TC_QIER) Index */ -#define TC_QIER_DIRCHG (0x1u << 1) /**< \brief (TC_QIER) Direction Change */ -#define TC_QIER_QERR (0x1u << 2) /**< \brief (TC_QIER) Quadrature Error */ -/* -------- TC_QIDR : (TC Offset: 0xCC) QDEC Interrupt Disable Register -------- */ -#define TC_QIDR_IDX (0x1u << 0) /**< \brief (TC_QIDR) Index */ -#define TC_QIDR_DIRCHG (0x1u << 1) /**< \brief (TC_QIDR) Direction Change */ -#define TC_QIDR_QERR (0x1u << 2) /**< \brief (TC_QIDR) Quadrature Error */ -/* -------- TC_QIMR : (TC Offset: 0xD0) QDEC Interrupt Mask Register -------- */ -#define TC_QIMR_IDX (0x1u << 0) /**< \brief (TC_QIMR) Index */ -#define TC_QIMR_DIRCHG (0x1u << 1) /**< \brief (TC_QIMR) Direction Change */ -#define TC_QIMR_QERR (0x1u << 2) /**< \brief (TC_QIMR) Quadrature Error */ -/* -------- TC_QISR : (TC Offset: 0xD4) QDEC Interrupt Status Register -------- */ -#define TC_QISR_IDX (0x1u << 0) /**< \brief (TC_QISR) Index */ -#define TC_QISR_DIRCHG (0x1u << 1) /**< \brief (TC_QISR) Direction Change */ -#define TC_QISR_QERR (0x1u << 2) /**< \brief (TC_QISR) Quadrature Error */ -#define TC_QISR_DIR (0x1u << 8) /**< \brief (TC_QISR) Direction */ -/* -------- TC_FMR : (TC Offset: 0xD8) Fault Mode Register -------- */ -#define TC_FMR_ENCF0 (0x1u << 0) /**< \brief (TC_FMR) Enable Compare Fault Channel 0 */ -#define TC_FMR_ENCF1 (0x1u << 1) /**< \brief (TC_FMR) Enable Compare Fault Channel 1 */ -/* -------- TC_WPMR : (TC Offset: 0xE4) Write Protection Mode Register -------- */ -#define TC_WPMR_WPEN (0x1u << 0) /**< \brief (TC_WPMR) Write Protection Enable */ -#define TC_WPMR_WPKEY_Pos 8 -#define TC_WPMR_WPKEY_Msk (0xffffffu << TC_WPMR_WPKEY_Pos) /**< \brief (TC_WPMR) Write Protection Key */ -#define TC_WPMR_WPKEY(value) ((TC_WPMR_WPKEY_Msk & ((value) << TC_WPMR_WPKEY_Pos))) -#define TC_WPMR_WPKEY_PASSWD (0x54494Du << 8) /**< \brief (TC_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_TC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h deleted file mode 100644 index 5b785aa..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/trng.h +++ /dev/null @@ -1,88 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TRNG_COMPONENT_ -#define _SAMS70_TRNG_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR True Random Number Generator */ -/* ============================================================================= */ -/** \addtogroup SAMS70_TRNG True Random Number Generator */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Trng hardware registers */ -typedef struct { - __O uint32_t TRNG_CR; /**< \brief (Trng Offset: 0x00) Control Register */ - __I uint32_t Reserved1[3]; - __O uint32_t TRNG_IER; /**< \brief (Trng Offset: 0x10) Interrupt Enable Register */ - __O uint32_t TRNG_IDR; /**< \brief (Trng Offset: 0x14) Interrupt Disable Register */ - __I uint32_t TRNG_IMR; /**< \brief (Trng Offset: 0x18) Interrupt Mask Register */ - __I uint32_t TRNG_ISR; /**< \brief (Trng Offset: 0x1C) Interrupt Status Register */ - __I uint32_t Reserved2[12]; - __I uint32_t TRNG_ODATA; /**< \brief (Trng Offset: 0x50) Output Data Register */ -} Trng; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- TRNG_CR : (TRNG Offset: 0x00) Control Register -------- */ -#define TRNG_CR_ENABLE (0x1u << 0) /**< \brief (TRNG_CR) Enables the TRNG to provide random values */ -#define TRNG_CR_KEY_Pos 8 -#define TRNG_CR_KEY_Msk (0xffffffu << TRNG_CR_KEY_Pos) /**< \brief (TRNG_CR) Security Key. */ -#define TRNG_CR_KEY(value) ((TRNG_CR_KEY_Msk & ((value) << TRNG_CR_KEY_Pos))) -#define TRNG_CR_KEY_PASSWD (0x524E47u << 8) /**< \brief (TRNG_CR) Writing any other value in this field aborts the write operation. */ -/* -------- TRNG_IER : (TRNG Offset: 0x10) Interrupt Enable Register -------- */ -#define TRNG_IER_DATRDY (0x1u << 0) /**< \brief (TRNG_IER) Data Ready Interrupt Enable */ -/* -------- TRNG_IDR : (TRNG Offset: 0x14) Interrupt Disable Register -------- */ -#define TRNG_IDR_DATRDY (0x1u << 0) /**< \brief (TRNG_IDR) Data Ready Interrupt Disable */ -/* -------- TRNG_IMR : (TRNG Offset: 0x18) Interrupt Mask Register -------- */ -#define TRNG_IMR_DATRDY (0x1u << 0) /**< \brief (TRNG_IMR) Data Ready Interrupt Mask */ -/* -------- TRNG_ISR : (TRNG Offset: 0x1C) Interrupt Status Register -------- */ -#define TRNG_ISR_DATRDY (0x1u << 0) /**< \brief (TRNG_ISR) Data Ready */ -/* -------- TRNG_ODATA : (TRNG Offset: 0x50) Output Data Register -------- */ -#define TRNG_ODATA_ODATA_Pos 0 -#define TRNG_ODATA_ODATA_Msk (0xffffffffu << TRNG_ODATA_ODATA_Pos) /**< \brief (TRNG_ODATA) Output Data */ - -/*@}*/ - - -#endif /* _SAMS70_TRNG_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h deleted file mode 100644 index 366650f..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/twihs.h +++ /dev/null @@ -1,265 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS_COMPONENT_ -#define _SAMS70_TWIHS_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Two-wire Interface High Speed */ -/* ============================================================================= */ -/** \addtogroup SAMS70_TWIHS Two-wire Interface High Speed */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Twihs hardware registers */ -typedef struct { - __O uint32_t TWIHS_CR; /**< \brief (Twihs Offset: 0x00) Control Register */ - __IO uint32_t TWIHS_MMR; /**< \brief (Twihs Offset: 0x04) Master Mode Register */ - __IO uint32_t TWIHS_SMR; /**< \brief (Twihs Offset: 0x08) Slave Mode Register */ - __IO uint32_t TWIHS_IADR; /**< \brief (Twihs Offset: 0x0C) Internal Address Register */ - __IO uint32_t TWIHS_CWGR; /**< \brief (Twihs Offset: 0x10) Clock Waveform Generator Register */ - __I uint32_t Reserved1[3]; - __I uint32_t TWIHS_SR; /**< \brief (Twihs Offset: 0x20) Status Register */ - __O uint32_t TWIHS_IER; /**< \brief (Twihs Offset: 0x24) Interrupt Enable Register */ - __O uint32_t TWIHS_IDR; /**< \brief (Twihs Offset: 0x28) Interrupt Disable Register */ - __I uint32_t TWIHS_IMR; /**< \brief (Twihs Offset: 0x2C) Interrupt Mask Register */ - __I uint32_t TWIHS_RHR; /**< \brief (Twihs Offset: 0x30) Receive Holding Register */ - __O uint32_t TWIHS_THR; /**< \brief (Twihs Offset: 0x34) Transmit Holding Register */ - __IO uint32_t TWIHS_SMBTR; /**< \brief (Twihs Offset: 0x38) SMBus Timing Register */ - __I uint32_t Reserved2[2]; - __IO uint32_t TWIHS_FILTR; /**< \brief (Twihs Offset: 0x44) Filter Register */ - __I uint32_t Reserved3[1]; - __IO uint32_t TWIHS_SWMR; /**< \brief (Twihs Offset: 0x4C) SleepWalking Matching Register */ - __I uint32_t Reserved4[37]; - __IO uint32_t TWIHS_WPMR; /**< \brief (Twihs Offset: 0xE4) Write Protection Mode Register */ - __I uint32_t TWIHS_WPSR; /**< \brief (Twihs Offset: 0xE8) Write Protection Status Register */ -} Twihs; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- TWIHS_CR : (TWIHS Offset: 0x00) Control Register -------- */ -#define TWIHS_CR_START (0x1u << 0) /**< \brief (TWIHS_CR) Send a START Condition */ -#define TWIHS_CR_STOP (0x1u << 1) /**< \brief (TWIHS_CR) Send a STOP Condition */ -#define TWIHS_CR_MSEN (0x1u << 2) /**< \brief (TWIHS_CR) TWIHS Master Mode Enabled */ -#define TWIHS_CR_MSDIS (0x1u << 3) /**< \brief (TWIHS_CR) TWIHS Master Mode Disabled */ -#define TWIHS_CR_SVEN (0x1u << 4) /**< \brief (TWIHS_CR) TWIHS Slave Mode Enabled */ -#define TWIHS_CR_SVDIS (0x1u << 5) /**< \brief (TWIHS_CR) TWIHS Slave Mode Disabled */ -#define TWIHS_CR_QUICK (0x1u << 6) /**< \brief (TWIHS_CR) SMBus Quick Command */ -#define TWIHS_CR_SWRST (0x1u << 7) /**< \brief (TWIHS_CR) Software Reset */ -#define TWIHS_CR_HSEN (0x1u << 8) /**< \brief (TWIHS_CR) TWIHS High-Speed Mode Enabled */ -#define TWIHS_CR_HSDIS (0x1u << 9) /**< \brief (TWIHS_CR) TWIHS High-Speed Mode Disabled */ -#define TWIHS_CR_SMBEN (0x1u << 10) /**< \brief (TWIHS_CR) SMBus Mode Enabled */ -#define TWIHS_CR_SMBDIS (0x1u << 11) /**< \brief (TWIHS_CR) SMBus Mode Disabled */ -#define TWIHS_CR_PECEN (0x1u << 12) /**< \brief (TWIHS_CR) Packet Error Checking Enable */ -#define TWIHS_CR_PECDIS (0x1u << 13) /**< \brief (TWIHS_CR) Packet Error Checking Disable */ -#define TWIHS_CR_PECRQ (0x1u << 14) /**< \brief (TWIHS_CR) PEC Request */ -#define TWIHS_CR_CLEAR (0x1u << 15) /**< \brief (TWIHS_CR) Bus CLEAR Command */ -/* -------- TWIHS_MMR : (TWIHS Offset: 0x04) Master Mode Register -------- */ -#define TWIHS_MMR_IADRSZ_Pos 8 -#define TWIHS_MMR_IADRSZ_Msk (0x3u << TWIHS_MMR_IADRSZ_Pos) /**< \brief (TWIHS_MMR) Internal Device Address Size */ -#define TWIHS_MMR_IADRSZ(value) ((TWIHS_MMR_IADRSZ_Msk & ((value) << TWIHS_MMR_IADRSZ_Pos))) -#define TWIHS_MMR_IADRSZ_NONE (0x0u << 8) /**< \brief (TWIHS_MMR) No internal device address */ -#define TWIHS_MMR_IADRSZ_1_BYTE (0x1u << 8) /**< \brief (TWIHS_MMR) One-byte internal device address */ -#define TWIHS_MMR_IADRSZ_2_BYTE (0x2u << 8) /**< \brief (TWIHS_MMR) Two-byte internal device address */ -#define TWIHS_MMR_IADRSZ_3_BYTE (0x3u << 8) /**< \brief (TWIHS_MMR) Three-byte internal device address */ -#define TWIHS_MMR_MREAD (0x1u << 12) /**< \brief (TWIHS_MMR) Master Read Direction */ -#define TWIHS_MMR_DADR_Pos 16 -#define TWIHS_MMR_DADR_Msk (0x7fu << TWIHS_MMR_DADR_Pos) /**< \brief (TWIHS_MMR) Device Address */ -#define TWIHS_MMR_DADR(value) ((TWIHS_MMR_DADR_Msk & ((value) << TWIHS_MMR_DADR_Pos))) -/* -------- TWIHS_SMR : (TWIHS Offset: 0x08) Slave Mode Register -------- */ -#define TWIHS_SMR_NACKEN (0x1u << 0) /**< \brief (TWIHS_SMR) Slave Receiver Data Phase NACK enable */ -#define TWIHS_SMR_SMDA (0x1u << 2) /**< \brief (TWIHS_SMR) SMBus Default Address */ -#define TWIHS_SMR_SMHH (0x1u << 3) /**< \brief (TWIHS_SMR) SMBus Host Header */ -#define TWIHS_SMR_SCLWSDIS (0x1u << 6) /**< \brief (TWIHS_SMR) Clock Wait State Disable */ -#define TWIHS_SMR_MASK_Pos 8 -#define TWIHS_SMR_MASK_Msk (0x7fu << TWIHS_SMR_MASK_Pos) /**< \brief (TWIHS_SMR) Slave Address Mask */ -#define TWIHS_SMR_MASK(value) ((TWIHS_SMR_MASK_Msk & ((value) << TWIHS_SMR_MASK_Pos))) -#define TWIHS_SMR_SADR_Pos 16 -#define TWIHS_SMR_SADR_Msk (0x7fu << TWIHS_SMR_SADR_Pos) /**< \brief (TWIHS_SMR) Slave Address */ -#define TWIHS_SMR_SADR(value) ((TWIHS_SMR_SADR_Msk & ((value) << TWIHS_SMR_SADR_Pos))) -#define TWIHS_SMR_SADR1EN (0x1u << 28) /**< \brief (TWIHS_SMR) Slave Address 1 Enable */ -#define TWIHS_SMR_SADR2EN (0x1u << 29) /**< \brief (TWIHS_SMR) Slave Address 2 Enable */ -#define TWIHS_SMR_SADR3EN (0x1u << 30) /**< \brief (TWIHS_SMR) Slave Address 3 Enable */ -#define TWIHS_SMR_DATAMEN (0x1u << 31) /**< \brief (TWIHS_SMR) Data Matching Enable */ -/* -------- TWIHS_IADR : (TWIHS Offset: 0x0C) Internal Address Register -------- */ -#define TWIHS_IADR_IADR_Pos 0 -#define TWIHS_IADR_IADR_Msk (0xffffffu << TWIHS_IADR_IADR_Pos) /**< \brief (TWIHS_IADR) Internal Address */ -#define TWIHS_IADR_IADR(value) ((TWIHS_IADR_IADR_Msk & ((value) << TWIHS_IADR_IADR_Pos))) -/* -------- TWIHS_CWGR : (TWIHS Offset: 0x10) Clock Waveform Generator Register -------- */ -#define TWIHS_CWGR_CLDIV_Pos 0 -#define TWIHS_CWGR_CLDIV_Msk (0xffu << TWIHS_CWGR_CLDIV_Pos) /**< \brief (TWIHS_CWGR) Clock Low Divider */ -#define TWIHS_CWGR_CLDIV(value) ((TWIHS_CWGR_CLDIV_Msk & ((value) << TWIHS_CWGR_CLDIV_Pos))) -#define TWIHS_CWGR_CHDIV_Pos 8 -#define TWIHS_CWGR_CHDIV_Msk (0xffu << TWIHS_CWGR_CHDIV_Pos) /**< \brief (TWIHS_CWGR) Clock High Divider */ -#define TWIHS_CWGR_CHDIV(value) ((TWIHS_CWGR_CHDIV_Msk & ((value) << TWIHS_CWGR_CHDIV_Pos))) -#define TWIHS_CWGR_CKDIV_Pos 16 -#define TWIHS_CWGR_CKDIV_Msk (0x7u << TWIHS_CWGR_CKDIV_Pos) /**< \brief (TWIHS_CWGR) Clock Divider */ -#define TWIHS_CWGR_CKDIV(value) ((TWIHS_CWGR_CKDIV_Msk & ((value) << TWIHS_CWGR_CKDIV_Pos))) -#define TWIHS_CWGR_HOLD_Pos 24 -#define TWIHS_CWGR_HOLD_Msk (0x1fu << TWIHS_CWGR_HOLD_Pos) /**< \brief (TWIHS_CWGR) TWD Hold Time Versus TWCK Falling */ -#define TWIHS_CWGR_HOLD(value) ((TWIHS_CWGR_HOLD_Msk & ((value) << TWIHS_CWGR_HOLD_Pos))) -/* -------- TWIHS_SR : (TWIHS Offset: 0x20) Status Register -------- */ -#define TWIHS_SR_TXCOMP (0x1u << 0) /**< \brief (TWIHS_SR) Transmission Completed (cleared by writing TWIHS_THR) */ -#define TWIHS_SR_RXRDY (0x1u << 1) /**< \brief (TWIHS_SR) Receive Holding Register Ready (cleared by reading TWIHS_RHR) */ -#define TWIHS_SR_TXRDY (0x1u << 2) /**< \brief (TWIHS_SR) Transmit Holding Register Ready (cleared by writing TWIHS_THR) */ -#define TWIHS_SR_SVREAD (0x1u << 3) /**< \brief (TWIHS_SR) Slave Read */ -#define TWIHS_SR_SVACC (0x1u << 4) /**< \brief (TWIHS_SR) Slave Access */ -#define TWIHS_SR_GACC (0x1u << 5) /**< \brief (TWIHS_SR) General Call Access (cleared on read) */ -#define TWIHS_SR_OVRE (0x1u << 6) /**< \brief (TWIHS_SR) Overrun Error (cleared on read) */ -#define TWIHS_SR_UNRE (0x1u << 7) /**< \brief (TWIHS_SR) Underrun Error (cleared on read) */ -#define TWIHS_SR_NACK (0x1u << 8) /**< \brief (TWIHS_SR) Not Acknowledged (cleared on read) */ -#define TWIHS_SR_ARBLST (0x1u << 9) /**< \brief (TWIHS_SR) Arbitration Lost (cleared on read) */ -#define TWIHS_SR_SCLWS (0x1u << 10) /**< \brief (TWIHS_SR) Clock Wait State */ -#define TWIHS_SR_EOSACC (0x1u << 11) /**< \brief (TWIHS_SR) End Of Slave Access (cleared on read) */ -#define TWIHS_SR_MCACK (0x1u << 16) /**< \brief (TWIHS_SR) Master Code Acknowledge (cleared on read) */ -#define TWIHS_SR_TOUT (0x1u << 18) /**< \brief (TWIHS_SR) Timeout Error (cleared on read) */ -#define TWIHS_SR_PECERR (0x1u << 19) /**< \brief (TWIHS_SR) PEC Error (cleared on read) */ -#define TWIHS_SR_SMBDAM (0x1u << 20) /**< \brief (TWIHS_SR) SMBus Default Address Match (cleared on read) */ -#define TWIHS_SR_SMBHHM (0x1u << 21) /**< \brief (TWIHS_SR) SMBus Host Header Address Match (cleared on read) */ -#define TWIHS_SR_SCL (0x1u << 24) /**< \brief (TWIHS_SR) SCL line value */ -#define TWIHS_SR_SDA (0x1u << 25) /**< \brief (TWIHS_SR) SDA line value */ -/* -------- TWIHS_IER : (TWIHS Offset: 0x24) Interrupt Enable Register -------- */ -#define TWIHS_IER_TXCOMP (0x1u << 0) /**< \brief (TWIHS_IER) Transmission Completed Interrupt Enable */ -#define TWIHS_IER_RXRDY (0x1u << 1) /**< \brief (TWIHS_IER) Receive Holding Register Ready Interrupt Enable */ -#define TWIHS_IER_TXRDY (0x1u << 2) /**< \brief (TWIHS_IER) Transmit Holding Register Ready Interrupt Enable */ -#define TWIHS_IER_SVACC (0x1u << 4) /**< \brief (TWIHS_IER) Slave Access Interrupt Enable */ -#define TWIHS_IER_GACC (0x1u << 5) /**< \brief (TWIHS_IER) General Call Access Interrupt Enable */ -#define TWIHS_IER_OVRE (0x1u << 6) /**< \brief (TWIHS_IER) Overrun Error Interrupt Enable */ -#define TWIHS_IER_UNRE (0x1u << 7) /**< \brief (TWIHS_IER) Underrun Error Interrupt Enable */ -#define TWIHS_IER_NACK (0x1u << 8) /**< \brief (TWIHS_IER) Not Acknowledge Interrupt Enable */ -#define TWIHS_IER_ARBLST (0x1u << 9) /**< \brief (TWIHS_IER) Arbitration Lost Interrupt Enable */ -#define TWIHS_IER_SCL_WS (0x1u << 10) /**< \brief (TWIHS_IER) Clock Wait State Interrupt Enable */ -#define TWIHS_IER_EOSACC (0x1u << 11) /**< \brief (TWIHS_IER) End Of Slave Access Interrupt Enable */ -#define TWIHS_IER_MCACK (0x1u << 16) /**< \brief (TWIHS_IER) Master Code Acknowledge Interrupt Enable */ -#define TWIHS_IER_TOUT (0x1u << 18) /**< \brief (TWIHS_IER) Timeout Error Interrupt Enable */ -#define TWIHS_IER_PECERR (0x1u << 19) /**< \brief (TWIHS_IER) PEC Error Interrupt Enable */ -#define TWIHS_IER_SMBDAM (0x1u << 20) /**< \brief (TWIHS_IER) SMBus Default Address Match Interrupt Enable */ -#define TWIHS_IER_SMBHHM (0x1u << 21) /**< \brief (TWIHS_IER) SMBus Host Header Address Match Interrupt Enable */ -/* -------- TWIHS_IDR : (TWIHS Offset: 0x28) Interrupt Disable Register -------- */ -#define TWIHS_IDR_TXCOMP (0x1u << 0) /**< \brief (TWIHS_IDR) Transmission Completed Interrupt Disable */ -#define TWIHS_IDR_RXRDY (0x1u << 1) /**< \brief (TWIHS_IDR) Receive Holding Register Ready Interrupt Disable */ -#define TWIHS_IDR_TXRDY (0x1u << 2) /**< \brief (TWIHS_IDR) Transmit Holding Register Ready Interrupt Disable */ -#define TWIHS_IDR_SVACC (0x1u << 4) /**< \brief (TWIHS_IDR) Slave Access Interrupt Disable */ -#define TWIHS_IDR_GACC (0x1u << 5) /**< \brief (TWIHS_IDR) General Call Access Interrupt Disable */ -#define TWIHS_IDR_OVRE (0x1u << 6) /**< \brief (TWIHS_IDR) Overrun Error Interrupt Disable */ -#define TWIHS_IDR_UNRE (0x1u << 7) /**< \brief (TWIHS_IDR) Underrun Error Interrupt Disable */ -#define TWIHS_IDR_NACK (0x1u << 8) /**< \brief (TWIHS_IDR) Not Acknowledge Interrupt Disable */ -#define TWIHS_IDR_ARBLST (0x1u << 9) /**< \brief (TWIHS_IDR) Arbitration Lost Interrupt Disable */ -#define TWIHS_IDR_SCL_WS (0x1u << 10) /**< \brief (TWIHS_IDR) Clock Wait State Interrupt Disable */ -#define TWIHS_IDR_EOSACC (0x1u << 11) /**< \brief (TWIHS_IDR) End Of Slave Access Interrupt Disable */ -#define TWIHS_IDR_MCACK (0x1u << 16) /**< \brief (TWIHS_IDR) Master Code Acknowledge Interrupt Disable */ -#define TWIHS_IDR_TOUT (0x1u << 18) /**< \brief (TWIHS_IDR) Timeout Error Interrupt Disable */ -#define TWIHS_IDR_PECERR (0x1u << 19) /**< \brief (TWIHS_IDR) PEC Error Interrupt Disable */ -#define TWIHS_IDR_SMBDAM (0x1u << 20) /**< \brief (TWIHS_IDR) SMBus Default Address Match Interrupt Disable */ -#define TWIHS_IDR_SMBHHM (0x1u << 21) /**< \brief (TWIHS_IDR) SMBus Host Header Address Match Interrupt Disable */ -/* -------- TWIHS_IMR : (TWIHS Offset: 0x2C) Interrupt Mask Register -------- */ -#define TWIHS_IMR_TXCOMP (0x1u << 0) /**< \brief (TWIHS_IMR) Transmission Completed Interrupt Mask */ -#define TWIHS_IMR_RXRDY (0x1u << 1) /**< \brief (TWIHS_IMR) Receive Holding Register Ready Interrupt Mask */ -#define TWIHS_IMR_TXRDY (0x1u << 2) /**< \brief (TWIHS_IMR) Transmit Holding Register Ready Interrupt Mask */ -#define TWIHS_IMR_SVACC (0x1u << 4) /**< \brief (TWIHS_IMR) Slave Access Interrupt Mask */ -#define TWIHS_IMR_GACC (0x1u << 5) /**< \brief (TWIHS_IMR) General Call Access Interrupt Mask */ -#define TWIHS_IMR_OVRE (0x1u << 6) /**< \brief (TWIHS_IMR) Overrun Error Interrupt Mask */ -#define TWIHS_IMR_UNRE (0x1u << 7) /**< \brief (TWIHS_IMR) Underrun Error Interrupt Mask */ -#define TWIHS_IMR_NACK (0x1u << 8) /**< \brief (TWIHS_IMR) Not Acknowledge Interrupt Mask */ -#define TWIHS_IMR_ARBLST (0x1u << 9) /**< \brief (TWIHS_IMR) Arbitration Lost Interrupt Mask */ -#define TWIHS_IMR_SCL_WS (0x1u << 10) /**< \brief (TWIHS_IMR) Clock Wait State Interrupt Mask */ -#define TWIHS_IMR_EOSACC (0x1u << 11) /**< \brief (TWIHS_IMR) End Of Slave Access Interrupt Mask */ -#define TWIHS_IMR_MCACK (0x1u << 16) /**< \brief (TWIHS_IMR) Master Code Acknowledge Interrupt Mask */ -#define TWIHS_IMR_TOUT (0x1u << 18) /**< \brief (TWIHS_IMR) Timeout Error Interrupt Mask */ -#define TWIHS_IMR_PECERR (0x1u << 19) /**< \brief (TWIHS_IMR) PEC Error Interrupt Mask */ -#define TWIHS_IMR_SMBDAM (0x1u << 20) /**< \brief (TWIHS_IMR) SMBus Default Address Match Interrupt Mask */ -#define TWIHS_IMR_SMBHHM (0x1u << 21) /**< \brief (TWIHS_IMR) SMBus Host Header Address Match Interrupt Mask */ -/* -------- TWIHS_RHR : (TWIHS Offset: 0x30) Receive Holding Register -------- */ -#define TWIHS_RHR_RXDATA_Pos 0 -#define TWIHS_RHR_RXDATA_Msk (0xffu << TWIHS_RHR_RXDATA_Pos) /**< \brief (TWIHS_RHR) Master or Slave Receive Holding Data */ -/* -------- TWIHS_THR : (TWIHS Offset: 0x34) Transmit Holding Register -------- */ -#define TWIHS_THR_TXDATA_Pos 0 -#define TWIHS_THR_TXDATA_Msk (0xffu << TWIHS_THR_TXDATA_Pos) /**< \brief (TWIHS_THR) Master or Slave Transmit Holding Data */ -#define TWIHS_THR_TXDATA(value) ((TWIHS_THR_TXDATA_Msk & ((value) << TWIHS_THR_TXDATA_Pos))) -/* -------- TWIHS_SMBTR : (TWIHS Offset: 0x38) SMBus Timing Register -------- */ -#define TWIHS_SMBTR_PRESC_Pos 0 -#define TWIHS_SMBTR_PRESC_Msk (0xfu << TWIHS_SMBTR_PRESC_Pos) /**< \brief (TWIHS_SMBTR) SMBus Clock Prescaler */ -#define TWIHS_SMBTR_PRESC(value) ((TWIHS_SMBTR_PRESC_Msk & ((value) << TWIHS_SMBTR_PRESC_Pos))) -#define TWIHS_SMBTR_TLOWS_Pos 8 -#define TWIHS_SMBTR_TLOWS_Msk (0xffu << TWIHS_SMBTR_TLOWS_Pos) /**< \brief (TWIHS_SMBTR) Slave Clock Stretch Maximum Cycles */ -#define TWIHS_SMBTR_TLOWS(value) ((TWIHS_SMBTR_TLOWS_Msk & ((value) << TWIHS_SMBTR_TLOWS_Pos))) -#define TWIHS_SMBTR_TLOWM_Pos 16 -#define TWIHS_SMBTR_TLOWM_Msk (0xffu << TWIHS_SMBTR_TLOWM_Pos) /**< \brief (TWIHS_SMBTR) Master Clock Stretch Maximum Cycles */ -#define TWIHS_SMBTR_TLOWM(value) ((TWIHS_SMBTR_TLOWM_Msk & ((value) << TWIHS_SMBTR_TLOWM_Pos))) -#define TWIHS_SMBTR_THMAX_Pos 24 -#define TWIHS_SMBTR_THMAX_Msk (0xffu << TWIHS_SMBTR_THMAX_Pos) /**< \brief (TWIHS_SMBTR) Clock High Maximum Cycles */ -#define TWIHS_SMBTR_THMAX(value) ((TWIHS_SMBTR_THMAX_Msk & ((value) << TWIHS_SMBTR_THMAX_Pos))) -/* -------- TWIHS_FILTR : (TWIHS Offset: 0x44) Filter Register -------- */ -#define TWIHS_FILTR_FILT (0x1u << 0) /**< \brief (TWIHS_FILTR) RX Digital Filter */ -#define TWIHS_FILTR_PADFEN (0x1u << 1) /**< \brief (TWIHS_FILTR) PAD Filter Enable */ -#define TWIHS_FILTR_PADFCFG (0x1u << 2) /**< \brief (TWIHS_FILTR) PAD Filter Config */ -#define TWIHS_FILTR_THRES_Pos 8 -#define TWIHS_FILTR_THRES_Msk (0x7u << TWIHS_FILTR_THRES_Pos) /**< \brief (TWIHS_FILTR) Digital Filter Threshold */ -#define TWIHS_FILTR_THRES(value) ((TWIHS_FILTR_THRES_Msk & ((value) << TWIHS_FILTR_THRES_Pos))) -/* -------- TWIHS_SWMR : (TWIHS Offset: 0x4C) SleepWalking Matching Register -------- */ -#define TWIHS_SWMR_SADR1_Pos 0 -#define TWIHS_SWMR_SADR1_Msk (0x7fu << TWIHS_SWMR_SADR1_Pos) /**< \brief (TWIHS_SWMR) Slave Address 1 */ -#define TWIHS_SWMR_SADR1(value) ((TWIHS_SWMR_SADR1_Msk & ((value) << TWIHS_SWMR_SADR1_Pos))) -#define TWIHS_SWMR_SADR2_Pos 8 -#define TWIHS_SWMR_SADR2_Msk (0x7fu << TWIHS_SWMR_SADR2_Pos) /**< \brief (TWIHS_SWMR) Slave Address 2 */ -#define TWIHS_SWMR_SADR2(value) ((TWIHS_SWMR_SADR2_Msk & ((value) << TWIHS_SWMR_SADR2_Pos))) -#define TWIHS_SWMR_SADR3_Pos 16 -#define TWIHS_SWMR_SADR3_Msk (0x7fu << TWIHS_SWMR_SADR3_Pos) /**< \brief (TWIHS_SWMR) Slave Address 3 */ -#define TWIHS_SWMR_SADR3(value) ((TWIHS_SWMR_SADR3_Msk & ((value) << TWIHS_SWMR_SADR3_Pos))) -#define TWIHS_SWMR_DATAM_Pos 24 -#define TWIHS_SWMR_DATAM_Msk (0xffu << TWIHS_SWMR_DATAM_Pos) /**< \brief (TWIHS_SWMR) Data Match */ -#define TWIHS_SWMR_DATAM(value) ((TWIHS_SWMR_DATAM_Msk & ((value) << TWIHS_SWMR_DATAM_Pos))) -/* -------- TWIHS_WPMR : (TWIHS Offset: 0xE4) Write Protection Mode Register -------- */ -#define TWIHS_WPMR_WPEN (0x1u << 0) /**< \brief (TWIHS_WPMR) Write Protection Enable */ -#define TWIHS_WPMR_WPKEY_Pos 8 -#define TWIHS_WPMR_WPKEY_Msk (0xffffffu << TWIHS_WPMR_WPKEY_Pos) /**< \brief (TWIHS_WPMR) Write Protection Key */ -#define TWIHS_WPMR_WPKEY(value) ((TWIHS_WPMR_WPKEY_Msk & ((value) << TWIHS_WPMR_WPKEY_Pos))) -#define TWIHS_WPMR_WPKEY_PASSWD (0x545749u << 8) /**< \brief (TWIHS_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0 */ -/* -------- TWIHS_WPSR : (TWIHS Offset: 0xE8) Write Protection Status Register -------- */ -#define TWIHS_WPSR_WPVS (0x1u << 0) /**< \brief (TWIHS_WPSR) Write Protection Violation Status */ -#define TWIHS_WPSR_WPVSRC_Pos 8 -#define TWIHS_WPSR_WPVSRC_Msk (0xffffffu << TWIHS_WPSR_WPVSRC_Pos) /**< \brief (TWIHS_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_TWIHS_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h deleted file mode 100644 index 0e54542..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/uart.h +++ /dev/null @@ -1,166 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART_COMPONENT_ -#define _SAMS70_UART_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Universal Asynchronous Receiver Transmitter */ -/* ============================================================================= */ -/** \addtogroup SAMS70_UART Universal Asynchronous Receiver Transmitter */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Uart hardware registers */ -typedef struct { - __O uint32_t UART_CR; /**< \brief (Uart Offset: 0x0000) Control Register */ - __IO uint32_t UART_MR; /**< \brief (Uart Offset: 0x0004) Mode Register */ - __O uint32_t UART_IER; /**< \brief (Uart Offset: 0x0008) Interrupt Enable Register */ - __O uint32_t UART_IDR; /**< \brief (Uart Offset: 0x000C) Interrupt Disable Register */ - __I uint32_t UART_IMR; /**< \brief (Uart Offset: 0x0010) Interrupt Mask Register */ - __I uint32_t UART_SR; /**< \brief (Uart Offset: 0x0014) Status Register */ - __I uint32_t UART_RHR; /**< \brief (Uart Offset: 0x0018) Receive Holding Register */ - __O uint32_t UART_THR; /**< \brief (Uart Offset: 0x001C) Transmit Holding Register */ - __IO uint32_t UART_BRGR; /**< \brief (Uart Offset: 0x0020) Baud Rate Generator Register */ - __IO uint32_t UART_CMPR; /**< \brief (Uart Offset: 0x0024) Comparison Register */ - __I uint32_t Reserved1[47]; - __IO uint32_t UART_WPMR; /**< \brief (Uart Offset: 0x00E4) Write Protection Mode Register */ -} Uart; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- UART_CR : (UART Offset: 0x0000) Control Register -------- */ -#define UART_CR_RSTRX (0x1u << 2) /**< \brief (UART_CR) Reset Receiver */ -#define UART_CR_RSTTX (0x1u << 3) /**< \brief (UART_CR) Reset Transmitter */ -#define UART_CR_RXEN (0x1u << 4) /**< \brief (UART_CR) Receiver Enable */ -#define UART_CR_RXDIS (0x1u << 5) /**< \brief (UART_CR) Receiver Disable */ -#define UART_CR_TXEN (0x1u << 6) /**< \brief (UART_CR) Transmitter Enable */ -#define UART_CR_TXDIS (0x1u << 7) /**< \brief (UART_CR) Transmitter Disable */ -#define UART_CR_RSTSTA (0x1u << 8) /**< \brief (UART_CR) Reset Status */ -#define UART_CR_REQCLR (0x1u << 12) /**< \brief (UART_CR) Request Clear */ -/* -------- UART_MR : (UART Offset: 0x0004) Mode Register -------- */ -#define UART_MR_FILTER (0x1u << 4) /**< \brief (UART_MR) Receiver Digital Filter */ -#define UART_MR_FILTER_DISABLED (0x0u << 4) /**< \brief (UART_MR) UART does not filter the receive line. */ -#define UART_MR_FILTER_ENABLED (0x1u << 4) /**< \brief (UART_MR) UART filters the receive line using a three-sample filter (16x-bit clock) (2 over 3 majority). */ -#define UART_MR_PAR_Pos 9 -#define UART_MR_PAR_Msk (0x7u << UART_MR_PAR_Pos) /**< \brief (UART_MR) Parity Type */ -#define UART_MR_PAR(value) ((UART_MR_PAR_Msk & ((value) << UART_MR_PAR_Pos))) -#define UART_MR_PAR_EVEN (0x0u << 9) /**< \brief (UART_MR) Even Parity */ -#define UART_MR_PAR_ODD (0x1u << 9) /**< \brief (UART_MR) Odd Parity */ -#define UART_MR_PAR_SPACE (0x2u << 9) /**< \brief (UART_MR) Space: parity forced to 0 */ -#define UART_MR_PAR_MARK (0x3u << 9) /**< \brief (UART_MR) Mark: parity forced to 1 */ -#define UART_MR_PAR_NO (0x4u << 9) /**< \brief (UART_MR) No parity */ -#define UART_MR_BRSRCCK (0x1u << 12) /**< \brief (UART_MR) Baud Rate Source Clock */ -#define UART_MR_BRSRCCK_PERIPH_CLK (0x0u << 12) /**< \brief (UART_MR) The baud rate is driven by the peripheral clock */ -#define UART_MR_BRSRCCK_PMC_PCK (0x1u << 12) /**< \brief (UART_MR) The baud rate is driven by a PMC programmable clock PCK (see section Power Management Controller (PMC)). */ -#define UART_MR_CHMODE_Pos 14 -#define UART_MR_CHMODE_Msk (0x3u << UART_MR_CHMODE_Pos) /**< \brief (UART_MR) Channel Mode */ -#define UART_MR_CHMODE(value) ((UART_MR_CHMODE_Msk & ((value) << UART_MR_CHMODE_Pos))) -#define UART_MR_CHMODE_NORMAL (0x0u << 14) /**< \brief (UART_MR) Normal mode */ -#define UART_MR_CHMODE_AUTOMATIC (0x1u << 14) /**< \brief (UART_MR) Automatic echo */ -#define UART_MR_CHMODE_LOCAL_LOOPBACK (0x2u << 14) /**< \brief (UART_MR) Local loopback */ -#define UART_MR_CHMODE_REMOTE_LOOPBACK (0x3u << 14) /**< \brief (UART_MR) Remote loopback */ -/* -------- UART_IER : (UART Offset: 0x0008) Interrupt Enable Register -------- */ -#define UART_IER_RXRDY (0x1u << 0) /**< \brief (UART_IER) Enable RXRDY Interrupt */ -#define UART_IER_TXRDY (0x1u << 1) /**< \brief (UART_IER) Enable TXRDY Interrupt */ -#define UART_IER_OVRE (0x1u << 5) /**< \brief (UART_IER) Enable Overrun Error Interrupt */ -#define UART_IER_FRAME (0x1u << 6) /**< \brief (UART_IER) Enable Framing Error Interrupt */ -#define UART_IER_PARE (0x1u << 7) /**< \brief (UART_IER) Enable Parity Error Interrupt */ -#define UART_IER_TXEMPTY (0x1u << 9) /**< \brief (UART_IER) Enable TXEMPTY Interrupt */ -#define UART_IER_CMP (0x1u << 15) /**< \brief (UART_IER) Enable Comparison Interrupt */ -/* -------- UART_IDR : (UART Offset: 0x000C) Interrupt Disable Register -------- */ -#define UART_IDR_RXRDY (0x1u << 0) /**< \brief (UART_IDR) Disable RXRDY Interrupt */ -#define UART_IDR_TXRDY (0x1u << 1) /**< \brief (UART_IDR) Disable TXRDY Interrupt */ -#define UART_IDR_OVRE (0x1u << 5) /**< \brief (UART_IDR) Disable Overrun Error Interrupt */ -#define UART_IDR_FRAME (0x1u << 6) /**< \brief (UART_IDR) Disable Framing Error Interrupt */ -#define UART_IDR_PARE (0x1u << 7) /**< \brief (UART_IDR) Disable Parity Error Interrupt */ -#define UART_IDR_TXEMPTY (0x1u << 9) /**< \brief (UART_IDR) Disable TXEMPTY Interrupt */ -#define UART_IDR_CMP (0x1u << 15) /**< \brief (UART_IDR) Disable Comparison Interrupt */ -/* -------- UART_IMR : (UART Offset: 0x0010) Interrupt Mask Register -------- */ -#define UART_IMR_RXRDY (0x1u << 0) /**< \brief (UART_IMR) Mask RXRDY Interrupt */ -#define UART_IMR_TXRDY (0x1u << 1) /**< \brief (UART_IMR) Disable TXRDY Interrupt */ -#define UART_IMR_OVRE (0x1u << 5) /**< \brief (UART_IMR) Mask Overrun Error Interrupt */ -#define UART_IMR_FRAME (0x1u << 6) /**< \brief (UART_IMR) Mask Framing Error Interrupt */ -#define UART_IMR_PARE (0x1u << 7) /**< \brief (UART_IMR) Mask Parity Error Interrupt */ -#define UART_IMR_TXEMPTY (0x1u << 9) /**< \brief (UART_IMR) Mask TXEMPTY Interrupt */ -#define UART_IMR_CMP (0x1u << 15) /**< \brief (UART_IMR) Mask Comparison Interrupt */ -/* -------- UART_SR : (UART Offset: 0x0014) Status Register -------- */ -#define UART_SR_RXRDY (0x1u << 0) /**< \brief (UART_SR) Receiver Ready */ -#define UART_SR_TXRDY (0x1u << 1) /**< \brief (UART_SR) Transmitter Ready */ -#define UART_SR_OVRE (0x1u << 5) /**< \brief (UART_SR) Overrun Error */ -#define UART_SR_FRAME (0x1u << 6) /**< \brief (UART_SR) Framing Error */ -#define UART_SR_PARE (0x1u << 7) /**< \brief (UART_SR) Parity Error */ -#define UART_SR_TXEMPTY (0x1u << 9) /**< \brief (UART_SR) Transmitter Empty */ -#define UART_SR_CMP (0x1u << 15) /**< \brief (UART_SR) Comparison Match */ -/* -------- UART_RHR : (UART Offset: 0x0018) Receive Holding Register -------- */ -#define UART_RHR_RXCHR_Pos 0 -#define UART_RHR_RXCHR_Msk (0xffu << UART_RHR_RXCHR_Pos) /**< \brief (UART_RHR) Received Character */ -/* -------- UART_THR : (UART Offset: 0x001C) Transmit Holding Register -------- */ -#define UART_THR_TXCHR_Pos 0 -#define UART_THR_TXCHR_Msk (0xffu << UART_THR_TXCHR_Pos) /**< \brief (UART_THR) Character to be Transmitted */ -#define UART_THR_TXCHR(value) ((UART_THR_TXCHR_Msk & ((value) << UART_THR_TXCHR_Pos))) -/* -------- UART_BRGR : (UART Offset: 0x0020) Baud Rate Generator Register -------- */ -#define UART_BRGR_CD_Pos 0 -#define UART_BRGR_CD_Msk (0xffffu << UART_BRGR_CD_Pos) /**< \brief (UART_BRGR) Clock Divisor */ -#define UART_BRGR_CD(value) ((UART_BRGR_CD_Msk & ((value) << UART_BRGR_CD_Pos))) -/* -------- UART_CMPR : (UART Offset: 0x0024) Comparison Register -------- */ -#define UART_CMPR_VAL1_Pos 0 -#define UART_CMPR_VAL1_Msk (0xffu << UART_CMPR_VAL1_Pos) /**< \brief (UART_CMPR) First Comparison Value for Received Character */ -#define UART_CMPR_VAL1(value) ((UART_CMPR_VAL1_Msk & ((value) << UART_CMPR_VAL1_Pos))) -#define UART_CMPR_CMPMODE (0x1u << 12) /**< \brief (UART_CMPR) Comparison Mode */ -#define UART_CMPR_CMPMODE_FLAG_ONLY (0x0u << 12) /**< \brief (UART_CMPR) Any character is received and comparison function drives CMP flag. */ -#define UART_CMPR_CMPMODE_START_CONDITION (0x1u << 12) /**< \brief (UART_CMPR) Comparison condition must be met to start reception. */ -#define UART_CMPR_CMPPAR (0x1u << 14) /**< \brief (UART_CMPR) Compare Parity */ -#define UART_CMPR_VAL2_Pos 16 -#define UART_CMPR_VAL2_Msk (0xffu << UART_CMPR_VAL2_Pos) /**< \brief (UART_CMPR) Second Comparison Value for Received Character */ -#define UART_CMPR_VAL2(value) ((UART_CMPR_VAL2_Msk & ((value) << UART_CMPR_VAL2_Pos))) -/* -------- UART_WPMR : (UART Offset: 0x00E4) Write Protection Mode Register -------- */ -#define UART_WPMR_WPEN (0x1u << 0) /**< \brief (UART_WPMR) Write Protection Enable */ -#define UART_WPMR_WPKEY_Pos 8 -#define UART_WPMR_WPKEY_Msk (0xffffffu << UART_WPMR_WPKEY_Pos) /**< \brief (UART_WPMR) Write Protection Key */ -#define UART_WPMR_WPKEY(value) ((UART_WPMR_WPKEY_Msk & ((value) << UART_WPMR_WPKEY_Pos))) -#define UART_WPMR_WPKEY_PASSWD (0x554152u << 8) /**< \brief (UART_WPMR) Writing any other value in this field aborts the write operation.Always reads as 0. */ - -/*@}*/ - - -#endif /* _SAMS70_UART_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h deleted file mode 100644 index 9d4ce79..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usart.h +++ /dev/null @@ -1,432 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART_COMPONENT_ -#define _SAMS70_USART_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Universal Synchronous Asynchronous Receiver Transmitter */ -/* ============================================================================= */ -/** \addtogroup SAMS70_USART Universal Synchronous Asynchronous Receiver Transmitter */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Usart hardware registers */ -typedef struct { - __O uint32_t US_CR; /**< \brief (Usart Offset: 0x0000) Control Register */ - __IO uint32_t US_MR; /**< \brief (Usart Offset: 0x0004) Mode Register */ - __O uint32_t US_IER; /**< \brief (Usart Offset: 0x0008) Interrupt Enable Register */ - __O uint32_t US_IDR; /**< \brief (Usart Offset: 0x000C) Interrupt Disable Register */ - __I uint32_t US_IMR; /**< \brief (Usart Offset: 0x0010) Interrupt Mask Register */ - __I uint32_t US_CSR; /**< \brief (Usart Offset: 0x0014) Channel Status Register */ - __I uint32_t US_RHR; /**< \brief (Usart Offset: 0x0018) Receive Holding Register */ - __O uint32_t US_THR; /**< \brief (Usart Offset: 0x001C) Transmit Holding Register */ - __IO uint32_t US_BRGR; /**< \brief (Usart Offset: 0x0020) Baud Rate Generator Register */ - __IO uint32_t US_RTOR; /**< \brief (Usart Offset: 0x0024) Receiver Time-out Register */ - __IO uint32_t US_TTGR; /**< \brief (Usart Offset: 0x0028) Transmitter Timeguard Register */ - __I uint32_t Reserved1[9]; - __IO uint32_t US_MAN; /**< \brief (Usart Offset: 0x0050) Manchester Configuration Register */ - __IO uint32_t US_LINMR; /**< \brief (Usart Offset: 0x0054) LIN Mode Register */ - __IO uint32_t US_LINIR; /**< \brief (Usart Offset: 0x0058) LIN Identifier Register */ - __I uint32_t US_LINBRR; /**< \brief (Usart Offset: 0x005C) LIN Baud Rate Register */ - __IO uint32_t US_LONMR; /**< \brief (Usart Offset: 0x0060) LON Mode Register */ - __IO uint32_t US_LONPR; /**< \brief (Usart Offset: 0x0064) LON Preamble Register */ - __IO uint32_t US_LONDL; /**< \brief (Usart Offset: 0x0068) LON Data Length Register */ - __IO uint32_t US_LONL2HDR; /**< \brief (Usart Offset: 0x006C) LON L2HDR Register */ - __I uint32_t US_LONBL; /**< \brief (Usart Offset: 0x0070) LON Backlog Register */ - __IO uint32_t US_LONB1TX; /**< \brief (Usart Offset: 0x0074) LON Beta1 Tx Register */ - __IO uint32_t US_LONB1RX; /**< \brief (Usart Offset: 0x0078) LON Beta1 Rx Register */ - __IO uint32_t US_LONPRIO; /**< \brief (Usart Offset: 0x007C) LON Priority Register */ - __IO uint32_t US_IDTTX; /**< \brief (Usart Offset: 0x0080) LON IDT Tx Register */ - __IO uint32_t US_IDTRX; /**< \brief (Usart Offset: 0x0084) LON IDT Rx Register */ - __IO uint32_t US_ICDIFF; /**< \brief (Usart Offset: 0x0088) IC DIFF Register */ - __I uint32_t Reserved2[22]; - __IO uint32_t US_WPMR; /**< \brief (Usart Offset: 0x00E4) Write Protection Mode Register */ - __I uint32_t US_WPSR; /**< \brief (Usart Offset: 0x00E8) Write Protection Status Register */ -} Usart; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- US_CR : (USART Offset: 0x0000) Control Register -------- */ -#define US_CR_RSTRX (0x1u << 2) /**< \brief (US_CR) Reset Receiver */ -#define US_CR_RSTTX (0x1u << 3) /**< \brief (US_CR) Reset Transmitter */ -#define US_CR_RXEN (0x1u << 4) /**< \brief (US_CR) Receiver Enable */ -#define US_CR_RXDIS (0x1u << 5) /**< \brief (US_CR) Receiver Disable */ -#define US_CR_TXEN (0x1u << 6) /**< \brief (US_CR) Transmitter Enable */ -#define US_CR_TXDIS (0x1u << 7) /**< \brief (US_CR) Transmitter Disable */ -#define US_CR_RSTSTA (0x1u << 8) /**< \brief (US_CR) Reset Status Bits */ -#define US_CR_STTBRK (0x1u << 9) /**< \brief (US_CR) Start Break */ -#define US_CR_STPBRK (0x1u << 10) /**< \brief (US_CR) Stop Break */ -#define US_CR_STTTO (0x1u << 11) /**< \brief (US_CR) Clear TIMEOUT Flag and Start Time-out After Next Character Received */ -#define US_CR_SENDA (0x1u << 12) /**< \brief (US_CR) Send Address */ -#define US_CR_RETTO (0x1u << 15) /**< \brief (US_CR) Start Time-out Immediately */ -#define US_CR_RTSEN (0x1u << 18) /**< \brief (US_CR) Request to Send Pin Control */ -#define US_CR_RTSDIS (0x1u << 19) /**< \brief (US_CR) Request to Send Pin Control */ -#define US_CR_LINABT (0x1u << 20) /**< \brief (US_CR) Abort LIN Transmission */ -#define US_CR_LINWKUP (0x1u << 21) /**< \brief (US_CR) Send LIN Wakeup Signal */ -#define US_CR_FCS (0x1u << 18) /**< \brief (US_CR) Force SPI Chip Select */ -#define US_CR_RCS (0x1u << 19) /**< \brief (US_CR) Release SPI Chip Select */ -/* -------- US_MR : (USART Offset: 0x0004) Mode Register -------- */ -#define US_MR_USART_MODE_Pos 0 -#define US_MR_USART_MODE_Msk (0xfu << US_MR_USART_MODE_Pos) /**< \brief (US_MR) USART Mode of Operation */ -#define US_MR_USART_MODE(value) ((US_MR_USART_MODE_Msk & ((value) << US_MR_USART_MODE_Pos))) -#define US_MR_USART_MODE_NORMAL (0x0u << 0) /**< \brief (US_MR) Normal mode */ -#define US_MR_USART_MODE_RS485 (0x1u << 0) /**< \brief (US_MR) RS485 */ -#define US_MR_USART_MODE_HW_HANDSHAKING (0x2u << 0) /**< \brief (US_MR) Hardware Handshaking */ -#define US_MR_USART_MODE_LON (0x9u << 0) /**< \brief (US_MR) LON */ -#define US_MR_USART_MODE_SPI_MASTER (0xEu << 0) /**< \brief (US_MR) SPI master */ -#define US_MR_USART_MODE_SPI_SLAVE (0xFu << 0) /**< \brief (US_MR) SPI Slave */ -#define US_MR_USCLKS_Pos 4 -#define US_MR_USCLKS_Msk (0x3u << US_MR_USCLKS_Pos) /**< \brief (US_MR) Clock Selection */ -#define US_MR_USCLKS(value) ((US_MR_USCLKS_Msk & ((value) << US_MR_USCLKS_Pos))) -#define US_MR_USCLKS_MCK (0x0u << 4) /**< \brief (US_MR) Peripheral clock is selected */ -#define US_MR_USCLKS_DIV (0x1u << 4) /**< \brief (US_MR) Peripheral clock divided (DIV=DIV=8) is selected */ -#define US_MR_USCLKS_PCK (0x2u << 4) /**< \brief (US_MR) PMC programmable clock (PCK) is selected. If the SCK pin is driven (CLKO = 1), the CD field must be greater than 1. */ -#define US_MR_USCLKS_SCK (0x3u << 4) /**< \brief (US_MR) Serial clock (SCK) is selected */ -#define US_MR_CHRL_Pos 6 -#define US_MR_CHRL_Msk (0x3u << US_MR_CHRL_Pos) /**< \brief (US_MR) Character Length */ -#define US_MR_CHRL(value) ((US_MR_CHRL_Msk & ((value) << US_MR_CHRL_Pos))) -#define US_MR_CHRL_5_BIT (0x0u << 6) /**< \brief (US_MR) Character length is 5 bits */ -#define US_MR_CHRL_6_BIT (0x1u << 6) /**< \brief (US_MR) Character length is 6 bits */ -#define US_MR_CHRL_7_BIT (0x2u << 6) /**< \brief (US_MR) Character length is 7 bits */ -#define US_MR_CHRL_8_BIT (0x3u << 6) /**< \brief (US_MR) Character length is 8 bits */ -#define US_MR_SYNC (0x1u << 8) /**< \brief (US_MR) Synchronous Mode Select */ -#define US_MR_PAR_Pos 9 -#define US_MR_PAR_Msk (0x7u << US_MR_PAR_Pos) /**< \brief (US_MR) Parity Type */ -#define US_MR_PAR(value) ((US_MR_PAR_Msk & ((value) << US_MR_PAR_Pos))) -#define US_MR_PAR_EVEN (0x0u << 9) /**< \brief (US_MR) Even parity */ -#define US_MR_PAR_ODD (0x1u << 9) /**< \brief (US_MR) Odd parity */ -#define US_MR_PAR_SPACE (0x2u << 9) /**< \brief (US_MR) Parity forced to 0 (Space) */ -#define US_MR_PAR_MARK (0x3u << 9) /**< \brief (US_MR) Parity forced to 1 (Mark) */ -#define US_MR_PAR_NO (0x4u << 9) /**< \brief (US_MR) No parity */ -#define US_MR_PAR_MULTIDROP (0x6u << 9) /**< \brief (US_MR) Multidrop mode */ -#define US_MR_NBSTOP_Pos 12 -#define US_MR_NBSTOP_Msk (0x3u << US_MR_NBSTOP_Pos) /**< \brief (US_MR) Number of Stop Bits */ -#define US_MR_NBSTOP(value) ((US_MR_NBSTOP_Msk & ((value) << US_MR_NBSTOP_Pos))) -#define US_MR_NBSTOP_1_BIT (0x0u << 12) /**< \brief (US_MR) 1 stop bit */ -#define US_MR_NBSTOP_1_5_BIT (0x1u << 12) /**< \brief (US_MR) 1.5 stop bit (SYNC = 0) or reserved (SYNC = 1) */ -#define US_MR_NBSTOP_2_BIT (0x2u << 12) /**< \brief (US_MR) 2 stop bits */ -#define US_MR_CHMODE_Pos 14 -#define US_MR_CHMODE_Msk (0x3u << US_MR_CHMODE_Pos) /**< \brief (US_MR) Channel Mode */ -#define US_MR_CHMODE(value) ((US_MR_CHMODE_Msk & ((value) << US_MR_CHMODE_Pos))) -#define US_MR_CHMODE_NORMAL (0x0u << 14) /**< \brief (US_MR) Normal mode */ -#define US_MR_CHMODE_AUTOMATIC (0x1u << 14) /**< \brief (US_MR) Automatic Echo. Receiver input is connected to the TXD pin. */ -#define US_MR_CHMODE_LOCAL_LOOPBACK (0x2u << 14) /**< \brief (US_MR) Local Loopback. Transmitter output is connected to the Receiver Input. */ -#define US_MR_CHMODE_REMOTE_LOOPBACK (0x3u << 14) /**< \brief (US_MR) Remote Loopback. RXD pin is internally connected to the TXD pin. */ -#define US_MR_MODE9 (0x1u << 17) /**< \brief (US_MR) 9-bit Character Length */ -#define US_MR_CLKO (0x1u << 18) /**< \brief (US_MR) Clock Output Select */ -#define US_MR_OVER (0x1u << 19) /**< \brief (US_MR) Oversampling Mode */ -#define US_MR_VAR_SYNC (0x1u << 22) /**< \brief (US_MR) Variable Synchronization of Command/Data Sync Start Frame Delimiter */ -#define US_MR_FILTER (0x1u << 28) /**< \brief (US_MR) Receive Line Filter */ -#define US_MR_MAN (0x1u << 29) /**< \brief (US_MR) Manchester Encoder/Decoder Enable */ -#define US_MR_MODSYNC (0x1u << 30) /**< \brief (US_MR) Manchester Synchronization Mode */ -#define US_MR_ONEBIT (0x1u << 31) /**< \brief (US_MR) Start Frame Delimiter Selector */ -#define US_MR_CPHA (0x1u << 8) /**< \brief (US_MR) SPI Clock Phase */ -#define US_MR_CPOL (0x1u << 16) /**< \brief (US_MR) SPI Clock Polarity */ -#define US_MR_WRDBT (0x1u << 20) /**< \brief (US_MR) Wait Read Data Before Transfer */ -/* -------- US_IER : (USART Offset: 0x0008) Interrupt Enable Register -------- */ -#define US_IER_RXRDY (0x1u << 0) /**< \brief (US_IER) RXRDY Interrupt Enable */ -#define US_IER_TXRDY (0x1u << 1) /**< \brief (US_IER) TXRDY Interrupt Enable */ -#define US_IER_RXBRK (0x1u << 2) /**< \brief (US_IER) Receiver Break Interrupt Enable */ -#define US_IER_OVRE (0x1u << 5) /**< \brief (US_IER) Overrun Error Interrupt Enable */ -#define US_IER_FRAME (0x1u << 6) /**< \brief (US_IER) Framing Error Interrupt Enable */ -#define US_IER_PARE (0x1u << 7) /**< \brief (US_IER) Parity Error Interrupt Enable */ -#define US_IER_TIMEOUT (0x1u << 8) /**< \brief (US_IER) Time-out Interrupt Enable */ -#define US_IER_TXEMPTY (0x1u << 9) /**< \brief (US_IER) TXEMPTY Interrupt Enable */ -#define US_IER_CTSIC (0x1u << 19) /**< \brief (US_IER) Clear to Send Input Change Interrupt Enable */ -#define US_IER_MANE (0x1u << 24) /**< \brief (US_IER) Manchester Error Interrupt Enable */ -#define US_IER_UNRE (0x1u << 10) /**< \brief (US_IER) SPI Underrun Error Interrupt Enable */ -#define US_IER_LINBK (0x1u << 13) /**< \brief (US_IER) LIN Break Sent or LIN Break Received Interrupt Enable */ -#define US_IER_LINID (0x1u << 14) /**< \brief (US_IER) LIN Identifier Sent or LIN Identifier Received Interrupt Enable */ -#define US_IER_LINTC (0x1u << 15) /**< \brief (US_IER) LIN Transfer Completed Interrupt Enable */ -#define US_IER_LINBE (0x1u << 25) /**< \brief (US_IER) LIN Bus Error Interrupt Enable */ -#define US_IER_LINISFE (0x1u << 26) /**< \brief (US_IER) LIN Inconsistent Synch Field Error Interrupt Enable */ -#define US_IER_LINIPE (0x1u << 27) /**< \brief (US_IER) LIN Identifier Parity Interrupt Enable */ -#define US_IER_LINCE (0x1u << 28) /**< \brief (US_IER) LIN Checksum Error Interrupt Enable */ -#define US_IER_LINSNRE (0x1u << 29) /**< \brief (US_IER) LIN Slave Not Responding Error Interrupt Enable */ -#define US_IER_LINSTE (0x1u << 30) /**< \brief (US_IER) LIN Synch Tolerance Error Interrupt Enable */ -#define US_IER_LINHTE (0x1u << 31) /**< \brief (US_IER) LIN Header Timeout Error Interrupt Enable */ -#define US_IER_LSFE (0x1u << 6) /**< \brief (US_IER) LON Short Frame Error Interrupt Enable */ -#define US_IER_LCRCE (0x1u << 7) /**< \brief (US_IER) LON CRC Error Interrupt Enable */ -#define US_IER_LTXD (0x1u << 24) /**< \brief (US_IER) LON Transmission Done Interrupt Enable */ -#define US_IER_LCOL (0x1u << 25) /**< \brief (US_IER) LON Collision Interrupt Enable */ -#define US_IER_LFET (0x1u << 26) /**< \brief (US_IER) LON Frame Early Termination Interrupt Enable */ -#define US_IER_LRXD (0x1u << 27) /**< \brief (US_IER) LON Reception Done Interrupt Enable */ -#define US_IER_LBLOVFE (0x1u << 28) /**< \brief (US_IER) LON Backlog Overflow Error Interrupt Enable */ -/* -------- US_IDR : (USART Offset: 0x000C) Interrupt Disable Register -------- */ -#define US_IDR_RXRDY (0x1u << 0) /**< \brief (US_IDR) RXRDY Interrupt Disable */ -#define US_IDR_TXRDY (0x1u << 1) /**< \brief (US_IDR) TXRDY Interrupt Disable */ -#define US_IDR_RXBRK (0x1u << 2) /**< \brief (US_IDR) Receiver Break Interrupt Disable */ -#define US_IDR_OVRE (0x1u << 5) /**< \brief (US_IDR) Overrun Error Interrupt Enable */ -#define US_IDR_FRAME (0x1u << 6) /**< \brief (US_IDR) Framing Error Interrupt Disable */ -#define US_IDR_PARE (0x1u << 7) /**< \brief (US_IDR) Parity Error Interrupt Disable */ -#define US_IDR_TIMEOUT (0x1u << 8) /**< \brief (US_IDR) Time-out Interrupt Disable */ -#define US_IDR_TXEMPTY (0x1u << 9) /**< \brief (US_IDR) TXEMPTY Interrupt Disable */ -#define US_IDR_CTSIC (0x1u << 19) /**< \brief (US_IDR) Clear to Send Input Change Interrupt Disable */ -#define US_IDR_MANE (0x1u << 24) /**< \brief (US_IDR) Manchester Error Interrupt Disable */ -#define US_IDR_UNRE (0x1u << 10) /**< \brief (US_IDR) SPI Underrun Error Interrupt Disable */ -#define US_IDR_LINBK (0x1u << 13) /**< \brief (US_IDR) LIN Break Sent or LIN Break Received Interrupt Disable */ -#define US_IDR_LINID (0x1u << 14) /**< \brief (US_IDR) LIN Identifier Sent or LIN Identifier Received Interrupt Disable */ -#define US_IDR_LINTC (0x1u << 15) /**< \brief (US_IDR) LIN Transfer Completed Interrupt Disable */ -#define US_IDR_LINBE (0x1u << 25) /**< \brief (US_IDR) LIN Bus Error Interrupt Disable */ -#define US_IDR_LINISFE (0x1u << 26) /**< \brief (US_IDR) LIN Inconsistent Synch Field Error Interrupt Disable */ -#define US_IDR_LINIPE (0x1u << 27) /**< \brief (US_IDR) LIN Identifier Parity Interrupt Disable */ -#define US_IDR_LINCE (0x1u << 28) /**< \brief (US_IDR) LIN Checksum Error Interrupt Disable */ -#define US_IDR_LINSNRE (0x1u << 29) /**< \brief (US_IDR) LIN Slave Not Responding Error Interrupt Disable */ -#define US_IDR_LINSTE (0x1u << 30) /**< \brief (US_IDR) LIN Synch Tolerance Error Interrupt Disable */ -#define US_IDR_LINHTE (0x1u << 31) /**< \brief (US_IDR) LIN Header Timeout Error Interrupt Disable */ -#define US_IDR_LSFE (0x1u << 6) /**< \brief (US_IDR) LON Short Frame Error Interrupt Disable */ -#define US_IDR_LCRCE (0x1u << 7) /**< \brief (US_IDR) LON CRC Error Interrupt Disable */ -#define US_IDR_LTXD (0x1u << 24) /**< \brief (US_IDR) LON Transmission Done Interrupt Disable */ -#define US_IDR_LCOL (0x1u << 25) /**< \brief (US_IDR) LON Collision Interrupt Disable */ -#define US_IDR_LFET (0x1u << 26) /**< \brief (US_IDR) LON Frame Early Termination Interrupt Disable */ -#define US_IDR_LRXD (0x1u << 27) /**< \brief (US_IDR) LON Reception Done Interrupt Disable */ -#define US_IDR_LBLOVFE (0x1u << 28) /**< \brief (US_IDR) LON Backlog Overflow Error Interrupt Disable */ -/* -------- US_IMR : (USART Offset: 0x0010) Interrupt Mask Register -------- */ -#define US_IMR_RXRDY (0x1u << 0) /**< \brief (US_IMR) RXRDY Interrupt Mask */ -#define US_IMR_TXRDY (0x1u << 1) /**< \brief (US_IMR) TXRDY Interrupt Mask */ -#define US_IMR_RXBRK (0x1u << 2) /**< \brief (US_IMR) Receiver Break Interrupt Mask */ -#define US_IMR_OVRE (0x1u << 5) /**< \brief (US_IMR) Overrun Error Interrupt Mask */ -#define US_IMR_FRAME (0x1u << 6) /**< \brief (US_IMR) Framing Error Interrupt Mask */ -#define US_IMR_PARE (0x1u << 7) /**< \brief (US_IMR) Parity Error Interrupt Mask */ -#define US_IMR_TIMEOUT (0x1u << 8) /**< \brief (US_IMR) Time-out Interrupt Mask */ -#define US_IMR_TXEMPTY (0x1u << 9) /**< \brief (US_IMR) TXEMPTY Interrupt Mask */ -#define US_IMR_CTSIC (0x1u << 19) /**< \brief (US_IMR) Clear to Send Input Change Interrupt Mask */ -#define US_IMR_MANE (0x1u << 24) /**< \brief (US_IMR) Manchester Error Interrupt Mask */ -#define US_IMR_UNRE (0x1u << 10) /**< \brief (US_IMR) SPI Underrun Error Interrupt Mask */ -#define US_IMR_LINBK (0x1u << 13) /**< \brief (US_IMR) LIN Break Sent or LIN Break Received Interrupt Mask */ -#define US_IMR_LINID (0x1u << 14) /**< \brief (US_IMR) LIN Identifier Sent or LIN Identifier Received Interrupt Mask */ -#define US_IMR_LINTC (0x1u << 15) /**< \brief (US_IMR) LIN Transfer Completed Interrupt Mask */ -#define US_IMR_LINBE (0x1u << 25) /**< \brief (US_IMR) LIN Bus Error Interrupt Mask */ -#define US_IMR_LINISFE (0x1u << 26) /**< \brief (US_IMR) LIN Inconsistent Synch Field Error Interrupt Mask */ -#define US_IMR_LINIPE (0x1u << 27) /**< \brief (US_IMR) LIN Identifier Parity Interrupt Mask */ -#define US_IMR_LINCE (0x1u << 28) /**< \brief (US_IMR) LIN Checksum Error Interrupt Mask */ -#define US_IMR_LINSNRE (0x1u << 29) /**< \brief (US_IMR) LIN Slave Not Responding Error Interrupt Mask */ -#define US_IMR_LINSTE (0x1u << 30) /**< \brief (US_IMR) LIN Synch Tolerance Error Interrupt Mask */ -#define US_IMR_LINHTE (0x1u << 31) /**< \brief (US_IMR) LIN Header Timeout Error Interrupt Mask */ -#define US_IMR_LSFE (0x1u << 6) /**< \brief (US_IMR) LON Short Frame Error Interrupt Mask */ -#define US_IMR_LCRCE (0x1u << 7) /**< \brief (US_IMR) LON CRC Error Interrupt Mask */ -#define US_IMR_LTXD (0x1u << 24) /**< \brief (US_IMR) LON Transmission Done Interrupt Mask */ -#define US_IMR_LCOL (0x1u << 25) /**< \brief (US_IMR) LON Collision Interrupt Mask */ -#define US_IMR_LFET (0x1u << 26) /**< \brief (US_IMR) LON Frame Early Termination Interrupt Mask */ -#define US_IMR_LRXD (0x1u << 27) /**< \brief (US_IMR) LON Reception Done Interrupt Mask */ -#define US_IMR_LBLOVFE (0x1u << 28) /**< \brief (US_IMR) LON Backlog Overflow Error Interrupt Mask */ -/* -------- US_CSR : (USART Offset: 0x0014) Channel Status Register -------- */ -#define US_CSR_RXRDY (0x1u << 0) /**< \brief (US_CSR) Receiver Ready (cleared by reading US_RHR) */ -#define US_CSR_TXRDY (0x1u << 1) /**< \brief (US_CSR) Transmitter Ready (cleared by writing US_THR) */ -#define US_CSR_RXBRK (0x1u << 2) /**< \brief (US_CSR) Break Received/End of Break (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_OVRE (0x1u << 5) /**< \brief (US_CSR) Overrun Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_FRAME (0x1u << 6) /**< \brief (US_CSR) Framing Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_PARE (0x1u << 7) /**< \brief (US_CSR) Parity Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_TIMEOUT (0x1u << 8) /**< \brief (US_CSR) Receiver Time-out (cleared by writing a one to bit US_CR.STTTO) */ -#define US_CSR_TXEMPTY (0x1u << 9) /**< \brief (US_CSR) Transmitter Empty (cleared by writing US_THR) */ -#define US_CSR_CTSIC (0x1u << 19) /**< \brief (US_CSR) Clear to Send Input Change Flag (cleared on read) */ -#define US_CSR_CTS (0x1u << 23) /**< \brief (US_CSR) Image of CTS Input */ -#define US_CSR_MANERR (0x1u << 24) /**< \brief (US_CSR) Manchester Error (cleared by writing a one to the bit US_CR.RSTSTA) */ -#define US_CSR_UNRE (0x1u << 10) /**< \brief (US_CSR) Underrun Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINBK (0x1u << 13) /**< \brief (US_CSR) LIN Break Sent or LIN Break Received (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINID (0x1u << 14) /**< \brief (US_CSR) LIN Identifier Sent or LIN Identifier Received (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINTC (0x1u << 15) /**< \brief (US_CSR) LIN Transfer Completed (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINBLS (0x1u << 23) /**< \brief (US_CSR) LIN Bus Line Status */ -#define US_CSR_LINBE (0x1u << 25) /**< \brief (US_CSR) LIN Bit Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINISFE (0x1u << 26) /**< \brief (US_CSR) LIN Inconsistent Synch Field Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINIPE (0x1u << 27) /**< \brief (US_CSR) LIN Identifier Parity Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINCE (0x1u << 28) /**< \brief (US_CSR) LIN Checksum Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINSNRE (0x1u << 29) /**< \brief (US_CSR) LIN Slave Not Responding Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINSTE (0x1u << 30) /**< \brief (US_CSR) LIN Synch Tolerance Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LINHTE (0x1u << 31) /**< \brief (US_CSR) LIN Header Timeout Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LSFE (0x1u << 6) /**< \brief (US_CSR) LON Short Frame Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LCRCE (0x1u << 7) /**< \brief (US_CSR) LON CRC Error (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LTXD (0x1u << 24) /**< \brief (US_CSR) LON Transmission End Flag (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LCOL (0x1u << 25) /**< \brief (US_CSR) LON Collision Detected Flag (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LFET (0x1u << 26) /**< \brief (US_CSR) LON Frame Early Termination (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LRXD (0x1u << 27) /**< \brief (US_CSR) LON Reception End Flag (cleared by writing a one to bit US_CR.RSTSTA) */ -#define US_CSR_LBLOVFE (0x1u << 28) /**< \brief (US_CSR) LON Backlog Overflow Error (cleared by writing a one to bit US_CR.RSTSTA) */ -/* -------- US_RHR : (USART Offset: 0x0018) Receive Holding Register -------- */ -#define US_RHR_RXCHR_Pos 0 -#define US_RHR_RXCHR_Msk (0x1ffu << US_RHR_RXCHR_Pos) /**< \brief (US_RHR) Received Character */ -#define US_RHR_RXSYNH (0x1u << 15) /**< \brief (US_RHR) Received Sync */ -/* -------- US_THR : (USART Offset: 0x001C) Transmit Holding Register -------- */ -#define US_THR_TXCHR_Pos 0 -#define US_THR_TXCHR_Msk (0x1ffu << US_THR_TXCHR_Pos) /**< \brief (US_THR) Character to be Transmitted */ -#define US_THR_TXCHR(value) ((US_THR_TXCHR_Msk & ((value) << US_THR_TXCHR_Pos))) -#define US_THR_TXSYNH (0x1u << 15) /**< \brief (US_THR) Sync Field to be Transmitted */ -/* -------- US_BRGR : (USART Offset: 0x0020) Baud Rate Generator Register -------- */ -#define US_BRGR_CD_Pos 0 -#define US_BRGR_CD_Msk (0xffffu << US_BRGR_CD_Pos) /**< \brief (US_BRGR) Clock Divider */ -#define US_BRGR_CD(value) ((US_BRGR_CD_Msk & ((value) << US_BRGR_CD_Pos))) -#define US_BRGR_FP_Pos 16 -#define US_BRGR_FP_Msk (0x7u << US_BRGR_FP_Pos) /**< \brief (US_BRGR) Fractional Part */ -#define US_BRGR_FP(value) ((US_BRGR_FP_Msk & ((value) << US_BRGR_FP_Pos))) -/* -------- US_RTOR : (USART Offset: 0x0024) Receiver Time-out Register -------- */ -#define US_RTOR_TO_Pos 0 -#define US_RTOR_TO_Msk (0x1ffffu << US_RTOR_TO_Pos) /**< \brief (US_RTOR) Time-out Value */ -#define US_RTOR_TO(value) ((US_RTOR_TO_Msk & ((value) << US_RTOR_TO_Pos))) -/* -------- US_TTGR : (USART Offset: 0x0028) Transmitter Timeguard Register -------- */ -#define US_TTGR_TG_Pos 0 -#define US_TTGR_TG_Msk (0xffu << US_TTGR_TG_Pos) /**< \brief (US_TTGR) Timeguard Value */ -#define US_TTGR_TG(value) ((US_TTGR_TG_Msk & ((value) << US_TTGR_TG_Pos))) -#define US_TTGR_PCYCLE_Pos 0 -#define US_TTGR_PCYCLE_Msk (0xffffffu << US_TTGR_PCYCLE_Pos) /**< \brief (US_TTGR) LON PCYCLE Length */ -#define US_TTGR_PCYCLE(value) ((US_TTGR_PCYCLE_Msk & ((value) << US_TTGR_PCYCLE_Pos))) -/* -------- US_MAN : (USART Offset: 0x0050) Manchester Configuration Register -------- */ -#define US_MAN_TX_PL_Pos 0 -#define US_MAN_TX_PL_Msk (0xfu << US_MAN_TX_PL_Pos) /**< \brief (US_MAN) Transmitter Preamble Length */ -#define US_MAN_TX_PL(value) ((US_MAN_TX_PL_Msk & ((value) << US_MAN_TX_PL_Pos))) -#define US_MAN_TX_PP_Pos 8 -#define US_MAN_TX_PP_Msk (0x3u << US_MAN_TX_PP_Pos) /**< \brief (US_MAN) Transmitter Preamble Pattern */ -#define US_MAN_TX_PP(value) ((US_MAN_TX_PP_Msk & ((value) << US_MAN_TX_PP_Pos))) -#define US_MAN_TX_PP_ALL_ONE (0x0u << 8) /**< \brief (US_MAN) The preamble is composed of '1's */ -#define US_MAN_TX_PP_ALL_ZERO (0x1u << 8) /**< \brief (US_MAN) The preamble is composed of '0's */ -#define US_MAN_TX_PP_ZERO_ONE (0x2u << 8) /**< \brief (US_MAN) The preamble is composed of '01's */ -#define US_MAN_TX_PP_ONE_ZERO (0x3u << 8) /**< \brief (US_MAN) The preamble is composed of '10's */ -#define US_MAN_TX_MPOL (0x1u << 12) /**< \brief (US_MAN) Transmitter Manchester Polarity */ -#define US_MAN_RX_PL_Pos 16 -#define US_MAN_RX_PL_Msk (0xfu << US_MAN_RX_PL_Pos) /**< \brief (US_MAN) Receiver Preamble Length */ -#define US_MAN_RX_PL(value) ((US_MAN_RX_PL_Msk & ((value) << US_MAN_RX_PL_Pos))) -#define US_MAN_RX_PP_Pos 24 -#define US_MAN_RX_PP_Msk (0x3u << US_MAN_RX_PP_Pos) /**< \brief (US_MAN) Receiver Preamble Pattern detected */ -#define US_MAN_RX_PP(value) ((US_MAN_RX_PP_Msk & ((value) << US_MAN_RX_PP_Pos))) -#define US_MAN_RX_PP_ALL_ONE (0x0u << 24) /**< \brief (US_MAN) The preamble is composed of '1's */ -#define US_MAN_RX_PP_ALL_ZERO (0x1u << 24) /**< \brief (US_MAN) The preamble is composed of '0's */ -#define US_MAN_RX_PP_ZERO_ONE (0x2u << 24) /**< \brief (US_MAN) The preamble is composed of '01's */ -#define US_MAN_RX_PP_ONE_ZERO (0x3u << 24) /**< \brief (US_MAN) The preamble is composed of '10's */ -#define US_MAN_RX_MPOL (0x1u << 28) /**< \brief (US_MAN) Receiver Manchester Polarity */ -#define US_MAN_ONE (0x1u << 29) /**< \brief (US_MAN) Must Be Set to 1 */ -#define US_MAN_DRIFT (0x1u << 30) /**< \brief (US_MAN) Drift Compensation */ -#define US_MAN_RXIDLEV (0x1u << 31) /**< \brief (US_MAN) */ -/* -------- US_LINMR : (USART Offset: 0x0054) LIN Mode Register -------- */ -#define US_LINMR_NACT_Pos 0 -#define US_LINMR_NACT_Msk (0x3u << US_LINMR_NACT_Pos) /**< \brief (US_LINMR) LIN Node Action */ -#define US_LINMR_NACT(value) ((US_LINMR_NACT_Msk & ((value) << US_LINMR_NACT_Pos))) -#define US_LINMR_NACT_PUBLISH (0x0u << 0) /**< \brief (US_LINMR) The USART transmits the response. */ -#define US_LINMR_NACT_SUBSCRIBE (0x1u << 0) /**< \brief (US_LINMR) The USART receives the response. */ -#define US_LINMR_NACT_IGNORE (0x2u << 0) /**< \brief (US_LINMR) The USART does not transmit and does not receive the response. */ -#define US_LINMR_PARDIS (0x1u << 2) /**< \brief (US_LINMR) Parity Disable */ -#define US_LINMR_CHKDIS (0x1u << 3) /**< \brief (US_LINMR) Checksum Disable */ -#define US_LINMR_CHKTYP (0x1u << 4) /**< \brief (US_LINMR) Checksum Type */ -#define US_LINMR_DLM (0x1u << 5) /**< \brief (US_LINMR) Data Length Mode */ -#define US_LINMR_FSDIS (0x1u << 6) /**< \brief (US_LINMR) Frame Slot Mode Disable */ -#define US_LINMR_WKUPTYP (0x1u << 7) /**< \brief (US_LINMR) Wakeup Signal Type */ -#define US_LINMR_DLC_Pos 8 -#define US_LINMR_DLC_Msk (0xffu << US_LINMR_DLC_Pos) /**< \brief (US_LINMR) Data Length Control */ -#define US_LINMR_DLC(value) ((US_LINMR_DLC_Msk & ((value) << US_LINMR_DLC_Pos))) -#define US_LINMR_PDCM (0x1u << 16) /**< \brief (US_LINMR) DMAC Mode */ -#define US_LINMR_SYNCDIS (0x1u << 17) /**< \brief (US_LINMR) Synchronization Disable */ -/* -------- US_LINIR : (USART Offset: 0x0058) LIN Identifier Register -------- */ -#define US_LINIR_IDCHR_Pos 0 -#define US_LINIR_IDCHR_Msk (0xffu << US_LINIR_IDCHR_Pos) /**< \brief (US_LINIR) Identifier Character */ -#define US_LINIR_IDCHR(value) ((US_LINIR_IDCHR_Msk & ((value) << US_LINIR_IDCHR_Pos))) -/* -------- US_LINBRR : (USART Offset: 0x005C) LIN Baud Rate Register -------- */ -#define US_LINBRR_LINCD_Pos 0 -#define US_LINBRR_LINCD_Msk (0xffffu << US_LINBRR_LINCD_Pos) /**< \brief (US_LINBRR) Clock Divider after Synchronization */ -#define US_LINBRR_LINFP_Pos 16 -#define US_LINBRR_LINFP_Msk (0x7u << US_LINBRR_LINFP_Pos) /**< \brief (US_LINBRR) Fractional Part after Synchronization */ -/* -------- US_LONMR : (USART Offset: 0x0060) LON Mode Register -------- */ -#define US_LONMR_COMMT (0x1u << 0) /**< \brief (US_LONMR) LON comm_type Parameter Value */ -#define US_LONMR_COLDET (0x1u << 1) /**< \brief (US_LONMR) LON Collision Detection Feature */ -#define US_LONMR_TCOL (0x1u << 2) /**< \brief (US_LONMR) Terminate Frame upon Collision Notification */ -#define US_LONMR_CDTAIL (0x1u << 3) /**< \brief (US_LONMR) LON Collision Detection on Frame Tail */ -#define US_LONMR_DMAM (0x1u << 4) /**< \brief (US_LONMR) LON DMA Mode */ -#define US_LONMR_LCDS (0x1u << 5) /**< \brief (US_LONMR) LON Collision Detection Source */ -#define US_LONMR_EOFS_Pos 16 -#define US_LONMR_EOFS_Msk (0xffu << US_LONMR_EOFS_Pos) /**< \brief (US_LONMR) End of Frame Condition Size */ -#define US_LONMR_EOFS(value) ((US_LONMR_EOFS_Msk & ((value) << US_LONMR_EOFS_Pos))) -/* -------- US_LONPR : (USART Offset: 0x0064) LON Preamble Register -------- */ -#define US_LONPR_LONPL_Pos 0 -#define US_LONPR_LONPL_Msk (0x3fffu << US_LONPR_LONPL_Pos) /**< \brief (US_LONPR) LON Preamble Length */ -#define US_LONPR_LONPL(value) ((US_LONPR_LONPL_Msk & ((value) << US_LONPR_LONPL_Pos))) -/* -------- US_LONDL : (USART Offset: 0x0068) LON Data Length Register -------- */ -#define US_LONDL_LONDL_Pos 0 -#define US_LONDL_LONDL_Msk (0xffu << US_LONDL_LONDL_Pos) /**< \brief (US_LONDL) LON Data Length */ -#define US_LONDL_LONDL(value) ((US_LONDL_LONDL_Msk & ((value) << US_LONDL_LONDL_Pos))) -/* -------- US_LONL2HDR : (USART Offset: 0x006C) LON L2HDR Register -------- */ -#define US_LONL2HDR_BLI_Pos 0 -#define US_LONL2HDR_BLI_Msk (0x3fu << US_LONL2HDR_BLI_Pos) /**< \brief (US_LONL2HDR) LON Backlog Increment */ -#define US_LONL2HDR_BLI(value) ((US_LONL2HDR_BLI_Msk & ((value) << US_LONL2HDR_BLI_Pos))) -#define US_LONL2HDR_ALTP (0x1u << 6) /**< \brief (US_LONL2HDR) LON Alternate Path Bit */ -#define US_LONL2HDR_PB (0x1u << 7) /**< \brief (US_LONL2HDR) LON Priority Bit */ -/* -------- US_LONBL : (USART Offset: 0x0070) LON Backlog Register -------- */ -#define US_LONBL_LONBL_Pos 0 -#define US_LONBL_LONBL_Msk (0x3fu << US_LONBL_LONBL_Pos) /**< \brief (US_LONBL) LON Node Backlog Value */ -/* -------- US_LONB1TX : (USART Offset: 0x0074) LON Beta1 Tx Register -------- */ -#define US_LONB1TX_BETA1TX_Pos 0 -#define US_LONB1TX_BETA1TX_Msk (0xffffffu << US_LONB1TX_BETA1TX_Pos) /**< \brief (US_LONB1TX) LON Beta1 Length after Transmission */ -#define US_LONB1TX_BETA1TX(value) ((US_LONB1TX_BETA1TX_Msk & ((value) << US_LONB1TX_BETA1TX_Pos))) -/* -------- US_LONB1RX : (USART Offset: 0x0078) LON Beta1 Rx Register -------- */ -#define US_LONB1RX_BETA1RX_Pos 0 -#define US_LONB1RX_BETA1RX_Msk (0xffffffu << US_LONB1RX_BETA1RX_Pos) /**< \brief (US_LONB1RX) LON Beta1 Length after Reception */ -#define US_LONB1RX_BETA1RX(value) ((US_LONB1RX_BETA1RX_Msk & ((value) << US_LONB1RX_BETA1RX_Pos))) -/* -------- US_LONPRIO : (USART Offset: 0x007C) LON Priority Register -------- */ -#define US_LONPRIO_PSNB_Pos 0 -#define US_LONPRIO_PSNB_Msk (0x7fu << US_LONPRIO_PSNB_Pos) /**< \brief (US_LONPRIO) LON Priority Slot Number */ -#define US_LONPRIO_PSNB(value) ((US_LONPRIO_PSNB_Msk & ((value) << US_LONPRIO_PSNB_Pos))) -#define US_LONPRIO_NPS_Pos 8 -#define US_LONPRIO_NPS_Msk (0x7fu << US_LONPRIO_NPS_Pos) /**< \brief (US_LONPRIO) LON Node Priority Slot */ -#define US_LONPRIO_NPS(value) ((US_LONPRIO_NPS_Msk & ((value) << US_LONPRIO_NPS_Pos))) -/* -------- US_IDTTX : (USART Offset: 0x0080) LON IDT Tx Register -------- */ -#define US_IDTTX_IDTTX_Pos 0 -#define US_IDTTX_IDTTX_Msk (0xffffffu << US_IDTTX_IDTTX_Pos) /**< \brief (US_IDTTX) LON Indeterminate Time after Transmission (comm_type = 1 mode only) */ -#define US_IDTTX_IDTTX(value) ((US_IDTTX_IDTTX_Msk & ((value) << US_IDTTX_IDTTX_Pos))) -/* -------- US_IDTRX : (USART Offset: 0x0084) LON IDT Rx Register -------- */ -#define US_IDTRX_IDTRX_Pos 0 -#define US_IDTRX_IDTRX_Msk (0xffffffu << US_IDTRX_IDTRX_Pos) /**< \brief (US_IDTRX) LON Indeterminate Time after Reception (comm_type = 1 mode only) */ -#define US_IDTRX_IDTRX(value) ((US_IDTRX_IDTRX_Msk & ((value) << US_IDTRX_IDTRX_Pos))) -/* -------- US_ICDIFF : (USART Offset: 0x0088) IC DIFF Register -------- */ -#define US_ICDIFF_ICDIFF_Pos 0 -#define US_ICDIFF_ICDIFF_Msk (0xfu << US_ICDIFF_ICDIFF_Pos) /**< \brief (US_ICDIFF) IC Differentiator Number */ -#define US_ICDIFF_ICDIFF(value) ((US_ICDIFF_ICDIFF_Msk & ((value) << US_ICDIFF_ICDIFF_Pos))) -/* -------- US_WPMR : (USART Offset: 0x00E4) Write Protection Mode Register -------- */ -#define US_WPMR_WPEN (0x1u << 0) /**< \brief (US_WPMR) Write Protection Enable */ -#define US_WPMR_WPKEY_Pos 8 -#define US_WPMR_WPKEY_Msk (0xffffffu << US_WPMR_WPKEY_Pos) /**< \brief (US_WPMR) Write Protection Key */ -#define US_WPMR_WPKEY(value) ((US_WPMR_WPKEY_Msk & ((value) << US_WPMR_WPKEY_Pos))) -#define US_WPMR_WPKEY_PASSWD (0x555341u << 8) /**< \brief (US_WPMR) Writing any other value in this field aborts the write operation of the WPEN bit. Always reads as 0. */ -/* -------- US_WPSR : (USART Offset: 0x00E8) Write Protection Status Register -------- */ -#define US_WPSR_WPVS (0x1u << 0) /**< \brief (US_WPSR) Write Protection Violation Status */ -#define US_WPSR_WPVSRC_Pos 8 -#define US_WPSR_WPVSRC_Msk (0xffffu << US_WPSR_WPVSRC_Pos) /**< \brief (US_WPSR) Write Protection Violation Source */ - -/*@}*/ - - -#endif /* _SAMS70_USART_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h deleted file mode 100644 index 0391a17..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/usbhs.h +++ /dev/null @@ -1,975 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USBHS_COMPONENT_ -#define _SAMS70_USBHS_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR USB High-Speed Interface */ -/* ============================================================================= */ -/** \addtogroup SAMS70_USBHS USB High-Speed Interface */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief UsbhsDevdma hardware registers */ -typedef struct { - __IO uint32_t USBHS_DEVDMANXTDSC; /**< \brief (UsbhsDevdma Offset: 0x0) Device DMA Channel Next Descriptor Address Register */ - __IO uint32_t USBHS_DEVDMAADDRESS; /**< \brief (UsbhsDevdma Offset: 0x4) Device DMA Channel Address Register */ - __IO uint32_t USBHS_DEVDMACONTROL; /**< \brief (UsbhsDevdma Offset: 0x8) Device DMA Channel Control Register */ - __IO uint32_t USBHS_DEVDMASTATUS; /**< \brief (UsbhsDevdma Offset: 0xC) Device DMA Channel Status Register */ -} UsbhsDevdma; -/** \brief UsbhsHstdma hardware registers */ -typedef struct { - __IO uint32_t USBHS_HSTDMANXTDSC; /**< \brief (UsbhsHstdma Offset: 0x0) Host DMA Channel Next Descriptor Address Register */ - __IO uint32_t USBHS_HSTDMAADDRESS; /**< \brief (UsbhsHstdma Offset: 0x4) Host DMA Channel Address Register */ - __IO uint32_t USBHS_HSTDMACONTROL; /**< \brief (UsbhsHstdma Offset: 0x8) Host DMA Channel Control Register */ - __IO uint32_t USBHS_HSTDMASTATUS; /**< \brief (UsbhsHstdma Offset: 0xC) Host DMA Channel Status Register */ -} UsbhsHstdma; -/** \brief Usbhs hardware registers */ -#define USBHSDEVDMA_NUMBER 7 -#define USBHSHSTDMA_NUMBER 7 -typedef struct { - __IO uint32_t USBHS_DEVCTRL; /**< \brief (Usbhs Offset: 0x0000) Device General Control Register */ - __I uint32_t USBHS_DEVISR; /**< \brief (Usbhs Offset: 0x0004) Device Global Interrupt Status Register */ - __O uint32_t USBHS_DEVICR; /**< \brief (Usbhs Offset: 0x0008) Device Global Interrupt Clear Register */ - __O uint32_t USBHS_DEVIFR; /**< \brief (Usbhs Offset: 0x000C) Device Global Interrupt Set Register */ - __I uint32_t USBHS_DEVIMR; /**< \brief (Usbhs Offset: 0x0010) Device Global Interrupt Mask Register */ - __O uint32_t USBHS_DEVIDR; /**< \brief (Usbhs Offset: 0x0014) Device Global Interrupt Disable Register */ - __O uint32_t USBHS_DEVIER; /**< \brief (Usbhs Offset: 0x0018) Device Global Interrupt Enable Register */ - __IO uint32_t USBHS_DEVEPT; /**< \brief (Usbhs Offset: 0x001C) Device Endpoint Register */ - __I uint32_t USBHS_DEVFNUM; /**< \brief (Usbhs Offset: 0x0020) Device Frame Number Register */ - __I uint32_t Reserved1[55]; - __IO uint32_t USBHS_DEVEPTCFG[10]; /**< \brief (Usbhs Offset: 0x100) Device Endpoint Configuration Register (n = 0) */ - __I uint32_t Reserved2[2]; - __I uint32_t USBHS_DEVEPTISR[10]; /**< \brief (Usbhs Offset: 0x130) Device Endpoint Status Register (n = 0) */ - __I uint32_t Reserved3[2]; - __O uint32_t USBHS_DEVEPTICR[10]; /**< \brief (Usbhs Offset: 0x160) Device Endpoint Clear Register (n = 0) */ - __I uint32_t Reserved4[2]; - __O uint32_t USBHS_DEVEPTIFR[10]; /**< \brief (Usbhs Offset: 0x190) Device Endpoint Set Register (n = 0) */ - __I uint32_t Reserved5[2]; - __I uint32_t USBHS_DEVEPTIMR[10]; /**< \brief (Usbhs Offset: 0x1C0) Device Endpoint Mask Register (n = 0) */ - __I uint32_t Reserved6[2]; - __O uint32_t USBHS_DEVEPTIER[10]; /**< \brief (Usbhs Offset: 0x1F0) Device Endpoint Enable Register (n = 0) */ - __I uint32_t Reserved7[2]; - __O uint32_t USBHS_DEVEPTIDR[10]; /**< \brief (Usbhs Offset: 0x220) Device Endpoint Disable Register (n = 0) */ - __I uint32_t Reserved8[50]; - UsbhsDevdma USBHS_DEVDMA[USBHSDEVDMA_NUMBER]; /**< \brief (Usbhs Offset: 0x310) n = 1 .. 7 */ - __I uint32_t Reserved9[32]; - __IO uint32_t USBHS_HSTCTRL; /**< \brief (Usbhs Offset: 0x0400) Host General Control Register */ - __I uint32_t USBHS_HSTISR; /**< \brief (Usbhs Offset: 0x0404) Host Global Interrupt Status Register */ - __O uint32_t USBHS_HSTICR; /**< \brief (Usbhs Offset: 0x0408) Host Global Interrupt Clear Register */ - __O uint32_t USBHS_HSTIFR; /**< \brief (Usbhs Offset: 0x040C) Host Global Interrupt Set Register */ - __I uint32_t USBHS_HSTIMR; /**< \brief (Usbhs Offset: 0x0410) Host Global Interrupt Mask Register */ - __O uint32_t USBHS_HSTIDR; /**< \brief (Usbhs Offset: 0x0414) Host Global Interrupt Disable Register */ - __O uint32_t USBHS_HSTIER; /**< \brief (Usbhs Offset: 0x0418) Host Global Interrupt Enable Register */ - __IO uint32_t USBHS_HSTPIP; /**< \brief (Usbhs Offset: 0x0041C) Host Pipe Register */ - __IO uint32_t USBHS_HSTFNUM; /**< \brief (Usbhs Offset: 0x0420) Host Frame Number Register */ - __IO uint32_t USBHS_HSTADDR1; /**< \brief (Usbhs Offset: 0x0424) Host Address 1 Register */ - __IO uint32_t USBHS_HSTADDR2; /**< \brief (Usbhs Offset: 0x0428) Host Address 2 Register */ - __IO uint32_t USBHS_HSTADDR3; /**< \brief (Usbhs Offset: 0x042C) Host Address 3 Register */ - __I uint32_t Reserved10[52]; - __IO uint32_t USBHS_HSTPIPCFG[10]; /**< \brief (Usbhs Offset: 0x500) Host Pipe Configuration Register (n = 0) */ - __I uint32_t Reserved11[2]; - __I uint32_t USBHS_HSTPIPISR[10]; /**< \brief (Usbhs Offset: 0x530) Host Pipe Status Register (n = 0) */ - __I uint32_t Reserved12[2]; - __O uint32_t USBHS_HSTPIPICR[10]; /**< \brief (Usbhs Offset: 0x560) Host Pipe Clear Register (n = 0) */ - __I uint32_t Reserved13[2]; - __O uint32_t USBHS_HSTPIPIFR[10]; /**< \brief (Usbhs Offset: 0x590) Host Pipe Set Register (n = 0) */ - __I uint32_t Reserved14[2]; - __I uint32_t USBHS_HSTPIPIMR[10]; /**< \brief (Usbhs Offset: 0x5C0) Host Pipe Mask Register (n = 0) */ - __I uint32_t Reserved15[2]; - __O uint32_t USBHS_HSTPIPIER[10]; /**< \brief (Usbhs Offset: 0x5F0) Host Pipe Enable Register (n = 0) */ - __I uint32_t Reserved16[2]; - __O uint32_t USBHS_HSTPIPIDR[10]; /**< \brief (Usbhs Offset: 0x620) Host Pipe Disable Register (n = 0) */ - __I uint32_t Reserved17[2]; - __IO uint32_t USBHS_HSTPIPINRQ[10]; /**< \brief (Usbhs Offset: 0x650) Host Pipe IN Request Register (n = 0) */ - __I uint32_t Reserved18[2]; - __IO uint32_t USBHS_HSTPIPERR[10]; /**< \brief (Usbhs Offset: 0x680) Host Pipe Error Register (n = 0) */ - __I uint32_t Reserved19[26]; - UsbhsHstdma USBHS_HSTDMA[USBHSHSTDMA_NUMBER]; /**< \brief (Usbhs Offset: 0x710) n = 1 .. 7 */ - __I uint32_t Reserved20[32]; - __IO uint32_t USBHS_CTRL; /**< \brief (Usbhs Offset: 0x0800) General Control Register */ - __I uint32_t USBHS_SR; /**< \brief (Usbhs Offset: 0x0804) General Status Register */ - __O uint32_t USBHS_SCR; /**< \brief (Usbhs Offset: 0x0808) General Status Clear Register */ - __O uint32_t USBHS_SFR; /**< \brief (Usbhs Offset: 0x080C) General Status Set Register */ - __IO uint32_t USBHS_TSTA1; /**< \brief (Usbhs Offset: 0x0810) General Test A1 Register */ - __IO uint32_t USBHS_TSTA2; /**< \brief (Usbhs Offset: 0x0814) General Test A2 Register */ - __I uint32_t USBHS_VERSION; /**< \brief (Usbhs Offset: 0x0818) General Version Register */ - __I uint32_t Reserved21[4]; - __I uint32_t USBHS_FSM; /**< \brief (Usbhs Offset: 0x082C) General Finite State Machine Register */ -} Usbhs; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- USBHS_DEVCTRL : (USBHS Offset: 0x0000) Device General Control Register -------- */ -#define USBHS_DEVCTRL_UADD_Pos 0 -#define USBHS_DEVCTRL_UADD_Msk (0x7fu << USBHS_DEVCTRL_UADD_Pos) /**< \brief (USBHS_DEVCTRL) USB Address */ -#define USBHS_DEVCTRL_UADD(value) ((USBHS_DEVCTRL_UADD_Msk & ((value) << USBHS_DEVCTRL_UADD_Pos))) -#define USBHS_DEVCTRL_ADDEN (0x1u << 7) /**< \brief (USBHS_DEVCTRL) Address Enable */ -#define USBHS_DEVCTRL_DETACH (0x1u << 8) /**< \brief (USBHS_DEVCTRL) Detach */ -#define USBHS_DEVCTRL_RMWKUP (0x1u << 9) /**< \brief (USBHS_DEVCTRL) Remote Wake-Up */ -#define USBHS_DEVCTRL_SPDCONF_Pos 10 -#define USBHS_DEVCTRL_SPDCONF_Msk (0x3u << USBHS_DEVCTRL_SPDCONF_Pos) /**< \brief (USBHS_DEVCTRL) Mode Configuration */ -#define USBHS_DEVCTRL_SPDCONF(value) ((USBHS_DEVCTRL_SPDCONF_Msk & ((value) << USBHS_DEVCTRL_SPDCONF_Pos))) -#define USBHS_DEVCTRL_SPDCONF_NORMAL (0x0u << 10) /**< \brief (USBHS_DEVCTRL) The peripheral starts in Full-speed mode and performs a high-speed reset to switch to High-speed mode if the host is high-speed-capable. */ -#define USBHS_DEVCTRL_SPDCONF_LOW_POWER (0x1u << 10) /**< \brief (USBHS_DEVCTRL) For a better consumption, if high speed is not needed. */ -#define USBHS_DEVCTRL_SPDCONF_HIGH_SPEED (0x2u << 10) /**< \brief (USBHS_DEVCTRL) Forced high speed. */ -#define USBHS_DEVCTRL_SPDCONF_FORCED_FS (0x3u << 10) /**< \brief (USBHS_DEVCTRL) The peripheral remains in Full-speed mode whatever the host speed capability. */ -#define USBHS_DEVCTRL_LS (0x1u << 12) /**< \brief (USBHS_DEVCTRL) Low-Speed Mode Force */ -#define USBHS_DEVCTRL_TSTJ (0x1u << 13) /**< \brief (USBHS_DEVCTRL) Test mode J */ -#define USBHS_DEVCTRL_TSTK (0x1u << 14) /**< \brief (USBHS_DEVCTRL) Test mode K */ -#define USBHS_DEVCTRL_TSTPCKT (0x1u << 15) /**< \brief (USBHS_DEVCTRL) Test packet mode */ -#define USBHS_DEVCTRL_OPMODE2 (0x1u << 16) /**< \brief (USBHS_DEVCTRL) Specific Operational mode */ -/* -------- USBHS_DEVISR : (USBHS Offset: 0x0004) Device Global Interrupt Status Register -------- */ -#define USBHS_DEVISR_SUSP (0x1u << 0) /**< \brief (USBHS_DEVISR) Suspend Interrupt */ -#define USBHS_DEVISR_MSOF (0x1u << 1) /**< \brief (USBHS_DEVISR) Micro Start of Frame Interrupt */ -#define USBHS_DEVISR_SOF (0x1u << 2) /**< \brief (USBHS_DEVISR) Start of Frame Interrupt */ -#define USBHS_DEVISR_EORST (0x1u << 3) /**< \brief (USBHS_DEVISR) End of Reset Interrupt */ -#define USBHS_DEVISR_WAKEUP (0x1u << 4) /**< \brief (USBHS_DEVISR) Wake-Up Interrupt */ -#define USBHS_DEVISR_EORSM (0x1u << 5) /**< \brief (USBHS_DEVISR) End of Resume Interrupt */ -#define USBHS_DEVISR_UPRSM (0x1u << 6) /**< \brief (USBHS_DEVISR) Upstream Resume Interrupt */ -#define USBHS_DEVISR_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVISR) Endpoint 0 Interrupt */ -#define USBHS_DEVISR_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVISR) Endpoint 1 Interrupt */ -#define USBHS_DEVISR_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVISR) Endpoint 2 Interrupt */ -#define USBHS_DEVISR_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVISR) Endpoint 3 Interrupt */ -#define USBHS_DEVISR_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVISR) Endpoint 4 Interrupt */ -#define USBHS_DEVISR_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVISR) Endpoint 5 Interrupt */ -#define USBHS_DEVISR_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVISR) Endpoint 6 Interrupt */ -#define USBHS_DEVISR_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVISR) Endpoint 7 Interrupt */ -#define USBHS_DEVISR_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVISR) Endpoint 8 Interrupt */ -#define USBHS_DEVISR_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVISR) Endpoint 9 Interrupt */ -#define USBHS_DEVISR_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVISR) Endpoint 10 Interrupt */ -#define USBHS_DEVISR_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVISR) Endpoint 11 Interrupt */ -#define USBHS_DEVISR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVISR) DMA Channel 1 Interrupt */ -#define USBHS_DEVISR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVISR) DMA Channel 2 Interrupt */ -#define USBHS_DEVISR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVISR) DMA Channel 3 Interrupt */ -#define USBHS_DEVISR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVISR) DMA Channel 4 Interrupt */ -#define USBHS_DEVISR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVISR) DMA Channel 5 Interrupt */ -#define USBHS_DEVISR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVISR) DMA Channel 6 Interrupt */ -#define USBHS_DEVISR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVISR) DMA Channel 7 Interrupt */ -/* -------- USBHS_DEVICR : (USBHS Offset: 0x0008) Device Global Interrupt Clear Register -------- */ -#define USBHS_DEVICR_SUSPC (0x1u << 0) /**< \brief (USBHS_DEVICR) Suspend Interrupt Clear */ -#define USBHS_DEVICR_MSOFC (0x1u << 1) /**< \brief (USBHS_DEVICR) Micro Start of Frame Interrupt Clear */ -#define USBHS_DEVICR_SOFC (0x1u << 2) /**< \brief (USBHS_DEVICR) Start of Frame Interrupt Clear */ -#define USBHS_DEVICR_EORSTC (0x1u << 3) /**< \brief (USBHS_DEVICR) End of Reset Interrupt Clear */ -#define USBHS_DEVICR_WAKEUPC (0x1u << 4) /**< \brief (USBHS_DEVICR) Wake-Up Interrupt Clear */ -#define USBHS_DEVICR_EORSMC (0x1u << 5) /**< \brief (USBHS_DEVICR) End of Resume Interrupt Clear */ -#define USBHS_DEVICR_UPRSMC (0x1u << 6) /**< \brief (USBHS_DEVICR) Upstream Resume Interrupt Clear */ -/* -------- USBHS_DEVIFR : (USBHS Offset: 0x000C) Device Global Interrupt Set Register -------- */ -#define USBHS_DEVIFR_SUSPS (0x1u << 0) /**< \brief (USBHS_DEVIFR) Suspend Interrupt Set */ -#define USBHS_DEVIFR_MSOFS (0x1u << 1) /**< \brief (USBHS_DEVIFR) Micro Start of Frame Interrupt Set */ -#define USBHS_DEVIFR_SOFS (0x1u << 2) /**< \brief (USBHS_DEVIFR) Start of Frame Interrupt Set */ -#define USBHS_DEVIFR_EORSTS (0x1u << 3) /**< \brief (USBHS_DEVIFR) End of Reset Interrupt Set */ -#define USBHS_DEVIFR_WAKEUPS (0x1u << 4) /**< \brief (USBHS_DEVIFR) Wake-Up Interrupt Set */ -#define USBHS_DEVIFR_EORSMS (0x1u << 5) /**< \brief (USBHS_DEVIFR) End of Resume Interrupt Set */ -#define USBHS_DEVIFR_UPRSMS (0x1u << 6) /**< \brief (USBHS_DEVIFR) Upstream Resume Interrupt Set */ -#define USBHS_DEVIFR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIFR) DMA Channel 1 Interrupt Set */ -#define USBHS_DEVIFR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIFR) DMA Channel 2 Interrupt Set */ -#define USBHS_DEVIFR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIFR) DMA Channel 3 Interrupt Set */ -#define USBHS_DEVIFR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIFR) DMA Channel 4 Interrupt Set */ -#define USBHS_DEVIFR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIFR) DMA Channel 5 Interrupt Set */ -#define USBHS_DEVIFR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIFR) DMA Channel 6 Interrupt Set */ -#define USBHS_DEVIFR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIFR) DMA Channel 7 Interrupt Set */ -/* -------- USBHS_DEVIMR : (USBHS Offset: 0x0010) Device Global Interrupt Mask Register -------- */ -#define USBHS_DEVIMR_SUSPE (0x1u << 0) /**< \brief (USBHS_DEVIMR) Suspend Interrupt Mask */ -#define USBHS_DEVIMR_MSOFE (0x1u << 1) /**< \brief (USBHS_DEVIMR) Micro Start of Frame Interrupt Mask */ -#define USBHS_DEVIMR_SOFE (0x1u << 2) /**< \brief (USBHS_DEVIMR) Start of Frame Interrupt Mask */ -#define USBHS_DEVIMR_EORSTE (0x1u << 3) /**< \brief (USBHS_DEVIMR) End of Reset Interrupt Mask */ -#define USBHS_DEVIMR_WAKEUPE (0x1u << 4) /**< \brief (USBHS_DEVIMR) Wake-Up Interrupt Mask */ -#define USBHS_DEVIMR_EORSME (0x1u << 5) /**< \brief (USBHS_DEVIMR) End of Resume Interrupt Mask */ -#define USBHS_DEVIMR_UPRSME (0x1u << 6) /**< \brief (USBHS_DEVIMR) Upstream Resume Interrupt Mask */ -#define USBHS_DEVIMR_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVIMR) Endpoint 0 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVIMR) Endpoint 1 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVIMR) Endpoint 2 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVIMR) Endpoint 3 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVIMR) Endpoint 4 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVIMR) Endpoint 5 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVIMR) Endpoint 6 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVIMR) Endpoint 7 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVIMR) Endpoint 8 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVIMR) Endpoint 9 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVIMR) Endpoint 10 Interrupt Mask */ -#define USBHS_DEVIMR_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVIMR) Endpoint 11 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIMR) DMA Channel 1 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIMR) DMA Channel 2 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIMR) DMA Channel 3 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIMR) DMA Channel 4 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIMR) DMA Channel 5 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIMR) DMA Channel 6 Interrupt Mask */ -#define USBHS_DEVIMR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIMR) DMA Channel 7 Interrupt Mask */ -/* -------- USBHS_DEVIDR : (USBHS Offset: 0x0014) Device Global Interrupt Disable Register -------- */ -#define USBHS_DEVIDR_SUSPEC (0x1u << 0) /**< \brief (USBHS_DEVIDR) Suspend Interrupt Disable */ -#define USBHS_DEVIDR_MSOFEC (0x1u << 1) /**< \brief (USBHS_DEVIDR) Micro Start of Frame Interrupt Disable */ -#define USBHS_DEVIDR_SOFEC (0x1u << 2) /**< \brief (USBHS_DEVIDR) Start of Frame Interrupt Disable */ -#define USBHS_DEVIDR_EORSTEC (0x1u << 3) /**< \brief (USBHS_DEVIDR) End of Reset Interrupt Disable */ -#define USBHS_DEVIDR_WAKEUPEC (0x1u << 4) /**< \brief (USBHS_DEVIDR) Wake-Up Interrupt Disable */ -#define USBHS_DEVIDR_EORSMEC (0x1u << 5) /**< \brief (USBHS_DEVIDR) End of Resume Interrupt Disable */ -#define USBHS_DEVIDR_UPRSMEC (0x1u << 6) /**< \brief (USBHS_DEVIDR) Upstream Resume Interrupt Disable */ -#define USBHS_DEVIDR_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVIDR) Endpoint 0 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVIDR) Endpoint 1 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVIDR) Endpoint 2 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVIDR) Endpoint 3 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVIDR) Endpoint 4 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVIDR) Endpoint 5 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVIDR) Endpoint 6 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVIDR) Endpoint 7 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVIDR) Endpoint 8 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVIDR) Endpoint 9 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVIDR) Endpoint 10 Interrupt Disable */ -#define USBHS_DEVIDR_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVIDR) Endpoint 11 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIDR) DMA Channel 1 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIDR) DMA Channel 2 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIDR) DMA Channel 3 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIDR) DMA Channel 4 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIDR) DMA Channel 5 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIDR) DMA Channel 6 Interrupt Disable */ -#define USBHS_DEVIDR_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIDR) DMA Channel 7 Interrupt Disable */ -/* -------- USBHS_DEVIER : (USBHS Offset: 0x0018) Device Global Interrupt Enable Register -------- */ -#define USBHS_DEVIER_SUSPES (0x1u << 0) /**< \brief (USBHS_DEVIER) Suspend Interrupt Enable */ -#define USBHS_DEVIER_MSOFES (0x1u << 1) /**< \brief (USBHS_DEVIER) Micro Start of Frame Interrupt Enable */ -#define USBHS_DEVIER_SOFES (0x1u << 2) /**< \brief (USBHS_DEVIER) Start of Frame Interrupt Enable */ -#define USBHS_DEVIER_EORSTES (0x1u << 3) /**< \brief (USBHS_DEVIER) End of Reset Interrupt Enable */ -#define USBHS_DEVIER_WAKEUPES (0x1u << 4) /**< \brief (USBHS_DEVIER) Wake-Up Interrupt Enable */ -#define USBHS_DEVIER_EORSMES (0x1u << 5) /**< \brief (USBHS_DEVIER) End of Resume Interrupt Enable */ -#define USBHS_DEVIER_UPRSMES (0x1u << 6) /**< \brief (USBHS_DEVIER) Upstream Resume Interrupt Enable */ -#define USBHS_DEVIER_PEP_0 (0x1u << 12) /**< \brief (USBHS_DEVIER) Endpoint 0 Interrupt Enable */ -#define USBHS_DEVIER_PEP_1 (0x1u << 13) /**< \brief (USBHS_DEVIER) Endpoint 1 Interrupt Enable */ -#define USBHS_DEVIER_PEP_2 (0x1u << 14) /**< \brief (USBHS_DEVIER) Endpoint 2 Interrupt Enable */ -#define USBHS_DEVIER_PEP_3 (0x1u << 15) /**< \brief (USBHS_DEVIER) Endpoint 3 Interrupt Enable */ -#define USBHS_DEVIER_PEP_4 (0x1u << 16) /**< \brief (USBHS_DEVIER) Endpoint 4 Interrupt Enable */ -#define USBHS_DEVIER_PEP_5 (0x1u << 17) /**< \brief (USBHS_DEVIER) Endpoint 5 Interrupt Enable */ -#define USBHS_DEVIER_PEP_6 (0x1u << 18) /**< \brief (USBHS_DEVIER) Endpoint 6 Interrupt Enable */ -#define USBHS_DEVIER_PEP_7 (0x1u << 19) /**< \brief (USBHS_DEVIER) Endpoint 7 Interrupt Enable */ -#define USBHS_DEVIER_PEP_8 (0x1u << 20) /**< \brief (USBHS_DEVIER) Endpoint 8 Interrupt Enable */ -#define USBHS_DEVIER_PEP_9 (0x1u << 21) /**< \brief (USBHS_DEVIER) Endpoint 9 Interrupt Enable */ -#define USBHS_DEVIER_PEP_10 (0x1u << 22) /**< \brief (USBHS_DEVIER) Endpoint 10 Interrupt Enable */ -#define USBHS_DEVIER_PEP_11 (0x1u << 23) /**< \brief (USBHS_DEVIER) Endpoint 11 Interrupt Enable */ -#define USBHS_DEVIER_DMA_1 (0x1u << 25) /**< \brief (USBHS_DEVIER) DMA Channel 1 Interrupt Enable */ -#define USBHS_DEVIER_DMA_2 (0x1u << 26) /**< \brief (USBHS_DEVIER) DMA Channel 2 Interrupt Enable */ -#define USBHS_DEVIER_DMA_3 (0x1u << 27) /**< \brief (USBHS_DEVIER) DMA Channel 3 Interrupt Enable */ -#define USBHS_DEVIER_DMA_4 (0x1u << 28) /**< \brief (USBHS_DEVIER) DMA Channel 4 Interrupt Enable */ -#define USBHS_DEVIER_DMA_5 (0x1u << 29) /**< \brief (USBHS_DEVIER) DMA Channel 5 Interrupt Enable */ -#define USBHS_DEVIER_DMA_6 (0x1u << 30) /**< \brief (USBHS_DEVIER) DMA Channel 6 Interrupt Enable */ -#define USBHS_DEVIER_DMA_7 (0x1u << 31) /**< \brief (USBHS_DEVIER) DMA Channel 7 Interrupt Enable */ -/* -------- USBHS_DEVEPT : (USBHS Offset: 0x001C) Device Endpoint Register -------- */ -#define USBHS_DEVEPT_EPEN0 (0x1u << 0) /**< \brief (USBHS_DEVEPT) Endpoint 0 Enable */ -#define USBHS_DEVEPT_EPEN1 (0x1u << 1) /**< \brief (USBHS_DEVEPT) Endpoint 1 Enable */ -#define USBHS_DEVEPT_EPEN2 (0x1u << 2) /**< \brief (USBHS_DEVEPT) Endpoint 2 Enable */ -#define USBHS_DEVEPT_EPEN3 (0x1u << 3) /**< \brief (USBHS_DEVEPT) Endpoint 3 Enable */ -#define USBHS_DEVEPT_EPEN4 (0x1u << 4) /**< \brief (USBHS_DEVEPT) Endpoint 4 Enable */ -#define USBHS_DEVEPT_EPEN5 (0x1u << 5) /**< \brief (USBHS_DEVEPT) Endpoint 5 Enable */ -#define USBHS_DEVEPT_EPEN6 (0x1u << 6) /**< \brief (USBHS_DEVEPT) Endpoint 6 Enable */ -#define USBHS_DEVEPT_EPEN7 (0x1u << 7) /**< \brief (USBHS_DEVEPT) Endpoint 7 Enable */ -#define USBHS_DEVEPT_EPEN8 (0x1u << 8) /**< \brief (USBHS_DEVEPT) Endpoint 8 Enable */ -#define USBHS_DEVEPT_EPRST0 (0x1u << 16) /**< \brief (USBHS_DEVEPT) Endpoint 0 Reset */ -#define USBHS_DEVEPT_EPRST1 (0x1u << 17) /**< \brief (USBHS_DEVEPT) Endpoint 1 Reset */ -#define USBHS_DEVEPT_EPRST2 (0x1u << 18) /**< \brief (USBHS_DEVEPT) Endpoint 2 Reset */ -#define USBHS_DEVEPT_EPRST3 (0x1u << 19) /**< \brief (USBHS_DEVEPT) Endpoint 3 Reset */ -#define USBHS_DEVEPT_EPRST4 (0x1u << 20) /**< \brief (USBHS_DEVEPT) Endpoint 4 Reset */ -#define USBHS_DEVEPT_EPRST5 (0x1u << 21) /**< \brief (USBHS_DEVEPT) Endpoint 5 Reset */ -#define USBHS_DEVEPT_EPRST6 (0x1u << 22) /**< \brief (USBHS_DEVEPT) Endpoint 6 Reset */ -#define USBHS_DEVEPT_EPRST7 (0x1u << 23) /**< \brief (USBHS_DEVEPT) Endpoint 7 Reset */ -#define USBHS_DEVEPT_EPRST8 (0x1u << 24) /**< \brief (USBHS_DEVEPT) Endpoint 8 Reset */ -/* -------- USBHS_DEVFNUM : (USBHS Offset: 0x0020) Device Frame Number Register -------- */ -#define USBHS_DEVFNUM_MFNUM_Pos 0 -#define USBHS_DEVFNUM_MFNUM_Msk (0x7u << USBHS_DEVFNUM_MFNUM_Pos) /**< \brief (USBHS_DEVFNUM) Micro Frame Number */ -#define USBHS_DEVFNUM_FNUM_Pos 3 -#define USBHS_DEVFNUM_FNUM_Msk (0x7ffu << USBHS_DEVFNUM_FNUM_Pos) /**< \brief (USBHS_DEVFNUM) Frame Number */ -#define USBHS_DEVFNUM_FNCERR (0x1u << 15) /**< \brief (USBHS_DEVFNUM) Frame Number CRC Error */ -/* -------- USBHS_DEVEPTCFG[10] : (USBHS Offset: 0x100) Device Endpoint Configuration Register (n = 0) -------- */ -#define USBHS_DEVEPTCFG_ALLOC (0x1u << 1) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Memory Allocate */ -#define USBHS_DEVEPTCFG_EPBK_Pos 2 -#define USBHS_DEVEPTCFG_EPBK_Msk (0x3u << USBHS_DEVEPTCFG_EPBK_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Banks */ -#define USBHS_DEVEPTCFG_EPBK(value) ((USBHS_DEVEPTCFG_EPBK_Msk & ((value) << USBHS_DEVEPTCFG_EPBK_Pos))) -#define USBHS_DEVEPTCFG_EPBK_1_BANK (0x0u << 2) /**< \brief (USBHS_DEVEPTCFG[10]) Single-bank endpoint */ -#define USBHS_DEVEPTCFG_EPBK_2_BANK (0x1u << 2) /**< \brief (USBHS_DEVEPTCFG[10]) Double-bank endpoint */ -#define USBHS_DEVEPTCFG_EPBK_3_BANK (0x2u << 2) /**< \brief (USBHS_DEVEPTCFG[10]) Triple-bank endpoint */ -#define USBHS_DEVEPTCFG_EPSIZE_Pos 4 -#define USBHS_DEVEPTCFG_EPSIZE_Msk (0x7u << USBHS_DEVEPTCFG_EPSIZE_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Size */ -#define USBHS_DEVEPTCFG_EPSIZE(value) ((USBHS_DEVEPTCFG_EPSIZE_Msk & ((value) << USBHS_DEVEPTCFG_EPSIZE_Pos))) -#define USBHS_DEVEPTCFG_EPSIZE_8_BYTE (0x0u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 8 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_16_BYTE (0x1u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 16 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_32_BYTE (0x2u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 32 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_64_BYTE (0x3u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 64 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_128_BYTE (0x4u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 128 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_256_BYTE (0x5u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 256 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_512_BYTE (0x6u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 512 bytes */ -#define USBHS_DEVEPTCFG_EPSIZE_1024_BYTE (0x7u << 4) /**< \brief (USBHS_DEVEPTCFG[10]) 1024 bytes */ -#define USBHS_DEVEPTCFG_EPDIR (0x1u << 8) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Direction */ -#define USBHS_DEVEPTCFG_EPDIR_OUT (0x0u << 8) /**< \brief (USBHS_DEVEPTCFG[10]) The endpoint direction is OUT. */ -#define USBHS_DEVEPTCFG_EPDIR_IN (0x1u << 8) /**< \brief (USBHS_DEVEPTCFG[10]) The endpoint direction is IN (nor for control endpoints). */ -#define USBHS_DEVEPTCFG_AUTOSW (0x1u << 9) /**< \brief (USBHS_DEVEPTCFG[10]) Automatic Switch */ -#define USBHS_DEVEPTCFG_EPTYPE_Pos 11 -#define USBHS_DEVEPTCFG_EPTYPE_Msk (0x3u << USBHS_DEVEPTCFG_EPTYPE_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Endpoint Type */ -#define USBHS_DEVEPTCFG_EPTYPE(value) ((USBHS_DEVEPTCFG_EPTYPE_Msk & ((value) << USBHS_DEVEPTCFG_EPTYPE_Pos))) -#define USBHS_DEVEPTCFG_EPTYPE_CTRL (0x0u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Control */ -#define USBHS_DEVEPTCFG_EPTYPE_ISO (0x1u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Isochronous */ -#define USBHS_DEVEPTCFG_EPTYPE_BLK (0x2u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Bulk */ -#define USBHS_DEVEPTCFG_EPTYPE_INTRPT (0x3u << 11) /**< \brief (USBHS_DEVEPTCFG[10]) Interrupt */ -#define USBHS_DEVEPTCFG_NBTRANS_Pos 13 -#define USBHS_DEVEPTCFG_NBTRANS_Msk (0x3u << USBHS_DEVEPTCFG_NBTRANS_Pos) /**< \brief (USBHS_DEVEPTCFG[10]) Number of transactions per microframe for isochronous endpoint */ -#define USBHS_DEVEPTCFG_NBTRANS(value) ((USBHS_DEVEPTCFG_NBTRANS_Msk & ((value) << USBHS_DEVEPTCFG_NBTRANS_Pos))) -#define USBHS_DEVEPTCFG_NBTRANS_0_TRANS (0x0u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Reserved to endpoint that does not have the high-bandwidth isochronous capability. */ -#define USBHS_DEVEPTCFG_NBTRANS_1_TRANS (0x1u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Default value: one transaction per microframe. */ -#define USBHS_DEVEPTCFG_NBTRANS_2_TRANS (0x2u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Two transactions per microframe. This endpoint should be configured as double-bank. */ -#define USBHS_DEVEPTCFG_NBTRANS_3_TRANS (0x3u << 13) /**< \brief (USBHS_DEVEPTCFG[10]) Three transactions per microframe. This endpoint should be configured as triple-bank. */ -/* -------- USBHS_DEVEPTISR[10] : (USBHS Offset: 0x130) Device Endpoint Status Register (n = 0) -------- */ -#define USBHS_DEVEPTISR_TXINI (0x1u << 0) /**< \brief (USBHS_DEVEPTISR[10]) Transmitted IN Data Interrupt */ -#define USBHS_DEVEPTISR_RXOUTI (0x1u << 1) /**< \brief (USBHS_DEVEPTISR[10]) Received OUT Data Interrupt */ -#define USBHS_DEVEPTISR_RXSTPI (0x1u << 2) /**< \brief (USBHS_DEVEPTISR[10]) Received SETUP Interrupt */ -#define USBHS_DEVEPTISR_NAKOUTI (0x1u << 3) /**< \brief (USBHS_DEVEPTISR[10]) NAKed OUT Interrupt */ -#define USBHS_DEVEPTISR_NAKINI (0x1u << 4) /**< \brief (USBHS_DEVEPTISR[10]) NAKed IN Interrupt */ -#define USBHS_DEVEPTISR_OVERFI (0x1u << 5) /**< \brief (USBHS_DEVEPTISR[10]) Overflow Interrupt */ -#define USBHS_DEVEPTISR_STALLEDI (0x1u << 6) /**< \brief (USBHS_DEVEPTISR[10]) STALLed Interrupt */ -#define USBHS_DEVEPTISR_SHORTPACKET (0x1u << 7) /**< \brief (USBHS_DEVEPTISR[10]) Short Packet Interrupt */ -#define USBHS_DEVEPTISR_DTSEQ_Pos 8 -#define USBHS_DEVEPTISR_DTSEQ_Msk (0x3u << USBHS_DEVEPTISR_DTSEQ_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Data Toggle Sequence */ -#define USBHS_DEVEPTISR_DTSEQ_DATA0 (0x0u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Data0 toggle sequence */ -#define USBHS_DEVEPTISR_DTSEQ_DATA1 (0x1u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Data1 toggle sequence */ -#define USBHS_DEVEPTISR_DTSEQ_DATA2 (0x2u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Reserved for high-bandwidth isochronous endpoint */ -#define USBHS_DEVEPTISR_DTSEQ_MDATA (0x3u << 8) /**< \brief (USBHS_DEVEPTISR[10]) Reserved for high-bandwidth isochronous endpoint */ -#define USBHS_DEVEPTISR_NBUSYBK_Pos 12 -#define USBHS_DEVEPTISR_NBUSYBK_Msk (0x3u << USBHS_DEVEPTISR_NBUSYBK_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Number of Busy Banks */ -#define USBHS_DEVEPTISR_NBUSYBK_0_BUSY (0x0u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 0 busy bank (all banks free) */ -#define USBHS_DEVEPTISR_NBUSYBK_1_BUSY (0x1u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 1 busy bank */ -#define USBHS_DEVEPTISR_NBUSYBK_2_BUSY (0x2u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 2 busy banks */ -#define USBHS_DEVEPTISR_NBUSYBK_3_BUSY (0x3u << 12) /**< \brief (USBHS_DEVEPTISR[10]) 3 busy banks */ -#define USBHS_DEVEPTISR_CURRBK_Pos 14 -#define USBHS_DEVEPTISR_CURRBK_Msk (0x3u << USBHS_DEVEPTISR_CURRBK_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Current Bank */ -#define USBHS_DEVEPTISR_CURRBK_BANK0 (0x0u << 14) /**< \brief (USBHS_DEVEPTISR[10]) Current bank is bank0 */ -#define USBHS_DEVEPTISR_CURRBK_BANK1 (0x1u << 14) /**< \brief (USBHS_DEVEPTISR[10]) Current bank is bank1 */ -#define USBHS_DEVEPTISR_CURRBK_BANK2 (0x2u << 14) /**< \brief (USBHS_DEVEPTISR[10]) Current bank is bank2 */ -#define USBHS_DEVEPTISR_RWALL (0x1u << 16) /**< \brief (USBHS_DEVEPTISR[10]) Read/Write Allowed */ -#define USBHS_DEVEPTISR_CTRLDIR (0x1u << 17) /**< \brief (USBHS_DEVEPTISR[10]) Control Direction */ -#define USBHS_DEVEPTISR_CFGOK (0x1u << 18) /**< \brief (USBHS_DEVEPTISR[10]) Configuration OK Status */ -#define USBHS_DEVEPTISR_BYCT_Pos 20 -#define USBHS_DEVEPTISR_BYCT_Msk (0x7ffu << USBHS_DEVEPTISR_BYCT_Pos) /**< \brief (USBHS_DEVEPTISR[10]) Byte Count */ -#define USBHS_DEVEPTISR_UNDERFI (0x1u << 2) /**< \brief (USBHS_DEVEPTISR[10]) Underflow Interrupt */ -#define USBHS_DEVEPTISR_HBISOINERRI (0x1u << 3) /**< \brief (USBHS_DEVEPTISR[10]) High Bandwidth Isochronous IN Underflow Error Interrupt */ -#define USBHS_DEVEPTISR_HBISOFLUSHI (0x1u << 4) /**< \brief (USBHS_DEVEPTISR[10]) High Bandwidth Isochronous IN Flush Interrupt */ -#define USBHS_DEVEPTISR_CRCERRI (0x1u << 6) /**< \brief (USBHS_DEVEPTISR[10]) CRC Error Interrupt */ -#define USBHS_DEVEPTISR_ERRORTRANS (0x1u << 10) /**< \brief (USBHS_DEVEPTISR[10]) High-bandwidth Isochronous OUT Endpoint Transaction Error Interrupt */ -/* -------- USBHS_DEVEPTICR[10] : (USBHS Offset: 0x160) Device Endpoint Clear Register (n = 0) -------- */ -#define USBHS_DEVEPTICR_TXINIC (0x1u << 0) /**< \brief (USBHS_DEVEPTICR[10]) Transmitted IN Data Interrupt Clear */ -#define USBHS_DEVEPTICR_RXOUTIC (0x1u << 1) /**< \brief (USBHS_DEVEPTICR[10]) Received OUT Data Interrupt Clear */ -#define USBHS_DEVEPTICR_RXSTPIC (0x1u << 2) /**< \brief (USBHS_DEVEPTICR[10]) Received SETUP Interrupt Clear */ -#define USBHS_DEVEPTICR_NAKOUTIC (0x1u << 3) /**< \brief (USBHS_DEVEPTICR[10]) NAKed OUT Interrupt Clear */ -#define USBHS_DEVEPTICR_NAKINIC (0x1u << 4) /**< \brief (USBHS_DEVEPTICR[10]) NAKed IN Interrupt Clear */ -#define USBHS_DEVEPTICR_OVERFIC (0x1u << 5) /**< \brief (USBHS_DEVEPTICR[10]) Overflow Interrupt Clear */ -#define USBHS_DEVEPTICR_STALLEDIC (0x1u << 6) /**< \brief (USBHS_DEVEPTICR[10]) STALLed Interrupt Clear */ -#define USBHS_DEVEPTICR_SHORTPACKETC (0x1u << 7) /**< \brief (USBHS_DEVEPTICR[10]) Short Packet Interrupt Clear */ -#define USBHS_DEVEPTICR_UNDERFIC (0x1u << 2) /**< \brief (USBHS_DEVEPTICR[10]) Underflow Interrupt Clear */ -#define USBHS_DEVEPTICR_HBISOINERRIC (0x1u << 3) /**< \brief (USBHS_DEVEPTICR[10]) High Bandwidth Isochronous IN Underflow Error Interrupt Clear */ -#define USBHS_DEVEPTICR_HBISOFLUSHIC (0x1u << 4) /**< \brief (USBHS_DEVEPTICR[10]) High Bandwidth Isochronous IN Flush Interrupt Clear */ -#define USBHS_DEVEPTICR_CRCERRIC (0x1u << 6) /**< \brief (USBHS_DEVEPTICR[10]) CRC Error Interrupt Clear */ -/* -------- USBHS_DEVEPTIFR[10] : (USBHS Offset: 0x190) Device Endpoint Set Register (n = 0) -------- */ -#define USBHS_DEVEPTIFR_TXINIS (0x1u << 0) /**< \brief (USBHS_DEVEPTIFR[10]) Transmitted IN Data Interrupt Set */ -#define USBHS_DEVEPTIFR_RXOUTIS (0x1u << 1) /**< \brief (USBHS_DEVEPTIFR[10]) Received OUT Data Interrupt Set */ -#define USBHS_DEVEPTIFR_RXSTPIS (0x1u << 2) /**< \brief (USBHS_DEVEPTIFR[10]) Received SETUP Interrupt Set */ -#define USBHS_DEVEPTIFR_NAKOUTIS (0x1u << 3) /**< \brief (USBHS_DEVEPTIFR[10]) NAKed OUT Interrupt Set */ -#define USBHS_DEVEPTIFR_NAKINIS (0x1u << 4) /**< \brief (USBHS_DEVEPTIFR[10]) NAKed IN Interrupt Set */ -#define USBHS_DEVEPTIFR_OVERFIS (0x1u << 5) /**< \brief (USBHS_DEVEPTIFR[10]) Overflow Interrupt Set */ -#define USBHS_DEVEPTIFR_STALLEDIS (0x1u << 6) /**< \brief (USBHS_DEVEPTIFR[10]) STALLed Interrupt Set */ -#define USBHS_DEVEPTIFR_SHORTPACKETS (0x1u << 7) /**< \brief (USBHS_DEVEPTIFR[10]) Short Packet Interrupt Set */ -#define USBHS_DEVEPTIFR_NBUSYBKS (0x1u << 12) /**< \brief (USBHS_DEVEPTIFR[10]) Number of Busy Banks Interrupt Set */ -#define USBHS_DEVEPTIFR_UNDERFIS (0x1u << 2) /**< \brief (USBHS_DEVEPTIFR[10]) Underflow Interrupt Set */ -#define USBHS_DEVEPTIFR_HBISOINERRIS (0x1u << 3) /**< \brief (USBHS_DEVEPTIFR[10]) High Bandwidth Isochronous IN Underflow Error Interrupt Set */ -#define USBHS_DEVEPTIFR_HBISOFLUSHIS (0x1u << 4) /**< \brief (USBHS_DEVEPTIFR[10]) High Bandwidth Isochronous IN Flush Interrupt Set */ -#define USBHS_DEVEPTIFR_CRCERRIS (0x1u << 6) /**< \brief (USBHS_DEVEPTIFR[10]) CRC Error Interrupt Set */ -/* -------- USBHS_DEVEPTIMR[10] : (USBHS Offset: 0x1C0) Device Endpoint Mask Register (n = 0) -------- */ -#define USBHS_DEVEPTIMR_TXINE (0x1u << 0) /**< \brief (USBHS_DEVEPTIMR[10]) Transmitted IN Data Interrupt */ -#define USBHS_DEVEPTIMR_RXOUTE (0x1u << 1) /**< \brief (USBHS_DEVEPTIMR[10]) Received OUT Data Interrupt */ -#define USBHS_DEVEPTIMR_RXSTPE (0x1u << 2) /**< \brief (USBHS_DEVEPTIMR[10]) Received SETUP Interrupt */ -#define USBHS_DEVEPTIMR_NAKOUTE (0x1u << 3) /**< \brief (USBHS_DEVEPTIMR[10]) NAKed OUT Interrupt */ -#define USBHS_DEVEPTIMR_NAKINE (0x1u << 4) /**< \brief (USBHS_DEVEPTIMR[10]) NAKed IN Interrupt */ -#define USBHS_DEVEPTIMR_OVERFE (0x1u << 5) /**< \brief (USBHS_DEVEPTIMR[10]) Overflow Interrupt */ -#define USBHS_DEVEPTIMR_STALLEDE (0x1u << 6) /**< \brief (USBHS_DEVEPTIMR[10]) STALLed Interrupt */ -#define USBHS_DEVEPTIMR_SHORTPACKETE (0x1u << 7) /**< \brief (USBHS_DEVEPTIMR[10]) Short Packet Interrupt */ -#define USBHS_DEVEPTIMR_NBUSYBKE (0x1u << 12) /**< \brief (USBHS_DEVEPTIMR[10]) Number of Busy Banks Interrupt */ -#define USBHS_DEVEPTIMR_KILLBK (0x1u << 13) /**< \brief (USBHS_DEVEPTIMR[10]) Kill IN Bank */ -#define USBHS_DEVEPTIMR_FIFOCON (0x1u << 14) /**< \brief (USBHS_DEVEPTIMR[10]) FIFO Control */ -#define USBHS_DEVEPTIMR_EPDISHDMA (0x1u << 16) /**< \brief (USBHS_DEVEPTIMR[10]) Endpoint Interrupts Disable HDMA Request */ -#define USBHS_DEVEPTIMR_NYETDIS (0x1u << 17) /**< \brief (USBHS_DEVEPTIMR[10]) NYET Token Disable */ -#define USBHS_DEVEPTIMR_RSTDT (0x1u << 18) /**< \brief (USBHS_DEVEPTIMR[10]) Reset Data Toggle */ -#define USBHS_DEVEPTIMR_STALLRQ (0x1u << 19) /**< \brief (USBHS_DEVEPTIMR[10]) STALL Request */ -#define USBHS_DEVEPTIMR_UNDERFE (0x1u << 2) /**< \brief (USBHS_DEVEPTIMR[10]) Underflow Interrupt */ -#define USBHS_DEVEPTIMR_HBISOINERRE (0x1u << 3) /**< \brief (USBHS_DEVEPTIMR[10]) High Bandwidth Isochronous IN Error Interrupt */ -#define USBHS_DEVEPTIMR_HBISOFLUSHE (0x1u << 4) /**< \brief (USBHS_DEVEPTIMR[10]) High Bandwidth Isochronous IN Flush Interrupt */ -#define USBHS_DEVEPTIMR_CRCERRE (0x1u << 6) /**< \brief (USBHS_DEVEPTIMR[10]) CRC Error Interrupt */ -#define USBHS_DEVEPTIMR_MDATAE (0x1u << 8) /**< \brief (USBHS_DEVEPTIMR[10]) MData Interrupt */ -#define USBHS_DEVEPTIMR_DATAXE (0x1u << 9) /**< \brief (USBHS_DEVEPTIMR[10]) DataX Interrupt */ -#define USBHS_DEVEPTIMR_ERRORTRANSE (0x1u << 10) /**< \brief (USBHS_DEVEPTIMR[10]) Transaction Error Interrupt */ -/* -------- USBHS_DEVEPTIER[10] : (USBHS Offset: 0x1F0) Device Endpoint Enable Register (n = 0) -------- */ -#define USBHS_DEVEPTIER_TXINES (0x1u << 0) /**< \brief (USBHS_DEVEPTIER[10]) Transmitted IN Data Interrupt Enable */ -#define USBHS_DEVEPTIER_RXOUTES (0x1u << 1) /**< \brief (USBHS_DEVEPTIER[10]) Received OUT Data Interrupt Enable */ -#define USBHS_DEVEPTIER_RXSTPES (0x1u << 2) /**< \brief (USBHS_DEVEPTIER[10]) Received SETUP Interrupt Enable */ -#define USBHS_DEVEPTIER_NAKOUTES (0x1u << 3) /**< \brief (USBHS_DEVEPTIER[10]) NAKed OUT Interrupt Enable */ -#define USBHS_DEVEPTIER_NAKINES (0x1u << 4) /**< \brief (USBHS_DEVEPTIER[10]) NAKed IN Interrupt Enable */ -#define USBHS_DEVEPTIER_OVERFES (0x1u << 5) /**< \brief (USBHS_DEVEPTIER[10]) Overflow Interrupt Enable */ -#define USBHS_DEVEPTIER_STALLEDES (0x1u << 6) /**< \brief (USBHS_DEVEPTIER[10]) STALLed Interrupt Enable */ -#define USBHS_DEVEPTIER_SHORTPACKETES (0x1u << 7) /**< \brief (USBHS_DEVEPTIER[10]) Short Packet Interrupt Enable */ -#define USBHS_DEVEPTIER_NBUSYBKES (0x1u << 12) /**< \brief (USBHS_DEVEPTIER[10]) Number of Busy Banks Interrupt Enable */ -#define USBHS_DEVEPTIER_KILLBKS (0x1u << 13) /**< \brief (USBHS_DEVEPTIER[10]) Kill IN Bank */ -#define USBHS_DEVEPTIER_FIFOCONS (0x1u << 14) /**< \brief (USBHS_DEVEPTIER[10]) FIFO Control */ -#define USBHS_DEVEPTIER_EPDISHDMAS (0x1u << 16) /**< \brief (USBHS_DEVEPTIER[10]) Endpoint Interrupts Disable HDMA Request Enable */ -#define USBHS_DEVEPTIER_NYETDISS (0x1u << 17) /**< \brief (USBHS_DEVEPTIER[10]) NYET Token Disable Enable */ -#define USBHS_DEVEPTIER_RSTDTS (0x1u << 18) /**< \brief (USBHS_DEVEPTIER[10]) Reset Data Toggle Enable */ -#define USBHS_DEVEPTIER_STALLRQS (0x1u << 19) /**< \brief (USBHS_DEVEPTIER[10]) STALL Request Enable */ -#define USBHS_DEVEPTIER_UNDERFES (0x1u << 2) /**< \brief (USBHS_DEVEPTIER[10]) Underflow Interrupt Enable */ -#define USBHS_DEVEPTIER_HBISOINERRES (0x1u << 3) /**< \brief (USBHS_DEVEPTIER[10]) High Bandwidth Isochronous IN Error Interrupt Enable */ -#define USBHS_DEVEPTIER_HBISOFLUSHES (0x1u << 4) /**< \brief (USBHS_DEVEPTIER[10]) High Bandwidth Isochronous IN Flush Interrupt Enable */ -#define USBHS_DEVEPTIER_CRCERRES (0x1u << 6) /**< \brief (USBHS_DEVEPTIER[10]) CRC Error Interrupt Enable */ -#define USBHS_DEVEPTIER_MDATAES (0x1u << 8) /**< \brief (USBHS_DEVEPTIER[10]) MData Interrupt Enable */ -#define USBHS_DEVEPTIER_DATAXES (0x1u << 9) /**< \brief (USBHS_DEVEPTIER[10]) DataX Interrupt Enable */ -#define USBHS_DEVEPTIER_ERRORTRANSES (0x1u << 10) /**< \brief (USBHS_DEVEPTIER[10]) Transaction Error Interrupt Enable */ -/* -------- USBHS_DEVEPTIDR[10] : (USBHS Offset: 0x220) Device Endpoint Disable Register (n = 0) -------- */ -#define USBHS_DEVEPTIDR_TXINEC (0x1u << 0) /**< \brief (USBHS_DEVEPTIDR[10]) Transmitted IN Interrupt Clear */ -#define USBHS_DEVEPTIDR_RXOUTEC (0x1u << 1) /**< \brief (USBHS_DEVEPTIDR[10]) Received OUT Data Interrupt Clear */ -#define USBHS_DEVEPTIDR_RXSTPEC (0x1u << 2) /**< \brief (USBHS_DEVEPTIDR[10]) Received SETUP Interrupt Clear */ -#define USBHS_DEVEPTIDR_NAKOUTEC (0x1u << 3) /**< \brief (USBHS_DEVEPTIDR[10]) NAKed OUT Interrupt Clear */ -#define USBHS_DEVEPTIDR_NAKINEC (0x1u << 4) /**< \brief (USBHS_DEVEPTIDR[10]) NAKed IN Interrupt Clear */ -#define USBHS_DEVEPTIDR_OVERFEC (0x1u << 5) /**< \brief (USBHS_DEVEPTIDR[10]) Overflow Interrupt Clear */ -#define USBHS_DEVEPTIDR_STALLEDEC (0x1u << 6) /**< \brief (USBHS_DEVEPTIDR[10]) STALLed Interrupt Clear */ -#define USBHS_DEVEPTIDR_SHORTPACKETEC (0x1u << 7) /**< \brief (USBHS_DEVEPTIDR[10]) Shortpacket Interrupt Clear */ -#define USBHS_DEVEPTIDR_NBUSYBKEC (0x1u << 12) /**< \brief (USBHS_DEVEPTIDR[10]) Number of Busy Banks Interrupt Clear */ -#define USBHS_DEVEPTIDR_FIFOCONC (0x1u << 14) /**< \brief (USBHS_DEVEPTIDR[10]) FIFO Control Clear */ -#define USBHS_DEVEPTIDR_EPDISHDMAC (0x1u << 16) /**< \brief (USBHS_DEVEPTIDR[10]) Endpoint Interrupts Disable HDMA Request Clear */ -#define USBHS_DEVEPTIDR_NYETDISC (0x1u << 17) /**< \brief (USBHS_DEVEPTIDR[10]) NYET Token Disable Clear */ -#define USBHS_DEVEPTIDR_STALLRQC (0x1u << 19) /**< \brief (USBHS_DEVEPTIDR[10]) STALL Request Clear */ -#define USBHS_DEVEPTIDR_UNDERFEC (0x1u << 2) /**< \brief (USBHS_DEVEPTIDR[10]) Underflow Interrupt Clear */ -#define USBHS_DEVEPTIDR_HBISOINERREC (0x1u << 3) /**< \brief (USBHS_DEVEPTIDR[10]) High Bandwidth Isochronous IN Error Interrupt Clear */ -#define USBHS_DEVEPTIDR_HBISOFLUSHEC (0x1u << 4) /**< \brief (USBHS_DEVEPTIDR[10]) High Bandwidth Isochronous IN Flush Interrupt Clear */ -#define USBHS_DEVEPTIDR_CRCERREC (0x1u << 6) /**< \brief (USBHS_DEVEPTIDR[10]) CRC Error Interrupt Clear */ -#define USBHS_DEVEPTIDR_MDATEC (0x1u << 8) /**< \brief (USBHS_DEVEPTIDR[10]) MData Interrupt Clear */ -#define USBHS_DEVEPTIDR_DATAXEC (0x1u << 9) /**< \brief (USBHS_DEVEPTIDR[10]) DataX Interrupt Clear */ -#define USBHS_DEVEPTIDR_ERRORTRANSEC (0x1u << 10) /**< \brief (USBHS_DEVEPTIDR[10]) Transaction Error Interrupt Clear */ -/* -------- USBHS_DEVDMANXTDSC : (USBHS Offset: N/A) Device DMA Channel Next Descriptor Address Register -------- */ -#define USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Pos 0 -#define USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Msk (0xffffffffu << USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Pos) /**< \brief (USBHS_DEVDMANXTDSC) Next Descriptor Address */ -#define USBHS_DEVDMANXTDSC_NXT_DSC_ADD(value) ((USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Msk & ((value) << USBHS_DEVDMANXTDSC_NXT_DSC_ADD_Pos))) -/* -------- USBHS_DEVDMAADDRESS : (USBHS Offset: N/A) Device DMA Channel Address Register -------- */ -#define USBHS_DEVDMAADDRESS_BUFF_ADD_Pos 0 -#define USBHS_DEVDMAADDRESS_BUFF_ADD_Msk (0xffffffffu << USBHS_DEVDMAADDRESS_BUFF_ADD_Pos) /**< \brief (USBHS_DEVDMAADDRESS) Buffer Address */ -#define USBHS_DEVDMAADDRESS_BUFF_ADD(value) ((USBHS_DEVDMAADDRESS_BUFF_ADD_Msk & ((value) << USBHS_DEVDMAADDRESS_BUFF_ADD_Pos))) -/* -------- USBHS_DEVDMACONTROL : (USBHS Offset: N/A) Device DMA Channel Control Register -------- */ -#define USBHS_DEVDMACONTROL_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_DEVDMACONTROL) Channel Enable Command */ -#define USBHS_DEVDMACONTROL_LDNXT_DSC (0x1u << 1) /**< \brief (USBHS_DEVDMACONTROL) Load Next Channel Transfer Descriptor Enable Command */ -#define USBHS_DEVDMACONTROL_END_TR_EN (0x1u << 2) /**< \brief (USBHS_DEVDMACONTROL) End of Transfer Enable Control (OUT transfers only) */ -#define USBHS_DEVDMACONTROL_END_B_EN (0x1u << 3) /**< \brief (USBHS_DEVDMACONTROL) End of Buffer Enable Control */ -#define USBHS_DEVDMACONTROL_END_TR_IT (0x1u << 4) /**< \brief (USBHS_DEVDMACONTROL) End of Transfer Interrupt Enable */ -#define USBHS_DEVDMACONTROL_END_BUFFIT (0x1u << 5) /**< \brief (USBHS_DEVDMACONTROL) End of Buffer Interrupt Enable */ -#define USBHS_DEVDMACONTROL_DESC_LD_IT (0x1u << 6) /**< \brief (USBHS_DEVDMACONTROL) Descriptor Loaded Interrupt Enable */ -#define USBHS_DEVDMACONTROL_BURST_LCK (0x1u << 7) /**< \brief (USBHS_DEVDMACONTROL) Burst Lock Enable */ -#define USBHS_DEVDMACONTROL_BUFF_LENGTH_Pos 16 -#define USBHS_DEVDMACONTROL_BUFF_LENGTH_Msk (0xffffu << USBHS_DEVDMACONTROL_BUFF_LENGTH_Pos) /**< \brief (USBHS_DEVDMACONTROL) Buffer Byte Length (Write-only) */ -#define USBHS_DEVDMACONTROL_BUFF_LENGTH(value) ((USBHS_DEVDMACONTROL_BUFF_LENGTH_Msk & ((value) << USBHS_DEVDMACONTROL_BUFF_LENGTH_Pos))) -/* -------- USBHS_DEVDMASTATUS : (USBHS Offset: N/A) Device DMA Channel Status Register -------- */ -#define USBHS_DEVDMASTATUS_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_DEVDMASTATUS) Channel Enable Status */ -#define USBHS_DEVDMASTATUS_CHANN_ACT (0x1u << 1) /**< \brief (USBHS_DEVDMASTATUS) Channel Active Status */ -#define USBHS_DEVDMASTATUS_END_TR_ST (0x1u << 4) /**< \brief (USBHS_DEVDMASTATUS) End of Channel Transfer Status */ -#define USBHS_DEVDMASTATUS_END_BF_ST (0x1u << 5) /**< \brief (USBHS_DEVDMASTATUS) End of Channel Buffer Status */ -#define USBHS_DEVDMASTATUS_DESC_LDST (0x1u << 6) /**< \brief (USBHS_DEVDMASTATUS) Descriptor Loaded Status */ -#define USBHS_DEVDMASTATUS_BUFF_COUNT_Pos 16 -#define USBHS_DEVDMASTATUS_BUFF_COUNT_Msk (0xffffu << USBHS_DEVDMASTATUS_BUFF_COUNT_Pos) /**< \brief (USBHS_DEVDMASTATUS) Buffer Byte Count */ -#define USBHS_DEVDMASTATUS_BUFF_COUNT(value) ((USBHS_DEVDMASTATUS_BUFF_COUNT_Msk & ((value) << USBHS_DEVDMASTATUS_BUFF_COUNT_Pos))) -/* -------- USBHS_HSTCTRL : (USBHS Offset: 0x0400) Host General Control Register -------- */ -#define USBHS_HSTCTRL_SOFE (0x1u << 8) /**< \brief (USBHS_HSTCTRL) Start of Frame Generation Enable */ -#define USBHS_HSTCTRL_RESET (0x1u << 9) /**< \brief (USBHS_HSTCTRL) Send USB Reset */ -#define USBHS_HSTCTRL_RESUME (0x1u << 10) /**< \brief (USBHS_HSTCTRL) Send USB Resume */ -#define USBHS_HSTCTRL_SPDCONF_Pos 12 -#define USBHS_HSTCTRL_SPDCONF_Msk (0x3u << USBHS_HSTCTRL_SPDCONF_Pos) /**< \brief (USBHS_HSTCTRL) Mode Configuration */ -#define USBHS_HSTCTRL_SPDCONF(value) ((USBHS_HSTCTRL_SPDCONF_Msk & ((value) << USBHS_HSTCTRL_SPDCONF_Pos))) -#define USBHS_HSTCTRL_SPDCONF_NORMAL (0x0u << 12) /**< \brief (USBHS_HSTCTRL) The host starts in Full-speed mode and performs a high-speed reset to switch to High-speed mode if the downstream peripheral is high-speed capable. */ -#define USBHS_HSTCTRL_SPDCONF_LOW_POWER (0x1u << 12) /**< \brief (USBHS_HSTCTRL) For a better consumption, if high speed is not needed. */ -#define USBHS_HSTCTRL_SPDCONF_HIGH_SPEED (0x2u << 12) /**< \brief (USBHS_HSTCTRL) Forced high speed. */ -#define USBHS_HSTCTRL_SPDCONF_FORCED_FS (0x3u << 12) /**< \brief (USBHS_HSTCTRL) The host remains in Full-speed mode whatever the peripheral speed capability. */ -/* -------- USBHS_HSTISR : (USBHS Offset: 0x0404) Host Global Interrupt Status Register -------- */ -#define USBHS_HSTISR_DCONNI (0x1u << 0) /**< \brief (USBHS_HSTISR) Device Connection Interrupt */ -#define USBHS_HSTISR_DDISCI (0x1u << 1) /**< \brief (USBHS_HSTISR) Device Disconnection Interrupt */ -#define USBHS_HSTISR_RSTI (0x1u << 2) /**< \brief (USBHS_HSTISR) USB Reset Sent Interrupt */ -#define USBHS_HSTISR_RSMEDI (0x1u << 3) /**< \brief (USBHS_HSTISR) Downstream Resume Sent Interrupt */ -#define USBHS_HSTISR_RXRSMI (0x1u << 4) /**< \brief (USBHS_HSTISR) Upstream Resume Received Interrupt */ -#define USBHS_HSTISR_HSOFI (0x1u << 5) /**< \brief (USBHS_HSTISR) Host Start of Frame Interrupt */ -#define USBHS_HSTISR_HWUPI (0x1u << 6) /**< \brief (USBHS_HSTISR) Host Wake-Up Interrupt */ -#define USBHS_HSTISR_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTISR) Pipe 0 Interrupt */ -#define USBHS_HSTISR_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTISR) Pipe 1 Interrupt */ -#define USBHS_HSTISR_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTISR) Pipe 2 Interrupt */ -#define USBHS_HSTISR_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTISR) Pipe 3 Interrupt */ -#define USBHS_HSTISR_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTISR) Pipe 4 Interrupt */ -#define USBHS_HSTISR_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTISR) Pipe 5 Interrupt */ -#define USBHS_HSTISR_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTISR) Pipe 6 Interrupt */ -#define USBHS_HSTISR_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTISR) Pipe 7 Interrupt */ -#define USBHS_HSTISR_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTISR) Pipe 8 Interrupt */ -#define USBHS_HSTISR_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTISR) Pipe 9 Interrupt */ -#define USBHS_HSTISR_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTISR) Pipe 10 Interrupt */ -#define USBHS_HSTISR_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTISR) Pipe 11 Interrupt */ -#define USBHS_HSTISR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTISR) DMA Channel 1 Interrupt */ -#define USBHS_HSTISR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTISR) DMA Channel 2 Interrupt */ -#define USBHS_HSTISR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTISR) DMA Channel 3 Interrupt */ -#define USBHS_HSTISR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTISR) DMA Channel 4 Interrupt */ -#define USBHS_HSTISR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTISR) DMA Channel 5 Interrupt */ -#define USBHS_HSTISR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTISR) DMA Channel 6 Interrupt */ -#define USBHS_HSTISR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTISR) DMA Channel 7 Interrupt */ -/* -------- USBHS_HSTICR : (USBHS Offset: 0x0408) Host Global Interrupt Clear Register -------- */ -#define USBHS_HSTICR_DCONNIC (0x1u << 0) /**< \brief (USBHS_HSTICR) Device Connection Interrupt Clear */ -#define USBHS_HSTICR_DDISCIC (0x1u << 1) /**< \brief (USBHS_HSTICR) Device Disconnection Interrupt Clear */ -#define USBHS_HSTICR_RSTIC (0x1u << 2) /**< \brief (USBHS_HSTICR) USB Reset Sent Interrupt Clear */ -#define USBHS_HSTICR_RSMEDIC (0x1u << 3) /**< \brief (USBHS_HSTICR) Downstream Resume Sent Interrupt Clear */ -#define USBHS_HSTICR_RXRSMIC (0x1u << 4) /**< \brief (USBHS_HSTICR) Upstream Resume Received Interrupt Clear */ -#define USBHS_HSTICR_HSOFIC (0x1u << 5) /**< \brief (USBHS_HSTICR) Host Start of Frame Interrupt Clear */ -#define USBHS_HSTICR_HWUPIC (0x1u << 6) /**< \brief (USBHS_HSTICR) Host Wake-Up Interrupt Clear */ -/* -------- USBHS_HSTIFR : (USBHS Offset: 0x040C) Host Global Interrupt Set Register -------- */ -#define USBHS_HSTIFR_DCONNIS (0x1u << 0) /**< \brief (USBHS_HSTIFR) Device Connection Interrupt Set */ -#define USBHS_HSTIFR_DDISCIS (0x1u << 1) /**< \brief (USBHS_HSTIFR) Device Disconnection Interrupt Set */ -#define USBHS_HSTIFR_RSTIS (0x1u << 2) /**< \brief (USBHS_HSTIFR) USB Reset Sent Interrupt Set */ -#define USBHS_HSTIFR_RSMEDIS (0x1u << 3) /**< \brief (USBHS_HSTIFR) Downstream Resume Sent Interrupt Set */ -#define USBHS_HSTIFR_RXRSMIS (0x1u << 4) /**< \brief (USBHS_HSTIFR) Upstream Resume Received Interrupt Set */ -#define USBHS_HSTIFR_HSOFIS (0x1u << 5) /**< \brief (USBHS_HSTIFR) Host Start of Frame Interrupt Set */ -#define USBHS_HSTIFR_HWUPIS (0x1u << 6) /**< \brief (USBHS_HSTIFR) Host Wake-Up Interrupt Set */ -#define USBHS_HSTIFR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIFR) DMA Channel 1 Interrupt Set */ -#define USBHS_HSTIFR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIFR) DMA Channel 2 Interrupt Set */ -#define USBHS_HSTIFR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIFR) DMA Channel 3 Interrupt Set */ -#define USBHS_HSTIFR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIFR) DMA Channel 4 Interrupt Set */ -#define USBHS_HSTIFR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIFR) DMA Channel 5 Interrupt Set */ -#define USBHS_HSTIFR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIFR) DMA Channel 6 Interrupt Set */ -#define USBHS_HSTIFR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIFR) DMA Channel 7 Interrupt Set */ -/* -------- USBHS_HSTIMR : (USBHS Offset: 0x0410) Host Global Interrupt Mask Register -------- */ -#define USBHS_HSTIMR_DCONNIE (0x1u << 0) /**< \brief (USBHS_HSTIMR) Device Connection Interrupt Enable */ -#define USBHS_HSTIMR_DDISCIE (0x1u << 1) /**< \brief (USBHS_HSTIMR) Device Disconnection Interrupt Enable */ -#define USBHS_HSTIMR_RSTIE (0x1u << 2) /**< \brief (USBHS_HSTIMR) USB Reset Sent Interrupt Enable */ -#define USBHS_HSTIMR_RSMEDIE (0x1u << 3) /**< \brief (USBHS_HSTIMR) Downstream Resume Sent Interrupt Enable */ -#define USBHS_HSTIMR_RXRSMIE (0x1u << 4) /**< \brief (USBHS_HSTIMR) Upstream Resume Received Interrupt Enable */ -#define USBHS_HSTIMR_HSOFIE (0x1u << 5) /**< \brief (USBHS_HSTIMR) Host Start of Frame Interrupt Enable */ -#define USBHS_HSTIMR_HWUPIE (0x1u << 6) /**< \brief (USBHS_HSTIMR) Host Wake-Up Interrupt Enable */ -#define USBHS_HSTIMR_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTIMR) Pipe 0 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTIMR) Pipe 1 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTIMR) Pipe 2 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTIMR) Pipe 3 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTIMR) Pipe 4 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTIMR) Pipe 5 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTIMR) Pipe 6 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTIMR) Pipe 7 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTIMR) Pipe 8 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTIMR) Pipe 9 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTIMR) Pipe 10 Interrupt Enable */ -#define USBHS_HSTIMR_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTIMR) Pipe 11 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIMR) DMA Channel 1 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIMR) DMA Channel 2 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIMR) DMA Channel 3 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIMR) DMA Channel 4 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIMR) DMA Channel 5 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIMR) DMA Channel 6 Interrupt Enable */ -#define USBHS_HSTIMR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIMR) DMA Channel 7 Interrupt Enable */ -/* -------- USBHS_HSTIDR : (USBHS Offset: 0x0414) Host Global Interrupt Disable Register -------- */ -#define USBHS_HSTIDR_DCONNIEC (0x1u << 0) /**< \brief (USBHS_HSTIDR) Device Connection Interrupt Disable */ -#define USBHS_HSTIDR_DDISCIEC (0x1u << 1) /**< \brief (USBHS_HSTIDR) Device Disconnection Interrupt Disable */ -#define USBHS_HSTIDR_RSTIEC (0x1u << 2) /**< \brief (USBHS_HSTIDR) USB Reset Sent Interrupt Disable */ -#define USBHS_HSTIDR_RSMEDIEC (0x1u << 3) /**< \brief (USBHS_HSTIDR) Downstream Resume Sent Interrupt Disable */ -#define USBHS_HSTIDR_RXRSMIEC (0x1u << 4) /**< \brief (USBHS_HSTIDR) Upstream Resume Received Interrupt Disable */ -#define USBHS_HSTIDR_HSOFIEC (0x1u << 5) /**< \brief (USBHS_HSTIDR) Host Start of Frame Interrupt Disable */ -#define USBHS_HSTIDR_HWUPIEC (0x1u << 6) /**< \brief (USBHS_HSTIDR) Host Wake-Up Interrupt Disable */ -#define USBHS_HSTIDR_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTIDR) Pipe 0 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTIDR) Pipe 1 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTIDR) Pipe 2 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTIDR) Pipe 3 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTIDR) Pipe 4 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTIDR) Pipe 5 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTIDR) Pipe 6 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTIDR) Pipe 7 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTIDR) Pipe 8 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTIDR) Pipe 9 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTIDR) Pipe 10 Interrupt Disable */ -#define USBHS_HSTIDR_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTIDR) Pipe 11 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIDR) DMA Channel 1 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIDR) DMA Channel 2 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIDR) DMA Channel 3 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIDR) DMA Channel 4 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIDR) DMA Channel 5 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIDR) DMA Channel 6 Interrupt Disable */ -#define USBHS_HSTIDR_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIDR) DMA Channel 7 Interrupt Disable */ -/* -------- USBHS_HSTIER : (USBHS Offset: 0x0418) Host Global Interrupt Enable Register -------- */ -#define USBHS_HSTIER_DCONNIES (0x1u << 0) /**< \brief (USBHS_HSTIER) Device Connection Interrupt Enable */ -#define USBHS_HSTIER_DDISCIES (0x1u << 1) /**< \brief (USBHS_HSTIER) Device Disconnection Interrupt Enable */ -#define USBHS_HSTIER_RSTIES (0x1u << 2) /**< \brief (USBHS_HSTIER) USB Reset Sent Interrupt Enable */ -#define USBHS_HSTIER_RSMEDIES (0x1u << 3) /**< \brief (USBHS_HSTIER) Downstream Resume Sent Interrupt Enable */ -#define USBHS_HSTIER_RXRSMIES (0x1u << 4) /**< \brief (USBHS_HSTIER) Upstream Resume Received Interrupt Enable */ -#define USBHS_HSTIER_HSOFIES (0x1u << 5) /**< \brief (USBHS_HSTIER) Host Start of Frame Interrupt Enable */ -#define USBHS_HSTIER_HWUPIES (0x1u << 6) /**< \brief (USBHS_HSTIER) Host Wake-Up Interrupt Enable */ -#define USBHS_HSTIER_PEP_0 (0x1u << 8) /**< \brief (USBHS_HSTIER) Pipe 0 Interrupt Enable */ -#define USBHS_HSTIER_PEP_1 (0x1u << 9) /**< \brief (USBHS_HSTIER) Pipe 1 Interrupt Enable */ -#define USBHS_HSTIER_PEP_2 (0x1u << 10) /**< \brief (USBHS_HSTIER) Pipe 2 Interrupt Enable */ -#define USBHS_HSTIER_PEP_3 (0x1u << 11) /**< \brief (USBHS_HSTIER) Pipe 3 Interrupt Enable */ -#define USBHS_HSTIER_PEP_4 (0x1u << 12) /**< \brief (USBHS_HSTIER) Pipe 4 Interrupt Enable */ -#define USBHS_HSTIER_PEP_5 (0x1u << 13) /**< \brief (USBHS_HSTIER) Pipe 5 Interrupt Enable */ -#define USBHS_HSTIER_PEP_6 (0x1u << 14) /**< \brief (USBHS_HSTIER) Pipe 6 Interrupt Enable */ -#define USBHS_HSTIER_PEP_7 (0x1u << 15) /**< \brief (USBHS_HSTIER) Pipe 7 Interrupt Enable */ -#define USBHS_HSTIER_PEP_8 (0x1u << 16) /**< \brief (USBHS_HSTIER) Pipe 8 Interrupt Enable */ -#define USBHS_HSTIER_PEP_9 (0x1u << 17) /**< \brief (USBHS_HSTIER) Pipe 9 Interrupt Enable */ -#define USBHS_HSTIER_PEP_10 (0x1u << 18) /**< \brief (USBHS_HSTIER) Pipe 10 Interrupt Enable */ -#define USBHS_HSTIER_PEP_11 (0x1u << 19) /**< \brief (USBHS_HSTIER) Pipe 11 Interrupt Enable */ -#define USBHS_HSTIER_DMA_1 (0x1u << 25) /**< \brief (USBHS_HSTIER) DMA Channel 1 Interrupt Enable */ -#define USBHS_HSTIER_DMA_2 (0x1u << 26) /**< \brief (USBHS_HSTIER) DMA Channel 2 Interrupt Enable */ -#define USBHS_HSTIER_DMA_3 (0x1u << 27) /**< \brief (USBHS_HSTIER) DMA Channel 3 Interrupt Enable */ -#define USBHS_HSTIER_DMA_4 (0x1u << 28) /**< \brief (USBHS_HSTIER) DMA Channel 4 Interrupt Enable */ -#define USBHS_HSTIER_DMA_5 (0x1u << 29) /**< \brief (USBHS_HSTIER) DMA Channel 5 Interrupt Enable */ -#define USBHS_HSTIER_DMA_6 (0x1u << 30) /**< \brief (USBHS_HSTIER) DMA Channel 6 Interrupt Enable */ -#define USBHS_HSTIER_DMA_7 (0x1u << 31) /**< \brief (USBHS_HSTIER) DMA Channel 7 Interrupt Enable */ -/* -------- USBHS_HSTPIP : (USBHS Offset: 0x0041C) Host Pipe Register -------- */ -#define USBHS_HSTPIP_PEN0 (0x1u << 0) /**< \brief (USBHS_HSTPIP) Pipe 0 Enable */ -#define USBHS_HSTPIP_PEN1 (0x1u << 1) /**< \brief (USBHS_HSTPIP) Pipe 1 Enable */ -#define USBHS_HSTPIP_PEN2 (0x1u << 2) /**< \brief (USBHS_HSTPIP) Pipe 2 Enable */ -#define USBHS_HSTPIP_PEN3 (0x1u << 3) /**< \brief (USBHS_HSTPIP) Pipe 3 Enable */ -#define USBHS_HSTPIP_PEN4 (0x1u << 4) /**< \brief (USBHS_HSTPIP) Pipe 4 Enable */ -#define USBHS_HSTPIP_PEN5 (0x1u << 5) /**< \brief (USBHS_HSTPIP) Pipe 5 Enable */ -#define USBHS_HSTPIP_PEN6 (0x1u << 6) /**< \brief (USBHS_HSTPIP) Pipe 6 Enable */ -#define USBHS_HSTPIP_PEN7 (0x1u << 7) /**< \brief (USBHS_HSTPIP) Pipe 7 Enable */ -#define USBHS_HSTPIP_PEN8 (0x1u << 8) /**< \brief (USBHS_HSTPIP) Pipe 8 Enable */ -#define USBHS_HSTPIP_PRST0 (0x1u << 16) /**< \brief (USBHS_HSTPIP) Pipe 0 Reset */ -#define USBHS_HSTPIP_PRST1 (0x1u << 17) /**< \brief (USBHS_HSTPIP) Pipe 1 Reset */ -#define USBHS_HSTPIP_PRST2 (0x1u << 18) /**< \brief (USBHS_HSTPIP) Pipe 2 Reset */ -#define USBHS_HSTPIP_PRST3 (0x1u << 19) /**< \brief (USBHS_HSTPIP) Pipe 3 Reset */ -#define USBHS_HSTPIP_PRST4 (0x1u << 20) /**< \brief (USBHS_HSTPIP) Pipe 4 Reset */ -#define USBHS_HSTPIP_PRST5 (0x1u << 21) /**< \brief (USBHS_HSTPIP) Pipe 5 Reset */ -#define USBHS_HSTPIP_PRST6 (0x1u << 22) /**< \brief (USBHS_HSTPIP) Pipe 6 Reset */ -#define USBHS_HSTPIP_PRST7 (0x1u << 23) /**< \brief (USBHS_HSTPIP) Pipe 7 Reset */ -#define USBHS_HSTPIP_PRST8 (0x1u << 24) /**< \brief (USBHS_HSTPIP) Pipe 8 Reset */ -/* -------- USBHS_HSTFNUM : (USBHS Offset: 0x0420) Host Frame Number Register -------- */ -#define USBHS_HSTFNUM_MFNUM_Pos 0 -#define USBHS_HSTFNUM_MFNUM_Msk (0x7u << USBHS_HSTFNUM_MFNUM_Pos) /**< \brief (USBHS_HSTFNUM) Micro Frame Number */ -#define USBHS_HSTFNUM_MFNUM(value) ((USBHS_HSTFNUM_MFNUM_Msk & ((value) << USBHS_HSTFNUM_MFNUM_Pos))) -#define USBHS_HSTFNUM_FNUM_Pos 3 -#define USBHS_HSTFNUM_FNUM_Msk (0x7ffu << USBHS_HSTFNUM_FNUM_Pos) /**< \brief (USBHS_HSTFNUM) Frame Number */ -#define USBHS_HSTFNUM_FNUM(value) ((USBHS_HSTFNUM_FNUM_Msk & ((value) << USBHS_HSTFNUM_FNUM_Pos))) -#define USBHS_HSTFNUM_FLENHIGH_Pos 16 -#define USBHS_HSTFNUM_FLENHIGH_Msk (0xffu << USBHS_HSTFNUM_FLENHIGH_Pos) /**< \brief (USBHS_HSTFNUM) Frame Length */ -#define USBHS_HSTFNUM_FLENHIGH(value) ((USBHS_HSTFNUM_FLENHIGH_Msk & ((value) << USBHS_HSTFNUM_FLENHIGH_Pos))) -/* -------- USBHS_HSTADDR1 : (USBHS Offset: 0x0424) Host Address 1 Register -------- */ -#define USBHS_HSTADDR1_HSTADDRP0_Pos 0 -#define USBHS_HSTADDR1_HSTADDRP0_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP0_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP0(value) ((USBHS_HSTADDR1_HSTADDRP0_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP0_Pos))) -#define USBHS_HSTADDR1_HSTADDRP1_Pos 8 -#define USBHS_HSTADDR1_HSTADDRP1_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP1_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP1(value) ((USBHS_HSTADDR1_HSTADDRP1_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP1_Pos))) -#define USBHS_HSTADDR1_HSTADDRP2_Pos 16 -#define USBHS_HSTADDR1_HSTADDRP2_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP2_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP2(value) ((USBHS_HSTADDR1_HSTADDRP2_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP2_Pos))) -#define USBHS_HSTADDR1_HSTADDRP3_Pos 24 -#define USBHS_HSTADDR1_HSTADDRP3_Msk (0x7fu << USBHS_HSTADDR1_HSTADDRP3_Pos) /**< \brief (USBHS_HSTADDR1) USB Host Address */ -#define USBHS_HSTADDR1_HSTADDRP3(value) ((USBHS_HSTADDR1_HSTADDRP3_Msk & ((value) << USBHS_HSTADDR1_HSTADDRP3_Pos))) -/* -------- USBHS_HSTADDR2 : (USBHS Offset: 0x0428) Host Address 2 Register -------- */ -#define USBHS_HSTADDR2_HSTADDRP4_Pos 0 -#define USBHS_HSTADDR2_HSTADDRP4_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP4_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP4(value) ((USBHS_HSTADDR2_HSTADDRP4_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP4_Pos))) -#define USBHS_HSTADDR2_HSTADDRP5_Pos 8 -#define USBHS_HSTADDR2_HSTADDRP5_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP5_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP5(value) ((USBHS_HSTADDR2_HSTADDRP5_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP5_Pos))) -#define USBHS_HSTADDR2_HSTADDRP6_Pos 16 -#define USBHS_HSTADDR2_HSTADDRP6_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP6_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP6(value) ((USBHS_HSTADDR2_HSTADDRP6_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP6_Pos))) -#define USBHS_HSTADDR2_HSTADDRP7_Pos 24 -#define USBHS_HSTADDR2_HSTADDRP7_Msk (0x7fu << USBHS_HSTADDR2_HSTADDRP7_Pos) /**< \brief (USBHS_HSTADDR2) USB Host Address */ -#define USBHS_HSTADDR2_HSTADDRP7(value) ((USBHS_HSTADDR2_HSTADDRP7_Msk & ((value) << USBHS_HSTADDR2_HSTADDRP7_Pos))) -/* -------- USBHS_HSTADDR3 : (USBHS Offset: 0x042C) Host Address 3 Register -------- */ -#define USBHS_HSTADDR3_HSTADDRP8_Pos 0 -#define USBHS_HSTADDR3_HSTADDRP8_Msk (0x7fu << USBHS_HSTADDR3_HSTADDRP8_Pos) /**< \brief (USBHS_HSTADDR3) USB Host Address */ -#define USBHS_HSTADDR3_HSTADDRP8(value) ((USBHS_HSTADDR3_HSTADDRP8_Msk & ((value) << USBHS_HSTADDR3_HSTADDRP8_Pos))) -#define USBHS_HSTADDR3_HSTADDRP9_Pos 8 -#define USBHS_HSTADDR3_HSTADDRP9_Msk (0x7fu << USBHS_HSTADDR3_HSTADDRP9_Pos) /**< \brief (USBHS_HSTADDR3) USB Host Address */ -#define USBHS_HSTADDR3_HSTADDRP9(value) ((USBHS_HSTADDR3_HSTADDRP9_Msk & ((value) << USBHS_HSTADDR3_HSTADDRP9_Pos))) -/* -------- USBHS_HSTPIPCFG[10] : (USBHS Offset: 0x500) Host Pipe Configuration Register (n = 0) -------- */ -#define USBHS_HSTPIPCFG_ALLOC (0x1u << 1) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Memory Allocate */ -#define USBHS_HSTPIPCFG_PBK_Pos 2 -#define USBHS_HSTPIPCFG_PBK_Msk (0x3u << USBHS_HSTPIPCFG_PBK_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Banks */ -#define USBHS_HSTPIPCFG_PBK(value) ((USBHS_HSTPIPCFG_PBK_Msk & ((value) << USBHS_HSTPIPCFG_PBK_Pos))) -#define USBHS_HSTPIPCFG_PBK_1_BANK (0x0u << 2) /**< \brief (USBHS_HSTPIPCFG[10]) Single-bank pipe */ -#define USBHS_HSTPIPCFG_PBK_2_BANK (0x1u << 2) /**< \brief (USBHS_HSTPIPCFG[10]) Double-bank pipe */ -#define USBHS_HSTPIPCFG_PBK_3_BANK (0x2u << 2) /**< \brief (USBHS_HSTPIPCFG[10]) Triple-bank pipe */ -#define USBHS_HSTPIPCFG_PSIZE_Pos 4 -#define USBHS_HSTPIPCFG_PSIZE_Msk (0x7u << USBHS_HSTPIPCFG_PSIZE_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Size */ -#define USBHS_HSTPIPCFG_PSIZE(value) ((USBHS_HSTPIPCFG_PSIZE_Msk & ((value) << USBHS_HSTPIPCFG_PSIZE_Pos))) -#define USBHS_HSTPIPCFG_PSIZE_8_BYTE (0x0u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 8 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_16_BYTE (0x1u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 16 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_32_BYTE (0x2u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 32 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_64_BYTE (0x3u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 64 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_128_BYTE (0x4u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 128 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_256_BYTE (0x5u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 256 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_512_BYTE (0x6u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 512 bytes */ -#define USBHS_HSTPIPCFG_PSIZE_1024_BYTE (0x7u << 4) /**< \brief (USBHS_HSTPIPCFG[10]) 1024 bytes */ -#define USBHS_HSTPIPCFG_PTOKEN_Pos 8 -#define USBHS_HSTPIPCFG_PTOKEN_Msk (0x3u << USBHS_HSTPIPCFG_PTOKEN_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Token */ -#define USBHS_HSTPIPCFG_PTOKEN(value) ((USBHS_HSTPIPCFG_PTOKEN_Msk & ((value) << USBHS_HSTPIPCFG_PTOKEN_Pos))) -#define USBHS_HSTPIPCFG_PTOKEN_SETUP (0x0u << 8) /**< \brief (USBHS_HSTPIPCFG[10]) SETUP */ -#define USBHS_HSTPIPCFG_PTOKEN_IN (0x1u << 8) /**< \brief (USBHS_HSTPIPCFG[10]) IN */ -#define USBHS_HSTPIPCFG_PTOKEN_OUT (0x2u << 8) /**< \brief (USBHS_HSTPIPCFG[10]) OUT */ -#define USBHS_HSTPIPCFG_AUTOSW (0x1u << 10) /**< \brief (USBHS_HSTPIPCFG[10]) Automatic Switch */ -#define USBHS_HSTPIPCFG_PTYPE_Pos 12 -#define USBHS_HSTPIPCFG_PTYPE_Msk (0x3u << USBHS_HSTPIPCFG_PTYPE_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Type */ -#define USBHS_HSTPIPCFG_PTYPE(value) ((USBHS_HSTPIPCFG_PTYPE_Msk & ((value) << USBHS_HSTPIPCFG_PTYPE_Pos))) -#define USBHS_HSTPIPCFG_PTYPE_CTRL (0x0u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Control */ -#define USBHS_HSTPIPCFG_PTYPE_ISO (0x1u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Isochronous */ -#define USBHS_HSTPIPCFG_PTYPE_BLK (0x2u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Bulk */ -#define USBHS_HSTPIPCFG_PTYPE_INTRPT (0x3u << 12) /**< \brief (USBHS_HSTPIPCFG[10]) Interrupt */ -#define USBHS_HSTPIPCFG_PEPNUM_Pos 16 -#define USBHS_HSTPIPCFG_PEPNUM_Msk (0xfu << USBHS_HSTPIPCFG_PEPNUM_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Endpoint Number */ -#define USBHS_HSTPIPCFG_PEPNUM(value) ((USBHS_HSTPIPCFG_PEPNUM_Msk & ((value) << USBHS_HSTPIPCFG_PEPNUM_Pos))) -#define USBHS_HSTPIPCFG_INTFRQ_Pos 24 -#define USBHS_HSTPIPCFG_INTFRQ_Msk (0xffu << USBHS_HSTPIPCFG_INTFRQ_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Pipe Interrupt Request Frequency */ -#define USBHS_HSTPIPCFG_INTFRQ(value) ((USBHS_HSTPIPCFG_INTFRQ_Msk & ((value) << USBHS_HSTPIPCFG_INTFRQ_Pos))) -#define USBHS_HSTPIPCFG_PINGEN (0x1u << 20) /**< \brief (USBHS_HSTPIPCFG[10]) Ping Enable */ -#define USBHS_HSTPIPCFG_BINTERVAL_Pos 24 -#define USBHS_HSTPIPCFG_BINTERVAL_Msk (0xffu << USBHS_HSTPIPCFG_BINTERVAL_Pos) /**< \brief (USBHS_HSTPIPCFG[10]) Binterval Parameter for the Bulk-Out/Ping Transaction */ -#define USBHS_HSTPIPCFG_BINTERVAL(value) ((USBHS_HSTPIPCFG_BINTERVAL_Msk & ((value) << USBHS_HSTPIPCFG_BINTERVAL_Pos))) -/* -------- USBHS_HSTPIPISR[10] : (USBHS Offset: 0x530) Host Pipe Status Register (n = 0) -------- */ -#define USBHS_HSTPIPISR_RXINI (0x1u << 0) /**< \brief (USBHS_HSTPIPISR[10]) Received IN Data Interrupt */ -#define USBHS_HSTPIPISR_TXOUTI (0x1u << 1) /**< \brief (USBHS_HSTPIPISR[10]) Transmitted OUT Data Interrupt */ -#define USBHS_HSTPIPISR_TXSTPI (0x1u << 2) /**< \brief (USBHS_HSTPIPISR[10]) Transmitted SETUP Interrupt */ -#define USBHS_HSTPIPISR_PERRI (0x1u << 3) /**< \brief (USBHS_HSTPIPISR[10]) Pipe Error Interrupt */ -#define USBHS_HSTPIPISR_NAKEDI (0x1u << 4) /**< \brief (USBHS_HSTPIPISR[10]) NAKed Interrupt */ -#define USBHS_HSTPIPISR_OVERFI (0x1u << 5) /**< \brief (USBHS_HSTPIPISR[10]) Overflow Interrupt */ -#define USBHS_HSTPIPISR_RXSTALLDI (0x1u << 6) /**< \brief (USBHS_HSTPIPISR[10]) Received STALLed Interrupt */ -#define USBHS_HSTPIPISR_SHORTPACKETI (0x1u << 7) /**< \brief (USBHS_HSTPIPISR[10]) Short Packet Interrupt */ -#define USBHS_HSTPIPISR_DTSEQ_Pos 8 -#define USBHS_HSTPIPISR_DTSEQ_Msk (0x3u << USBHS_HSTPIPISR_DTSEQ_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Data Toggle Sequence */ -#define USBHS_HSTPIPISR_DTSEQ_DATA0 (0x0u << 8) /**< \brief (USBHS_HSTPIPISR[10]) Data0 toggle sequence */ -#define USBHS_HSTPIPISR_DTSEQ_DATA1 (0x1u << 8) /**< \brief (USBHS_HSTPIPISR[10]) Data1 toggle sequence */ -#define USBHS_HSTPIPISR_NBUSYBK_Pos 12 -#define USBHS_HSTPIPISR_NBUSYBK_Msk (0x3u << USBHS_HSTPIPISR_NBUSYBK_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Number of Busy Banks */ -#define USBHS_HSTPIPISR_NBUSYBK_0_BUSY (0x0u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 0 busy bank (all banks free) */ -#define USBHS_HSTPIPISR_NBUSYBK_1_BUSY (0x1u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 1 busy bank */ -#define USBHS_HSTPIPISR_NBUSYBK_2_BUSY (0x2u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 2 busy banks */ -#define USBHS_HSTPIPISR_NBUSYBK_3_BUSY (0x3u << 12) /**< \brief (USBHS_HSTPIPISR[10]) 3 busy banks */ -#define USBHS_HSTPIPISR_CURRBK_Pos 14 -#define USBHS_HSTPIPISR_CURRBK_Msk (0x3u << USBHS_HSTPIPISR_CURRBK_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Current Bank */ -#define USBHS_HSTPIPISR_CURRBK_BANK0 (0x0u << 14) /**< \brief (USBHS_HSTPIPISR[10]) Current bank is bank0 */ -#define USBHS_HSTPIPISR_CURRBK_BANK1 (0x1u << 14) /**< \brief (USBHS_HSTPIPISR[10]) Current bank is bank1 */ -#define USBHS_HSTPIPISR_CURRBK_BANK2 (0x2u << 14) /**< \brief (USBHS_HSTPIPISR[10]) Current bank is bank2 */ -#define USBHS_HSTPIPISR_RWALL (0x1u << 16) /**< \brief (USBHS_HSTPIPISR[10]) Read/Write Allowed */ -#define USBHS_HSTPIPISR_CFGOK (0x1u << 18) /**< \brief (USBHS_HSTPIPISR[10]) Configuration OK Status */ -#define USBHS_HSTPIPISR_PBYCT_Pos 20 -#define USBHS_HSTPIPISR_PBYCT_Msk (0x7ffu << USBHS_HSTPIPISR_PBYCT_Pos) /**< \brief (USBHS_HSTPIPISR[10]) Pipe Byte Count */ -#define USBHS_HSTPIPISR_UNDERFI (0x1u << 2) /**< \brief (USBHS_HSTPIPISR[10]) Underflow Interrupt */ -#define USBHS_HSTPIPISR_CRCERRI (0x1u << 6) /**< \brief (USBHS_HSTPIPISR[10]) CRC Error Interrupt */ -/* -------- USBHS_HSTPIPICR[10] : (USBHS Offset: 0x560) Host Pipe Clear Register (n = 0) -------- */ -#define USBHS_HSTPIPICR_RXINIC (0x1u << 0) /**< \brief (USBHS_HSTPIPICR[10]) Received IN Data Interrupt Clear */ -#define USBHS_HSTPIPICR_TXOUTIC (0x1u << 1) /**< \brief (USBHS_HSTPIPICR[10]) Transmitted OUT Data Interrupt Clear */ -#define USBHS_HSTPIPICR_TXSTPIC (0x1u << 2) /**< \brief (USBHS_HSTPIPICR[10]) Transmitted SETUP Interrupt Clear */ -#define USBHS_HSTPIPICR_NAKEDIC (0x1u << 4) /**< \brief (USBHS_HSTPIPICR[10]) NAKed Interrupt Clear */ -#define USBHS_HSTPIPICR_OVERFIC (0x1u << 5) /**< \brief (USBHS_HSTPIPICR[10]) Overflow Interrupt Clear */ -#define USBHS_HSTPIPICR_RXSTALLDIC (0x1u << 6) /**< \brief (USBHS_HSTPIPICR[10]) Received STALLed Interrupt Clear */ -#define USBHS_HSTPIPICR_SHORTPACKETIC (0x1u << 7) /**< \brief (USBHS_HSTPIPICR[10]) Short Packet Interrupt Clear */ -#define USBHS_HSTPIPICR_UNDERFIC (0x1u << 2) /**< \brief (USBHS_HSTPIPICR[10]) Underflow Interrupt Clear */ -#define USBHS_HSTPIPICR_CRCERRIC (0x1u << 6) /**< \brief (USBHS_HSTPIPICR[10]) CRC Error Interrupt Clear */ -/* -------- USBHS_HSTPIPIFR[10] : (USBHS Offset: 0x590) Host Pipe Set Register (n = 0) -------- */ -#define USBHS_HSTPIPIFR_RXINIS (0x1u << 0) /**< \brief (USBHS_HSTPIPIFR[10]) Received IN Data Interrupt Set */ -#define USBHS_HSTPIPIFR_TXOUTIS (0x1u << 1) /**< \brief (USBHS_HSTPIPIFR[10]) Transmitted OUT Data Interrupt Set */ -#define USBHS_HSTPIPIFR_TXSTPIS (0x1u << 2) /**< \brief (USBHS_HSTPIPIFR[10]) Transmitted SETUP Interrupt Set */ -#define USBHS_HSTPIPIFR_PERRIS (0x1u << 3) /**< \brief (USBHS_HSTPIPIFR[10]) Pipe Error Interrupt Set */ -#define USBHS_HSTPIPIFR_NAKEDIS (0x1u << 4) /**< \brief (USBHS_HSTPIPIFR[10]) NAKed Interrupt Set */ -#define USBHS_HSTPIPIFR_OVERFIS (0x1u << 5) /**< \brief (USBHS_HSTPIPIFR[10]) Overflow Interrupt Set */ -#define USBHS_HSTPIPIFR_RXSTALLDIS (0x1u << 6) /**< \brief (USBHS_HSTPIPIFR[10]) Received STALLed Interrupt Set */ -#define USBHS_HSTPIPIFR_SHORTPACKETIS (0x1u << 7) /**< \brief (USBHS_HSTPIPIFR[10]) Short Packet Interrupt Set */ -#define USBHS_HSTPIPIFR_NBUSYBKS (0x1u << 12) /**< \brief (USBHS_HSTPIPIFR[10]) Number of Busy Banks Set */ -#define USBHS_HSTPIPIFR_UNDERFIS (0x1u << 2) /**< \brief (USBHS_HSTPIPIFR[10]) Underflow Interrupt Set */ -#define USBHS_HSTPIPIFR_CRCERRIS (0x1u << 6) /**< \brief (USBHS_HSTPIPIFR[10]) CRC Error Interrupt Set */ -/* -------- USBHS_HSTPIPIMR[10] : (USBHS Offset: 0x5C0) Host Pipe Mask Register (n = 0) -------- */ -#define USBHS_HSTPIPIMR_RXINE (0x1u << 0) /**< \brief (USBHS_HSTPIPIMR[10]) Received IN Data Interrupt Enable */ -#define USBHS_HSTPIPIMR_TXOUTE (0x1u << 1) /**< \brief (USBHS_HSTPIPIMR[10]) Transmitted OUT Data Interrupt Enable */ -#define USBHS_HSTPIPIMR_TXSTPE (0x1u << 2) /**< \brief (USBHS_HSTPIPIMR[10]) Transmitted SETUP Interrupt Enable */ -#define USBHS_HSTPIPIMR_PERRE (0x1u << 3) /**< \brief (USBHS_HSTPIPIMR[10]) Pipe Error Interrupt Enable */ -#define USBHS_HSTPIPIMR_NAKEDE (0x1u << 4) /**< \brief (USBHS_HSTPIPIMR[10]) NAKed Interrupt Enable */ -#define USBHS_HSTPIPIMR_OVERFIE (0x1u << 5) /**< \brief (USBHS_HSTPIPIMR[10]) Overflow Interrupt Enable */ -#define USBHS_HSTPIPIMR_RXSTALLDE (0x1u << 6) /**< \brief (USBHS_HSTPIPIMR[10]) Received STALLed Interrupt Enable */ -#define USBHS_HSTPIPIMR_SHORTPACKETIE (0x1u << 7) /**< \brief (USBHS_HSTPIPIMR[10]) Short Packet Interrupt Enable */ -#define USBHS_HSTPIPIMR_NBUSYBKE (0x1u << 12) /**< \brief (USBHS_HSTPIPIMR[10]) Number of Busy Banks Interrupt Enable */ -#define USBHS_HSTPIPIMR_FIFOCON (0x1u << 14) /**< \brief (USBHS_HSTPIPIMR[10]) FIFO Control */ -#define USBHS_HSTPIPIMR_PDISHDMA (0x1u << 16) /**< \brief (USBHS_HSTPIPIMR[10]) Pipe Interrupts Disable HDMA Request Enable */ -#define USBHS_HSTPIPIMR_PFREEZE (0x1u << 17) /**< \brief (USBHS_HSTPIPIMR[10]) Pipe Freeze */ -#define USBHS_HSTPIPIMR_RSTDT (0x1u << 18) /**< \brief (USBHS_HSTPIPIMR[10]) Reset Data Toggle */ -#define USBHS_HSTPIPIMR_UNDERFIE (0x1u << 2) /**< \brief (USBHS_HSTPIPIMR[10]) Underflow Interrupt Enable */ -#define USBHS_HSTPIPIMR_CRCERRE (0x1u << 6) /**< \brief (USBHS_HSTPIPIMR[10]) CRC Error Interrupt Enable */ -/* -------- USBHS_HSTPIPIER[10] : (USBHS Offset: 0x5F0) Host Pipe Enable Register (n = 0) -------- */ -#define USBHS_HSTPIPIER_RXINES (0x1u << 0) /**< \brief (USBHS_HSTPIPIER[10]) Received IN Data Interrupt Enable */ -#define USBHS_HSTPIPIER_TXOUTES (0x1u << 1) /**< \brief (USBHS_HSTPIPIER[10]) Transmitted OUT Data Interrupt Enable */ -#define USBHS_HSTPIPIER_TXSTPES (0x1u << 2) /**< \brief (USBHS_HSTPIPIER[10]) Transmitted SETUP Interrupt Enable */ -#define USBHS_HSTPIPIER_PERRES (0x1u << 3) /**< \brief (USBHS_HSTPIPIER[10]) Pipe Error Interrupt Enable */ -#define USBHS_HSTPIPIER_NAKEDES (0x1u << 4) /**< \brief (USBHS_HSTPIPIER[10]) NAKed Interrupt Enable */ -#define USBHS_HSTPIPIER_OVERFIES (0x1u << 5) /**< \brief (USBHS_HSTPIPIER[10]) Overflow Interrupt Enable */ -#define USBHS_HSTPIPIER_RXSTALLDES (0x1u << 6) /**< \brief (USBHS_HSTPIPIER[10]) Received STALLed Interrupt Enable */ -#define USBHS_HSTPIPIER_SHORTPACKETIES (0x1u << 7) /**< \brief (USBHS_HSTPIPIER[10]) Short Packet Interrupt Enable */ -#define USBHS_HSTPIPIER_NBUSYBKES (0x1u << 12) /**< \brief (USBHS_HSTPIPIER[10]) Number of Busy Banks Enable */ -#define USBHS_HSTPIPIER_PDISHDMAS (0x1u << 16) /**< \brief (USBHS_HSTPIPIER[10]) Pipe Interrupts Disable HDMA Request Enable */ -#define USBHS_HSTPIPIER_PFREEZES (0x1u << 17) /**< \brief (USBHS_HSTPIPIER[10]) Pipe Freeze Enable */ -#define USBHS_HSTPIPIER_RSTDTS (0x1u << 18) /**< \brief (USBHS_HSTPIPIER[10]) Reset Data Toggle Enable */ -#define USBHS_HSTPIPIER_UNDERFIES (0x1u << 2) /**< \brief (USBHS_HSTPIPIER[10]) Underflow Interrupt Enable */ -#define USBHS_HSTPIPIER_CRCERRES (0x1u << 6) /**< \brief (USBHS_HSTPIPIER[10]) CRC Error Interrupt Enable */ -/* -------- USBHS_HSTPIPIDR[10] : (USBHS Offset: 0x620) Host Pipe Disable Register (n = 0) -------- */ -#define USBHS_HSTPIPIDR_RXINEC (0x1u << 0) /**< \brief (USBHS_HSTPIPIDR[10]) Received IN Data Interrupt Disable */ -#define USBHS_HSTPIPIDR_TXOUTEC (0x1u << 1) /**< \brief (USBHS_HSTPIPIDR[10]) Transmitted OUT Data Interrupt Disable */ -#define USBHS_HSTPIPIDR_TXSTPEC (0x1u << 2) /**< \brief (USBHS_HSTPIPIDR[10]) Transmitted SETUP Interrupt Disable */ -#define USBHS_HSTPIPIDR_PERREC (0x1u << 3) /**< \brief (USBHS_HSTPIPIDR[10]) Pipe Error Interrupt Disable */ -#define USBHS_HSTPIPIDR_NAKEDEC (0x1u << 4) /**< \brief (USBHS_HSTPIPIDR[10]) NAKed Interrupt Disable */ -#define USBHS_HSTPIPIDR_OVERFIEC (0x1u << 5) /**< \brief (USBHS_HSTPIPIDR[10]) Overflow Interrupt Disable */ -#define USBHS_HSTPIPIDR_RXSTALLDEC (0x1u << 6) /**< \brief (USBHS_HSTPIPIDR[10]) Received STALLed Interrupt Disable */ -#define USBHS_HSTPIPIDR_SHORTPACKETIEC (0x1u << 7) /**< \brief (USBHS_HSTPIPIDR[10]) Short Packet Interrupt Disable */ -#define USBHS_HSTPIPIDR_NBUSYBKEC (0x1u << 12) /**< \brief (USBHS_HSTPIPIDR[10]) Number of Busy Banks Disable */ -#define USBHS_HSTPIPIDR_FIFOCONC (0x1u << 14) /**< \brief (USBHS_HSTPIPIDR[10]) FIFO Control Disable */ -#define USBHS_HSTPIPIDR_PDISHDMAC (0x1u << 16) /**< \brief (USBHS_HSTPIPIDR[10]) Pipe Interrupts Disable HDMA Request Disable */ -#define USBHS_HSTPIPIDR_PFREEZEC (0x1u << 17) /**< \brief (USBHS_HSTPIPIDR[10]) Pipe Freeze Disable */ -#define USBHS_HSTPIPIDR_UNDERFIEC (0x1u << 2) /**< \brief (USBHS_HSTPIPIDR[10]) Underflow Interrupt Disable */ -#define USBHS_HSTPIPIDR_CRCERREC (0x1u << 6) /**< \brief (USBHS_HSTPIPIDR[10]) CRC Error Interrupt Disable */ -/* -------- USBHS_HSTPIPINRQ[10] : (USBHS Offset: 0x650) Host Pipe IN Request Register (n = 0) -------- */ -#define USBHS_HSTPIPINRQ_INRQ_Pos 0 -#define USBHS_HSTPIPINRQ_INRQ_Msk (0xffu << USBHS_HSTPIPINRQ_INRQ_Pos) /**< \brief (USBHS_HSTPIPINRQ[10]) IN Request Number before Freeze */ -#define USBHS_HSTPIPINRQ_INRQ(value) ((USBHS_HSTPIPINRQ_INRQ_Msk & ((value) << USBHS_HSTPIPINRQ_INRQ_Pos))) -#define USBHS_HSTPIPINRQ_INMODE (0x1u << 8) /**< \brief (USBHS_HSTPIPINRQ[10]) IN Request Mode */ -/* -------- USBHS_HSTPIPERR[10] : (USBHS Offset: 0x680) Host Pipe Error Register (n = 0) -------- */ -#define USBHS_HSTPIPERR_DATATGL (0x1u << 0) /**< \brief (USBHS_HSTPIPERR[10]) Data Toggle Error */ -#define USBHS_HSTPIPERR_DATAPID (0x1u << 1) /**< \brief (USBHS_HSTPIPERR[10]) Data PID Error */ -#define USBHS_HSTPIPERR_PID (0x1u << 2) /**< \brief (USBHS_HSTPIPERR[10]) Data PID Error */ -#define USBHS_HSTPIPERR_TIMEOUT (0x1u << 3) /**< \brief (USBHS_HSTPIPERR[10]) Time-Out Error */ -#define USBHS_HSTPIPERR_CRC16 (0x1u << 4) /**< \brief (USBHS_HSTPIPERR[10]) CRC16 Error */ -#define USBHS_HSTPIPERR_COUNTER_Pos 5 -#define USBHS_HSTPIPERR_COUNTER_Msk (0x3u << USBHS_HSTPIPERR_COUNTER_Pos) /**< \brief (USBHS_HSTPIPERR[10]) Error Counter */ -#define USBHS_HSTPIPERR_COUNTER(value) ((USBHS_HSTPIPERR_COUNTER_Msk & ((value) << USBHS_HSTPIPERR_COUNTER_Pos))) -/* -------- USBHS_HSTDMANXTDSC : (USBHS Offset: N/A) Host DMA Channel Next Descriptor Address Register -------- */ -#define USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Pos 0 -#define USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Msk (0xffffffffu << USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Pos) /**< \brief (USBHS_HSTDMANXTDSC) Next Descriptor Address */ -#define USBHS_HSTDMANXTDSC_NXT_DSC_ADD(value) ((USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Msk & ((value) << USBHS_HSTDMANXTDSC_NXT_DSC_ADD_Pos))) -/* -------- USBHS_HSTDMAADDRESS : (USBHS Offset: N/A) Host DMA Channel Address Register -------- */ -#define USBHS_HSTDMAADDRESS_BUFF_ADD_Pos 0 -#define USBHS_HSTDMAADDRESS_BUFF_ADD_Msk (0xffffffffu << USBHS_HSTDMAADDRESS_BUFF_ADD_Pos) /**< \brief (USBHS_HSTDMAADDRESS) Buffer Address */ -#define USBHS_HSTDMAADDRESS_BUFF_ADD(value) ((USBHS_HSTDMAADDRESS_BUFF_ADD_Msk & ((value) << USBHS_HSTDMAADDRESS_BUFF_ADD_Pos))) -/* -------- USBHS_HSTDMACONTROL : (USBHS Offset: N/A) Host DMA Channel Control Register -------- */ -#define USBHS_HSTDMACONTROL_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_HSTDMACONTROL) Channel Enable Command */ -#define USBHS_HSTDMACONTROL_LDNXT_DSC (0x1u << 1) /**< \brief (USBHS_HSTDMACONTROL) Load Next Channel Transfer Descriptor Enable Command */ -#define USBHS_HSTDMACONTROL_END_TR_EN (0x1u << 2) /**< \brief (USBHS_HSTDMACONTROL) End of Transfer Enable Control (OUT transfers only) */ -#define USBHS_HSTDMACONTROL_END_B_EN (0x1u << 3) /**< \brief (USBHS_HSTDMACONTROL) End of Buffer Enable Control */ -#define USBHS_HSTDMACONTROL_END_TR_IT (0x1u << 4) /**< \brief (USBHS_HSTDMACONTROL) End of Transfer Interrupt Enable */ -#define USBHS_HSTDMACONTROL_END_BUFFIT (0x1u << 5) /**< \brief (USBHS_HSTDMACONTROL) End of Buffer Interrupt Enable */ -#define USBHS_HSTDMACONTROL_DESC_LD_IT (0x1u << 6) /**< \brief (USBHS_HSTDMACONTROL) Descriptor Loaded Interrupt Enable */ -#define USBHS_HSTDMACONTROL_BURST_LCK (0x1u << 7) /**< \brief (USBHS_HSTDMACONTROL) Burst Lock Enable */ -#define USBHS_HSTDMACONTROL_BUFF_LENGTH_Pos 16 -#define USBHS_HSTDMACONTROL_BUFF_LENGTH_Msk (0xffffu << USBHS_HSTDMACONTROL_BUFF_LENGTH_Pos) /**< \brief (USBHS_HSTDMACONTROL) Buffer Byte Length (Write-only) */ -#define USBHS_HSTDMACONTROL_BUFF_LENGTH(value) ((USBHS_HSTDMACONTROL_BUFF_LENGTH_Msk & ((value) << USBHS_HSTDMACONTROL_BUFF_LENGTH_Pos))) -/* -------- USBHS_HSTDMASTATUS : (USBHS Offset: N/A) Host DMA Channel Status Register -------- */ -#define USBHS_HSTDMASTATUS_CHANN_ENB (0x1u << 0) /**< \brief (USBHS_HSTDMASTATUS) Channel Enable Status */ -#define USBHS_HSTDMASTATUS_CHANN_ACT (0x1u << 1) /**< \brief (USBHS_HSTDMASTATUS) Channel Active Status */ -#define USBHS_HSTDMASTATUS_END_TR_ST (0x1u << 4) /**< \brief (USBHS_HSTDMASTATUS) End of Channel Transfer Status */ -#define USBHS_HSTDMASTATUS_END_BF_ST (0x1u << 5) /**< \brief (USBHS_HSTDMASTATUS) End of Channel Buffer Status */ -#define USBHS_HSTDMASTATUS_DESC_LDST (0x1u << 6) /**< \brief (USBHS_HSTDMASTATUS) Descriptor Loaded Status */ -#define USBHS_HSTDMASTATUS_BUFF_COUNT_Pos 16 -#define USBHS_HSTDMASTATUS_BUFF_COUNT_Msk (0xffffu << USBHS_HSTDMASTATUS_BUFF_COUNT_Pos) /**< \brief (USBHS_HSTDMASTATUS) Buffer Byte Count */ -#define USBHS_HSTDMASTATUS_BUFF_COUNT(value) ((USBHS_HSTDMASTATUS_BUFF_COUNT_Msk & ((value) << USBHS_HSTDMASTATUS_BUFF_COUNT_Pos))) -/* -------- USBHS_CTRL : (USBHS Offset: 0x0800) General Control Register -------- */ -#define USBHS_CTRL_RDERRE (0x1u << 4) /**< \brief (USBHS_CTRL) Remote Device Connection Error Interrupt Enable */ -#define USBHS_CTRL_FRZCLK (0x1u << 14) /**< \brief (USBHS_CTRL) Freeze USB Clock */ -#define USBHS_CTRL_USBE (0x1u << 15) /**< \brief (USBHS_CTRL) USBHS Enable */ -#define USBHS_CTRL_UIMOD (0x1u << 25) /**< \brief (USBHS_CTRL) USBHS Mode */ -#define USBHS_CTRL_UIMOD_HOST (0x0u << 25) /**< \brief (USBHS_CTRL) The module is in USB Host mode. */ -#define USBHS_CTRL_UIMOD_DEVICE (0x1u << 25) /**< \brief (USBHS_CTRL) The module is in USB Device mode. */ -/* -------- USBHS_SR : (USBHS Offset: 0x0804) General Status Register -------- */ -#define USBHS_SR_RDERRI (0x1u << 4) /**< \brief (USBHS_SR) Remote Device Connection Error Interrupt (Host mode only) */ -#define USBHS_SR_VBUSRQ (0x1u << 9) /**< \brief (USBHS_SR) VBus Request (Host mode only) */ -#define USBHS_SR_SPEED_Pos 12 -#define USBHS_SR_SPEED_Msk (0x3u << USBHS_SR_SPEED_Pos) /**< \brief (USBHS_SR) Speed Status (Device mode only) */ -#define USBHS_SR_SPEED_FULL_SPEED (0x0u << 12) /**< \brief (USBHS_SR) Full-Speed mode */ -#define USBHS_SR_SPEED_HIGH_SPEED (0x1u << 12) /**< \brief (USBHS_SR) High-Speed mode */ -#define USBHS_SR_SPEED_LOW_SPEED (0x2u << 12) /**< \brief (USBHS_SR) Low-Speed mode */ -#define USBHS_SR_CLKUSABLE (0x1u << 14) /**< \brief (USBHS_SR) UTMI Clock Usable */ -/* -------- USBHS_SCR : (USBHS Offset: 0x0808) General Status Clear Register -------- */ -#define USBHS_SCR_RDERRIC (0x1u << 4) /**< \brief (USBHS_SCR) Remote Device Connection Error Interrupt Clear */ -#define USBHS_SCR_VBUSRQC (0x1u << 9) /**< \brief (USBHS_SCR) VBus Request Clear */ -/* -------- USBHS_SFR : (USBHS Offset: 0x080C) General Status Set Register -------- */ -#define USBHS_SFR_RDERRIS (0x1u << 4) /**< \brief (USBHS_SFR) Remote Device Connection Error Interrupt Set */ -#define USBHS_SFR_VBUSRQS (0x1u << 9) /**< \brief (USBHS_SFR) VBus Request Set */ -/* -------- USBHS_TSTA1 : (USBHS Offset: 0x0810) General Test A1 Register -------- */ -#define USBHS_TSTA1_CounterA_Pos 0 -#define USBHS_TSTA1_CounterA_Msk (0x7fffu << USBHS_TSTA1_CounterA_Pos) /**< \brief (USBHS_TSTA1) Counter A */ -#define USBHS_TSTA1_CounterA(value) ((USBHS_TSTA1_CounterA_Msk & ((value) << USBHS_TSTA1_CounterA_Pos))) -#define USBHS_TSTA1_LoadCntA (0x1u << 15) /**< \brief (USBHS_TSTA1) Load CounterA */ -#define USBHS_TSTA1_CounterB_Pos 16 -#define USBHS_TSTA1_CounterB_Msk (0x3fu << USBHS_TSTA1_CounterB_Pos) /**< \brief (USBHS_TSTA1) Counter B */ -#define USBHS_TSTA1_CounterB(value) ((USBHS_TSTA1_CounterB_Msk & ((value) << USBHS_TSTA1_CounterB_Pos))) -#define USBHS_TSTA1_LoadCntB (0x1u << 23) /**< \brief (USBHS_TSTA1) Load CounterB */ -#define USBHS_TSTA1_SOFCntMa1_Pos 24 -#define USBHS_TSTA1_SOFCntMa1_Msk (0x7fu << USBHS_TSTA1_SOFCntMa1_Pos) /**< \brief (USBHS_TSTA1) SOF Counter Max */ -#define USBHS_TSTA1_SOFCntMa1(value) ((USBHS_TSTA1_SOFCntMa1_Msk & ((value) << USBHS_TSTA1_SOFCntMa1_Pos))) -#define USBHS_TSTA1_LoadSOFCnt (0x1u << 31) /**< \brief (USBHS_TSTA1) Load SOF Counter */ -/* -------- USBHS_TSTA2 : (USBHS Offset: 0x0814) General Test A2 Register -------- */ -#define USBHS_TSTA2_FullDetachEn (0x1u << 0) /**< \brief (USBHS_TSTA2) Full Detach Enable */ -#define USBHS_TSTA2_HSSerialMode (0x1u << 1) /**< \brief (USBHS_TSTA2) HS Serial Mode */ -#define USBHS_TSTA2_LoopBackMode (0x1u << 2) /**< \brief (USBHS_TSTA2) Loop-back Mode */ -#define USBHS_TSTA2_DisableGatedClock (0x1u << 3) /**< \brief (USBHS_TSTA2) Disable Gated Clock */ -#define USBHS_TSTA2_ForceSuspendMTo1 (0x1u << 4) /**< \brief (USBHS_TSTA2) Force SuspendM to 1 */ -#define USBHS_TSTA2_ByPassDpll (0x1u << 5) /**< \brief (USBHS_TSTA2) Bypass DPLL */ -#define USBHS_TSTA2_HostHSDisconnectDisable (0x1u << 6) /**< \brief (USBHS_TSTA2) Host HS Disconnect Disable */ -#define USBHS_TSTA2_ForceHSRst_50ms (0x1u << 7) /**< \brief (USBHS_TSTA2) Force HS Reset to 50 ms */ -#define USBHS_TSTA2_RemovePUWhenTX (0x1u << 9) /**< \brief (USBHS_TSTA2) Remove Pull-up When TX */ -/* -------- USBHS_VERSION : (USBHS Offset: 0x0818) General Version Register -------- */ -#define USBHS_VERSION_VERSION_Pos 0 -#define USBHS_VERSION_VERSION_Msk (0xfffu << USBHS_VERSION_VERSION_Pos) /**< \brief (USBHS_VERSION) Version Number */ -#define USBHS_VERSION_MFN_Pos 16 -#define USBHS_VERSION_MFN_Msk (0xfu << USBHS_VERSION_MFN_Pos) /**< \brief (USBHS_VERSION) Metal Fix Number */ -/* -------- USBHS_FSM : (USBHS Offset: 0x082C) General Finite State Machine Register -------- */ -#define USBHS_FSM_DRDSTATE_Pos 0 -#define USBHS_FSM_DRDSTATE_Msk (0xfu << USBHS_FSM_DRDSTATE_Pos) /**< \brief (USBHS_FSM) Dual Role Device State */ -#define USBHS_FSM_DRDSTATE_A_IDLESTATE (0x0u << 0) /**< \brief (USBHS_FSM) This is the start state for A-devices (when the ID pin is 0) */ -#define USBHS_FSM_DRDSTATE_A_WAIT_VRISE (0x1u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the voltage on VBus to rise above the A-device VBus Valid threshold (4.4 V). */ -#define USBHS_FSM_DRDSTATE_A_WAIT_BCON (0x2u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the B-device to signal a connection. */ -#define USBHS_FSM_DRDSTATE_A_HOST (0x3u << 0) /**< \brief (USBHS_FSM) In this state, the A-device that operates in Host mode is operational. */ -#define USBHS_FSM_DRDSTATE_A_SUSPEND (0x4u << 0) /**< \brief (USBHS_FSM) The A-device operating as a host is in the Suspend mode. */ -#define USBHS_FSM_DRDSTATE_A_PERIPHERAL (0x5u << 0) /**< \brief (USBHS_FSM) The A-device operates as a peripheral. */ -#define USBHS_FSM_DRDSTATE_A_WAIT_VFALL (0x6u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the voltage on VBus to drop below the A-device Session Valid threshold (1.4 V). */ -#define USBHS_FSM_DRDSTATE_A_VBUS_ERR (0x7u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for recovery of the over-current condition that caused it to enter this state. */ -#define USBHS_FSM_DRDSTATE_A_WAIT_DISCHARGE (0x8u << 0) /**< \brief (USBHS_FSM) In this state, the A-device waits for the data USB line to discharge (100 us). */ -#define USBHS_FSM_DRDSTATE_B_IDLE (0x9u << 0) /**< \brief (USBHS_FSM) This is the start state for B-device (when the ID pin is 1). */ -#define USBHS_FSM_DRDSTATE_B_PERIPHERAL (0xAu << 0) /**< \brief (USBHS_FSM) In this state, the B-device acts as the peripheral. */ -#define USBHS_FSM_DRDSTATE_B_WAIT_BEGIN_HNP (0xBu << 0) /**< \brief (USBHS_FSM) In this state, the B-device is in Suspend mode and waits until 3 ms before initiating the HNP protocol if requested. */ -#define USBHS_FSM_DRDSTATE_B_WAIT_DISCHARGE (0xCu << 0) /**< \brief (USBHS_FSM) In this state, the B-device waits for the data USB line to discharge (100 us)) before becoming Host. */ -#define USBHS_FSM_DRDSTATE_B_WAIT_ACON (0xDu << 0) /**< \brief (USBHS_FSM) In this state, the B-device waits for the A-device to signal a connect before becoming B-Host. */ -#define USBHS_FSM_DRDSTATE_B_HOST (0xEu << 0) /**< \brief (USBHS_FSM) In this state, the B-device acts as the Host. */ -#define USBHS_FSM_DRDSTATE_B_SRP_INIT (0xFu << 0) /**< \brief (USBHS_FSM) In this state, the B-device attempts to start a session using the SRP protocol. */ - -/*@}*/ - - -#endif /* _SAMS70_USBHS_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h deleted file mode 100644 index aa847f6..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/utmi.h +++ /dev/null @@ -1,78 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UTMI_COMPONENT_ -#define _SAMS70_UTMI_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR USB Transmitter Interface Macrocell */ -/* ============================================================================= */ -/** \addtogroup SAMS70_UTMI USB Transmitter Interface Macrocell */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Utmi hardware registers */ -typedef struct { - __I uint32_t Reserved1[4]; - __IO uint32_t UTMI_OHCIICR; /**< \brief (Utmi Offset: 0x10) OHCI Interrupt Configuration Register */ - __I uint32_t Reserved2[7]; - __IO uint32_t UTMI_CKTRIM; /**< \brief (Utmi Offset: 0x30) UTMI Clock Trimming Register */ -} Utmi; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- UTMI_OHCIICR : (UTMI Offset: 0x10) OHCI Interrupt Configuration Register -------- */ -#define UTMI_OHCIICR_RES0 (0x1u << 0) /**< \brief (UTMI_OHCIICR) USB PORTx Reset */ -#define UTMI_OHCIICR_ARIE (0x1u << 4) /**< \brief (UTMI_OHCIICR) OHCI Asynchronous Resume Interrupt Enable */ -#define UTMI_OHCIICR_APPSTART (0x1u << 5) /**< \brief (UTMI_OHCIICR) Reserved */ -#define UTMI_OHCIICR_UDPPUDIS (0x1u << 23) /**< \brief (UTMI_OHCIICR) USB Device Pull-up Disable */ -/* -------- UTMI_CKTRIM : (UTMI Offset: 0x30) UTMI Clock Trimming Register -------- */ -#define UTMI_CKTRIM_FREQ_Pos 0 -#define UTMI_CKTRIM_FREQ_Msk (0x3u << UTMI_CKTRIM_FREQ_Pos) /**< \brief (UTMI_CKTRIM) UTMI Reference Clock Frequency */ -#define UTMI_CKTRIM_FREQ(value) ((UTMI_CKTRIM_FREQ_Msk & ((value) << UTMI_CKTRIM_FREQ_Pos))) -#define UTMI_CKTRIM_FREQ_XTAL12 (0x0u << 0) /**< \brief (UTMI_CKTRIM) 12 MHz reference clock */ -#define UTMI_CKTRIM_FREQ_XTAL16 (0x1u << 0) /**< \brief (UTMI_CKTRIM) 16 MHz reference clock */ - -/*@}*/ - - -#endif /* _SAMS70_UTMI_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h deleted file mode 100644 index b8f749b..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/wdt.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_WDT_COMPONENT_ -#define _SAMS70_WDT_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Watchdog Timer */ -/* ============================================================================= */ -/** \addtogroup SAMS70_WDT Watchdog Timer */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief Wdt hardware registers */ -typedef struct { - __O uint32_t WDT_CR; /**< \brief (Wdt Offset: 0x00) Control Register */ - __IO uint32_t WDT_MR; /**< \brief (Wdt Offset: 0x04) Mode Register */ - __I uint32_t WDT_SR; /**< \brief (Wdt Offset: 0x08) Status Register */ -} Wdt; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- WDT_CR : (WDT Offset: 0x00) Control Register -------- */ -#define WDT_CR_WDRSTT (0x1u << 0) /**< \brief (WDT_CR) Watchdog Restart */ -#define WDT_CR_KEY_Pos 24 -#define WDT_CR_KEY_Msk (0xffu << WDT_CR_KEY_Pos) /**< \brief (WDT_CR) Password */ -#define WDT_CR_KEY(value) ((WDT_CR_KEY_Msk & ((value) << WDT_CR_KEY_Pos))) -#define WDT_CR_KEY_PASSWD (0xA5u << 24) /**< \brief (WDT_CR) Writing any other value in this field aborts the write operation. */ -/* -------- WDT_MR : (WDT Offset: 0x04) Mode Register -------- */ -#define WDT_MR_WDV_Pos 0 -#define WDT_MR_WDV_Msk (0xfffu << WDT_MR_WDV_Pos) /**< \brief (WDT_MR) Watchdog Counter Value */ -#define WDT_MR_WDV(value) ((WDT_MR_WDV_Msk & ((value) << WDT_MR_WDV_Pos))) -#define WDT_MR_WDFIEN (0x1u << 12) /**< \brief (WDT_MR) Watchdog Fault Interrupt Enable */ -#define WDT_MR_WDRSTEN (0x1u << 13) /**< \brief (WDT_MR) Watchdog Reset Enable */ -#define WDT_MR_WDDIS (0x1u << 15) /**< \brief (WDT_MR) Watchdog Disable */ -#define WDT_MR_WDD_Pos 16 -#define WDT_MR_WDD_Msk (0xfffu << WDT_MR_WDD_Pos) /**< \brief (WDT_MR) Watchdog Delta Value */ -#define WDT_MR_WDD(value) ((WDT_MR_WDD_Msk & ((value) << WDT_MR_WDD_Pos))) -#define WDT_MR_WDDBGHLT (0x1u << 28) /**< \brief (WDT_MR) Watchdog Debug Halt */ -#define WDT_MR_WDIDLEHLT (0x1u << 29) /**< \brief (WDT_MR) Watchdog Idle Halt */ -/* -------- WDT_SR : (WDT Offset: 0x08) Status Register -------- */ -#define WDT_SR_WDUNF (0x1u << 0) /**< \brief (WDT_SR) Watchdog Underflow (cleared on read) */ -#define WDT_SR_WDERR (0x1u << 1) /**< \brief (WDT_SR) Watchdog Error (cleared on read) */ - -/*@}*/ - - -#endif /* _SAMS70_WDT_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h deleted file mode 100644 index 942e270..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/component/xdmac.h +++ /dev/null @@ -1,634 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_XDMAC_COMPONENT_ -#define _SAMS70_XDMAC_COMPONENT_ - -/* ============================================================================= */ -/** SOFTWARE API DEFINITION FOR Extensible DMA Controller */ -/* ============================================================================= */ -/** \addtogroup SAMS70_XDMAC Extensible DMA Controller */ -/*@{*/ - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -/** \brief XdmacChid hardware registers */ -typedef struct { - __O uint32_t XDMAC_CIE; /**< \brief (XdmacChid Offset: 0x0) Channel Interrupt Enable Register */ - __O uint32_t XDMAC_CID; /**< \brief (XdmacChid Offset: 0x4) Channel Interrupt Disable Register */ - __O uint32_t XDMAC_CIM; /**< \brief (XdmacChid Offset: 0x8) Channel Interrupt Mask Register */ - __I uint32_t XDMAC_CIS; /**< \brief (XdmacChid Offset: 0xC) Channel Interrupt Status Register */ - __IO uint32_t XDMAC_CSA; /**< \brief (XdmacChid Offset: 0x10) Channel Source Address Register */ - __IO uint32_t XDMAC_CDA; /**< \brief (XdmacChid Offset: 0x14) Channel Destination Address Register */ - __IO uint32_t XDMAC_CNDA; /**< \brief (XdmacChid Offset: 0x18) Channel Next Descriptor Address Register */ - __IO uint32_t XDMAC_CNDC; /**< \brief (XdmacChid Offset: 0x1C) Channel Next Descriptor Control Register */ - __IO uint32_t XDMAC_CUBC; /**< \brief (XdmacChid Offset: 0x20) Channel Microblock Control Register */ - __IO uint32_t XDMAC_CBC; /**< \brief (XdmacChid Offset: 0x24) Channel Block Control Register */ - __IO uint32_t XDMAC_CC; /**< \brief (XdmacChid Offset: 0x28) Channel Configuration Register */ - __IO uint32_t XDMAC_CDS_MSP; /**< \brief (XdmacChid Offset: 0x2C) Channel Data Stride Memory Set Pattern */ - __IO uint32_t XDMAC_CSUS; /**< \brief (XdmacChid Offset: 0x30) Channel Source Microblock Stride */ - __IO uint32_t XDMAC_CDUS; /**< \brief (XdmacChid Offset: 0x34) Channel Destination Microblock Stride */ - __I uint32_t Reserved1[2]; -} XdmacChid; -/** \brief Xdmac hardware registers */ -#define XDMACCHID_NUMBER 24 -typedef struct { - __IO uint32_t XDMAC_GTYPE; /**< \brief (Xdmac Offset: 0x00) Global Type Register */ - __I uint32_t XDMAC_GCFG; /**< \brief (Xdmac Offset: 0x04) Global Configuration Register */ - __IO uint32_t XDMAC_GWAC; /**< \brief (Xdmac Offset: 0x08) Global Weighted Arbiter Configuration Register */ - __O uint32_t XDMAC_GIE; /**< \brief (Xdmac Offset: 0x0C) Global Interrupt Enable Register */ - __O uint32_t XDMAC_GID; /**< \brief (Xdmac Offset: 0x10) Global Interrupt Disable Register */ - __I uint32_t XDMAC_GIM; /**< \brief (Xdmac Offset: 0x14) Global Interrupt Mask Register */ - __I uint32_t XDMAC_GIS; /**< \brief (Xdmac Offset: 0x18) Global Interrupt Status Register */ - __O uint32_t XDMAC_GE; /**< \brief (Xdmac Offset: 0x1C) Global Channel Enable Register */ - __O uint32_t XDMAC_GD; /**< \brief (Xdmac Offset: 0x20) Global Channel Disable Register */ - __I uint32_t XDMAC_GS; /**< \brief (Xdmac Offset: 0x24) Global Channel Status Register */ - __IO uint32_t XDMAC_GRS; /**< \brief (Xdmac Offset: 0x28) Global Channel Read Suspend Register */ - __IO uint32_t XDMAC_GWS; /**< \brief (Xdmac Offset: 0x2C) Global Channel Write Suspend Register */ - __O uint32_t XDMAC_GRWS; /**< \brief (Xdmac Offset: 0x30) Global Channel Read Write Suspend Register */ - __O uint32_t XDMAC_GRWR; /**< \brief (Xdmac Offset: 0x34) Global Channel Read Write Resume Register */ - __O uint32_t XDMAC_GSWR; /**< \brief (Xdmac Offset: 0x38) Global Channel Software Request Register */ - __I uint32_t XDMAC_GSWS; /**< \brief (Xdmac Offset: 0x3C) Global Channel Software Request Status Register */ - __O uint32_t XDMAC_GSWF; /**< \brief (Xdmac Offset: 0x40) Global Channel Software Flush Request Register */ - __I uint32_t Reserved1[3]; - XdmacChid XDMAC_CHID[XDMACCHID_NUMBER]; /**< \brief (Xdmac Offset: 0x50) chid = 0 .. 23 */ -} Xdmac; -#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/* -------- XDMAC_GTYPE : (XDMAC Offset: 0x00) Global Type Register -------- */ -#define XDMAC_GTYPE_NB_CH_Pos 0 -#define XDMAC_GTYPE_NB_CH_Msk (0x1fu << XDMAC_GTYPE_NB_CH_Pos) /**< \brief (XDMAC_GTYPE) Number of Channels Minus One */ -#define XDMAC_GTYPE_NB_CH(value) ((XDMAC_GTYPE_NB_CH_Msk & ((value) << XDMAC_GTYPE_NB_CH_Pos))) -#define XDMAC_GTYPE_FIFO_SZ_Pos 5 -#define XDMAC_GTYPE_FIFO_SZ_Msk (0x7ffu << XDMAC_GTYPE_FIFO_SZ_Pos) /**< \brief (XDMAC_GTYPE) Number of Bytes */ -#define XDMAC_GTYPE_FIFO_SZ(value) ((XDMAC_GTYPE_FIFO_SZ_Msk & ((value) << XDMAC_GTYPE_FIFO_SZ_Pos))) -#define XDMAC_GTYPE_NB_REQ_Pos 16 -#define XDMAC_GTYPE_NB_REQ_Msk (0x7fu << XDMAC_GTYPE_NB_REQ_Pos) /**< \brief (XDMAC_GTYPE) Number of Peripheral Requests Minus One */ -#define XDMAC_GTYPE_NB_REQ(value) ((XDMAC_GTYPE_NB_REQ_Msk & ((value) << XDMAC_GTYPE_NB_REQ_Pos))) -/* -------- XDMAC_GCFG : (XDMAC Offset: 0x04) Global Configuration Register -------- */ -#define XDMAC_GCFG_CGDISREG (0x1u << 0) /**< \brief (XDMAC_GCFG) Configuration Registers Clock Gating Disable */ -#define XDMAC_GCFG_CGDISPIPE (0x1u << 1) /**< \brief (XDMAC_GCFG) Pipeline Clock Gating Disable */ -#define XDMAC_GCFG_CGDISFIFO (0x1u << 2) /**< \brief (XDMAC_GCFG) FIFO Clock Gating Disable */ -#define XDMAC_GCFG_CGDISIF (0x1u << 3) /**< \brief (XDMAC_GCFG) Bus Interface Clock Gating Disable */ -#define XDMAC_GCFG_BXKBEN (0x1u << 8) /**< \brief (XDMAC_GCFG) Boundary X Kilo byte Enable */ -/* -------- XDMAC_GWAC : (XDMAC Offset: 0x08) Global Weighted Arbiter Configuration Register -------- */ -#define XDMAC_GWAC_PW0_Pos 0 -#define XDMAC_GWAC_PW0_Msk (0xfu << XDMAC_GWAC_PW0_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 0 */ -#define XDMAC_GWAC_PW0(value) ((XDMAC_GWAC_PW0_Msk & ((value) << XDMAC_GWAC_PW0_Pos))) -#define XDMAC_GWAC_PW1_Pos 4 -#define XDMAC_GWAC_PW1_Msk (0xfu << XDMAC_GWAC_PW1_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 1 */ -#define XDMAC_GWAC_PW1(value) ((XDMAC_GWAC_PW1_Msk & ((value) << XDMAC_GWAC_PW1_Pos))) -#define XDMAC_GWAC_PW2_Pos 8 -#define XDMAC_GWAC_PW2_Msk (0xfu << XDMAC_GWAC_PW2_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 2 */ -#define XDMAC_GWAC_PW2(value) ((XDMAC_GWAC_PW2_Msk & ((value) << XDMAC_GWAC_PW2_Pos))) -#define XDMAC_GWAC_PW3_Pos 12 -#define XDMAC_GWAC_PW3_Msk (0xfu << XDMAC_GWAC_PW3_Pos) /**< \brief (XDMAC_GWAC) Pool Weight 3 */ -#define XDMAC_GWAC_PW3(value) ((XDMAC_GWAC_PW3_Msk & ((value) << XDMAC_GWAC_PW3_Pos))) -/* -------- XDMAC_GIE : (XDMAC Offset: 0x0C) Global Interrupt Enable Register -------- */ -#define XDMAC_GIE_IE0 (0x1u << 0) /**< \brief (XDMAC_GIE) XDMAC Channel 0 Interrupt Enable Bit */ -#define XDMAC_GIE_IE1 (0x1u << 1) /**< \brief (XDMAC_GIE) XDMAC Channel 1 Interrupt Enable Bit */ -#define XDMAC_GIE_IE2 (0x1u << 2) /**< \brief (XDMAC_GIE) XDMAC Channel 2 Interrupt Enable Bit */ -#define XDMAC_GIE_IE3 (0x1u << 3) /**< \brief (XDMAC_GIE) XDMAC Channel 3 Interrupt Enable Bit */ -#define XDMAC_GIE_IE4 (0x1u << 4) /**< \brief (XDMAC_GIE) XDMAC Channel 4 Interrupt Enable Bit */ -#define XDMAC_GIE_IE5 (0x1u << 5) /**< \brief (XDMAC_GIE) XDMAC Channel 5 Interrupt Enable Bit */ -#define XDMAC_GIE_IE6 (0x1u << 6) /**< \brief (XDMAC_GIE) XDMAC Channel 6 Interrupt Enable Bit */ -#define XDMAC_GIE_IE7 (0x1u << 7) /**< \brief (XDMAC_GIE) XDMAC Channel 7 Interrupt Enable Bit */ -#define XDMAC_GIE_IE8 (0x1u << 8) /**< \brief (XDMAC_GIE) XDMAC Channel 8 Interrupt Enable Bit */ -#define XDMAC_GIE_IE9 (0x1u << 9) /**< \brief (XDMAC_GIE) XDMAC Channel 9 Interrupt Enable Bit */ -#define XDMAC_GIE_IE10 (0x1u << 10) /**< \brief (XDMAC_GIE) XDMAC Channel 10 Interrupt Enable Bit */ -#define XDMAC_GIE_IE11 (0x1u << 11) /**< \brief (XDMAC_GIE) XDMAC Channel 11 Interrupt Enable Bit */ -#define XDMAC_GIE_IE12 (0x1u << 12) /**< \brief (XDMAC_GIE) XDMAC Channel 12 Interrupt Enable Bit */ -#define XDMAC_GIE_IE13 (0x1u << 13) /**< \brief (XDMAC_GIE) XDMAC Channel 13 Interrupt Enable Bit */ -#define XDMAC_GIE_IE14 (0x1u << 14) /**< \brief (XDMAC_GIE) XDMAC Channel 14 Interrupt Enable Bit */ -#define XDMAC_GIE_IE15 (0x1u << 15) /**< \brief (XDMAC_GIE) XDMAC Channel 15 Interrupt Enable Bit */ -#define XDMAC_GIE_IE16 (0x1u << 16) /**< \brief (XDMAC_GIE) XDMAC Channel 16 Interrupt Enable Bit */ -#define XDMAC_GIE_IE17 (0x1u << 17) /**< \brief (XDMAC_GIE) XDMAC Channel 17 Interrupt Enable Bit */ -#define XDMAC_GIE_IE18 (0x1u << 18) /**< \brief (XDMAC_GIE) XDMAC Channel 18 Interrupt Enable Bit */ -#define XDMAC_GIE_IE19 (0x1u << 19) /**< \brief (XDMAC_GIE) XDMAC Channel 19 Interrupt Enable Bit */ -#define XDMAC_GIE_IE20 (0x1u << 20) /**< \brief (XDMAC_GIE) XDMAC Channel 20 Interrupt Enable Bit */ -#define XDMAC_GIE_IE21 (0x1u << 21) /**< \brief (XDMAC_GIE) XDMAC Channel 21 Interrupt Enable Bit */ -#define XDMAC_GIE_IE22 (0x1u << 22) /**< \brief (XDMAC_GIE) XDMAC Channel 22 Interrupt Enable Bit */ -#define XDMAC_GIE_IE23 (0x1u << 23) /**< \brief (XDMAC_GIE) XDMAC Channel 23 Interrupt Enable Bit */ -/* -------- XDMAC_GID : (XDMAC Offset: 0x10) Global Interrupt Disable Register -------- */ -#define XDMAC_GID_ID0 (0x1u << 0) /**< \brief (XDMAC_GID) XDMAC Channel 0 Interrupt Disable Bit */ -#define XDMAC_GID_ID1 (0x1u << 1) /**< \brief (XDMAC_GID) XDMAC Channel 1 Interrupt Disable Bit */ -#define XDMAC_GID_ID2 (0x1u << 2) /**< \brief (XDMAC_GID) XDMAC Channel 2 Interrupt Disable Bit */ -#define XDMAC_GID_ID3 (0x1u << 3) /**< \brief (XDMAC_GID) XDMAC Channel 3 Interrupt Disable Bit */ -#define XDMAC_GID_ID4 (0x1u << 4) /**< \brief (XDMAC_GID) XDMAC Channel 4 Interrupt Disable Bit */ -#define XDMAC_GID_ID5 (0x1u << 5) /**< \brief (XDMAC_GID) XDMAC Channel 5 Interrupt Disable Bit */ -#define XDMAC_GID_ID6 (0x1u << 6) /**< \brief (XDMAC_GID) XDMAC Channel 6 Interrupt Disable Bit */ -#define XDMAC_GID_ID7 (0x1u << 7) /**< \brief (XDMAC_GID) XDMAC Channel 7 Interrupt Disable Bit */ -#define XDMAC_GID_ID8 (0x1u << 8) /**< \brief (XDMAC_GID) XDMAC Channel 8 Interrupt Disable Bit */ -#define XDMAC_GID_ID9 (0x1u << 9) /**< \brief (XDMAC_GID) XDMAC Channel 9 Interrupt Disable Bit */ -#define XDMAC_GID_ID10 (0x1u << 10) /**< \brief (XDMAC_GID) XDMAC Channel 10 Interrupt Disable Bit */ -#define XDMAC_GID_ID11 (0x1u << 11) /**< \brief (XDMAC_GID) XDMAC Channel 11 Interrupt Disable Bit */ -#define XDMAC_GID_ID12 (0x1u << 12) /**< \brief (XDMAC_GID) XDMAC Channel 12 Interrupt Disable Bit */ -#define XDMAC_GID_ID13 (0x1u << 13) /**< \brief (XDMAC_GID) XDMAC Channel 13 Interrupt Disable Bit */ -#define XDMAC_GID_ID14 (0x1u << 14) /**< \brief (XDMAC_GID) XDMAC Channel 14 Interrupt Disable Bit */ -#define XDMAC_GID_ID15 (0x1u << 15) /**< \brief (XDMAC_GID) XDMAC Channel 15 Interrupt Disable Bit */ -#define XDMAC_GID_ID16 (0x1u << 16) /**< \brief (XDMAC_GID) XDMAC Channel 16 Interrupt Disable Bit */ -#define XDMAC_GID_ID17 (0x1u << 17) /**< \brief (XDMAC_GID) XDMAC Channel 17 Interrupt Disable Bit */ -#define XDMAC_GID_ID18 (0x1u << 18) /**< \brief (XDMAC_GID) XDMAC Channel 18 Interrupt Disable Bit */ -#define XDMAC_GID_ID19 (0x1u << 19) /**< \brief (XDMAC_GID) XDMAC Channel 19 Interrupt Disable Bit */ -#define XDMAC_GID_ID20 (0x1u << 20) /**< \brief (XDMAC_GID) XDMAC Channel 20 Interrupt Disable Bit */ -#define XDMAC_GID_ID21 (0x1u << 21) /**< \brief (XDMAC_GID) XDMAC Channel 21 Interrupt Disable Bit */ -#define XDMAC_GID_ID22 (0x1u << 22) /**< \brief (XDMAC_GID) XDMAC Channel 22 Interrupt Disable Bit */ -#define XDMAC_GID_ID23 (0x1u << 23) /**< \brief (XDMAC_GID) XDMAC Channel 23 Interrupt Disable Bit */ -/* -------- XDMAC_GIM : (XDMAC Offset: 0x14) Global Interrupt Mask Register -------- */ -#define XDMAC_GIM_IM0 (0x1u << 0) /**< \brief (XDMAC_GIM) XDMAC Channel 0 Interrupt Mask Bit */ -#define XDMAC_GIM_IM1 (0x1u << 1) /**< \brief (XDMAC_GIM) XDMAC Channel 1 Interrupt Mask Bit */ -#define XDMAC_GIM_IM2 (0x1u << 2) /**< \brief (XDMAC_GIM) XDMAC Channel 2 Interrupt Mask Bit */ -#define XDMAC_GIM_IM3 (0x1u << 3) /**< \brief (XDMAC_GIM) XDMAC Channel 3 Interrupt Mask Bit */ -#define XDMAC_GIM_IM4 (0x1u << 4) /**< \brief (XDMAC_GIM) XDMAC Channel 4 Interrupt Mask Bit */ -#define XDMAC_GIM_IM5 (0x1u << 5) /**< \brief (XDMAC_GIM) XDMAC Channel 5 Interrupt Mask Bit */ -#define XDMAC_GIM_IM6 (0x1u << 6) /**< \brief (XDMAC_GIM) XDMAC Channel 6 Interrupt Mask Bit */ -#define XDMAC_GIM_IM7 (0x1u << 7) /**< \brief (XDMAC_GIM) XDMAC Channel 7 Interrupt Mask Bit */ -#define XDMAC_GIM_IM8 (0x1u << 8) /**< \brief (XDMAC_GIM) XDMAC Channel 8 Interrupt Mask Bit */ -#define XDMAC_GIM_IM9 (0x1u << 9) /**< \brief (XDMAC_GIM) XDMAC Channel 9 Interrupt Mask Bit */ -#define XDMAC_GIM_IM10 (0x1u << 10) /**< \brief (XDMAC_GIM) XDMAC Channel 10 Interrupt Mask Bit */ -#define XDMAC_GIM_IM11 (0x1u << 11) /**< \brief (XDMAC_GIM) XDMAC Channel 11 Interrupt Mask Bit */ -#define XDMAC_GIM_IM12 (0x1u << 12) /**< \brief (XDMAC_GIM) XDMAC Channel 12 Interrupt Mask Bit */ -#define XDMAC_GIM_IM13 (0x1u << 13) /**< \brief (XDMAC_GIM) XDMAC Channel 13 Interrupt Mask Bit */ -#define XDMAC_GIM_IM14 (0x1u << 14) /**< \brief (XDMAC_GIM) XDMAC Channel 14 Interrupt Mask Bit */ -#define XDMAC_GIM_IM15 (0x1u << 15) /**< \brief (XDMAC_GIM) XDMAC Channel 15 Interrupt Mask Bit */ -#define XDMAC_GIM_IM16 (0x1u << 16) /**< \brief (XDMAC_GIM) XDMAC Channel 16 Interrupt Mask Bit */ -#define XDMAC_GIM_IM17 (0x1u << 17) /**< \brief (XDMAC_GIM) XDMAC Channel 17 Interrupt Mask Bit */ -#define XDMAC_GIM_IM18 (0x1u << 18) /**< \brief (XDMAC_GIM) XDMAC Channel 18 Interrupt Mask Bit */ -#define XDMAC_GIM_IM19 (0x1u << 19) /**< \brief (XDMAC_GIM) XDMAC Channel 19 Interrupt Mask Bit */ -#define XDMAC_GIM_IM20 (0x1u << 20) /**< \brief (XDMAC_GIM) XDMAC Channel 20 Interrupt Mask Bit */ -#define XDMAC_GIM_IM21 (0x1u << 21) /**< \brief (XDMAC_GIM) XDMAC Channel 21 Interrupt Mask Bit */ -#define XDMAC_GIM_IM22 (0x1u << 22) /**< \brief (XDMAC_GIM) XDMAC Channel 22 Interrupt Mask Bit */ -#define XDMAC_GIM_IM23 (0x1u << 23) /**< \brief (XDMAC_GIM) XDMAC Channel 23 Interrupt Mask Bit */ -/* -------- XDMAC_GIS : (XDMAC Offset: 0x18) Global Interrupt Status Register -------- */ -#define XDMAC_GIS_IS0 (0x1u << 0) /**< \brief (XDMAC_GIS) XDMAC Channel 0 Interrupt Status Bit */ -#define XDMAC_GIS_IS1 (0x1u << 1) /**< \brief (XDMAC_GIS) XDMAC Channel 1 Interrupt Status Bit */ -#define XDMAC_GIS_IS2 (0x1u << 2) /**< \brief (XDMAC_GIS) XDMAC Channel 2 Interrupt Status Bit */ -#define XDMAC_GIS_IS3 (0x1u << 3) /**< \brief (XDMAC_GIS) XDMAC Channel 3 Interrupt Status Bit */ -#define XDMAC_GIS_IS4 (0x1u << 4) /**< \brief (XDMAC_GIS) XDMAC Channel 4 Interrupt Status Bit */ -#define XDMAC_GIS_IS5 (0x1u << 5) /**< \brief (XDMAC_GIS) XDMAC Channel 5 Interrupt Status Bit */ -#define XDMAC_GIS_IS6 (0x1u << 6) /**< \brief (XDMAC_GIS) XDMAC Channel 6 Interrupt Status Bit */ -#define XDMAC_GIS_IS7 (0x1u << 7) /**< \brief (XDMAC_GIS) XDMAC Channel 7 Interrupt Status Bit */ -#define XDMAC_GIS_IS8 (0x1u << 8) /**< \brief (XDMAC_GIS) XDMAC Channel 8 Interrupt Status Bit */ -#define XDMAC_GIS_IS9 (0x1u << 9) /**< \brief (XDMAC_GIS) XDMAC Channel 9 Interrupt Status Bit */ -#define XDMAC_GIS_IS10 (0x1u << 10) /**< \brief (XDMAC_GIS) XDMAC Channel 10 Interrupt Status Bit */ -#define XDMAC_GIS_IS11 (0x1u << 11) /**< \brief (XDMAC_GIS) XDMAC Channel 11 Interrupt Status Bit */ -#define XDMAC_GIS_IS12 (0x1u << 12) /**< \brief (XDMAC_GIS) XDMAC Channel 12 Interrupt Status Bit */ -#define XDMAC_GIS_IS13 (0x1u << 13) /**< \brief (XDMAC_GIS) XDMAC Channel 13 Interrupt Status Bit */ -#define XDMAC_GIS_IS14 (0x1u << 14) /**< \brief (XDMAC_GIS) XDMAC Channel 14 Interrupt Status Bit */ -#define XDMAC_GIS_IS15 (0x1u << 15) /**< \brief (XDMAC_GIS) XDMAC Channel 15 Interrupt Status Bit */ -#define XDMAC_GIS_IS16 (0x1u << 16) /**< \brief (XDMAC_GIS) XDMAC Channel 16 Interrupt Status Bit */ -#define XDMAC_GIS_IS17 (0x1u << 17) /**< \brief (XDMAC_GIS) XDMAC Channel 17 Interrupt Status Bit */ -#define XDMAC_GIS_IS18 (0x1u << 18) /**< \brief (XDMAC_GIS) XDMAC Channel 18 Interrupt Status Bit */ -#define XDMAC_GIS_IS19 (0x1u << 19) /**< \brief (XDMAC_GIS) XDMAC Channel 19 Interrupt Status Bit */ -#define XDMAC_GIS_IS20 (0x1u << 20) /**< \brief (XDMAC_GIS) XDMAC Channel 20 Interrupt Status Bit */ -#define XDMAC_GIS_IS21 (0x1u << 21) /**< \brief (XDMAC_GIS) XDMAC Channel 21 Interrupt Status Bit */ -#define XDMAC_GIS_IS22 (0x1u << 22) /**< \brief (XDMAC_GIS) XDMAC Channel 22 Interrupt Status Bit */ -#define XDMAC_GIS_IS23 (0x1u << 23) /**< \brief (XDMAC_GIS) XDMAC Channel 23 Interrupt Status Bit */ -/* -------- XDMAC_GE : (XDMAC Offset: 0x1C) Global Channel Enable Register -------- */ -#define XDMAC_GE_EN0 (0x1u << 0) /**< \brief (XDMAC_GE) XDMAC Channel 0 Enable Bit */ -#define XDMAC_GE_EN1 (0x1u << 1) /**< \brief (XDMAC_GE) XDMAC Channel 1 Enable Bit */ -#define XDMAC_GE_EN2 (0x1u << 2) /**< \brief (XDMAC_GE) XDMAC Channel 2 Enable Bit */ -#define XDMAC_GE_EN3 (0x1u << 3) /**< \brief (XDMAC_GE) XDMAC Channel 3 Enable Bit */ -#define XDMAC_GE_EN4 (0x1u << 4) /**< \brief (XDMAC_GE) XDMAC Channel 4 Enable Bit */ -#define XDMAC_GE_EN5 (0x1u << 5) /**< \brief (XDMAC_GE) XDMAC Channel 5 Enable Bit */ -#define XDMAC_GE_EN6 (0x1u << 6) /**< \brief (XDMAC_GE) XDMAC Channel 6 Enable Bit */ -#define XDMAC_GE_EN7 (0x1u << 7) /**< \brief (XDMAC_GE) XDMAC Channel 7 Enable Bit */ -#define XDMAC_GE_EN8 (0x1u << 8) /**< \brief (XDMAC_GE) XDMAC Channel 8 Enable Bit */ -#define XDMAC_GE_EN9 (0x1u << 9) /**< \brief (XDMAC_GE) XDMAC Channel 9 Enable Bit */ -#define XDMAC_GE_EN10 (0x1u << 10) /**< \brief (XDMAC_GE) XDMAC Channel 10 Enable Bit */ -#define XDMAC_GE_EN11 (0x1u << 11) /**< \brief (XDMAC_GE) XDMAC Channel 11 Enable Bit */ -#define XDMAC_GE_EN12 (0x1u << 12) /**< \brief (XDMAC_GE) XDMAC Channel 12 Enable Bit */ -#define XDMAC_GE_EN13 (0x1u << 13) /**< \brief (XDMAC_GE) XDMAC Channel 13 Enable Bit */ -#define XDMAC_GE_EN14 (0x1u << 14) /**< \brief (XDMAC_GE) XDMAC Channel 14 Enable Bit */ -#define XDMAC_GE_EN15 (0x1u << 15) /**< \brief (XDMAC_GE) XDMAC Channel 15 Enable Bit */ -#define XDMAC_GE_EN16 (0x1u << 16) /**< \brief (XDMAC_GE) XDMAC Channel 16 Enable Bit */ -#define XDMAC_GE_EN17 (0x1u << 17) /**< \brief (XDMAC_GE) XDMAC Channel 17 Enable Bit */ -#define XDMAC_GE_EN18 (0x1u << 18) /**< \brief (XDMAC_GE) XDMAC Channel 18 Enable Bit */ -#define XDMAC_GE_EN19 (0x1u << 19) /**< \brief (XDMAC_GE) XDMAC Channel 19 Enable Bit */ -#define XDMAC_GE_EN20 (0x1u << 20) /**< \brief (XDMAC_GE) XDMAC Channel 20 Enable Bit */ -#define XDMAC_GE_EN21 (0x1u << 21) /**< \brief (XDMAC_GE) XDMAC Channel 21 Enable Bit */ -#define XDMAC_GE_EN22 (0x1u << 22) /**< \brief (XDMAC_GE) XDMAC Channel 22 Enable Bit */ -#define XDMAC_GE_EN23 (0x1u << 23) /**< \brief (XDMAC_GE) XDMAC Channel 23 Enable Bit */ -/* -------- XDMAC_GD : (XDMAC Offset: 0x20) Global Channel Disable Register -------- */ -#define XDMAC_GD_DI0 (0x1u << 0) /**< \brief (XDMAC_GD) XDMAC Channel 0 Disable Bit */ -#define XDMAC_GD_DI1 (0x1u << 1) /**< \brief (XDMAC_GD) XDMAC Channel 1 Disable Bit */ -#define XDMAC_GD_DI2 (0x1u << 2) /**< \brief (XDMAC_GD) XDMAC Channel 2 Disable Bit */ -#define XDMAC_GD_DI3 (0x1u << 3) /**< \brief (XDMAC_GD) XDMAC Channel 3 Disable Bit */ -#define XDMAC_GD_DI4 (0x1u << 4) /**< \brief (XDMAC_GD) XDMAC Channel 4 Disable Bit */ -#define XDMAC_GD_DI5 (0x1u << 5) /**< \brief (XDMAC_GD) XDMAC Channel 5 Disable Bit */ -#define XDMAC_GD_DI6 (0x1u << 6) /**< \brief (XDMAC_GD) XDMAC Channel 6 Disable Bit */ -#define XDMAC_GD_DI7 (0x1u << 7) /**< \brief (XDMAC_GD) XDMAC Channel 7 Disable Bit */ -#define XDMAC_GD_DI8 (0x1u << 8) /**< \brief (XDMAC_GD) XDMAC Channel 8 Disable Bit */ -#define XDMAC_GD_DI9 (0x1u << 9) /**< \brief (XDMAC_GD) XDMAC Channel 9 Disable Bit */ -#define XDMAC_GD_DI10 (0x1u << 10) /**< \brief (XDMAC_GD) XDMAC Channel 10 Disable Bit */ -#define XDMAC_GD_DI11 (0x1u << 11) /**< \brief (XDMAC_GD) XDMAC Channel 11 Disable Bit */ -#define XDMAC_GD_DI12 (0x1u << 12) /**< \brief (XDMAC_GD) XDMAC Channel 12 Disable Bit */ -#define XDMAC_GD_DI13 (0x1u << 13) /**< \brief (XDMAC_GD) XDMAC Channel 13 Disable Bit */ -#define XDMAC_GD_DI14 (0x1u << 14) /**< \brief (XDMAC_GD) XDMAC Channel 14 Disable Bit */ -#define XDMAC_GD_DI15 (0x1u << 15) /**< \brief (XDMAC_GD) XDMAC Channel 15 Disable Bit */ -#define XDMAC_GD_DI16 (0x1u << 16) /**< \brief (XDMAC_GD) XDMAC Channel 16 Disable Bit */ -#define XDMAC_GD_DI17 (0x1u << 17) /**< \brief (XDMAC_GD) XDMAC Channel 17 Disable Bit */ -#define XDMAC_GD_DI18 (0x1u << 18) /**< \brief (XDMAC_GD) XDMAC Channel 18 Disable Bit */ -#define XDMAC_GD_DI19 (0x1u << 19) /**< \brief (XDMAC_GD) XDMAC Channel 19 Disable Bit */ -#define XDMAC_GD_DI20 (0x1u << 20) /**< \brief (XDMAC_GD) XDMAC Channel 20 Disable Bit */ -#define XDMAC_GD_DI21 (0x1u << 21) /**< \brief (XDMAC_GD) XDMAC Channel 21 Disable Bit */ -#define XDMAC_GD_DI22 (0x1u << 22) /**< \brief (XDMAC_GD) XDMAC Channel 22 Disable Bit */ -#define XDMAC_GD_DI23 (0x1u << 23) /**< \brief (XDMAC_GD) XDMAC Channel 23 Disable Bit */ -/* -------- XDMAC_GS : (XDMAC Offset: 0x24) Global Channel Status Register -------- */ -#define XDMAC_GS_ST0 (0x1u << 0) /**< \brief (XDMAC_GS) XDMAC Channel 0 Status Bit */ -#define XDMAC_GS_ST1 (0x1u << 1) /**< \brief (XDMAC_GS) XDMAC Channel 1 Status Bit */ -#define XDMAC_GS_ST2 (0x1u << 2) /**< \brief (XDMAC_GS) XDMAC Channel 2 Status Bit */ -#define XDMAC_GS_ST3 (0x1u << 3) /**< \brief (XDMAC_GS) XDMAC Channel 3 Status Bit */ -#define XDMAC_GS_ST4 (0x1u << 4) /**< \brief (XDMAC_GS) XDMAC Channel 4 Status Bit */ -#define XDMAC_GS_ST5 (0x1u << 5) /**< \brief (XDMAC_GS) XDMAC Channel 5 Status Bit */ -#define XDMAC_GS_ST6 (0x1u << 6) /**< \brief (XDMAC_GS) XDMAC Channel 6 Status Bit */ -#define XDMAC_GS_ST7 (0x1u << 7) /**< \brief (XDMAC_GS) XDMAC Channel 7 Status Bit */ -#define XDMAC_GS_ST8 (0x1u << 8) /**< \brief (XDMAC_GS) XDMAC Channel 8 Status Bit */ -#define XDMAC_GS_ST9 (0x1u << 9) /**< \brief (XDMAC_GS) XDMAC Channel 9 Status Bit */ -#define XDMAC_GS_ST10 (0x1u << 10) /**< \brief (XDMAC_GS) XDMAC Channel 10 Status Bit */ -#define XDMAC_GS_ST11 (0x1u << 11) /**< \brief (XDMAC_GS) XDMAC Channel 11 Status Bit */ -#define XDMAC_GS_ST12 (0x1u << 12) /**< \brief (XDMAC_GS) XDMAC Channel 12 Status Bit */ -#define XDMAC_GS_ST13 (0x1u << 13) /**< \brief (XDMAC_GS) XDMAC Channel 13 Status Bit */ -#define XDMAC_GS_ST14 (0x1u << 14) /**< \brief (XDMAC_GS) XDMAC Channel 14 Status Bit */ -#define XDMAC_GS_ST15 (0x1u << 15) /**< \brief (XDMAC_GS) XDMAC Channel 15 Status Bit */ -#define XDMAC_GS_ST16 (0x1u << 16) /**< \brief (XDMAC_GS) XDMAC Channel 16 Status Bit */ -#define XDMAC_GS_ST17 (0x1u << 17) /**< \brief (XDMAC_GS) XDMAC Channel 17 Status Bit */ -#define XDMAC_GS_ST18 (0x1u << 18) /**< \brief (XDMAC_GS) XDMAC Channel 18 Status Bit */ -#define XDMAC_GS_ST19 (0x1u << 19) /**< \brief (XDMAC_GS) XDMAC Channel 19 Status Bit */ -#define XDMAC_GS_ST20 (0x1u << 20) /**< \brief (XDMAC_GS) XDMAC Channel 20 Status Bit */ -#define XDMAC_GS_ST21 (0x1u << 21) /**< \brief (XDMAC_GS) XDMAC Channel 21 Status Bit */ -#define XDMAC_GS_ST22 (0x1u << 22) /**< \brief (XDMAC_GS) XDMAC Channel 22 Status Bit */ -#define XDMAC_GS_ST23 (0x1u << 23) /**< \brief (XDMAC_GS) XDMAC Channel 23 Status Bit */ -/* -------- XDMAC_GRS : (XDMAC Offset: 0x28) Global Channel Read Suspend Register -------- */ -#define XDMAC_GRS_RS0 (0x1u << 0) /**< \brief (XDMAC_GRS) XDMAC Channel 0 Read Suspend Bit */ -#define XDMAC_GRS_RS1 (0x1u << 1) /**< \brief (XDMAC_GRS) XDMAC Channel 1 Read Suspend Bit */ -#define XDMAC_GRS_RS2 (0x1u << 2) /**< \brief (XDMAC_GRS) XDMAC Channel 2 Read Suspend Bit */ -#define XDMAC_GRS_RS3 (0x1u << 3) /**< \brief (XDMAC_GRS) XDMAC Channel 3 Read Suspend Bit */ -#define XDMAC_GRS_RS4 (0x1u << 4) /**< \brief (XDMAC_GRS) XDMAC Channel 4 Read Suspend Bit */ -#define XDMAC_GRS_RS5 (0x1u << 5) /**< \brief (XDMAC_GRS) XDMAC Channel 5 Read Suspend Bit */ -#define XDMAC_GRS_RS6 (0x1u << 6) /**< \brief (XDMAC_GRS) XDMAC Channel 6 Read Suspend Bit */ -#define XDMAC_GRS_RS7 (0x1u << 7) /**< \brief (XDMAC_GRS) XDMAC Channel 7 Read Suspend Bit */ -#define XDMAC_GRS_RS8 (0x1u << 8) /**< \brief (XDMAC_GRS) XDMAC Channel 8 Read Suspend Bit */ -#define XDMAC_GRS_RS9 (0x1u << 9) /**< \brief (XDMAC_GRS) XDMAC Channel 9 Read Suspend Bit */ -#define XDMAC_GRS_RS10 (0x1u << 10) /**< \brief (XDMAC_GRS) XDMAC Channel 10 Read Suspend Bit */ -#define XDMAC_GRS_RS11 (0x1u << 11) /**< \brief (XDMAC_GRS) XDMAC Channel 11 Read Suspend Bit */ -#define XDMAC_GRS_RS12 (0x1u << 12) /**< \brief (XDMAC_GRS) XDMAC Channel 12 Read Suspend Bit */ -#define XDMAC_GRS_RS13 (0x1u << 13) /**< \brief (XDMAC_GRS) XDMAC Channel 13 Read Suspend Bit */ -#define XDMAC_GRS_RS14 (0x1u << 14) /**< \brief (XDMAC_GRS) XDMAC Channel 14 Read Suspend Bit */ -#define XDMAC_GRS_RS15 (0x1u << 15) /**< \brief (XDMAC_GRS) XDMAC Channel 15 Read Suspend Bit */ -#define XDMAC_GRS_RS16 (0x1u << 16) /**< \brief (XDMAC_GRS) XDMAC Channel 16 Read Suspend Bit */ -#define XDMAC_GRS_RS17 (0x1u << 17) /**< \brief (XDMAC_GRS) XDMAC Channel 17 Read Suspend Bit */ -#define XDMAC_GRS_RS18 (0x1u << 18) /**< \brief (XDMAC_GRS) XDMAC Channel 18 Read Suspend Bit */ -#define XDMAC_GRS_RS19 (0x1u << 19) /**< \brief (XDMAC_GRS) XDMAC Channel 19 Read Suspend Bit */ -#define XDMAC_GRS_RS20 (0x1u << 20) /**< \brief (XDMAC_GRS) XDMAC Channel 20 Read Suspend Bit */ -#define XDMAC_GRS_RS21 (0x1u << 21) /**< \brief (XDMAC_GRS) XDMAC Channel 21 Read Suspend Bit */ -#define XDMAC_GRS_RS22 (0x1u << 22) /**< \brief (XDMAC_GRS) XDMAC Channel 22 Read Suspend Bit */ -#define XDMAC_GRS_RS23 (0x1u << 23) /**< \brief (XDMAC_GRS) XDMAC Channel 23 Read Suspend Bit */ -/* -------- XDMAC_GWS : (XDMAC Offset: 0x2C) Global Channel Write Suspend Register -------- */ -#define XDMAC_GWS_WS0 (0x1u << 0) /**< \brief (XDMAC_GWS) XDMAC Channel 0 Write Suspend Bit */ -#define XDMAC_GWS_WS1 (0x1u << 1) /**< \brief (XDMAC_GWS) XDMAC Channel 1 Write Suspend Bit */ -#define XDMAC_GWS_WS2 (0x1u << 2) /**< \brief (XDMAC_GWS) XDMAC Channel 2 Write Suspend Bit */ -#define XDMAC_GWS_WS3 (0x1u << 3) /**< \brief (XDMAC_GWS) XDMAC Channel 3 Write Suspend Bit */ -#define XDMAC_GWS_WS4 (0x1u << 4) /**< \brief (XDMAC_GWS) XDMAC Channel 4 Write Suspend Bit */ -#define XDMAC_GWS_WS5 (0x1u << 5) /**< \brief (XDMAC_GWS) XDMAC Channel 5 Write Suspend Bit */ -#define XDMAC_GWS_WS6 (0x1u << 6) /**< \brief (XDMAC_GWS) XDMAC Channel 6 Write Suspend Bit */ -#define XDMAC_GWS_WS7 (0x1u << 7) /**< \brief (XDMAC_GWS) XDMAC Channel 7 Write Suspend Bit */ -#define XDMAC_GWS_WS8 (0x1u << 8) /**< \brief (XDMAC_GWS) XDMAC Channel 8 Write Suspend Bit */ -#define XDMAC_GWS_WS9 (0x1u << 9) /**< \brief (XDMAC_GWS) XDMAC Channel 9 Write Suspend Bit */ -#define XDMAC_GWS_WS10 (0x1u << 10) /**< \brief (XDMAC_GWS) XDMAC Channel 10 Write Suspend Bit */ -#define XDMAC_GWS_WS11 (0x1u << 11) /**< \brief (XDMAC_GWS) XDMAC Channel 11 Write Suspend Bit */ -#define XDMAC_GWS_WS12 (0x1u << 12) /**< \brief (XDMAC_GWS) XDMAC Channel 12 Write Suspend Bit */ -#define XDMAC_GWS_WS13 (0x1u << 13) /**< \brief (XDMAC_GWS) XDMAC Channel 13 Write Suspend Bit */ -#define XDMAC_GWS_WS14 (0x1u << 14) /**< \brief (XDMAC_GWS) XDMAC Channel 14 Write Suspend Bit */ -#define XDMAC_GWS_WS15 (0x1u << 15) /**< \brief (XDMAC_GWS) XDMAC Channel 15 Write Suspend Bit */ -#define XDMAC_GWS_WS16 (0x1u << 16) /**< \brief (XDMAC_GWS) XDMAC Channel 16 Write Suspend Bit */ -#define XDMAC_GWS_WS17 (0x1u << 17) /**< \brief (XDMAC_GWS) XDMAC Channel 17 Write Suspend Bit */ -#define XDMAC_GWS_WS18 (0x1u << 18) /**< \brief (XDMAC_GWS) XDMAC Channel 18 Write Suspend Bit */ -#define XDMAC_GWS_WS19 (0x1u << 19) /**< \brief (XDMAC_GWS) XDMAC Channel 19 Write Suspend Bit */ -#define XDMAC_GWS_WS20 (0x1u << 20) /**< \brief (XDMAC_GWS) XDMAC Channel 20 Write Suspend Bit */ -#define XDMAC_GWS_WS21 (0x1u << 21) /**< \brief (XDMAC_GWS) XDMAC Channel 21 Write Suspend Bit */ -#define XDMAC_GWS_WS22 (0x1u << 22) /**< \brief (XDMAC_GWS) XDMAC Channel 22 Write Suspend Bit */ -#define XDMAC_GWS_WS23 (0x1u << 23) /**< \brief (XDMAC_GWS) XDMAC Channel 23 Write Suspend Bit */ -/* -------- XDMAC_GRWS : (XDMAC Offset: 0x30) Global Channel Read Write Suspend Register -------- */ -#define XDMAC_GRWS_RWS0 (0x1u << 0) /**< \brief (XDMAC_GRWS) XDMAC Channel 0 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS1 (0x1u << 1) /**< \brief (XDMAC_GRWS) XDMAC Channel 1 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS2 (0x1u << 2) /**< \brief (XDMAC_GRWS) XDMAC Channel 2 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS3 (0x1u << 3) /**< \brief (XDMAC_GRWS) XDMAC Channel 3 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS4 (0x1u << 4) /**< \brief (XDMAC_GRWS) XDMAC Channel 4 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS5 (0x1u << 5) /**< \brief (XDMAC_GRWS) XDMAC Channel 5 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS6 (0x1u << 6) /**< \brief (XDMAC_GRWS) XDMAC Channel 6 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS7 (0x1u << 7) /**< \brief (XDMAC_GRWS) XDMAC Channel 7 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS8 (0x1u << 8) /**< \brief (XDMAC_GRWS) XDMAC Channel 8 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS9 (0x1u << 9) /**< \brief (XDMAC_GRWS) XDMAC Channel 9 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS10 (0x1u << 10) /**< \brief (XDMAC_GRWS) XDMAC Channel 10 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS11 (0x1u << 11) /**< \brief (XDMAC_GRWS) XDMAC Channel 11 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS12 (0x1u << 12) /**< \brief (XDMAC_GRWS) XDMAC Channel 12 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS13 (0x1u << 13) /**< \brief (XDMAC_GRWS) XDMAC Channel 13 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS14 (0x1u << 14) /**< \brief (XDMAC_GRWS) XDMAC Channel 14 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS15 (0x1u << 15) /**< \brief (XDMAC_GRWS) XDMAC Channel 15 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS16 (0x1u << 16) /**< \brief (XDMAC_GRWS) XDMAC Channel 16 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS17 (0x1u << 17) /**< \brief (XDMAC_GRWS) XDMAC Channel 17 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS18 (0x1u << 18) /**< \brief (XDMAC_GRWS) XDMAC Channel 18 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS19 (0x1u << 19) /**< \brief (XDMAC_GRWS) XDMAC Channel 19 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS20 (0x1u << 20) /**< \brief (XDMAC_GRWS) XDMAC Channel 20 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS21 (0x1u << 21) /**< \brief (XDMAC_GRWS) XDMAC Channel 21 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS22 (0x1u << 22) /**< \brief (XDMAC_GRWS) XDMAC Channel 22 Read Write Suspend Bit */ -#define XDMAC_GRWS_RWS23 (0x1u << 23) /**< \brief (XDMAC_GRWS) XDMAC Channel 23 Read Write Suspend Bit */ -/* -------- XDMAC_GRWR : (XDMAC Offset: 0x34) Global Channel Read Write Resume Register -------- */ -#define XDMAC_GRWR_RWR0 (0x1u << 0) /**< \brief (XDMAC_GRWR) XDMAC Channel 0 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR1 (0x1u << 1) /**< \brief (XDMAC_GRWR) XDMAC Channel 1 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR2 (0x1u << 2) /**< \brief (XDMAC_GRWR) XDMAC Channel 2 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR3 (0x1u << 3) /**< \brief (XDMAC_GRWR) XDMAC Channel 3 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR4 (0x1u << 4) /**< \brief (XDMAC_GRWR) XDMAC Channel 4 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR5 (0x1u << 5) /**< \brief (XDMAC_GRWR) XDMAC Channel 5 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR6 (0x1u << 6) /**< \brief (XDMAC_GRWR) XDMAC Channel 6 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR7 (0x1u << 7) /**< \brief (XDMAC_GRWR) XDMAC Channel 7 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR8 (0x1u << 8) /**< \brief (XDMAC_GRWR) XDMAC Channel 8 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR9 (0x1u << 9) /**< \brief (XDMAC_GRWR) XDMAC Channel 9 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR10 (0x1u << 10) /**< \brief (XDMAC_GRWR) XDMAC Channel 10 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR11 (0x1u << 11) /**< \brief (XDMAC_GRWR) XDMAC Channel 11 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR12 (0x1u << 12) /**< \brief (XDMAC_GRWR) XDMAC Channel 12 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR13 (0x1u << 13) /**< \brief (XDMAC_GRWR) XDMAC Channel 13 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR14 (0x1u << 14) /**< \brief (XDMAC_GRWR) XDMAC Channel 14 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR15 (0x1u << 15) /**< \brief (XDMAC_GRWR) XDMAC Channel 15 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR16 (0x1u << 16) /**< \brief (XDMAC_GRWR) XDMAC Channel 16 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR17 (0x1u << 17) /**< \brief (XDMAC_GRWR) XDMAC Channel 17 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR18 (0x1u << 18) /**< \brief (XDMAC_GRWR) XDMAC Channel 18 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR19 (0x1u << 19) /**< \brief (XDMAC_GRWR) XDMAC Channel 19 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR20 (0x1u << 20) /**< \brief (XDMAC_GRWR) XDMAC Channel 20 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR21 (0x1u << 21) /**< \brief (XDMAC_GRWR) XDMAC Channel 21 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR22 (0x1u << 22) /**< \brief (XDMAC_GRWR) XDMAC Channel 22 Read Write Resume Bit */ -#define XDMAC_GRWR_RWR23 (0x1u << 23) /**< \brief (XDMAC_GRWR) XDMAC Channel 23 Read Write Resume Bit */ -/* -------- XDMAC_GSWR : (XDMAC Offset: 0x38) Global Channel Software Request Register -------- */ -#define XDMAC_GSWR_SWREQ0 (0x1u << 0) /**< \brief (XDMAC_GSWR) XDMAC Channel 0 Software Request Bit */ -#define XDMAC_GSWR_SWREQ1 (0x1u << 1) /**< \brief (XDMAC_GSWR) XDMAC Channel 1 Software Request Bit */ -#define XDMAC_GSWR_SWREQ2 (0x1u << 2) /**< \brief (XDMAC_GSWR) XDMAC Channel 2 Software Request Bit */ -#define XDMAC_GSWR_SWREQ3 (0x1u << 3) /**< \brief (XDMAC_GSWR) XDMAC Channel 3 Software Request Bit */ -#define XDMAC_GSWR_SWREQ4 (0x1u << 4) /**< \brief (XDMAC_GSWR) XDMAC Channel 4 Software Request Bit */ -#define XDMAC_GSWR_SWREQ5 (0x1u << 5) /**< \brief (XDMAC_GSWR) XDMAC Channel 5 Software Request Bit */ -#define XDMAC_GSWR_SWREQ6 (0x1u << 6) /**< \brief (XDMAC_GSWR) XDMAC Channel 6 Software Request Bit */ -#define XDMAC_GSWR_SWREQ7 (0x1u << 7) /**< \brief (XDMAC_GSWR) XDMAC Channel 7 Software Request Bit */ -#define XDMAC_GSWR_SWREQ8 (0x1u << 8) /**< \brief (XDMAC_GSWR) XDMAC Channel 8 Software Request Bit */ -#define XDMAC_GSWR_SWREQ9 (0x1u << 9) /**< \brief (XDMAC_GSWR) XDMAC Channel 9 Software Request Bit */ -#define XDMAC_GSWR_SWREQ10 (0x1u << 10) /**< \brief (XDMAC_GSWR) XDMAC Channel 10 Software Request Bit */ -#define XDMAC_GSWR_SWREQ11 (0x1u << 11) /**< \brief (XDMAC_GSWR) XDMAC Channel 11 Software Request Bit */ -#define XDMAC_GSWR_SWREQ12 (0x1u << 12) /**< \brief (XDMAC_GSWR) XDMAC Channel 12 Software Request Bit */ -#define XDMAC_GSWR_SWREQ13 (0x1u << 13) /**< \brief (XDMAC_GSWR) XDMAC Channel 13 Software Request Bit */ -#define XDMAC_GSWR_SWREQ14 (0x1u << 14) /**< \brief (XDMAC_GSWR) XDMAC Channel 14 Software Request Bit */ -#define XDMAC_GSWR_SWREQ15 (0x1u << 15) /**< \brief (XDMAC_GSWR) XDMAC Channel 15 Software Request Bit */ -#define XDMAC_GSWR_SWREQ16 (0x1u << 16) /**< \brief (XDMAC_GSWR) XDMAC Channel 16 Software Request Bit */ -#define XDMAC_GSWR_SWREQ17 (0x1u << 17) /**< \brief (XDMAC_GSWR) XDMAC Channel 17 Software Request Bit */ -#define XDMAC_GSWR_SWREQ18 (0x1u << 18) /**< \brief (XDMAC_GSWR) XDMAC Channel 18 Software Request Bit */ -#define XDMAC_GSWR_SWREQ19 (0x1u << 19) /**< \brief (XDMAC_GSWR) XDMAC Channel 19 Software Request Bit */ -#define XDMAC_GSWR_SWREQ20 (0x1u << 20) /**< \brief (XDMAC_GSWR) XDMAC Channel 20 Software Request Bit */ -#define XDMAC_GSWR_SWREQ21 (0x1u << 21) /**< \brief (XDMAC_GSWR) XDMAC Channel 21 Software Request Bit */ -#define XDMAC_GSWR_SWREQ22 (0x1u << 22) /**< \brief (XDMAC_GSWR) XDMAC Channel 22 Software Request Bit */ -#define XDMAC_GSWR_SWREQ23 (0x1u << 23) /**< \brief (XDMAC_GSWR) XDMAC Channel 23 Software Request Bit */ -/* -------- XDMAC_GSWS : (XDMAC Offset: 0x3C) Global Channel Software Request Status Register -------- */ -#define XDMAC_GSWS_SWRS0 (0x1u << 0) /**< \brief (XDMAC_GSWS) XDMAC Channel 0 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS1 (0x1u << 1) /**< \brief (XDMAC_GSWS) XDMAC Channel 1 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS2 (0x1u << 2) /**< \brief (XDMAC_GSWS) XDMAC Channel 2 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS3 (0x1u << 3) /**< \brief (XDMAC_GSWS) XDMAC Channel 3 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS4 (0x1u << 4) /**< \brief (XDMAC_GSWS) XDMAC Channel 4 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS5 (0x1u << 5) /**< \brief (XDMAC_GSWS) XDMAC Channel 5 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS6 (0x1u << 6) /**< \brief (XDMAC_GSWS) XDMAC Channel 6 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS7 (0x1u << 7) /**< \brief (XDMAC_GSWS) XDMAC Channel 7 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS8 (0x1u << 8) /**< \brief (XDMAC_GSWS) XDMAC Channel 8 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS9 (0x1u << 9) /**< \brief (XDMAC_GSWS) XDMAC Channel 9 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS10 (0x1u << 10) /**< \brief (XDMAC_GSWS) XDMAC Channel 10 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS11 (0x1u << 11) /**< \brief (XDMAC_GSWS) XDMAC Channel 11 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS12 (0x1u << 12) /**< \brief (XDMAC_GSWS) XDMAC Channel 12 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS13 (0x1u << 13) /**< \brief (XDMAC_GSWS) XDMAC Channel 13 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS14 (0x1u << 14) /**< \brief (XDMAC_GSWS) XDMAC Channel 14 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS15 (0x1u << 15) /**< \brief (XDMAC_GSWS) XDMAC Channel 15 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS16 (0x1u << 16) /**< \brief (XDMAC_GSWS) XDMAC Channel 16 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS17 (0x1u << 17) /**< \brief (XDMAC_GSWS) XDMAC Channel 17 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS18 (0x1u << 18) /**< \brief (XDMAC_GSWS) XDMAC Channel 18 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS19 (0x1u << 19) /**< \brief (XDMAC_GSWS) XDMAC Channel 19 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS20 (0x1u << 20) /**< \brief (XDMAC_GSWS) XDMAC Channel 20 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS21 (0x1u << 21) /**< \brief (XDMAC_GSWS) XDMAC Channel 21 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS22 (0x1u << 22) /**< \brief (XDMAC_GSWS) XDMAC Channel 22 Software Request Status Bit */ -#define XDMAC_GSWS_SWRS23 (0x1u << 23) /**< \brief (XDMAC_GSWS) XDMAC Channel 23 Software Request Status Bit */ -/* -------- XDMAC_GSWF : (XDMAC Offset: 0x40) Global Channel Software Flush Request Register -------- */ -#define XDMAC_GSWF_SWF0 (0x1u << 0) /**< \brief (XDMAC_GSWF) XDMAC Channel 0 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF1 (0x1u << 1) /**< \brief (XDMAC_GSWF) XDMAC Channel 1 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF2 (0x1u << 2) /**< \brief (XDMAC_GSWF) XDMAC Channel 2 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF3 (0x1u << 3) /**< \brief (XDMAC_GSWF) XDMAC Channel 3 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF4 (0x1u << 4) /**< \brief (XDMAC_GSWF) XDMAC Channel 4 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF5 (0x1u << 5) /**< \brief (XDMAC_GSWF) XDMAC Channel 5 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF6 (0x1u << 6) /**< \brief (XDMAC_GSWF) XDMAC Channel 6 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF7 (0x1u << 7) /**< \brief (XDMAC_GSWF) XDMAC Channel 7 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF8 (0x1u << 8) /**< \brief (XDMAC_GSWF) XDMAC Channel 8 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF9 (0x1u << 9) /**< \brief (XDMAC_GSWF) XDMAC Channel 9 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF10 (0x1u << 10) /**< \brief (XDMAC_GSWF) XDMAC Channel 10 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF11 (0x1u << 11) /**< \brief (XDMAC_GSWF) XDMAC Channel 11 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF12 (0x1u << 12) /**< \brief (XDMAC_GSWF) XDMAC Channel 12 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF13 (0x1u << 13) /**< \brief (XDMAC_GSWF) XDMAC Channel 13 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF14 (0x1u << 14) /**< \brief (XDMAC_GSWF) XDMAC Channel 14 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF15 (0x1u << 15) /**< \brief (XDMAC_GSWF) XDMAC Channel 15 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF16 (0x1u << 16) /**< \brief (XDMAC_GSWF) XDMAC Channel 16 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF17 (0x1u << 17) /**< \brief (XDMAC_GSWF) XDMAC Channel 17 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF18 (0x1u << 18) /**< \brief (XDMAC_GSWF) XDMAC Channel 18 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF19 (0x1u << 19) /**< \brief (XDMAC_GSWF) XDMAC Channel 19 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF20 (0x1u << 20) /**< \brief (XDMAC_GSWF) XDMAC Channel 20 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF21 (0x1u << 21) /**< \brief (XDMAC_GSWF) XDMAC Channel 21 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF22 (0x1u << 22) /**< \brief (XDMAC_GSWF) XDMAC Channel 22 Software Flush Request Bit */ -#define XDMAC_GSWF_SWF23 (0x1u << 23) /**< \brief (XDMAC_GSWF) XDMAC Channel 23 Software Flush Request Bit */ -/* -------- XDMAC_CIE : (XDMAC Offset: N/A) Channel Interrupt Enable Register -------- */ -#define XDMAC_CIE_BIE (0x1u << 0) /**< \brief (XDMAC_CIE) End of Block Interrupt Enable Bit */ -#define XDMAC_CIE_LIE (0x1u << 1) /**< \brief (XDMAC_CIE) End of Linked List Interrupt Enable Bit */ -#define XDMAC_CIE_DIE (0x1u << 2) /**< \brief (XDMAC_CIE) End of Disable Interrupt Enable Bit */ -#define XDMAC_CIE_FIE (0x1u << 3) /**< \brief (XDMAC_CIE) End of Flush Interrupt Enable Bit */ -#define XDMAC_CIE_RBIE (0x1u << 4) /**< \brief (XDMAC_CIE) Read Bus Error Interrupt Enable Bit */ -#define XDMAC_CIE_WBIE (0x1u << 5) /**< \brief (XDMAC_CIE) Write Bus Error Interrupt Enable Bit */ -#define XDMAC_CIE_ROIE (0x1u << 6) /**< \brief (XDMAC_CIE) Request Overflow Error Interrupt Enable Bit */ -/* -------- XDMAC_CID : (XDMAC Offset: N/A) Channel Interrupt Disable Register -------- */ -#define XDMAC_CID_BID (0x1u << 0) /**< \brief (XDMAC_CID) End of Block Interrupt Disable Bit */ -#define XDMAC_CID_LID (0x1u << 1) /**< \brief (XDMAC_CID) End of Linked List Interrupt Disable Bit */ -#define XDMAC_CID_DID (0x1u << 2) /**< \brief (XDMAC_CID) End of Disable Interrupt Disable Bit */ -#define XDMAC_CID_FID (0x1u << 3) /**< \brief (XDMAC_CID) End of Flush Interrupt Disable Bit */ -#define XDMAC_CID_RBEID (0x1u << 4) /**< \brief (XDMAC_CID) Read Bus Error Interrupt Disable Bit */ -#define XDMAC_CID_WBEID (0x1u << 5) /**< \brief (XDMAC_CID) Write Bus Error Interrupt Disable Bit */ -#define XDMAC_CID_ROID (0x1u << 6) /**< \brief (XDMAC_CID) Request Overflow Error Interrupt Disable Bit */ -/* -------- XDMAC_CIM : (XDMAC Offset: N/A) Channel Interrupt Mask Register -------- */ -#define XDMAC_CIM_BIM (0x1u << 0) /**< \brief (XDMAC_CIM) End of Block Interrupt Mask Bit */ -#define XDMAC_CIM_LIM (0x1u << 1) /**< \brief (XDMAC_CIM) End of Linked List Interrupt Mask Bit */ -#define XDMAC_CIM_DIM (0x1u << 2) /**< \brief (XDMAC_CIM) End of Disable Interrupt Mask Bit */ -#define XDMAC_CIM_FIM (0x1u << 3) /**< \brief (XDMAC_CIM) End of Flush Interrupt Mask Bit */ -#define XDMAC_CIM_RBEIM (0x1u << 4) /**< \brief (XDMAC_CIM) Read Bus Error Interrupt Mask Bit */ -#define XDMAC_CIM_WBEIM (0x1u << 5) /**< \brief (XDMAC_CIM) Write Bus Error Interrupt Mask Bit */ -#define XDMAC_CIM_ROIM (0x1u << 6) /**< \brief (XDMAC_CIM) Request Overflow Error Interrupt Mask Bit */ -/* -------- XDMAC_CIS : (XDMAC Offset: N/A) Channel Interrupt Status Register -------- */ -#define XDMAC_CIS_BIS (0x1u << 0) /**< \brief (XDMAC_CIS) End of Block Interrupt Status Bit */ -#define XDMAC_CIS_LIS (0x1u << 1) /**< \brief (XDMAC_CIS) End of Linked List Interrupt Status Bit */ -#define XDMAC_CIS_DIS (0x1u << 2) /**< \brief (XDMAC_CIS) End of Disable Interrupt Status Bit */ -#define XDMAC_CIS_FIS (0x1u << 3) /**< \brief (XDMAC_CIS) End of Flush Interrupt Status Bit */ -#define XDMAC_CIS_RBEIS (0x1u << 4) /**< \brief (XDMAC_CIS) Read Bus Error Interrupt Status Bit */ -#define XDMAC_CIS_WBEIS (0x1u << 5) /**< \brief (XDMAC_CIS) Write Bus Error Interrupt Status Bit */ -#define XDMAC_CIS_ROIS (0x1u << 6) /**< \brief (XDMAC_CIS) Request Overflow Error Interrupt Status Bit */ -/* -------- XDMAC_CSA : (XDMAC Offset: N/A) Channel Source Address Register -------- */ -#define XDMAC_CSA_SA_Pos 0 -#define XDMAC_CSA_SA_Msk (0xffffffffu << XDMAC_CSA_SA_Pos) /**< \brief (XDMAC_CSA) Channel x Source Address */ -#define XDMAC_CSA_SA(value) ((XDMAC_CSA_SA_Msk & ((value) << XDMAC_CSA_SA_Pos))) -/* -------- XDMAC_CDA : (XDMAC Offset: N/A) Channel Destination Address Register -------- */ -#define XDMAC_CDA_DA_Pos 0 -#define XDMAC_CDA_DA_Msk (0xffffffffu << XDMAC_CDA_DA_Pos) /**< \brief (XDMAC_CDA) Channel x Destination Address */ -#define XDMAC_CDA_DA(value) ((XDMAC_CDA_DA_Msk & ((value) << XDMAC_CDA_DA_Pos))) -/* -------- XDMAC_CNDA : (XDMAC Offset: N/A) Channel Next Descriptor Address Register -------- */ -#define XDMAC_CNDA_NDAIF (0x1u << 0) /**< \brief (XDMAC_CNDA) Channel x Next Descriptor Interface */ -#define XDMAC_CNDA_NDA_Pos 2 -#define XDMAC_CNDA_NDA_Msk (0x3fffffffu << XDMAC_CNDA_NDA_Pos) /**< \brief (XDMAC_CNDA) Channel x Next Descriptor Address */ -#define XDMAC_CNDA_NDA(value) ((XDMAC_CNDA_NDA_Msk & ((value) << XDMAC_CNDA_NDA_Pos))) -/* -------- XDMAC_CNDC : (XDMAC Offset: N/A) Channel Next Descriptor Control Register -------- */ -#define XDMAC_CNDC_NDE (0x1u << 0) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor Enable */ -#define XDMAC_CNDC_NDE_DSCR_FETCH_DIS (0x0u << 0) /**< \brief (XDMAC_CNDC) Descriptor fetch is disabled */ -#define XDMAC_CNDC_NDE_DSCR_FETCH_EN (0x1u << 0) /**< \brief (XDMAC_CNDC) Descriptor fetch is enabled */ -#define XDMAC_CNDC_NDSUP (0x1u << 1) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor Source Update */ -#define XDMAC_CNDC_NDSUP_SRC_PARAMS_UNCHANGED (0x0u << 1) /**< \brief (XDMAC_CNDC) Source parameters remain unchanged. */ -#define XDMAC_CNDC_NDSUP_SRC_PARAMS_UPDATED (0x1u << 1) /**< \brief (XDMAC_CNDC) Source parameters are updated when the descriptor is retrieved. */ -#define XDMAC_CNDC_NDDUP (0x1u << 2) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor Destination Update */ -#define XDMAC_CNDC_NDDUP_DST_PARAMS_UNCHANGED (0x0u << 2) /**< \brief (XDMAC_CNDC) Destination parameters remain unchanged. */ -#define XDMAC_CNDC_NDDUP_DST_PARAMS_UPDATED (0x1u << 2) /**< \brief (XDMAC_CNDC) Destination parameters are updated when the descriptor is retrieved. */ -#define XDMAC_CNDC_NDVIEW_Pos 3 -#define XDMAC_CNDC_NDVIEW_Msk (0x3u << XDMAC_CNDC_NDVIEW_Pos) /**< \brief (XDMAC_CNDC) Channel x Next Descriptor View */ -#define XDMAC_CNDC_NDVIEW(value) ((XDMAC_CNDC_NDVIEW_Msk & ((value) << XDMAC_CNDC_NDVIEW_Pos))) -#define XDMAC_CNDC_NDVIEW_NDV0 (0x0u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 0 */ -#define XDMAC_CNDC_NDVIEW_NDV1 (0x1u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 1 */ -#define XDMAC_CNDC_NDVIEW_NDV2 (0x2u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 2 */ -#define XDMAC_CNDC_NDVIEW_NDV3 (0x3u << 3) /**< \brief (XDMAC_CNDC) Next Descriptor View 3 */ -/* -------- XDMAC_CUBC : (XDMAC Offset: N/A) Channel Microblock Control Register -------- */ -#define XDMAC_CUBC_UBLEN_Pos 0 -#define XDMAC_CUBC_UBLEN_Msk (0xffffffu << XDMAC_CUBC_UBLEN_Pos) /**< \brief (XDMAC_CUBC) Channel x Microblock Length */ -#define XDMAC_CUBC_UBLEN(value) ((XDMAC_CUBC_UBLEN_Msk & ((value) << XDMAC_CUBC_UBLEN_Pos))) -/* -------- XDMAC_CBC : (XDMAC Offset: N/A) Channel Block Control Register -------- */ -#define XDMAC_CBC_BLEN_Pos 0 -#define XDMAC_CBC_BLEN_Msk (0xfffu << XDMAC_CBC_BLEN_Pos) /**< \brief (XDMAC_CBC) Channel x Block Length */ -#define XDMAC_CBC_BLEN(value) ((XDMAC_CBC_BLEN_Msk & ((value) << XDMAC_CBC_BLEN_Pos))) -/* -------- XDMAC_CC : (XDMAC Offset: N/A) Channel Configuration Register -------- */ -#define XDMAC_CC_TYPE (0x1u << 0) /**< \brief (XDMAC_CC) Channel x Transfer Type */ -#define XDMAC_CC_TYPE_MEM_TRAN (0x0u << 0) /**< \brief (XDMAC_CC) Self triggered mode (Memory to Memory Transfer). */ -#define XDMAC_CC_TYPE_PER_TRAN (0x1u << 0) /**< \brief (XDMAC_CC) Synchronized mode (Peripheral to Memory or Memory to Peripheral Transfer). */ -#define XDMAC_CC_MBSIZE_Pos 1 -#define XDMAC_CC_MBSIZE_Msk (0x3u << XDMAC_CC_MBSIZE_Pos) /**< \brief (XDMAC_CC) Channel x Memory Burst Size */ -#define XDMAC_CC_MBSIZE(value) ((XDMAC_CC_MBSIZE_Msk & ((value) << XDMAC_CC_MBSIZE_Pos))) -#define XDMAC_CC_MBSIZE_SINGLE (0x0u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to one. */ -#define XDMAC_CC_MBSIZE_FOUR (0x1u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to four. */ -#define XDMAC_CC_MBSIZE_EIGHT (0x2u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to eight. */ -#define XDMAC_CC_MBSIZE_SIXTEEN (0x3u << 1) /**< \brief (XDMAC_CC) The memory burst size is set to sixteen. */ -#define XDMAC_CC_DSYNC (0x1u << 4) /**< \brief (XDMAC_CC) Channel x Synchronization */ -#define XDMAC_CC_DSYNC_PER2MEM (0x0u << 4) /**< \brief (XDMAC_CC) Peripheral to Memory transfer */ -#define XDMAC_CC_DSYNC_MEM2PER (0x1u << 4) /**< \brief (XDMAC_CC) Memory to Peripheral transfer */ -#define XDMAC_CC_PROT (0x1u << 5) /**< \brief (XDMAC_CC) Channel x Protection */ -#define XDMAC_CC_PROT_SEC (0x0u << 5) /**< \brief (XDMAC_CC) Channel is secured */ -#define XDMAC_CC_PROT_UNSEC (0x1u << 5) /**< \brief (XDMAC_CC) Channel is unsecured */ -#define XDMAC_CC_SWREQ (0x1u << 6) /**< \brief (XDMAC_CC) Channel x Software Request Trigger */ -#define XDMAC_CC_SWREQ_HWR_CONNECTED (0x0u << 6) /**< \brief (XDMAC_CC) Hardware request line is connected to the peripheral request line. */ -#define XDMAC_CC_SWREQ_SWR_CONNECTED (0x1u << 6) /**< \brief (XDMAC_CC) Software request is connected to the peripheral request line. */ -#define XDMAC_CC_MEMSET (0x1u << 7) /**< \brief (XDMAC_CC) Channel x Fill Block of memory */ -#define XDMAC_CC_MEMSET_NORMAL_MODE (0x0u << 7) /**< \brief (XDMAC_CC) Memset is not activated */ -#define XDMAC_CC_MEMSET_HW_MODE (0x1u << 7) /**< \brief (XDMAC_CC) Sets the block of memory pointed by DA field to the specified value. This operation is performed on 8, 16 or 32 bits basis. */ -#define XDMAC_CC_CSIZE_Pos 8 -#define XDMAC_CC_CSIZE_Msk (0x7u << XDMAC_CC_CSIZE_Pos) /**< \brief (XDMAC_CC) Channel x Chunk Size */ -#define XDMAC_CC_CSIZE(value) ((XDMAC_CC_CSIZE_Msk & ((value) << XDMAC_CC_CSIZE_Pos))) -#define XDMAC_CC_CSIZE_CHK_1 (0x0u << 8) /**< \brief (XDMAC_CC) 1 data transferred */ -#define XDMAC_CC_CSIZE_CHK_2 (0x1u << 8) /**< \brief (XDMAC_CC) 2 data transferred */ -#define XDMAC_CC_CSIZE_CHK_4 (0x2u << 8) /**< \brief (XDMAC_CC) 4 data transferred */ -#define XDMAC_CC_CSIZE_CHK_8 (0x3u << 8) /**< \brief (XDMAC_CC) 8 data transferred */ -#define XDMAC_CC_CSIZE_CHK_16 (0x4u << 8) /**< \brief (XDMAC_CC) 16 data transferred */ -#define XDMAC_CC_DWIDTH_Pos 11 -#define XDMAC_CC_DWIDTH_Msk (0x3u << XDMAC_CC_DWIDTH_Pos) /**< \brief (XDMAC_CC) Channel x Data Width */ -#define XDMAC_CC_DWIDTH(value) ((XDMAC_CC_DWIDTH_Msk & ((value) << XDMAC_CC_DWIDTH_Pos))) -#define XDMAC_CC_DWIDTH_BYTE (0x0u << 11) /**< \brief (XDMAC_CC) The data size is set to 8 bits */ -#define XDMAC_CC_DWIDTH_HALFWORD (0x1u << 11) /**< \brief (XDMAC_CC) The data size is set to 16 bits */ -#define XDMAC_CC_DWIDTH_WORD (0x2u << 11) /**< \brief (XDMAC_CC) The data size is set to 32 bits */ -#define XDMAC_CC_SIF (0x1u << 13) /**< \brief (XDMAC_CC) Channel x Source Interface Identifier */ -#define XDMAC_CC_SIF_AHB_IF0 (0x0u << 13) /**< \brief (XDMAC_CC) The data is read through the system bus interface 0 */ -#define XDMAC_CC_SIF_AHB_IF1 (0x1u << 13) /**< \brief (XDMAC_CC) The data is read through the system bus interface 1 */ -#define XDMAC_CC_DIF (0x1u << 14) /**< \brief (XDMAC_CC) Channel x Destination Interface Identifier */ -#define XDMAC_CC_DIF_AHB_IF0 (0x0u << 14) /**< \brief (XDMAC_CC) The data is written through the system bus interface 0 */ -#define XDMAC_CC_DIF_AHB_IF1 (0x1u << 14) /**< \brief (XDMAC_CC) The data is written though the system bus interface 1 */ -#define XDMAC_CC_SAM_Pos 16 -#define XDMAC_CC_SAM_Msk (0x3u << XDMAC_CC_SAM_Pos) /**< \brief (XDMAC_CC) Channel x Source Addressing Mode */ -#define XDMAC_CC_SAM(value) ((XDMAC_CC_SAM_Msk & ((value) << XDMAC_CC_SAM_Pos))) -#define XDMAC_CC_SAM_FIXED_AM (0x0u << 16) /**< \brief (XDMAC_CC) The address remains unchanged. */ -#define XDMAC_CC_SAM_INCREMENTED_AM (0x1u << 16) /**< \brief (XDMAC_CC) The addressing mode is incremented (the increment size is set to the data size). */ -#define XDMAC_CC_SAM_UBS_AM (0x2u << 16) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary. */ -#define XDMAC_CC_SAM_UBS_DS_AM (0x3u << 16) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary, the data stride is added at the data boundary. */ -#define XDMAC_CC_DAM_Pos 18 -#define XDMAC_CC_DAM_Msk (0x3u << XDMAC_CC_DAM_Pos) /**< \brief (XDMAC_CC) Channel x Destination Addressing Mode */ -#define XDMAC_CC_DAM(value) ((XDMAC_CC_DAM_Msk & ((value) << XDMAC_CC_DAM_Pos))) -#define XDMAC_CC_DAM_FIXED_AM (0x0u << 18) /**< \brief (XDMAC_CC) The address remains unchanged. */ -#define XDMAC_CC_DAM_INCREMENTED_AM (0x1u << 18) /**< \brief (XDMAC_CC) The addressing mode is incremented (the increment size is set to the data size). */ -#define XDMAC_CC_DAM_UBS_AM (0x2u << 18) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary. */ -#define XDMAC_CC_DAM_UBS_DS_AM (0x3u << 18) /**< \brief (XDMAC_CC) The microblock stride is added at the microblock boundary, the data stride is added at the data boundary. */ -#define XDMAC_CC_INITD (0x1u << 21) /**< \brief (XDMAC_CC) Channel Initialization Terminated (this bit is read-only) */ -#define XDMAC_CC_INITD_TERMINATED (0x0u << 21) /**< \brief (XDMAC_CC) Channel initialization is in progress. */ -#define XDMAC_CC_INITD_IN_PROGRESS (0x1u << 21) /**< \brief (XDMAC_CC) Channel initialization is completed. */ -#define XDMAC_CC_RDIP (0x1u << 22) /**< \brief (XDMAC_CC) Read in Progress (this bit is read-only) */ -#define XDMAC_CC_RDIP_DONE (0x0u << 22) /**< \brief (XDMAC_CC) No Active read transaction on the bus. */ -#define XDMAC_CC_RDIP_IN_PROGRESS (0x1u << 22) /**< \brief (XDMAC_CC) A read transaction is in progress. */ -#define XDMAC_CC_WRIP (0x1u << 23) /**< \brief (XDMAC_CC) Write in Progress (this bit is read-only) */ -#define XDMAC_CC_WRIP_DONE (0x0u << 23) /**< \brief (XDMAC_CC) No Active write transaction on the bus. */ -#define XDMAC_CC_WRIP_IN_PROGRESS (0x1u << 23) /**< \brief (XDMAC_CC) A Write transaction is in progress. */ -#define XDMAC_CC_PERID_Pos 24 -#define XDMAC_CC_PERID_Msk (0x7fu << XDMAC_CC_PERID_Pos) /**< \brief (XDMAC_CC) Channel x Peripheral Identifier */ -#define XDMAC_CC_PERID(value) ((XDMAC_CC_PERID_Msk & ((value) << XDMAC_CC_PERID_Pos))) -/* -------- XDMAC_CDS_MSP : (XDMAC Offset: N/A) Channel Data Stride Memory Set Pattern -------- */ -#define XDMAC_CDS_MSP_SDS_MSP_Pos 0 -#define XDMAC_CDS_MSP_SDS_MSP_Msk (0xffffu << XDMAC_CDS_MSP_SDS_MSP_Pos) /**< \brief (XDMAC_CDS_MSP) Channel x Source Data stride or Memory Set Pattern */ -#define XDMAC_CDS_MSP_SDS_MSP(value) ((XDMAC_CDS_MSP_SDS_MSP_Msk & ((value) << XDMAC_CDS_MSP_SDS_MSP_Pos))) -#define XDMAC_CDS_MSP_DDS_MSP_Pos 16 -#define XDMAC_CDS_MSP_DDS_MSP_Msk (0xffffu << XDMAC_CDS_MSP_DDS_MSP_Pos) /**< \brief (XDMAC_CDS_MSP) Channel x Destination Data Stride or Memory Set Pattern */ -#define XDMAC_CDS_MSP_DDS_MSP(value) ((XDMAC_CDS_MSP_DDS_MSP_Msk & ((value) << XDMAC_CDS_MSP_DDS_MSP_Pos))) -/* -------- XDMAC_CSUS : (XDMAC Offset: N/A) Channel Source Microblock Stride -------- */ -#define XDMAC_CSUS_SUBS_Pos 0 -#define XDMAC_CSUS_SUBS_Msk (0xffffffu << XDMAC_CSUS_SUBS_Pos) /**< \brief (XDMAC_CSUS) Channel x Source Microblock Stride */ -#define XDMAC_CSUS_SUBS(value) ((XDMAC_CSUS_SUBS_Msk & ((value) << XDMAC_CSUS_SUBS_Pos))) -/* -------- XDMAC_CDUS : (XDMAC Offset: N/A) Channel Destination Microblock Stride -------- */ -#define XDMAC_CDUS_DUBS_Pos 0 -#define XDMAC_CDUS_DUBS_Msk (0xffffffu << XDMAC_CDUS_DUBS_Pos) /**< \brief (XDMAC_CDUS) Channel x Destination Microblock Stride */ -#define XDMAC_CDUS_DUBS(value) ((XDMAC_CDUS_DUBS_Msk & ((value) << XDMAC_CDUS_DUBS_Pos))) - -/*@}*/ - - -#endif /* _SAMS70_XDMAC_COMPONENT_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h deleted file mode 100644 index 5fab150..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/acc.h +++ /dev/null @@ -1,71 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ACC_INSTANCE_ -#define _SAMS70_ACC_INSTANCE_ - -/* ========== Register definition for ACC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_ACC_CR (0x40044000U) /**< \brief (ACC) Control Register */ - #define REG_ACC_MR (0x40044004U) /**< \brief (ACC) Mode Register */ - #define REG_ACC_IER (0x40044024U) /**< \brief (ACC) Interrupt Enable Register */ - #define REG_ACC_IDR (0x40044028U) /**< \brief (ACC) Interrupt Disable Register */ - #define REG_ACC_IMR (0x4004402CU) /**< \brief (ACC) Interrupt Mask Register */ - #define REG_ACC_ISR (0x40044030U) /**< \brief (ACC) Interrupt Status Register */ - #define REG_ACC_ACR (0x40044094U) /**< \brief (ACC) Analog Control Register */ - #define REG_ACC_WPMR (0x400440E4U) /**< \brief (ACC) Write Protection Mode Register */ - #define REG_ACC_WPSR (0x400440E8U) /**< \brief (ACC) Write Protection Status Register */ -#else - #define REG_ACC_CR (*(__O uint32_t*)0x40044000U) /**< \brief (ACC) Control Register */ - #define REG_ACC_MR (*(__IO uint32_t*)0x40044004U) /**< \brief (ACC) Mode Register */ - #define REG_ACC_IER (*(__O uint32_t*)0x40044024U) /**< \brief (ACC) Interrupt Enable Register */ - #define REG_ACC_IDR (*(__O uint32_t*)0x40044028U) /**< \brief (ACC) Interrupt Disable Register */ - #define REG_ACC_IMR (*(__I uint32_t*)0x4004402CU) /**< \brief (ACC) Interrupt Mask Register */ - #define REG_ACC_ISR (*(__I uint32_t*)0x40044030U) /**< \brief (ACC) Interrupt Status Register */ - #define REG_ACC_ACR (*(__IO uint32_t*)0x40044094U) /**< \brief (ACC) Analog Control Register */ - #define REG_ACC_WPMR (*(__IO uint32_t*)0x400440E4U) /**< \brief (ACC) Write Protection Mode Register */ - #define REG_ACC_WPSR (*(__I uint32_t*)0x400440E8U) /**< \brief (ACC) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_ACC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h deleted file mode 100644 index 5a9a067..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/aes.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AES_INSTANCE_ -#define _SAMS70_AES_INSTANCE_ - -/* ========== Register definition for AES peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_AES_CR (0x4006C000U) /**< \brief (AES) Control Register */ - #define REG_AES_MR (0x4006C004U) /**< \brief (AES) Mode Register */ - #define REG_AES_IER (0x4006C010U) /**< \brief (AES) Interrupt Enable Register */ - #define REG_AES_IDR (0x4006C014U) /**< \brief (AES) Interrupt Disable Register */ - #define REG_AES_IMR (0x4006C018U) /**< \brief (AES) Interrupt Mask Register */ - #define REG_AES_ISR (0x4006C01CU) /**< \brief (AES) Interrupt Status Register */ - #define REG_AES_KEYWR (0x4006C020U) /**< \brief (AES) Key Word Register */ - #define REG_AES_IDATAR (0x4006C040U) /**< \brief (AES) Input Data Register */ - #define REG_AES_ODATAR (0x4006C050U) /**< \brief (AES) Output Data Register */ - #define REG_AES_IVR (0x4006C060U) /**< \brief (AES) Initialization Vector Register */ - #define REG_AES_AADLENR (0x4006C070U) /**< \brief (AES) Additional Authenticated Data Length Register */ - #define REG_AES_CLENR (0x4006C074U) /**< \brief (AES) Plaintext/Ciphertext Length Register */ - #define REG_AES_GHASHR (0x4006C078U) /**< \brief (AES) GCM Intermediate Hash Word Register */ - #define REG_AES_TAGR (0x4006C088U) /**< \brief (AES) GCM Authentication Tag Word Register */ - #define REG_AES_CTRR (0x4006C098U) /**< \brief (AES) GCM Encryption Counter Value Register */ - #define REG_AES_GCMHR (0x4006C09CU) /**< \brief (AES) GCM H Word Register */ -#else - #define REG_AES_CR (*(__O uint32_t*)0x4006C000U) /**< \brief (AES) Control Register */ - #define REG_AES_MR (*(__IO uint32_t*)0x4006C004U) /**< \brief (AES) Mode Register */ - #define REG_AES_IER (*(__O uint32_t*)0x4006C010U) /**< \brief (AES) Interrupt Enable Register */ - #define REG_AES_IDR (*(__O uint32_t*)0x4006C014U) /**< \brief (AES) Interrupt Disable Register */ - #define REG_AES_IMR (*(__I uint32_t*)0x4006C018U) /**< \brief (AES) Interrupt Mask Register */ - #define REG_AES_ISR (*(__I uint32_t*)0x4006C01CU) /**< \brief (AES) Interrupt Status Register */ - #define REG_AES_KEYWR (*(__O uint32_t*)0x4006C020U) /**< \brief (AES) Key Word Register */ - #define REG_AES_IDATAR (*(__O uint32_t*)0x4006C040U) /**< \brief (AES) Input Data Register */ - #define REG_AES_ODATAR (*(__I uint32_t*)0x4006C050U) /**< \brief (AES) Output Data Register */ - #define REG_AES_IVR (*(__O uint32_t*)0x4006C060U) /**< \brief (AES) Initialization Vector Register */ - #define REG_AES_AADLENR (*(__IO uint32_t*)0x4006C070U) /**< \brief (AES) Additional Authenticated Data Length Register */ - #define REG_AES_CLENR (*(__IO uint32_t*)0x4006C074U) /**< \brief (AES) Plaintext/Ciphertext Length Register */ - #define REG_AES_GHASHR (*(__IO uint32_t*)0x4006C078U) /**< \brief (AES) GCM Intermediate Hash Word Register */ - #define REG_AES_TAGR (*(__I uint32_t*)0x4006C088U) /**< \brief (AES) GCM Authentication Tag Word Register */ - #define REG_AES_CTRR (*(__I uint32_t*)0x4006C098U) /**< \brief (AES) GCM Encryption Counter Value Register */ - #define REG_AES_GCMHR (*(__IO uint32_t*)0x4006C09CU) /**< \brief (AES) GCM H Word Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_AES_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h deleted file mode 100644 index ac8498a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec0.h +++ /dev/null @@ -1,111 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AFEC0_INSTANCE_ -#define _SAMS70_AFEC0_INSTANCE_ - -/* ========== Register definition for AFEC0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_AFEC0_CR (0x4003C000U) /**< \brief (AFEC0) AFEC Control Register */ - #define REG_AFEC0_MR (0x4003C004U) /**< \brief (AFEC0) AFEC Mode Register */ - #define REG_AFEC0_EMR (0x4003C008U) /**< \brief (AFEC0) AFEC Extended Mode Register */ - #define REG_AFEC0_SEQ1R (0x4003C00CU) /**< \brief (AFEC0) AFEC Channel Sequence 1 Register */ - #define REG_AFEC0_SEQ2R (0x4003C010U) /**< \brief (AFEC0) AFEC Channel Sequence 2 Register */ - #define REG_AFEC0_CHER (0x4003C014U) /**< \brief (AFEC0) AFEC Channel Enable Register */ - #define REG_AFEC0_CHDR (0x4003C018U) /**< \brief (AFEC0) AFEC Channel Disable Register */ - #define REG_AFEC0_CHSR (0x4003C01CU) /**< \brief (AFEC0) AFEC Channel Status Register */ - #define REG_AFEC0_LCDR (0x4003C020U) /**< \brief (AFEC0) AFEC Last Converted Data Register */ - #define REG_AFEC0_IER (0x4003C024U) /**< \brief (AFEC0) AFEC Interrupt Enable Register */ - #define REG_AFEC0_IDR (0x4003C028U) /**< \brief (AFEC0) AFEC Interrupt Disable Register */ - #define REG_AFEC0_IMR (0x4003C02CU) /**< \brief (AFEC0) AFEC Interrupt Mask Register */ - #define REG_AFEC0_ISR (0x4003C030U) /**< \brief (AFEC0) AFEC Interrupt Status Register */ - #define REG_AFEC0_OVER (0x4003C04CU) /**< \brief (AFEC0) AFEC Overrun Status Register */ - #define REG_AFEC0_CWR (0x4003C050U) /**< \brief (AFEC0) AFEC Compare Window Register */ - #define REG_AFEC0_CGR (0x4003C054U) /**< \brief (AFEC0) AFEC Channel Gain Register */ - #define REG_AFEC0_DIFFR (0x4003C060U) /**< \brief (AFEC0) AFEC Channel Differential Register */ - #define REG_AFEC0_CSELR (0x4003C064U) /**< \brief (AFEC0) AFEC Channel Selection Register */ - #define REG_AFEC0_CDR (0x4003C068U) /**< \brief (AFEC0) AFEC Channel Data Register */ - #define REG_AFEC0_COCR (0x4003C06CU) /**< \brief (AFEC0) AFEC Channel Offset Compensation Register */ - #define REG_AFEC0_TEMPMR (0x4003C070U) /**< \brief (AFEC0) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC0_TEMPCWR (0x4003C074U) /**< \brief (AFEC0) AFEC Temperature Compare Window Register */ - #define REG_AFEC0_ACR (0x4003C094U) /**< \brief (AFEC0) AFEC Analog Control Register */ - #define REG_AFEC0_SHMR (0x4003C0A0U) /**< \brief (AFEC0) AFEC Sample & Hold Mode Register */ - #define REG_AFEC0_COSR (0x4003C0D0U) /**< \brief (AFEC0) AFEC Correction Select Register */ - #define REG_AFEC0_CVR (0x4003C0D4U) /**< \brief (AFEC0) AFEC Correction Values Register */ - #define REG_AFEC0_CECR (0x4003C0D8U) /**< \brief (AFEC0) AFEC Channel Error Correction Register */ - #define REG_AFEC0_WPMR (0x4003C0E4U) /**< \brief (AFEC0) AFEC Write Protection Mode Register */ - #define REG_AFEC0_WPSR (0x4003C0E8U) /**< \brief (AFEC0) AFEC Write Protection Status Register */ -#else - #define REG_AFEC0_CR (*(__O uint32_t*)0x4003C000U) /**< \brief (AFEC0) AFEC Control Register */ - #define REG_AFEC0_MR (*(__IO uint32_t*)0x4003C004U) /**< \brief (AFEC0) AFEC Mode Register */ - #define REG_AFEC0_EMR (*(__IO uint32_t*)0x4003C008U) /**< \brief (AFEC0) AFEC Extended Mode Register */ - #define REG_AFEC0_SEQ1R (*(__IO uint32_t*)0x4003C00CU) /**< \brief (AFEC0) AFEC Channel Sequence 1 Register */ - #define REG_AFEC0_SEQ2R (*(__IO uint32_t*)0x4003C010U) /**< \brief (AFEC0) AFEC Channel Sequence 2 Register */ - #define REG_AFEC0_CHER (*(__O uint32_t*)0x4003C014U) /**< \brief (AFEC0) AFEC Channel Enable Register */ - #define REG_AFEC0_CHDR (*(__O uint32_t*)0x4003C018U) /**< \brief (AFEC0) AFEC Channel Disable Register */ - #define REG_AFEC0_CHSR (*(__I uint32_t*)0x4003C01CU) /**< \brief (AFEC0) AFEC Channel Status Register */ - #define REG_AFEC0_LCDR (*(__I uint32_t*)0x4003C020U) /**< \brief (AFEC0) AFEC Last Converted Data Register */ - #define REG_AFEC0_IER (*(__O uint32_t*)0x4003C024U) /**< \brief (AFEC0) AFEC Interrupt Enable Register */ - #define REG_AFEC0_IDR (*(__O uint32_t*)0x4003C028U) /**< \brief (AFEC0) AFEC Interrupt Disable Register */ - #define REG_AFEC0_IMR (*(__I uint32_t*)0x4003C02CU) /**< \brief (AFEC0) AFEC Interrupt Mask Register */ - #define REG_AFEC0_ISR (*(__I uint32_t*)0x4003C030U) /**< \brief (AFEC0) AFEC Interrupt Status Register */ - #define REG_AFEC0_OVER (*(__I uint32_t*)0x4003C04CU) /**< \brief (AFEC0) AFEC Overrun Status Register */ - #define REG_AFEC0_CWR (*(__IO uint32_t*)0x4003C050U) /**< \brief (AFEC0) AFEC Compare Window Register */ - #define REG_AFEC0_CGR (*(__IO uint32_t*)0x4003C054U) /**< \brief (AFEC0) AFEC Channel Gain Register */ - #define REG_AFEC0_DIFFR (*(__IO uint32_t*)0x4003C060U) /**< \brief (AFEC0) AFEC Channel Differential Register */ - #define REG_AFEC0_CSELR (*(__IO uint32_t*)0x4003C064U) /**< \brief (AFEC0) AFEC Channel Selection Register */ - #define REG_AFEC0_CDR (*(__I uint32_t*)0x4003C068U) /**< \brief (AFEC0) AFEC Channel Data Register */ - #define REG_AFEC0_COCR (*(__IO uint32_t*)0x4003C06CU) /**< \brief (AFEC0) AFEC Channel Offset Compensation Register */ - #define REG_AFEC0_TEMPMR (*(__IO uint32_t*)0x4003C070U) /**< \brief (AFEC0) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC0_TEMPCWR (*(__IO uint32_t*)0x4003C074U) /**< \brief (AFEC0) AFEC Temperature Compare Window Register */ - #define REG_AFEC0_ACR (*(__IO uint32_t*)0x4003C094U) /**< \brief (AFEC0) AFEC Analog Control Register */ - #define REG_AFEC0_SHMR (*(__IO uint32_t*)0x4003C0A0U) /**< \brief (AFEC0) AFEC Sample & Hold Mode Register */ - #define REG_AFEC0_COSR (*(__IO uint32_t*)0x4003C0D0U) /**< \brief (AFEC0) AFEC Correction Select Register */ - #define REG_AFEC0_CVR (*(__IO uint32_t*)0x4003C0D4U) /**< \brief (AFEC0) AFEC Correction Values Register */ - #define REG_AFEC0_CECR (*(__IO uint32_t*)0x4003C0D8U) /**< \brief (AFEC0) AFEC Channel Error Correction Register */ - #define REG_AFEC0_WPMR (*(__IO uint32_t*)0x4003C0E4U) /**< \brief (AFEC0) AFEC Write Protection Mode Register */ - #define REG_AFEC0_WPSR (*(__I uint32_t*)0x4003C0E8U) /**< \brief (AFEC0) AFEC Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_AFEC0_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h deleted file mode 100644 index 461f201..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/afec1.h +++ /dev/null @@ -1,111 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_AFEC1_INSTANCE_ -#define _SAMS70_AFEC1_INSTANCE_ - -/* ========== Register definition for AFEC1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_AFEC1_CR (0x40064000U) /**< \brief (AFEC1) AFEC Control Register */ - #define REG_AFEC1_MR (0x40064004U) /**< \brief (AFEC1) AFEC Mode Register */ - #define REG_AFEC1_EMR (0x40064008U) /**< \brief (AFEC1) AFEC Extended Mode Register */ - #define REG_AFEC1_SEQ1R (0x4006400CU) /**< \brief (AFEC1) AFEC Channel Sequence 1 Register */ - #define REG_AFEC1_SEQ2R (0x40064010U) /**< \brief (AFEC1) AFEC Channel Sequence 2 Register */ - #define REG_AFEC1_CHER (0x40064014U) /**< \brief (AFEC1) AFEC Channel Enable Register */ - #define REG_AFEC1_CHDR (0x40064018U) /**< \brief (AFEC1) AFEC Channel Disable Register */ - #define REG_AFEC1_CHSR (0x4006401CU) /**< \brief (AFEC1) AFEC Channel Status Register */ - #define REG_AFEC1_LCDR (0x40064020U) /**< \brief (AFEC1) AFEC Last Converted Data Register */ - #define REG_AFEC1_IER (0x40064024U) /**< \brief (AFEC1) AFEC Interrupt Enable Register */ - #define REG_AFEC1_IDR (0x40064028U) /**< \brief (AFEC1) AFEC Interrupt Disable Register */ - #define REG_AFEC1_IMR (0x4006402CU) /**< \brief (AFEC1) AFEC Interrupt Mask Register */ - #define REG_AFEC1_ISR (0x40064030U) /**< \brief (AFEC1) AFEC Interrupt Status Register */ - #define REG_AFEC1_OVER (0x4006404CU) /**< \brief (AFEC1) AFEC Overrun Status Register */ - #define REG_AFEC1_CWR (0x40064050U) /**< \brief (AFEC1) AFEC Compare Window Register */ - #define REG_AFEC1_CGR (0x40064054U) /**< \brief (AFEC1) AFEC Channel Gain Register */ - #define REG_AFEC1_DIFFR (0x40064060U) /**< \brief (AFEC1) AFEC Channel Differential Register */ - #define REG_AFEC1_CSELR (0x40064064U) /**< \brief (AFEC1) AFEC Channel Selection Register */ - #define REG_AFEC1_CDR (0x40064068U) /**< \brief (AFEC1) AFEC Channel Data Register */ - #define REG_AFEC1_COCR (0x4006406CU) /**< \brief (AFEC1) AFEC Channel Offset Compensation Register */ - #define REG_AFEC1_TEMPMR (0x40064070U) /**< \brief (AFEC1) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC1_TEMPCWR (0x40064074U) /**< \brief (AFEC1) AFEC Temperature Compare Window Register */ - #define REG_AFEC1_ACR (0x40064094U) /**< \brief (AFEC1) AFEC Analog Control Register */ - #define REG_AFEC1_SHMR (0x400640A0U) /**< \brief (AFEC1) AFEC Sample & Hold Mode Register */ - #define REG_AFEC1_COSR (0x400640D0U) /**< \brief (AFEC1) AFEC Correction Select Register */ - #define REG_AFEC1_CVR (0x400640D4U) /**< \brief (AFEC1) AFEC Correction Values Register */ - #define REG_AFEC1_CECR (0x400640D8U) /**< \brief (AFEC1) AFEC Channel Error Correction Register */ - #define REG_AFEC1_WPMR (0x400640E4U) /**< \brief (AFEC1) AFEC Write Protection Mode Register */ - #define REG_AFEC1_WPSR (0x400640E8U) /**< \brief (AFEC1) AFEC Write Protection Status Register */ -#else - #define REG_AFEC1_CR (*(__O uint32_t*)0x40064000U) /**< \brief (AFEC1) AFEC Control Register */ - #define REG_AFEC1_MR (*(__IO uint32_t*)0x40064004U) /**< \brief (AFEC1) AFEC Mode Register */ - #define REG_AFEC1_EMR (*(__IO uint32_t*)0x40064008U) /**< \brief (AFEC1) AFEC Extended Mode Register */ - #define REG_AFEC1_SEQ1R (*(__IO uint32_t*)0x4006400CU) /**< \brief (AFEC1) AFEC Channel Sequence 1 Register */ - #define REG_AFEC1_SEQ2R (*(__IO uint32_t*)0x40064010U) /**< \brief (AFEC1) AFEC Channel Sequence 2 Register */ - #define REG_AFEC1_CHER (*(__O uint32_t*)0x40064014U) /**< \brief (AFEC1) AFEC Channel Enable Register */ - #define REG_AFEC1_CHDR (*(__O uint32_t*)0x40064018U) /**< \brief (AFEC1) AFEC Channel Disable Register */ - #define REG_AFEC1_CHSR (*(__I uint32_t*)0x4006401CU) /**< \brief (AFEC1) AFEC Channel Status Register */ - #define REG_AFEC1_LCDR (*(__I uint32_t*)0x40064020U) /**< \brief (AFEC1) AFEC Last Converted Data Register */ - #define REG_AFEC1_IER (*(__O uint32_t*)0x40064024U) /**< \brief (AFEC1) AFEC Interrupt Enable Register */ - #define REG_AFEC1_IDR (*(__O uint32_t*)0x40064028U) /**< \brief (AFEC1) AFEC Interrupt Disable Register */ - #define REG_AFEC1_IMR (*(__I uint32_t*)0x4006402CU) /**< \brief (AFEC1) AFEC Interrupt Mask Register */ - #define REG_AFEC1_ISR (*(__I uint32_t*)0x40064030U) /**< \brief (AFEC1) AFEC Interrupt Status Register */ - #define REG_AFEC1_OVER (*(__I uint32_t*)0x4006404CU) /**< \brief (AFEC1) AFEC Overrun Status Register */ - #define REG_AFEC1_CWR (*(__IO uint32_t*)0x40064050U) /**< \brief (AFEC1) AFEC Compare Window Register */ - #define REG_AFEC1_CGR (*(__IO uint32_t*)0x40064054U) /**< \brief (AFEC1) AFEC Channel Gain Register */ - #define REG_AFEC1_DIFFR (*(__IO uint32_t*)0x40064060U) /**< \brief (AFEC1) AFEC Channel Differential Register */ - #define REG_AFEC1_CSELR (*(__IO uint32_t*)0x40064064U) /**< \brief (AFEC1) AFEC Channel Selection Register */ - #define REG_AFEC1_CDR (*(__I uint32_t*)0x40064068U) /**< \brief (AFEC1) AFEC Channel Data Register */ - #define REG_AFEC1_COCR (*(__IO uint32_t*)0x4006406CU) /**< \brief (AFEC1) AFEC Channel Offset Compensation Register */ - #define REG_AFEC1_TEMPMR (*(__IO uint32_t*)0x40064070U) /**< \brief (AFEC1) AFEC Temperature Sensor Mode Register */ - #define REG_AFEC1_TEMPCWR (*(__IO uint32_t*)0x40064074U) /**< \brief (AFEC1) AFEC Temperature Compare Window Register */ - #define REG_AFEC1_ACR (*(__IO uint32_t*)0x40064094U) /**< \brief (AFEC1) AFEC Analog Control Register */ - #define REG_AFEC1_SHMR (*(__IO uint32_t*)0x400640A0U) /**< \brief (AFEC1) AFEC Sample & Hold Mode Register */ - #define REG_AFEC1_COSR (*(__IO uint32_t*)0x400640D0U) /**< \brief (AFEC1) AFEC Correction Select Register */ - #define REG_AFEC1_CVR (*(__IO uint32_t*)0x400640D4U) /**< \brief (AFEC1) AFEC Correction Values Register */ - #define REG_AFEC1_CECR (*(__IO uint32_t*)0x400640D8U) /**< \brief (AFEC1) AFEC Channel Error Correction Register */ - #define REG_AFEC1_WPMR (*(__IO uint32_t*)0x400640E4U) /**< \brief (AFEC1) AFEC Write Protection Mode Register */ - #define REG_AFEC1_WPSR (*(__I uint32_t*)0x400640E8U) /**< \brief (AFEC1) AFEC Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_AFEC1_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h deleted file mode 100644 index 722773b..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/chipid.h +++ /dev/null @@ -1,57 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_CHIPID_INSTANCE_ -#define _SAMS70_CHIPID_INSTANCE_ - -/* ========== Register definition for CHIPID peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_CHIPID_CIDR (0x400E0940U) /**< \brief (CHIPID) Chip ID Register */ - #define REG_CHIPID_EXID (0x400E0944U) /**< \brief (CHIPID) Chip ID Extension Register */ -#else - #define REG_CHIPID_CIDR (*(__I uint32_t*)0x400E0940U) /**< \brief (CHIPID) Chip ID Register */ - #define REG_CHIPID_EXID (*(__I uint32_t*)0x400E0944U) /**< \brief (CHIPID) Chip ID Extension Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_CHIPID_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h deleted file mode 100644 index f92fe6d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/dacc.h +++ /dev/null @@ -1,81 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_DACC_INSTANCE_ -#define _SAMS70_DACC_INSTANCE_ - -/* ========== Register definition for DACC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_DACC_CR (0x40040000U) /**< \brief (DACC) Control Register */ - #define REG_DACC_MR (0x40040004U) /**< \brief (DACC) Mode Register */ - #define REG_DACC_TRIGR (0x40040008U) /**< \brief (DACC) Trigger Register */ - #define REG_DACC_CHER (0x40040010U) /**< \brief (DACC) Channel Enable Register */ - #define REG_DACC_CHDR (0x40040014U) /**< \brief (DACC) Channel Disable Register */ - #define REG_DACC_CHSR (0x40040018U) /**< \brief (DACC) Channel Status Register */ - #define REG_DACC_CDR (0x4004001CU) /**< \brief (DACC) Conversion Data Register */ - #define REG_DACC_IER (0x40040024U) /**< \brief (DACC) Interrupt Enable Register */ - #define REG_DACC_IDR (0x40040028U) /**< \brief (DACC) Interrupt Disable Register */ - #define REG_DACC_IMR (0x4004002CU) /**< \brief (DACC) Interrupt Mask Register */ - #define REG_DACC_ISR (0x40040030U) /**< \brief (DACC) Interrupt Status Register */ - #define REG_DACC_ACR (0x40040094U) /**< \brief (DACC) Analog Current Register */ - #define REG_DACC_WPMR (0x400400E4U) /**< \brief (DACC) Write Protection Mode register */ - #define REG_DACC_WPSR (0x400400E8U) /**< \brief (DACC) Write Protection Status register */ -#else - #define REG_DACC_CR (*(__O uint32_t*)0x40040000U) /**< \brief (DACC) Control Register */ - #define REG_DACC_MR (*(__IO uint32_t*)0x40040004U) /**< \brief (DACC) Mode Register */ - #define REG_DACC_TRIGR (*(__IO uint32_t*)0x40040008U) /**< \brief (DACC) Trigger Register */ - #define REG_DACC_CHER (*(__O uint32_t*)0x40040010U) /**< \brief (DACC) Channel Enable Register */ - #define REG_DACC_CHDR (*(__O uint32_t*)0x40040014U) /**< \brief (DACC) Channel Disable Register */ - #define REG_DACC_CHSR (*(__I uint32_t*)0x40040018U) /**< \brief (DACC) Channel Status Register */ - #define REG_DACC_CDR (*(__O uint32_t*)0x4004001CU) /**< \brief (DACC) Conversion Data Register */ - #define REG_DACC_IER (*(__O uint32_t*)0x40040024U) /**< \brief (DACC) Interrupt Enable Register */ - #define REG_DACC_IDR (*(__O uint32_t*)0x40040028U) /**< \brief (DACC) Interrupt Disable Register */ - #define REG_DACC_IMR (*(__I uint32_t*)0x4004002CU) /**< \brief (DACC) Interrupt Mask Register */ - #define REG_DACC_ISR (*(__I uint32_t*)0x40040030U) /**< \brief (DACC) Interrupt Status Register */ - #define REG_DACC_ACR (*(__IO uint32_t*)0x40040094U) /**< \brief (DACC) Analog Current Register */ - #define REG_DACC_WPMR (*(__IO uint32_t*)0x400400E4U) /**< \brief (DACC) Write Protection Mode register */ - #define REG_DACC_WPSR (*(__I uint32_t*)0x400400E8U) /**< \brief (DACC) Write Protection Status register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_DACC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h deleted file mode 100644 index e86fafc..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/efc.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_EFC_INSTANCE_ -#define _SAMS70_EFC_INSTANCE_ - -/* ========== Register definition for EFC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_EFC_FMR (0x400E0C00U) /**< \brief (EFC) EEFC Flash Mode Register */ - #define REG_EFC_FCR (0x400E0C04U) /**< \brief (EFC) EEFC Flash Command Register */ - #define REG_EFC_FSR (0x400E0C08U) /**< \brief (EFC) EEFC Flash Status Register */ - #define REG_EFC_FRR (0x400E0C0CU) /**< \brief (EFC) EEFC Flash Result Register */ - #define REG_EFC_VERSION (0x400E0C14U) /**< \brief (EFC) EEFC Version Register */ - #define REG_EFC_WPMR (0x400E0CE4U) /**< \brief (EFC) Write Protection Mode Register */ -#else - #define REG_EFC_FMR (*(__IO uint32_t*)0x400E0C00U) /**< \brief (EFC) EEFC Flash Mode Register */ - #define REG_EFC_FCR (*(__O uint32_t*)0x400E0C04U) /**< \brief (EFC) EEFC Flash Command Register */ - #define REG_EFC_FSR (*(__I uint32_t*)0x400E0C08U) /**< \brief (EFC) EEFC Flash Status Register */ - #define REG_EFC_FRR (*(__I uint32_t*)0x400E0C0CU) /**< \brief (EFC) EEFC Flash Result Register */ - #define REG_EFC_VERSION (*(__I uint32_t*)0x400E0C14U) /**< \brief (EFC) EEFC Version Register */ - #define REG_EFC_WPMR (*(__IO uint32_t*)0x400E0CE4U) /**< \brief (EFC) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_EFC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h deleted file mode 100644 index 49de2e9..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/gpbr.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_GPBR_INSTANCE_ -#define _SAMS70_GPBR_INSTANCE_ - -/* ========== Register definition for GPBR peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_GPBR_GPBR (0x400E1890U) /**< \brief (GPBR) General Purpose Backup Register */ -#else - #define REG_GPBR_GPBR (*(__IO uint32_t*)0x400E1890U) /**< \brief (GPBR) General Purpose Backup Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_GPBR_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h deleted file mode 100644 index 3fc54b7..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/hsmci.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_HSMCI_INSTANCE_ -#define _SAMS70_HSMCI_INSTANCE_ - -/* ========== Register definition for HSMCI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_HSMCI_CR (0x40000000U) /**< \brief (HSMCI) Control Register */ - #define REG_HSMCI_MR (0x40000004U) /**< \brief (HSMCI) Mode Register */ - #define REG_HSMCI_DTOR (0x40000008U) /**< \brief (HSMCI) Data Timeout Register */ - #define REG_HSMCI_SDCR (0x4000000CU) /**< \brief (HSMCI) SD/SDIO Card Register */ - #define REG_HSMCI_ARGR (0x40000010U) /**< \brief (HSMCI) Argument Register */ - #define REG_HSMCI_CMDR (0x40000014U) /**< \brief (HSMCI) Command Register */ - #define REG_HSMCI_BLKR (0x40000018U) /**< \brief (HSMCI) Block Register */ - #define REG_HSMCI_CSTOR (0x4000001CU) /**< \brief (HSMCI) Completion Signal Timeout Register */ - #define REG_HSMCI_RSPR (0x40000020U) /**< \brief (HSMCI) Response Register */ - #define REG_HSMCI_RDR (0x40000030U) /**< \brief (HSMCI) Receive Data Register */ - #define REG_HSMCI_TDR (0x40000034U) /**< \brief (HSMCI) Transmit Data Register */ - #define REG_HSMCI_SR (0x40000040U) /**< \brief (HSMCI) Status Register */ - #define REG_HSMCI_IER (0x40000044U) /**< \brief (HSMCI) Interrupt Enable Register */ - #define REG_HSMCI_IDR (0x40000048U) /**< \brief (HSMCI) Interrupt Disable Register */ - #define REG_HSMCI_IMR (0x4000004CU) /**< \brief (HSMCI) Interrupt Mask Register */ - #define REG_HSMCI_DMA (0x40000050U) /**< \brief (HSMCI) DMA Configuration Register */ - #define REG_HSMCI_CFG (0x40000054U) /**< \brief (HSMCI) Configuration Register */ - #define REG_HSMCI_WPMR (0x400000E4U) /**< \brief (HSMCI) Write Protection Mode Register */ - #define REG_HSMCI_WPSR (0x400000E8U) /**< \brief (HSMCI) Write Protection Status Register */ - #define REG_HSMCI_FIFO (0x40000200U) /**< \brief (HSMCI) FIFO Memory Aperture0 */ -#else - #define REG_HSMCI_CR (*(__O uint32_t*)0x40000000U) /**< \brief (HSMCI) Control Register */ - #define REG_HSMCI_MR (*(__IO uint32_t*)0x40000004U) /**< \brief (HSMCI) Mode Register */ - #define REG_HSMCI_DTOR (*(__IO uint32_t*)0x40000008U) /**< \brief (HSMCI) Data Timeout Register */ - #define REG_HSMCI_SDCR (*(__IO uint32_t*)0x4000000CU) /**< \brief (HSMCI) SD/SDIO Card Register */ - #define REG_HSMCI_ARGR (*(__IO uint32_t*)0x40000010U) /**< \brief (HSMCI) Argument Register */ - #define REG_HSMCI_CMDR (*(__O uint32_t*)0x40000014U) /**< \brief (HSMCI) Command Register */ - #define REG_HSMCI_BLKR (*(__IO uint32_t*)0x40000018U) /**< \brief (HSMCI) Block Register */ - #define REG_HSMCI_CSTOR (*(__IO uint32_t*)0x4000001CU) /**< \brief (HSMCI) Completion Signal Timeout Register */ - #define REG_HSMCI_RSPR (*(__I uint32_t*)0x40000020U) /**< \brief (HSMCI) Response Register */ - #define REG_HSMCI_RDR (*(__I uint32_t*)0x40000030U) /**< \brief (HSMCI) Receive Data Register */ - #define REG_HSMCI_TDR (*(__O uint32_t*)0x40000034U) /**< \brief (HSMCI) Transmit Data Register */ - #define REG_HSMCI_SR (*(__I uint32_t*)0x40000040U) /**< \brief (HSMCI) Status Register */ - #define REG_HSMCI_IER (*(__O uint32_t*)0x40000044U) /**< \brief (HSMCI) Interrupt Enable Register */ - #define REG_HSMCI_IDR (*(__O uint32_t*)0x40000048U) /**< \brief (HSMCI) Interrupt Disable Register */ - #define REG_HSMCI_IMR (*(__I uint32_t*)0x4000004CU) /**< \brief (HSMCI) Interrupt Mask Register */ - #define REG_HSMCI_DMA (*(__IO uint32_t*)0x40000050U) /**< \brief (HSMCI) DMA Configuration Register */ - #define REG_HSMCI_CFG (*(__IO uint32_t*)0x40000054U) /**< \brief (HSMCI) Configuration Register */ - #define REG_HSMCI_WPMR (*(__IO uint32_t*)0x400000E4U) /**< \brief (HSMCI) Write Protection Mode Register */ - #define REG_HSMCI_WPSR (*(__I uint32_t*)0x400000E8U) /**< \brief (HSMCI) Write Protection Status Register */ - #define REG_HSMCI_FIFO (*(__IO uint32_t*)0x40000200U) /**< \brief (HSMCI) FIFO Memory Aperture0 */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_HSMCI_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h deleted file mode 100644 index d3f9fb7..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/icm.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ICM_INSTANCE_ -#define _SAMS70_ICM_INSTANCE_ - -/* ========== Register definition for ICM peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_ICM_CFG (0x40048000U) /**< \brief (ICM) Configuration Register */ - #define REG_ICM_CTRL (0x40048004U) /**< \brief (ICM) Control Register */ - #define REG_ICM_SR (0x40048008U) /**< \brief (ICM) Status Register */ - #define REG_ICM_IER (0x40048010U) /**< \brief (ICM) Interrupt Enable Register */ - #define REG_ICM_IDR (0x40048014U) /**< \brief (ICM) Interrupt Disable Register */ - #define REG_ICM_IMR (0x40048018U) /**< \brief (ICM) Interrupt Mask Register */ - #define REG_ICM_ISR (0x4004801CU) /**< \brief (ICM) Interrupt Status Register */ - #define REG_ICM_UASR (0x40048020U) /**< \brief (ICM) Undefined Access Status Register */ - #define REG_ICM_DSCR (0x40048030U) /**< \brief (ICM) Region Descriptor Area Start Address Register */ - #define REG_ICM_HASH (0x40048034U) /**< \brief (ICM) Region Hash Area Start Address Register */ - #define REG_ICM_UIHVAL (0x40048038U) /**< \brief (ICM) User Initial Hash Value 0 Register */ -#else - #define REG_ICM_CFG (*(__IO uint32_t*)0x40048000U) /**< \brief (ICM) Configuration Register */ - #define REG_ICM_CTRL (*(__O uint32_t*)0x40048004U) /**< \brief (ICM) Control Register */ - #define REG_ICM_SR (*(__O uint32_t*)0x40048008U) /**< \brief (ICM) Status Register */ - #define REG_ICM_IER (*(__O uint32_t*)0x40048010U) /**< \brief (ICM) Interrupt Enable Register */ - #define REG_ICM_IDR (*(__O uint32_t*)0x40048014U) /**< \brief (ICM) Interrupt Disable Register */ - #define REG_ICM_IMR (*(__I uint32_t*)0x40048018U) /**< \brief (ICM) Interrupt Mask Register */ - #define REG_ICM_ISR (*(__I uint32_t*)0x4004801CU) /**< \brief (ICM) Interrupt Status Register */ - #define REG_ICM_UASR (*(__I uint32_t*)0x40048020U) /**< \brief (ICM) Undefined Access Status Register */ - #define REG_ICM_DSCR (*(__IO uint32_t*)0x40048030U) /**< \brief (ICM) Region Descriptor Area Start Address Register */ - #define REG_ICM_HASH (*(__IO uint32_t*)0x40048034U) /**< \brief (ICM) Region Hash Area Start Address Register */ - #define REG_ICM_UIHVAL (*(__O uint32_t*)0x40048038U) /**< \brief (ICM) User Initial Hash Value 0 Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_ICM_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h deleted file mode 100644 index 731415d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/isi.h +++ /dev/null @@ -1,103 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_ISI_INSTANCE_ -#define _SAMS70_ISI_INSTANCE_ - -/* ========== Register definition for ISI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_ISI_CFG1 (0x4004C000U) /**< \brief (ISI) ISI Configuration 1 Register */ - #define REG_ISI_CFG2 (0x4004C004U) /**< \brief (ISI) ISI Configuration 2 Register */ - #define REG_ISI_PSIZE (0x4004C008U) /**< \brief (ISI) ISI Preview Size Register */ - #define REG_ISI_PDECF (0x4004C00CU) /**< \brief (ISI) ISI Preview Decimation Factor Register */ - #define REG_ISI_Y2R_SET0 (0x4004C010U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 0 Register */ - #define REG_ISI_Y2R_SET1 (0x4004C014U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 1 Register */ - #define REG_ISI_R2Y_SET0 (0x4004C018U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 0 Register */ - #define REG_ISI_R2Y_SET1 (0x4004C01CU) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 1 Register */ - #define REG_ISI_R2Y_SET2 (0x4004C020U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 2 Register */ - #define REG_ISI_CR (0x4004C024U) /**< \brief (ISI) ISI Control Register */ - #define REG_ISI_SR (0x4004C028U) /**< \brief (ISI) ISI Status Register */ - #define REG_ISI_IER (0x4004C02CU) /**< \brief (ISI) ISI Interrupt Enable Register */ - #define REG_ISI_IDR (0x4004C030U) /**< \brief (ISI) ISI Interrupt Disable Register */ - #define REG_ISI_IMR (0x4004C034U) /**< \brief (ISI) ISI Interrupt Mask Register */ - #define REG_ISI_DMA_CHER (0x4004C038U) /**< \brief (ISI) DMA Channel Enable Register */ - #define REG_ISI_DMA_CHDR (0x4004C03CU) /**< \brief (ISI) DMA Channel Disable Register */ - #define REG_ISI_DMA_CHSR (0x4004C040U) /**< \brief (ISI) DMA Channel Status Register */ - #define REG_ISI_DMA_P_ADDR (0x4004C044U) /**< \brief (ISI) DMA Preview Base Address Register */ - #define REG_ISI_DMA_P_CTRL (0x4004C048U) /**< \brief (ISI) DMA Preview Control Register */ - #define REG_ISI_DMA_P_DSCR (0x4004C04CU) /**< \brief (ISI) DMA Preview Descriptor Address Register */ - #define REG_ISI_DMA_C_ADDR (0x4004C050U) /**< \brief (ISI) DMA Codec Base Address Register */ - #define REG_ISI_DMA_C_CTRL (0x4004C054U) /**< \brief (ISI) DMA Codec Control Register */ - #define REG_ISI_DMA_C_DSCR (0x4004C058U) /**< \brief (ISI) DMA Codec Descriptor Address Register */ - #define REG_ISI_WPMR (0x4004C0E4U) /**< \brief (ISI) Write Protection Mode Register */ - #define REG_ISI_WPSR (0x4004C0E8U) /**< \brief (ISI) Write Protection Status Register */ -#else - #define REG_ISI_CFG1 (*(__IO uint32_t*)0x4004C000U) /**< \brief (ISI) ISI Configuration 1 Register */ - #define REG_ISI_CFG2 (*(__IO uint32_t*)0x4004C004U) /**< \brief (ISI) ISI Configuration 2 Register */ - #define REG_ISI_PSIZE (*(__IO uint32_t*)0x4004C008U) /**< \brief (ISI) ISI Preview Size Register */ - #define REG_ISI_PDECF (*(__IO uint32_t*)0x4004C00CU) /**< \brief (ISI) ISI Preview Decimation Factor Register */ - #define REG_ISI_Y2R_SET0 (*(__IO uint32_t*)0x4004C010U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 0 Register */ - #define REG_ISI_Y2R_SET1 (*(__IO uint32_t*)0x4004C014U) /**< \brief (ISI) ISI Color Space Conversion YCrCb To RGB Set 1 Register */ - #define REG_ISI_R2Y_SET0 (*(__IO uint32_t*)0x4004C018U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 0 Register */ - #define REG_ISI_R2Y_SET1 (*(__IO uint32_t*)0x4004C01CU) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 1 Register */ - #define REG_ISI_R2Y_SET2 (*(__IO uint32_t*)0x4004C020U) /**< \brief (ISI) ISI Color Space Conversion RGB To YCrCb Set 2 Register */ - #define REG_ISI_CR (*(__O uint32_t*)0x4004C024U) /**< \brief (ISI) ISI Control Register */ - #define REG_ISI_SR (*(__I uint32_t*)0x4004C028U) /**< \brief (ISI) ISI Status Register */ - #define REG_ISI_IER (*(__O uint32_t*)0x4004C02CU) /**< \brief (ISI) ISI Interrupt Enable Register */ - #define REG_ISI_IDR (*(__O uint32_t*)0x4004C030U) /**< \brief (ISI) ISI Interrupt Disable Register */ - #define REG_ISI_IMR (*(__I uint32_t*)0x4004C034U) /**< \brief (ISI) ISI Interrupt Mask Register */ - #define REG_ISI_DMA_CHER (*(__O uint32_t*)0x4004C038U) /**< \brief (ISI) DMA Channel Enable Register */ - #define REG_ISI_DMA_CHDR (*(__O uint32_t*)0x4004C03CU) /**< \brief (ISI) DMA Channel Disable Register */ - #define REG_ISI_DMA_CHSR (*(__I uint32_t*)0x4004C040U) /**< \brief (ISI) DMA Channel Status Register */ - #define REG_ISI_DMA_P_ADDR (*(__IO uint32_t*)0x4004C044U) /**< \brief (ISI) DMA Preview Base Address Register */ - #define REG_ISI_DMA_P_CTRL (*(__IO uint32_t*)0x4004C048U) /**< \brief (ISI) DMA Preview Control Register */ - #define REG_ISI_DMA_P_DSCR (*(__IO uint32_t*)0x4004C04CU) /**< \brief (ISI) DMA Preview Descriptor Address Register */ - #define REG_ISI_DMA_C_ADDR (*(__IO uint32_t*)0x4004C050U) /**< \brief (ISI) DMA Codec Base Address Register */ - #define REG_ISI_DMA_C_CTRL (*(__IO uint32_t*)0x4004C054U) /**< \brief (ISI) DMA Codec Control Register */ - #define REG_ISI_DMA_C_DSCR (*(__IO uint32_t*)0x4004C058U) /**< \brief (ISI) DMA Codec Descriptor Address Register */ - #define REG_ISI_WPMR (*(__IO uint32_t*)0x4004C0E4U) /**< \brief (ISI) Write Protection Mode Register */ - #define REG_ISI_WPSR (*(__I uint32_t*)0x4004C0E8U) /**< \brief (ISI) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_ISI_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h deleted file mode 100644 index 4e78d0f..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/matrix.h +++ /dev/null @@ -1,117 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_MATRIX_INSTANCE_ -#define _SAMS70_MATRIX_INSTANCE_ - -/* ========== Register definition for MATRIX peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_MATRIX_MCFG0 (0x40088000U) /**< \brief (MATRIX) Master Configuration Register 0 */ - #define REG_MATRIX_MCFG1 (0x40088004U) /**< \brief (MATRIX) Master Configuration Register 1 */ - #define REG_MATRIX_MCFG2 (0x40088008U) /**< \brief (MATRIX) Master Configuration Register 2 */ - #define REG_MATRIX_MCFG3 (0x4008800CU) /**< \brief (MATRIX) Master Configuration Register 3 */ - #define REG_MATRIX_MCFG4 (0x40088010U) /**< \brief (MATRIX) Master Configuration Register 4 */ - #define REG_MATRIX_MCFG5 (0x40088014U) /**< \brief (MATRIX) Master Configuration Register 5 */ - #define REG_MATRIX_MCFG6 (0x40088018U) /**< \brief (MATRIX) Master Configuration Register 6 */ - #define REG_MATRIX_MCFG8 (0x40088020U) /**< \brief (MATRIX) Master Configuration Register 8 */ - #define REG_MATRIX_SCFG (0x40088040U) /**< \brief (MATRIX) Slave Configuration Register */ - #define REG_MATRIX_PRAS0 (0x40088080U) /**< \brief (MATRIX) Priority Register A for Slave 0 */ - #define REG_MATRIX_PRBS0 (0x40088084U) /**< \brief (MATRIX) Priority Register B for Slave 0 */ - #define REG_MATRIX_PRAS1 (0x40088088U) /**< \brief (MATRIX) Priority Register A for Slave 1 */ - #define REG_MATRIX_PRBS1 (0x4008808CU) /**< \brief (MATRIX) Priority Register B for Slave 1 */ - #define REG_MATRIX_PRAS2 (0x40088090U) /**< \brief (MATRIX) Priority Register A for Slave 2 */ - #define REG_MATRIX_PRBS2 (0x40088094U) /**< \brief (MATRIX) Priority Register B for Slave 2 */ - #define REG_MATRIX_PRAS3 (0x40088098U) /**< \brief (MATRIX) Priority Register A for Slave 3 */ - #define REG_MATRIX_PRBS3 (0x4008809CU) /**< \brief (MATRIX) Priority Register B for Slave 3 */ - #define REG_MATRIX_PRAS4 (0x400880A0U) /**< \brief (MATRIX) Priority Register A for Slave 4 */ - #define REG_MATRIX_PRBS4 (0x400880A4U) /**< \brief (MATRIX) Priority Register B for Slave 4 */ - #define REG_MATRIX_PRAS5 (0x400880A8U) /**< \brief (MATRIX) Priority Register A for Slave 5 */ - #define REG_MATRIX_PRBS5 (0x400880ACU) /**< \brief (MATRIX) Priority Register B for Slave 5 */ - #define REG_MATRIX_PRAS6 (0x400880B0U) /**< \brief (MATRIX) Priority Register A for Slave 6 */ - #define REG_MATRIX_PRBS6 (0x400880B4U) /**< \brief (MATRIX) Priority Register B for Slave 6 */ - #define REG_MATRIX_PRAS7 (0x400880B8U) /**< \brief (MATRIX) Priority Register A for Slave 7 */ - #define REG_MATRIX_PRBS7 (0x400880BCU) /**< \brief (MATRIX) Priority Register B for Slave 7 */ - #define REG_MATRIX_PRAS8 (0x400880C0U) /**< \brief (MATRIX) Priority Register A for Slave 8 */ - #define REG_MATRIX_PRBS8 (0x400880C4U) /**< \brief (MATRIX) Priority Register B for Slave 8 */ - #define REG_MATRIX_MRCR (0x40088100U) /**< \brief (MATRIX) Master Remap Control Register */ - #define REG_CCFG_SYSIO (0x40088114U) /**< \brief (MATRIX) System I/O Configuration Register */ - #define REG_CCFG_SMCNFCS (0x40088124U) /**< \brief (MATRIX) SMC NAND Flash Chip Select Configuration Register */ - #define REG_MATRIX_WPMR (0x400881E4U) /**< \brief (MATRIX) Write Protection Mode Register */ - #define REG_MATRIX_WPSR (0x400881E8U) /**< \brief (MATRIX) Write Protection Status Register */ -#else - #define REG_MATRIX_MCFG0 (*(__IO uint32_t*)0x40088000U) /**< \brief (MATRIX) Master Configuration Register 0 */ - #define REG_MATRIX_MCFG1 (*(__IO uint32_t*)0x40088004U) /**< \brief (MATRIX) Master Configuration Register 1 */ - #define REG_MATRIX_MCFG2 (*(__IO uint32_t*)0x40088008U) /**< \brief (MATRIX) Master Configuration Register 2 */ - #define REG_MATRIX_MCFG3 (*(__IO uint32_t*)0x4008800CU) /**< \brief (MATRIX) Master Configuration Register 3 */ - #define REG_MATRIX_MCFG4 (*(__IO uint32_t*)0x40088010U) /**< \brief (MATRIX) Master Configuration Register 4 */ - #define REG_MATRIX_MCFG5 (*(__IO uint32_t*)0x40088014U) /**< \brief (MATRIX) Master Configuration Register 5 */ - #define REG_MATRIX_MCFG6 (*(__IO uint32_t*)0x40088018U) /**< \brief (MATRIX) Master Configuration Register 6 */ - #define REG_MATRIX_MCFG8 (*(__IO uint32_t*)0x40088020U) /**< \brief (MATRIX) Master Configuration Register 8 */ - #define REG_MATRIX_SCFG (*(__IO uint32_t*)0x40088040U) /**< \brief (MATRIX) Slave Configuration Register */ - #define REG_MATRIX_PRAS0 (*(__IO uint32_t*)0x40088080U) /**< \brief (MATRIX) Priority Register A for Slave 0 */ - #define REG_MATRIX_PRBS0 (*(__IO uint32_t*)0x40088084U) /**< \brief (MATRIX) Priority Register B for Slave 0 */ - #define REG_MATRIX_PRAS1 (*(__IO uint32_t*)0x40088088U) /**< \brief (MATRIX) Priority Register A for Slave 1 */ - #define REG_MATRIX_PRBS1 (*(__IO uint32_t*)0x4008808CU) /**< \brief (MATRIX) Priority Register B for Slave 1 */ - #define REG_MATRIX_PRAS2 (*(__IO uint32_t*)0x40088090U) /**< \brief (MATRIX) Priority Register A for Slave 2 */ - #define REG_MATRIX_PRBS2 (*(__IO uint32_t*)0x40088094U) /**< \brief (MATRIX) Priority Register B for Slave 2 */ - #define REG_MATRIX_PRAS3 (*(__IO uint32_t*)0x40088098U) /**< \brief (MATRIX) Priority Register A for Slave 3 */ - #define REG_MATRIX_PRBS3 (*(__IO uint32_t*)0x4008809CU) /**< \brief (MATRIX) Priority Register B for Slave 3 */ - #define REG_MATRIX_PRAS4 (*(__IO uint32_t*)0x400880A0U) /**< \brief (MATRIX) Priority Register A for Slave 4 */ - #define REG_MATRIX_PRBS4 (*(__IO uint32_t*)0x400880A4U) /**< \brief (MATRIX) Priority Register B for Slave 4 */ - #define REG_MATRIX_PRAS5 (*(__IO uint32_t*)0x400880A8U) /**< \brief (MATRIX) Priority Register A for Slave 5 */ - #define REG_MATRIX_PRBS5 (*(__IO uint32_t*)0x400880ACU) /**< \brief (MATRIX) Priority Register B for Slave 5 */ - #define REG_MATRIX_PRAS6 (*(__IO uint32_t*)0x400880B0U) /**< \brief (MATRIX) Priority Register A for Slave 6 */ - #define REG_MATRIX_PRBS6 (*(__IO uint32_t*)0x400880B4U) /**< \brief (MATRIX) Priority Register B for Slave 6 */ - #define REG_MATRIX_PRAS7 (*(__IO uint32_t*)0x400880B8U) /**< \brief (MATRIX) Priority Register A for Slave 7 */ - #define REG_MATRIX_PRBS7 (*(__IO uint32_t*)0x400880BCU) /**< \brief (MATRIX) Priority Register B for Slave 7 */ - #define REG_MATRIX_PRAS8 (*(__IO uint32_t*)0x400880C0U) /**< \brief (MATRIX) Priority Register A for Slave 8 */ - #define REG_MATRIX_PRBS8 (*(__IO uint32_t*)0x400880C4U) /**< \brief (MATRIX) Priority Register B for Slave 8 */ - #define REG_MATRIX_MRCR (*(__IO uint32_t*)0x40088100U) /**< \brief (MATRIX) Master Remap Control Register */ - #define REG_CCFG_SYSIO (*(__IO uint32_t*)0x40088114U) /**< \brief (MATRIX) System I/O Configuration Register */ - #define REG_CCFG_SMCNFCS (*(__IO uint32_t*)0x40088124U) /**< \brief (MATRIX) SMC NAND Flash Chip Select Configuration Register */ - #define REG_MATRIX_WPMR (*(__IO uint32_t*)0x400881E4U) /**< \brief (MATRIX) Write Protection Mode Register */ - #define REG_MATRIX_WPSR (*(__I uint32_t*)0x400881E8U) /**< \brief (MATRIX) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_MATRIX_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h deleted file mode 100644 index edacbb8..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioa.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOA_INSTANCE_ -#define _SAMS70_PIOA_INSTANCE_ - -/* ========== Register definition for PIOA peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOA_PER (0x400E0E00U) /**< \brief (PIOA) PIO Enable Register */ - #define REG_PIOA_PDR (0x400E0E04U) /**< \brief (PIOA) PIO Disable Register */ - #define REG_PIOA_PSR (0x400E0E08U) /**< \brief (PIOA) PIO Status Register */ - #define REG_PIOA_OER (0x400E0E10U) /**< \brief (PIOA) Output Enable Register */ - #define REG_PIOA_ODR (0x400E0E14U) /**< \brief (PIOA) Output Disable Register */ - #define REG_PIOA_OSR (0x400E0E18U) /**< \brief (PIOA) Output Status Register */ - #define REG_PIOA_IFER (0x400E0E20U) /**< \brief (PIOA) Glitch Input Filter Enable Register */ - #define REG_PIOA_IFDR (0x400E0E24U) /**< \brief (PIOA) Glitch Input Filter Disable Register */ - #define REG_PIOA_IFSR (0x400E0E28U) /**< \brief (PIOA) Glitch Input Filter Status Register */ - #define REG_PIOA_SODR (0x400E0E30U) /**< \brief (PIOA) Set Output Data Register */ - #define REG_PIOA_CODR (0x400E0E34U) /**< \brief (PIOA) Clear Output Data Register */ - #define REG_PIOA_ODSR (0x400E0E38U) /**< \brief (PIOA) Output Data Status Register */ - #define REG_PIOA_PDSR (0x400E0E3CU) /**< \brief (PIOA) Pin Data Status Register */ - #define REG_PIOA_IER (0x400E0E40U) /**< \brief (PIOA) Interrupt Enable Register */ - #define REG_PIOA_IDR (0x400E0E44U) /**< \brief (PIOA) Interrupt Disable Register */ - #define REG_PIOA_IMR (0x400E0E48U) /**< \brief (PIOA) Interrupt Mask Register */ - #define REG_PIOA_ISR (0x400E0E4CU) /**< \brief (PIOA) Interrupt Status Register */ - #define REG_PIOA_MDER (0x400E0E50U) /**< \brief (PIOA) Multi-driver Enable Register */ - #define REG_PIOA_MDDR (0x400E0E54U) /**< \brief (PIOA) Multi-driver Disable Register */ - #define REG_PIOA_MDSR (0x400E0E58U) /**< \brief (PIOA) Multi-driver Status Register */ - #define REG_PIOA_PUDR (0x400E0E60U) /**< \brief (PIOA) Pull-up Disable Register */ - #define REG_PIOA_PUER (0x400E0E64U) /**< \brief (PIOA) Pull-up Enable Register */ - #define REG_PIOA_PUSR (0x400E0E68U) /**< \brief (PIOA) Pad Pull-up Status Register */ - #define REG_PIOA_ABCDSR (0x400E0E70U) /**< \brief (PIOA) Peripheral Select Register */ - #define REG_PIOA_IFSCDR (0x400E0E80U) /**< \brief (PIOA) Input Filter Slow Clock Disable Register */ - #define REG_PIOA_IFSCER (0x400E0E84U) /**< \brief (PIOA) Input Filter Slow Clock Enable Register */ - #define REG_PIOA_IFSCSR (0x400E0E88U) /**< \brief (PIOA) Input Filter Slow Clock Status Register */ - #define REG_PIOA_SCDR (0x400E0E8CU) /**< \brief (PIOA) Slow Clock Divider Debouncing Register */ - #define REG_PIOA_PPDDR (0x400E0E90U) /**< \brief (PIOA) Pad Pull-down Disable Register */ - #define REG_PIOA_PPDER (0x400E0E94U) /**< \brief (PIOA) Pad Pull-down Enable Register */ - #define REG_PIOA_PPDSR (0x400E0E98U) /**< \brief (PIOA) Pad Pull-down Status Register */ - #define REG_PIOA_OWER (0x400E0EA0U) /**< \brief (PIOA) Output Write Enable */ - #define REG_PIOA_OWDR (0x400E0EA4U) /**< \brief (PIOA) Output Write Disable */ - #define REG_PIOA_OWSR (0x400E0EA8U) /**< \brief (PIOA) Output Write Status Register */ - #define REG_PIOA_AIMER (0x400E0EB0U) /**< \brief (PIOA) Additional Interrupt Modes Enable Register */ - #define REG_PIOA_AIMDR (0x400E0EB4U) /**< \brief (PIOA) Additional Interrupt Modes Disable Register */ - #define REG_PIOA_AIMMR (0x400E0EB8U) /**< \brief (PIOA) Additional Interrupt Modes Mask Register */ - #define REG_PIOA_ESR (0x400E0EC0U) /**< \brief (PIOA) Edge Select Register */ - #define REG_PIOA_LSR (0x400E0EC4U) /**< \brief (PIOA) Level Select Register */ - #define REG_PIOA_ELSR (0x400E0EC8U) /**< \brief (PIOA) Edge/Level Status Register */ - #define REG_PIOA_FELLSR (0x400E0ED0U) /**< \brief (PIOA) Falling Edge/Low-Level Select Register */ - #define REG_PIOA_REHLSR (0x400E0ED4U) /**< \brief (PIOA) Rising Edge/High-Level Select Register */ - #define REG_PIOA_FRLHSR (0x400E0ED8U) /**< \brief (PIOA) Fall/Rise - Low/High Status Register */ - #define REG_PIOA_LOCKSR (0x400E0EE0U) /**< \brief (PIOA) Lock Status */ - #define REG_PIOA_WPMR (0x400E0EE4U) /**< \brief (PIOA) Write Protection Mode Register */ - #define REG_PIOA_WPSR (0x400E0EE8U) /**< \brief (PIOA) Write Protection Status Register */ - #define REG_PIOA_SCHMITT (0x400E0F00U) /**< \brief (PIOA) Schmitt Trigger Register */ - #define REG_PIOA_DRIVER (0x400E0F18U) /**< \brief (PIOA) PIO I/O Drive Register */ - #define REG_PIOA_KER (0x400E0F20U) /**< \brief (PIOA) Keypad Controller Enable Register */ - #define REG_PIOA_KRCR (0x400E0F24U) /**< \brief (PIOA) Keypad Controller Row Column Register */ - #define REG_PIOA_KDR (0x400E0F28U) /**< \brief (PIOA) Keypad Controller Debouncing Register */ - #define REG_PIOA_KIER (0x400E0F30U) /**< \brief (PIOA) Keypad Controller Interrupt Enable Register */ - #define REG_PIOA_KIDR (0x400E0F34U) /**< \brief (PIOA) Keypad Controller Interrupt Disable Register */ - #define REG_PIOA_KIMR (0x400E0F38U) /**< \brief (PIOA) Keypad Controller Interrupt Mask Register */ - #define REG_PIOA_KSR (0x400E0F3CU) /**< \brief (PIOA) Keypad Controller Status Register */ - #define REG_PIOA_KKPR (0x400E0F40U) /**< \brief (PIOA) Keypad Controller Key Press Register */ - #define REG_PIOA_KKRR (0x400E0F44U) /**< \brief (PIOA) Keypad Controller Key Release Register */ - #define REG_PIOA_PCMR (0x400E0F50U) /**< \brief (PIOA) Parallel Capture Mode Register */ - #define REG_PIOA_PCIER (0x400E0F54U) /**< \brief (PIOA) Parallel Capture Interrupt Enable Register */ - #define REG_PIOA_PCIDR (0x400E0F58U) /**< \brief (PIOA) Parallel Capture Interrupt Disable Register */ - #define REG_PIOA_PCIMR (0x400E0F5CU) /**< \brief (PIOA) Parallel Capture Interrupt Mask Register */ - #define REG_PIOA_PCISR (0x400E0F60U) /**< \brief (PIOA) Parallel Capture Interrupt Status Register */ - #define REG_PIOA_PCRHR (0x400E0F64U) /**< \brief (PIOA) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOA_PER (*(__O uint32_t*)0x400E0E00U) /**< \brief (PIOA) PIO Enable Register */ - #define REG_PIOA_PDR (*(__O uint32_t*)0x400E0E04U) /**< \brief (PIOA) PIO Disable Register */ - #define REG_PIOA_PSR (*(__I uint32_t*)0x400E0E08U) /**< \brief (PIOA) PIO Status Register */ - #define REG_PIOA_OER (*(__O uint32_t*)0x400E0E10U) /**< \brief (PIOA) Output Enable Register */ - #define REG_PIOA_ODR (*(__O uint32_t*)0x400E0E14U) /**< \brief (PIOA) Output Disable Register */ - #define REG_PIOA_OSR (*(__I uint32_t*)0x400E0E18U) /**< \brief (PIOA) Output Status Register */ - #define REG_PIOA_IFER (*(__O uint32_t*)0x400E0E20U) /**< \brief (PIOA) Glitch Input Filter Enable Register */ - #define REG_PIOA_IFDR (*(__O uint32_t*)0x400E0E24U) /**< \brief (PIOA) Glitch Input Filter Disable Register */ - #define REG_PIOA_IFSR (*(__I uint32_t*)0x400E0E28U) /**< \brief (PIOA) Glitch Input Filter Status Register */ - #define REG_PIOA_SODR (*(__O uint32_t*)0x400E0E30U) /**< \brief (PIOA) Set Output Data Register */ - #define REG_PIOA_CODR (*(__O uint32_t*)0x400E0E34U) /**< \brief (PIOA) Clear Output Data Register */ - #define REG_PIOA_ODSR (*(__IO uint32_t*)0x400E0E38U) /**< \brief (PIOA) Output Data Status Register */ - #define REG_PIOA_PDSR (*(__I uint32_t*)0x400E0E3CU) /**< \brief (PIOA) Pin Data Status Register */ - #define REG_PIOA_IER (*(__O uint32_t*)0x400E0E40U) /**< \brief (PIOA) Interrupt Enable Register */ - #define REG_PIOA_IDR (*(__O uint32_t*)0x400E0E44U) /**< \brief (PIOA) Interrupt Disable Register */ - #define REG_PIOA_IMR (*(__I uint32_t*)0x400E0E48U) /**< \brief (PIOA) Interrupt Mask Register */ - #define REG_PIOA_ISR (*(__I uint32_t*)0x400E0E4CU) /**< \brief (PIOA) Interrupt Status Register */ - #define REG_PIOA_MDER (*(__O uint32_t*)0x400E0E50U) /**< \brief (PIOA) Multi-driver Enable Register */ - #define REG_PIOA_MDDR (*(__O uint32_t*)0x400E0E54U) /**< \brief (PIOA) Multi-driver Disable Register */ - #define REG_PIOA_MDSR (*(__I uint32_t*)0x400E0E58U) /**< \brief (PIOA) Multi-driver Status Register */ - #define REG_PIOA_PUDR (*(__O uint32_t*)0x400E0E60U) /**< \brief (PIOA) Pull-up Disable Register */ - #define REG_PIOA_PUER (*(__O uint32_t*)0x400E0E64U) /**< \brief (PIOA) Pull-up Enable Register */ - #define REG_PIOA_PUSR (*(__I uint32_t*)0x400E0E68U) /**< \brief (PIOA) Pad Pull-up Status Register */ - #define REG_PIOA_ABCDSR (*(__IO uint32_t*)0x400E0E70U) /**< \brief (PIOA) Peripheral Select Register */ - #define REG_PIOA_IFSCDR (*(__O uint32_t*)0x400E0E80U) /**< \brief (PIOA) Input Filter Slow Clock Disable Register */ - #define REG_PIOA_IFSCER (*(__O uint32_t*)0x400E0E84U) /**< \brief (PIOA) Input Filter Slow Clock Enable Register */ - #define REG_PIOA_IFSCSR (*(__I uint32_t*)0x400E0E88U) /**< \brief (PIOA) Input Filter Slow Clock Status Register */ - #define REG_PIOA_SCDR (*(__IO uint32_t*)0x400E0E8CU) /**< \brief (PIOA) Slow Clock Divider Debouncing Register */ - #define REG_PIOA_PPDDR (*(__O uint32_t*)0x400E0E90U) /**< \brief (PIOA) Pad Pull-down Disable Register */ - #define REG_PIOA_PPDER (*(__O uint32_t*)0x400E0E94U) /**< \brief (PIOA) Pad Pull-down Enable Register */ - #define REG_PIOA_PPDSR (*(__I uint32_t*)0x400E0E98U) /**< \brief (PIOA) Pad Pull-down Status Register */ - #define REG_PIOA_OWER (*(__O uint32_t*)0x400E0EA0U) /**< \brief (PIOA) Output Write Enable */ - #define REG_PIOA_OWDR (*(__O uint32_t*)0x400E0EA4U) /**< \brief (PIOA) Output Write Disable */ - #define REG_PIOA_OWSR (*(__I uint32_t*)0x400E0EA8U) /**< \brief (PIOA) Output Write Status Register */ - #define REG_PIOA_AIMER (*(__O uint32_t*)0x400E0EB0U) /**< \brief (PIOA) Additional Interrupt Modes Enable Register */ - #define REG_PIOA_AIMDR (*(__O uint32_t*)0x400E0EB4U) /**< \brief (PIOA) Additional Interrupt Modes Disable Register */ - #define REG_PIOA_AIMMR (*(__I uint32_t*)0x400E0EB8U) /**< \brief (PIOA) Additional Interrupt Modes Mask Register */ - #define REG_PIOA_ESR (*(__O uint32_t*)0x400E0EC0U) /**< \brief (PIOA) Edge Select Register */ - #define REG_PIOA_LSR (*(__O uint32_t*)0x400E0EC4U) /**< \brief (PIOA) Level Select Register */ - #define REG_PIOA_ELSR (*(__I uint32_t*)0x400E0EC8U) /**< \brief (PIOA) Edge/Level Status Register */ - #define REG_PIOA_FELLSR (*(__O uint32_t*)0x400E0ED0U) /**< \brief (PIOA) Falling Edge/Low-Level Select Register */ - #define REG_PIOA_REHLSR (*(__O uint32_t*)0x400E0ED4U) /**< \brief (PIOA) Rising Edge/High-Level Select Register */ - #define REG_PIOA_FRLHSR (*(__I uint32_t*)0x400E0ED8U) /**< \brief (PIOA) Fall/Rise - Low/High Status Register */ - #define REG_PIOA_LOCKSR (*(__I uint32_t*)0x400E0EE0U) /**< \brief (PIOA) Lock Status */ - #define REG_PIOA_WPMR (*(__IO uint32_t*)0x400E0EE4U) /**< \brief (PIOA) Write Protection Mode Register */ - #define REG_PIOA_WPSR (*(__I uint32_t*)0x400E0EE8U) /**< \brief (PIOA) Write Protection Status Register */ - #define REG_PIOA_SCHMITT (*(__IO uint32_t*)0x400E0F00U) /**< \brief (PIOA) Schmitt Trigger Register */ - #define REG_PIOA_DRIVER (*(__IO uint32_t*)0x400E0F18U) /**< \brief (PIOA) PIO I/O Drive Register */ - #define REG_PIOA_KER (*(__IO uint32_t*)0x400E0F20U) /**< \brief (PIOA) Keypad Controller Enable Register */ - #define REG_PIOA_KRCR (*(__IO uint32_t*)0x400E0F24U) /**< \brief (PIOA) Keypad Controller Row Column Register */ - #define REG_PIOA_KDR (*(__IO uint32_t*)0x400E0F28U) /**< \brief (PIOA) Keypad Controller Debouncing Register */ - #define REG_PIOA_KIER (*(__O uint32_t*)0x400E0F30U) /**< \brief (PIOA) Keypad Controller Interrupt Enable Register */ - #define REG_PIOA_KIDR (*(__O uint32_t*)0x400E0F34U) /**< \brief (PIOA) Keypad Controller Interrupt Disable Register */ - #define REG_PIOA_KIMR (*(__I uint32_t*)0x400E0F38U) /**< \brief (PIOA) Keypad Controller Interrupt Mask Register */ - #define REG_PIOA_KSR (*(__I uint32_t*)0x400E0F3CU) /**< \brief (PIOA) Keypad Controller Status Register */ - #define REG_PIOA_KKPR (*(__I uint32_t*)0x400E0F40U) /**< \brief (PIOA) Keypad Controller Key Press Register */ - #define REG_PIOA_KKRR (*(__I uint32_t*)0x400E0F44U) /**< \brief (PIOA) Keypad Controller Key Release Register */ - #define REG_PIOA_PCMR (*(__IO uint32_t*)0x400E0F50U) /**< \brief (PIOA) Parallel Capture Mode Register */ - #define REG_PIOA_PCIER (*(__O uint32_t*)0x400E0F54U) /**< \brief (PIOA) Parallel Capture Interrupt Enable Register */ - #define REG_PIOA_PCIDR (*(__O uint32_t*)0x400E0F58U) /**< \brief (PIOA) Parallel Capture Interrupt Disable Register */ - #define REG_PIOA_PCIMR (*(__I uint32_t*)0x400E0F5CU) /**< \brief (PIOA) Parallel Capture Interrupt Mask Register */ - #define REG_PIOA_PCISR (*(__I uint32_t*)0x400E0F60U) /**< \brief (PIOA) Parallel Capture Interrupt Status Register */ - #define REG_PIOA_PCRHR (*(__I uint32_t*)0x400E0F64U) /**< \brief (PIOA) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOA_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h deleted file mode 100644 index 11cd590..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piob.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOB_INSTANCE_ -#define _SAMS70_PIOB_INSTANCE_ - -/* ========== Register definition for PIOB peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOB_PER (0x400E1000U) /**< \brief (PIOB) PIO Enable Register */ - #define REG_PIOB_PDR (0x400E1004U) /**< \brief (PIOB) PIO Disable Register */ - #define REG_PIOB_PSR (0x400E1008U) /**< \brief (PIOB) PIO Status Register */ - #define REG_PIOB_OER (0x400E1010U) /**< \brief (PIOB) Output Enable Register */ - #define REG_PIOB_ODR (0x400E1014U) /**< \brief (PIOB) Output Disable Register */ - #define REG_PIOB_OSR (0x400E1018U) /**< \brief (PIOB) Output Status Register */ - #define REG_PIOB_IFER (0x400E1020U) /**< \brief (PIOB) Glitch Input Filter Enable Register */ - #define REG_PIOB_IFDR (0x400E1024U) /**< \brief (PIOB) Glitch Input Filter Disable Register */ - #define REG_PIOB_IFSR (0x400E1028U) /**< \brief (PIOB) Glitch Input Filter Status Register */ - #define REG_PIOB_SODR (0x400E1030U) /**< \brief (PIOB) Set Output Data Register */ - #define REG_PIOB_CODR (0x400E1034U) /**< \brief (PIOB) Clear Output Data Register */ - #define REG_PIOB_ODSR (0x400E1038U) /**< \brief (PIOB) Output Data Status Register */ - #define REG_PIOB_PDSR (0x400E103CU) /**< \brief (PIOB) Pin Data Status Register */ - #define REG_PIOB_IER (0x400E1040U) /**< \brief (PIOB) Interrupt Enable Register */ - #define REG_PIOB_IDR (0x400E1044U) /**< \brief (PIOB) Interrupt Disable Register */ - #define REG_PIOB_IMR (0x400E1048U) /**< \brief (PIOB) Interrupt Mask Register */ - #define REG_PIOB_ISR (0x400E104CU) /**< \brief (PIOB) Interrupt Status Register */ - #define REG_PIOB_MDER (0x400E1050U) /**< \brief (PIOB) Multi-driver Enable Register */ - #define REG_PIOB_MDDR (0x400E1054U) /**< \brief (PIOB) Multi-driver Disable Register */ - #define REG_PIOB_MDSR (0x400E1058U) /**< \brief (PIOB) Multi-driver Status Register */ - #define REG_PIOB_PUDR (0x400E1060U) /**< \brief (PIOB) Pull-up Disable Register */ - #define REG_PIOB_PUER (0x400E1064U) /**< \brief (PIOB) Pull-up Enable Register */ - #define REG_PIOB_PUSR (0x400E1068U) /**< \brief (PIOB) Pad Pull-up Status Register */ - #define REG_PIOB_ABCDSR (0x400E1070U) /**< \brief (PIOB) Peripheral Select Register */ - #define REG_PIOB_IFSCDR (0x400E1080U) /**< \brief (PIOB) Input Filter Slow Clock Disable Register */ - #define REG_PIOB_IFSCER (0x400E1084U) /**< \brief (PIOB) Input Filter Slow Clock Enable Register */ - #define REG_PIOB_IFSCSR (0x400E1088U) /**< \brief (PIOB) Input Filter Slow Clock Status Register */ - #define REG_PIOB_SCDR (0x400E108CU) /**< \brief (PIOB) Slow Clock Divider Debouncing Register */ - #define REG_PIOB_PPDDR (0x400E1090U) /**< \brief (PIOB) Pad Pull-down Disable Register */ - #define REG_PIOB_PPDER (0x400E1094U) /**< \brief (PIOB) Pad Pull-down Enable Register */ - #define REG_PIOB_PPDSR (0x400E1098U) /**< \brief (PIOB) Pad Pull-down Status Register */ - #define REG_PIOB_OWER (0x400E10A0U) /**< \brief (PIOB) Output Write Enable */ - #define REG_PIOB_OWDR (0x400E10A4U) /**< \brief (PIOB) Output Write Disable */ - #define REG_PIOB_OWSR (0x400E10A8U) /**< \brief (PIOB) Output Write Status Register */ - #define REG_PIOB_AIMER (0x400E10B0U) /**< \brief (PIOB) Additional Interrupt Modes Enable Register */ - #define REG_PIOB_AIMDR (0x400E10B4U) /**< \brief (PIOB) Additional Interrupt Modes Disable Register */ - #define REG_PIOB_AIMMR (0x400E10B8U) /**< \brief (PIOB) Additional Interrupt Modes Mask Register */ - #define REG_PIOB_ESR (0x400E10C0U) /**< \brief (PIOB) Edge Select Register */ - #define REG_PIOB_LSR (0x400E10C4U) /**< \brief (PIOB) Level Select Register */ - #define REG_PIOB_ELSR (0x400E10C8U) /**< \brief (PIOB) Edge/Level Status Register */ - #define REG_PIOB_FELLSR (0x400E10D0U) /**< \brief (PIOB) Falling Edge/Low-Level Select Register */ - #define REG_PIOB_REHLSR (0x400E10D4U) /**< \brief (PIOB) Rising Edge/High-Level Select Register */ - #define REG_PIOB_FRLHSR (0x400E10D8U) /**< \brief (PIOB) Fall/Rise - Low/High Status Register */ - #define REG_PIOB_LOCKSR (0x400E10E0U) /**< \brief (PIOB) Lock Status */ - #define REG_PIOB_WPMR (0x400E10E4U) /**< \brief (PIOB) Write Protection Mode Register */ - #define REG_PIOB_WPSR (0x400E10E8U) /**< \brief (PIOB) Write Protection Status Register */ - #define REG_PIOB_SCHMITT (0x400E1100U) /**< \brief (PIOB) Schmitt Trigger Register */ - #define REG_PIOB_DRIVER (0x400E1118U) /**< \brief (PIOB) PIO I/O Drive Register */ - #define REG_PIOB_KER (0x400E1120U) /**< \brief (PIOB) Keypad Controller Enable Register */ - #define REG_PIOB_KRCR (0x400E1124U) /**< \brief (PIOB) Keypad Controller Row Column Register */ - #define REG_PIOB_KDR (0x400E1128U) /**< \brief (PIOB) Keypad Controller Debouncing Register */ - #define REG_PIOB_KIER (0x400E1130U) /**< \brief (PIOB) Keypad Controller Interrupt Enable Register */ - #define REG_PIOB_KIDR (0x400E1134U) /**< \brief (PIOB) Keypad Controller Interrupt Disable Register */ - #define REG_PIOB_KIMR (0x400E1138U) /**< \brief (PIOB) Keypad Controller Interrupt Mask Register */ - #define REG_PIOB_KSR (0x400E113CU) /**< \brief (PIOB) Keypad Controller Status Register */ - #define REG_PIOB_KKPR (0x400E1140U) /**< \brief (PIOB) Keypad Controller Key Press Register */ - #define REG_PIOB_KKRR (0x400E1144U) /**< \brief (PIOB) Keypad Controller Key Release Register */ - #define REG_PIOB_PCMR (0x400E1150U) /**< \brief (PIOB) Parallel Capture Mode Register */ - #define REG_PIOB_PCIER (0x400E1154U) /**< \brief (PIOB) Parallel Capture Interrupt Enable Register */ - #define REG_PIOB_PCIDR (0x400E1158U) /**< \brief (PIOB) Parallel Capture Interrupt Disable Register */ - #define REG_PIOB_PCIMR (0x400E115CU) /**< \brief (PIOB) Parallel Capture Interrupt Mask Register */ - #define REG_PIOB_PCISR (0x400E1160U) /**< \brief (PIOB) Parallel Capture Interrupt Status Register */ - #define REG_PIOB_PCRHR (0x400E1164U) /**< \brief (PIOB) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOB_PER (*(__O uint32_t*)0x400E1000U) /**< \brief (PIOB) PIO Enable Register */ - #define REG_PIOB_PDR (*(__O uint32_t*)0x400E1004U) /**< \brief (PIOB) PIO Disable Register */ - #define REG_PIOB_PSR (*(__I uint32_t*)0x400E1008U) /**< \brief (PIOB) PIO Status Register */ - #define REG_PIOB_OER (*(__O uint32_t*)0x400E1010U) /**< \brief (PIOB) Output Enable Register */ - #define REG_PIOB_ODR (*(__O uint32_t*)0x400E1014U) /**< \brief (PIOB) Output Disable Register */ - #define REG_PIOB_OSR (*(__I uint32_t*)0x400E1018U) /**< \brief (PIOB) Output Status Register */ - #define REG_PIOB_IFER (*(__O uint32_t*)0x400E1020U) /**< \brief (PIOB) Glitch Input Filter Enable Register */ - #define REG_PIOB_IFDR (*(__O uint32_t*)0x400E1024U) /**< \brief (PIOB) Glitch Input Filter Disable Register */ - #define REG_PIOB_IFSR (*(__I uint32_t*)0x400E1028U) /**< \brief (PIOB) Glitch Input Filter Status Register */ - #define REG_PIOB_SODR (*(__O uint32_t*)0x400E1030U) /**< \brief (PIOB) Set Output Data Register */ - #define REG_PIOB_CODR (*(__O uint32_t*)0x400E1034U) /**< \brief (PIOB) Clear Output Data Register */ - #define REG_PIOB_ODSR (*(__IO uint32_t*)0x400E1038U) /**< \brief (PIOB) Output Data Status Register */ - #define REG_PIOB_PDSR (*(__I uint32_t*)0x400E103CU) /**< \brief (PIOB) Pin Data Status Register */ - #define REG_PIOB_IER (*(__O uint32_t*)0x400E1040U) /**< \brief (PIOB) Interrupt Enable Register */ - #define REG_PIOB_IDR (*(__O uint32_t*)0x400E1044U) /**< \brief (PIOB) Interrupt Disable Register */ - #define REG_PIOB_IMR (*(__I uint32_t*)0x400E1048U) /**< \brief (PIOB) Interrupt Mask Register */ - #define REG_PIOB_ISR (*(__I uint32_t*)0x400E104CU) /**< \brief (PIOB) Interrupt Status Register */ - #define REG_PIOB_MDER (*(__O uint32_t*)0x400E1050U) /**< \brief (PIOB) Multi-driver Enable Register */ - #define REG_PIOB_MDDR (*(__O uint32_t*)0x400E1054U) /**< \brief (PIOB) Multi-driver Disable Register */ - #define REG_PIOB_MDSR (*(__I uint32_t*)0x400E1058U) /**< \brief (PIOB) Multi-driver Status Register */ - #define REG_PIOB_PUDR (*(__O uint32_t*)0x400E1060U) /**< \brief (PIOB) Pull-up Disable Register */ - #define REG_PIOB_PUER (*(__O uint32_t*)0x400E1064U) /**< \brief (PIOB) Pull-up Enable Register */ - #define REG_PIOB_PUSR (*(__I uint32_t*)0x400E1068U) /**< \brief (PIOB) Pad Pull-up Status Register */ - #define REG_PIOB_ABCDSR (*(__IO uint32_t*)0x400E1070U) /**< \brief (PIOB) Peripheral Select Register */ - #define REG_PIOB_IFSCDR (*(__O uint32_t*)0x400E1080U) /**< \brief (PIOB) Input Filter Slow Clock Disable Register */ - #define REG_PIOB_IFSCER (*(__O uint32_t*)0x400E1084U) /**< \brief (PIOB) Input Filter Slow Clock Enable Register */ - #define REG_PIOB_IFSCSR (*(__I uint32_t*)0x400E1088U) /**< \brief (PIOB) Input Filter Slow Clock Status Register */ - #define REG_PIOB_SCDR (*(__IO uint32_t*)0x400E108CU) /**< \brief (PIOB) Slow Clock Divider Debouncing Register */ - #define REG_PIOB_PPDDR (*(__O uint32_t*)0x400E1090U) /**< \brief (PIOB) Pad Pull-down Disable Register */ - #define REG_PIOB_PPDER (*(__O uint32_t*)0x400E1094U) /**< \brief (PIOB) Pad Pull-down Enable Register */ - #define REG_PIOB_PPDSR (*(__I uint32_t*)0x400E1098U) /**< \brief (PIOB) Pad Pull-down Status Register */ - #define REG_PIOB_OWER (*(__O uint32_t*)0x400E10A0U) /**< \brief (PIOB) Output Write Enable */ - #define REG_PIOB_OWDR (*(__O uint32_t*)0x400E10A4U) /**< \brief (PIOB) Output Write Disable */ - #define REG_PIOB_OWSR (*(__I uint32_t*)0x400E10A8U) /**< \brief (PIOB) Output Write Status Register */ - #define REG_PIOB_AIMER (*(__O uint32_t*)0x400E10B0U) /**< \brief (PIOB) Additional Interrupt Modes Enable Register */ - #define REG_PIOB_AIMDR (*(__O uint32_t*)0x400E10B4U) /**< \brief (PIOB) Additional Interrupt Modes Disable Register */ - #define REG_PIOB_AIMMR (*(__I uint32_t*)0x400E10B8U) /**< \brief (PIOB) Additional Interrupt Modes Mask Register */ - #define REG_PIOB_ESR (*(__O uint32_t*)0x400E10C0U) /**< \brief (PIOB) Edge Select Register */ - #define REG_PIOB_LSR (*(__O uint32_t*)0x400E10C4U) /**< \brief (PIOB) Level Select Register */ - #define REG_PIOB_ELSR (*(__I uint32_t*)0x400E10C8U) /**< \brief (PIOB) Edge/Level Status Register */ - #define REG_PIOB_FELLSR (*(__O uint32_t*)0x400E10D0U) /**< \brief (PIOB) Falling Edge/Low-Level Select Register */ - #define REG_PIOB_REHLSR (*(__O uint32_t*)0x400E10D4U) /**< \brief (PIOB) Rising Edge/High-Level Select Register */ - #define REG_PIOB_FRLHSR (*(__I uint32_t*)0x400E10D8U) /**< \brief (PIOB) Fall/Rise - Low/High Status Register */ - #define REG_PIOB_LOCKSR (*(__I uint32_t*)0x400E10E0U) /**< \brief (PIOB) Lock Status */ - #define REG_PIOB_WPMR (*(__IO uint32_t*)0x400E10E4U) /**< \brief (PIOB) Write Protection Mode Register */ - #define REG_PIOB_WPSR (*(__I uint32_t*)0x400E10E8U) /**< \brief (PIOB) Write Protection Status Register */ - #define REG_PIOB_SCHMITT (*(__IO uint32_t*)0x400E1100U) /**< \brief (PIOB) Schmitt Trigger Register */ - #define REG_PIOB_DRIVER (*(__IO uint32_t*)0x400E1118U) /**< \brief (PIOB) PIO I/O Drive Register */ - #define REG_PIOB_KER (*(__IO uint32_t*)0x400E1120U) /**< \brief (PIOB) Keypad Controller Enable Register */ - #define REG_PIOB_KRCR (*(__IO uint32_t*)0x400E1124U) /**< \brief (PIOB) Keypad Controller Row Column Register */ - #define REG_PIOB_KDR (*(__IO uint32_t*)0x400E1128U) /**< \brief (PIOB) Keypad Controller Debouncing Register */ - #define REG_PIOB_KIER (*(__O uint32_t*)0x400E1130U) /**< \brief (PIOB) Keypad Controller Interrupt Enable Register */ - #define REG_PIOB_KIDR (*(__O uint32_t*)0x400E1134U) /**< \brief (PIOB) Keypad Controller Interrupt Disable Register */ - #define REG_PIOB_KIMR (*(__I uint32_t*)0x400E1138U) /**< \brief (PIOB) Keypad Controller Interrupt Mask Register */ - #define REG_PIOB_KSR (*(__I uint32_t*)0x400E113CU) /**< \brief (PIOB) Keypad Controller Status Register */ - #define REG_PIOB_KKPR (*(__I uint32_t*)0x400E1140U) /**< \brief (PIOB) Keypad Controller Key Press Register */ - #define REG_PIOB_KKRR (*(__I uint32_t*)0x400E1144U) /**< \brief (PIOB) Keypad Controller Key Release Register */ - #define REG_PIOB_PCMR (*(__IO uint32_t*)0x400E1150U) /**< \brief (PIOB) Parallel Capture Mode Register */ - #define REG_PIOB_PCIER (*(__O uint32_t*)0x400E1154U) /**< \brief (PIOB) Parallel Capture Interrupt Enable Register */ - #define REG_PIOB_PCIDR (*(__O uint32_t*)0x400E1158U) /**< \brief (PIOB) Parallel Capture Interrupt Disable Register */ - #define REG_PIOB_PCIMR (*(__I uint32_t*)0x400E115CU) /**< \brief (PIOB) Parallel Capture Interrupt Mask Register */ - #define REG_PIOB_PCISR (*(__I uint32_t*)0x400E1160U) /**< \brief (PIOB) Parallel Capture Interrupt Status Register */ - #define REG_PIOB_PCRHR (*(__I uint32_t*)0x400E1164U) /**< \brief (PIOB) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOB_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h deleted file mode 100644 index 6d0d928..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioc.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOC_INSTANCE_ -#define _SAMS70_PIOC_INSTANCE_ - -/* ========== Register definition for PIOC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOC_PER (0x400E1200U) /**< \brief (PIOC) PIO Enable Register */ - #define REG_PIOC_PDR (0x400E1204U) /**< \brief (PIOC) PIO Disable Register */ - #define REG_PIOC_PSR (0x400E1208U) /**< \brief (PIOC) PIO Status Register */ - #define REG_PIOC_OER (0x400E1210U) /**< \brief (PIOC) Output Enable Register */ - #define REG_PIOC_ODR (0x400E1214U) /**< \brief (PIOC) Output Disable Register */ - #define REG_PIOC_OSR (0x400E1218U) /**< \brief (PIOC) Output Status Register */ - #define REG_PIOC_IFER (0x400E1220U) /**< \brief (PIOC) Glitch Input Filter Enable Register */ - #define REG_PIOC_IFDR (0x400E1224U) /**< \brief (PIOC) Glitch Input Filter Disable Register */ - #define REG_PIOC_IFSR (0x400E1228U) /**< \brief (PIOC) Glitch Input Filter Status Register */ - #define REG_PIOC_SODR (0x400E1230U) /**< \brief (PIOC) Set Output Data Register */ - #define REG_PIOC_CODR (0x400E1234U) /**< \brief (PIOC) Clear Output Data Register */ - #define REG_PIOC_ODSR (0x400E1238U) /**< \brief (PIOC) Output Data Status Register */ - #define REG_PIOC_PDSR (0x400E123CU) /**< \brief (PIOC) Pin Data Status Register */ - #define REG_PIOC_IER (0x400E1240U) /**< \brief (PIOC) Interrupt Enable Register */ - #define REG_PIOC_IDR (0x400E1244U) /**< \brief (PIOC) Interrupt Disable Register */ - #define REG_PIOC_IMR (0x400E1248U) /**< \brief (PIOC) Interrupt Mask Register */ - #define REG_PIOC_ISR (0x400E124CU) /**< \brief (PIOC) Interrupt Status Register */ - #define REG_PIOC_MDER (0x400E1250U) /**< \brief (PIOC) Multi-driver Enable Register */ - #define REG_PIOC_MDDR (0x400E1254U) /**< \brief (PIOC) Multi-driver Disable Register */ - #define REG_PIOC_MDSR (0x400E1258U) /**< \brief (PIOC) Multi-driver Status Register */ - #define REG_PIOC_PUDR (0x400E1260U) /**< \brief (PIOC) Pull-up Disable Register */ - #define REG_PIOC_PUER (0x400E1264U) /**< \brief (PIOC) Pull-up Enable Register */ - #define REG_PIOC_PUSR (0x400E1268U) /**< \brief (PIOC) Pad Pull-up Status Register */ - #define REG_PIOC_ABCDSR (0x400E1270U) /**< \brief (PIOC) Peripheral Select Register */ - #define REG_PIOC_IFSCDR (0x400E1280U) /**< \brief (PIOC) Input Filter Slow Clock Disable Register */ - #define REG_PIOC_IFSCER (0x400E1284U) /**< \brief (PIOC) Input Filter Slow Clock Enable Register */ - #define REG_PIOC_IFSCSR (0x400E1288U) /**< \brief (PIOC) Input Filter Slow Clock Status Register */ - #define REG_PIOC_SCDR (0x400E128CU) /**< \brief (PIOC) Slow Clock Divider Debouncing Register */ - #define REG_PIOC_PPDDR (0x400E1290U) /**< \brief (PIOC) Pad Pull-down Disable Register */ - #define REG_PIOC_PPDER (0x400E1294U) /**< \brief (PIOC) Pad Pull-down Enable Register */ - #define REG_PIOC_PPDSR (0x400E1298U) /**< \brief (PIOC) Pad Pull-down Status Register */ - #define REG_PIOC_OWER (0x400E12A0U) /**< \brief (PIOC) Output Write Enable */ - #define REG_PIOC_OWDR (0x400E12A4U) /**< \brief (PIOC) Output Write Disable */ - #define REG_PIOC_OWSR (0x400E12A8U) /**< \brief (PIOC) Output Write Status Register */ - #define REG_PIOC_AIMER (0x400E12B0U) /**< \brief (PIOC) Additional Interrupt Modes Enable Register */ - #define REG_PIOC_AIMDR (0x400E12B4U) /**< \brief (PIOC) Additional Interrupt Modes Disable Register */ - #define REG_PIOC_AIMMR (0x400E12B8U) /**< \brief (PIOC) Additional Interrupt Modes Mask Register */ - #define REG_PIOC_ESR (0x400E12C0U) /**< \brief (PIOC) Edge Select Register */ - #define REG_PIOC_LSR (0x400E12C4U) /**< \brief (PIOC) Level Select Register */ - #define REG_PIOC_ELSR (0x400E12C8U) /**< \brief (PIOC) Edge/Level Status Register */ - #define REG_PIOC_FELLSR (0x400E12D0U) /**< \brief (PIOC) Falling Edge/Low-Level Select Register */ - #define REG_PIOC_REHLSR (0x400E12D4U) /**< \brief (PIOC) Rising Edge/High-Level Select Register */ - #define REG_PIOC_FRLHSR (0x400E12D8U) /**< \brief (PIOC) Fall/Rise - Low/High Status Register */ - #define REG_PIOC_LOCKSR (0x400E12E0U) /**< \brief (PIOC) Lock Status */ - #define REG_PIOC_WPMR (0x400E12E4U) /**< \brief (PIOC) Write Protection Mode Register */ - #define REG_PIOC_WPSR (0x400E12E8U) /**< \brief (PIOC) Write Protection Status Register */ - #define REG_PIOC_SCHMITT (0x400E1300U) /**< \brief (PIOC) Schmitt Trigger Register */ - #define REG_PIOC_DRIVER (0x400E1318U) /**< \brief (PIOC) PIO I/O Drive Register */ - #define REG_PIOC_KER (0x400E1320U) /**< \brief (PIOC) Keypad Controller Enable Register */ - #define REG_PIOC_KRCR (0x400E1324U) /**< \brief (PIOC) Keypad Controller Row Column Register */ - #define REG_PIOC_KDR (0x400E1328U) /**< \brief (PIOC) Keypad Controller Debouncing Register */ - #define REG_PIOC_KIER (0x400E1330U) /**< \brief (PIOC) Keypad Controller Interrupt Enable Register */ - #define REG_PIOC_KIDR (0x400E1334U) /**< \brief (PIOC) Keypad Controller Interrupt Disable Register */ - #define REG_PIOC_KIMR (0x400E1338U) /**< \brief (PIOC) Keypad Controller Interrupt Mask Register */ - #define REG_PIOC_KSR (0x400E133CU) /**< \brief (PIOC) Keypad Controller Status Register */ - #define REG_PIOC_KKPR (0x400E1340U) /**< \brief (PIOC) Keypad Controller Key Press Register */ - #define REG_PIOC_KKRR (0x400E1344U) /**< \brief (PIOC) Keypad Controller Key Release Register */ - #define REG_PIOC_PCMR (0x400E1350U) /**< \brief (PIOC) Parallel Capture Mode Register */ - #define REG_PIOC_PCIER (0x400E1354U) /**< \brief (PIOC) Parallel Capture Interrupt Enable Register */ - #define REG_PIOC_PCIDR (0x400E1358U) /**< \brief (PIOC) Parallel Capture Interrupt Disable Register */ - #define REG_PIOC_PCIMR (0x400E135CU) /**< \brief (PIOC) Parallel Capture Interrupt Mask Register */ - #define REG_PIOC_PCISR (0x400E1360U) /**< \brief (PIOC) Parallel Capture Interrupt Status Register */ - #define REG_PIOC_PCRHR (0x400E1364U) /**< \brief (PIOC) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOC_PER (*(__O uint32_t*)0x400E1200U) /**< \brief (PIOC) PIO Enable Register */ - #define REG_PIOC_PDR (*(__O uint32_t*)0x400E1204U) /**< \brief (PIOC) PIO Disable Register */ - #define REG_PIOC_PSR (*(__I uint32_t*)0x400E1208U) /**< \brief (PIOC) PIO Status Register */ - #define REG_PIOC_OER (*(__O uint32_t*)0x400E1210U) /**< \brief (PIOC) Output Enable Register */ - #define REG_PIOC_ODR (*(__O uint32_t*)0x400E1214U) /**< \brief (PIOC) Output Disable Register */ - #define REG_PIOC_OSR (*(__I uint32_t*)0x400E1218U) /**< \brief (PIOC) Output Status Register */ - #define REG_PIOC_IFER (*(__O uint32_t*)0x400E1220U) /**< \brief (PIOC) Glitch Input Filter Enable Register */ - #define REG_PIOC_IFDR (*(__O uint32_t*)0x400E1224U) /**< \brief (PIOC) Glitch Input Filter Disable Register */ - #define REG_PIOC_IFSR (*(__I uint32_t*)0x400E1228U) /**< \brief (PIOC) Glitch Input Filter Status Register */ - #define REG_PIOC_SODR (*(__O uint32_t*)0x400E1230U) /**< \brief (PIOC) Set Output Data Register */ - #define REG_PIOC_CODR (*(__O uint32_t*)0x400E1234U) /**< \brief (PIOC) Clear Output Data Register */ - #define REG_PIOC_ODSR (*(__IO uint32_t*)0x400E1238U) /**< \brief (PIOC) Output Data Status Register */ - #define REG_PIOC_PDSR (*(__I uint32_t*)0x400E123CU) /**< \brief (PIOC) Pin Data Status Register */ - #define REG_PIOC_IER (*(__O uint32_t*)0x400E1240U) /**< \brief (PIOC) Interrupt Enable Register */ - #define REG_PIOC_IDR (*(__O uint32_t*)0x400E1244U) /**< \brief (PIOC) Interrupt Disable Register */ - #define REG_PIOC_IMR (*(__I uint32_t*)0x400E1248U) /**< \brief (PIOC) Interrupt Mask Register */ - #define REG_PIOC_ISR (*(__I uint32_t*)0x400E124CU) /**< \brief (PIOC) Interrupt Status Register */ - #define REG_PIOC_MDER (*(__O uint32_t*)0x400E1250U) /**< \brief (PIOC) Multi-driver Enable Register */ - #define REG_PIOC_MDDR (*(__O uint32_t*)0x400E1254U) /**< \brief (PIOC) Multi-driver Disable Register */ - #define REG_PIOC_MDSR (*(__I uint32_t*)0x400E1258U) /**< \brief (PIOC) Multi-driver Status Register */ - #define REG_PIOC_PUDR (*(__O uint32_t*)0x400E1260U) /**< \brief (PIOC) Pull-up Disable Register */ - #define REG_PIOC_PUER (*(__O uint32_t*)0x400E1264U) /**< \brief (PIOC) Pull-up Enable Register */ - #define REG_PIOC_PUSR (*(__I uint32_t*)0x400E1268U) /**< \brief (PIOC) Pad Pull-up Status Register */ - #define REG_PIOC_ABCDSR (*(__IO uint32_t*)0x400E1270U) /**< \brief (PIOC) Peripheral Select Register */ - #define REG_PIOC_IFSCDR (*(__O uint32_t*)0x400E1280U) /**< \brief (PIOC) Input Filter Slow Clock Disable Register */ - #define REG_PIOC_IFSCER (*(__O uint32_t*)0x400E1284U) /**< \brief (PIOC) Input Filter Slow Clock Enable Register */ - #define REG_PIOC_IFSCSR (*(__I uint32_t*)0x400E1288U) /**< \brief (PIOC) Input Filter Slow Clock Status Register */ - #define REG_PIOC_SCDR (*(__IO uint32_t*)0x400E128CU) /**< \brief (PIOC) Slow Clock Divider Debouncing Register */ - #define REG_PIOC_PPDDR (*(__O uint32_t*)0x400E1290U) /**< \brief (PIOC) Pad Pull-down Disable Register */ - #define REG_PIOC_PPDER (*(__O uint32_t*)0x400E1294U) /**< \brief (PIOC) Pad Pull-down Enable Register */ - #define REG_PIOC_PPDSR (*(__I uint32_t*)0x400E1298U) /**< \brief (PIOC) Pad Pull-down Status Register */ - #define REG_PIOC_OWER (*(__O uint32_t*)0x400E12A0U) /**< \brief (PIOC) Output Write Enable */ - #define REG_PIOC_OWDR (*(__O uint32_t*)0x400E12A4U) /**< \brief (PIOC) Output Write Disable */ - #define REG_PIOC_OWSR (*(__I uint32_t*)0x400E12A8U) /**< \brief (PIOC) Output Write Status Register */ - #define REG_PIOC_AIMER (*(__O uint32_t*)0x400E12B0U) /**< \brief (PIOC) Additional Interrupt Modes Enable Register */ - #define REG_PIOC_AIMDR (*(__O uint32_t*)0x400E12B4U) /**< \brief (PIOC) Additional Interrupt Modes Disable Register */ - #define REG_PIOC_AIMMR (*(__I uint32_t*)0x400E12B8U) /**< \brief (PIOC) Additional Interrupt Modes Mask Register */ - #define REG_PIOC_ESR (*(__O uint32_t*)0x400E12C0U) /**< \brief (PIOC) Edge Select Register */ - #define REG_PIOC_LSR (*(__O uint32_t*)0x400E12C4U) /**< \brief (PIOC) Level Select Register */ - #define REG_PIOC_ELSR (*(__I uint32_t*)0x400E12C8U) /**< \brief (PIOC) Edge/Level Status Register */ - #define REG_PIOC_FELLSR (*(__O uint32_t*)0x400E12D0U) /**< \brief (PIOC) Falling Edge/Low-Level Select Register */ - #define REG_PIOC_REHLSR (*(__O uint32_t*)0x400E12D4U) /**< \brief (PIOC) Rising Edge/High-Level Select Register */ - #define REG_PIOC_FRLHSR (*(__I uint32_t*)0x400E12D8U) /**< \brief (PIOC) Fall/Rise - Low/High Status Register */ - #define REG_PIOC_LOCKSR (*(__I uint32_t*)0x400E12E0U) /**< \brief (PIOC) Lock Status */ - #define REG_PIOC_WPMR (*(__IO uint32_t*)0x400E12E4U) /**< \brief (PIOC) Write Protection Mode Register */ - #define REG_PIOC_WPSR (*(__I uint32_t*)0x400E12E8U) /**< \brief (PIOC) Write Protection Status Register */ - #define REG_PIOC_SCHMITT (*(__IO uint32_t*)0x400E1300U) /**< \brief (PIOC) Schmitt Trigger Register */ - #define REG_PIOC_DRIVER (*(__IO uint32_t*)0x400E1318U) /**< \brief (PIOC) PIO I/O Drive Register */ - #define REG_PIOC_KER (*(__IO uint32_t*)0x400E1320U) /**< \brief (PIOC) Keypad Controller Enable Register */ - #define REG_PIOC_KRCR (*(__IO uint32_t*)0x400E1324U) /**< \brief (PIOC) Keypad Controller Row Column Register */ - #define REG_PIOC_KDR (*(__IO uint32_t*)0x400E1328U) /**< \brief (PIOC) Keypad Controller Debouncing Register */ - #define REG_PIOC_KIER (*(__O uint32_t*)0x400E1330U) /**< \brief (PIOC) Keypad Controller Interrupt Enable Register */ - #define REG_PIOC_KIDR (*(__O uint32_t*)0x400E1334U) /**< \brief (PIOC) Keypad Controller Interrupt Disable Register */ - #define REG_PIOC_KIMR (*(__I uint32_t*)0x400E1338U) /**< \brief (PIOC) Keypad Controller Interrupt Mask Register */ - #define REG_PIOC_KSR (*(__I uint32_t*)0x400E133CU) /**< \brief (PIOC) Keypad Controller Status Register */ - #define REG_PIOC_KKPR (*(__I uint32_t*)0x400E1340U) /**< \brief (PIOC) Keypad Controller Key Press Register */ - #define REG_PIOC_KKRR (*(__I uint32_t*)0x400E1344U) /**< \brief (PIOC) Keypad Controller Key Release Register */ - #define REG_PIOC_PCMR (*(__IO uint32_t*)0x400E1350U) /**< \brief (PIOC) Parallel Capture Mode Register */ - #define REG_PIOC_PCIER (*(__O uint32_t*)0x400E1354U) /**< \brief (PIOC) Parallel Capture Interrupt Enable Register */ - #define REG_PIOC_PCIDR (*(__O uint32_t*)0x400E1358U) /**< \brief (PIOC) Parallel Capture Interrupt Disable Register */ - #define REG_PIOC_PCIMR (*(__I uint32_t*)0x400E135CU) /**< \brief (PIOC) Parallel Capture Interrupt Mask Register */ - #define REG_PIOC_PCISR (*(__I uint32_t*)0x400E1360U) /**< \brief (PIOC) Parallel Capture Interrupt Status Register */ - #define REG_PIOC_PCRHR (*(__I uint32_t*)0x400E1364U) /**< \brief (PIOC) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h deleted file mode 100644 index 46d6f11..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/piod.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOD_INSTANCE_ -#define _SAMS70_PIOD_INSTANCE_ - -/* ========== Register definition for PIOD peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOD_PER (0x400E1400U) /**< \brief (PIOD) PIO Enable Register */ - #define REG_PIOD_PDR (0x400E1404U) /**< \brief (PIOD) PIO Disable Register */ - #define REG_PIOD_PSR (0x400E1408U) /**< \brief (PIOD) PIO Status Register */ - #define REG_PIOD_OER (0x400E1410U) /**< \brief (PIOD) Output Enable Register */ - #define REG_PIOD_ODR (0x400E1414U) /**< \brief (PIOD) Output Disable Register */ - #define REG_PIOD_OSR (0x400E1418U) /**< \brief (PIOD) Output Status Register */ - #define REG_PIOD_IFER (0x400E1420U) /**< \brief (PIOD) Glitch Input Filter Enable Register */ - #define REG_PIOD_IFDR (0x400E1424U) /**< \brief (PIOD) Glitch Input Filter Disable Register */ - #define REG_PIOD_IFSR (0x400E1428U) /**< \brief (PIOD) Glitch Input Filter Status Register */ - #define REG_PIOD_SODR (0x400E1430U) /**< \brief (PIOD) Set Output Data Register */ - #define REG_PIOD_CODR (0x400E1434U) /**< \brief (PIOD) Clear Output Data Register */ - #define REG_PIOD_ODSR (0x400E1438U) /**< \brief (PIOD) Output Data Status Register */ - #define REG_PIOD_PDSR (0x400E143CU) /**< \brief (PIOD) Pin Data Status Register */ - #define REG_PIOD_IER (0x400E1440U) /**< \brief (PIOD) Interrupt Enable Register */ - #define REG_PIOD_IDR (0x400E1444U) /**< \brief (PIOD) Interrupt Disable Register */ - #define REG_PIOD_IMR (0x400E1448U) /**< \brief (PIOD) Interrupt Mask Register */ - #define REG_PIOD_ISR (0x400E144CU) /**< \brief (PIOD) Interrupt Status Register */ - #define REG_PIOD_MDER (0x400E1450U) /**< \brief (PIOD) Multi-driver Enable Register */ - #define REG_PIOD_MDDR (0x400E1454U) /**< \brief (PIOD) Multi-driver Disable Register */ - #define REG_PIOD_MDSR (0x400E1458U) /**< \brief (PIOD) Multi-driver Status Register */ - #define REG_PIOD_PUDR (0x400E1460U) /**< \brief (PIOD) Pull-up Disable Register */ - #define REG_PIOD_PUER (0x400E1464U) /**< \brief (PIOD) Pull-up Enable Register */ - #define REG_PIOD_PUSR (0x400E1468U) /**< \brief (PIOD) Pad Pull-up Status Register */ - #define REG_PIOD_ABCDSR (0x400E1470U) /**< \brief (PIOD) Peripheral Select Register */ - #define REG_PIOD_IFSCDR (0x400E1480U) /**< \brief (PIOD) Input Filter Slow Clock Disable Register */ - #define REG_PIOD_IFSCER (0x400E1484U) /**< \brief (PIOD) Input Filter Slow Clock Enable Register */ - #define REG_PIOD_IFSCSR (0x400E1488U) /**< \brief (PIOD) Input Filter Slow Clock Status Register */ - #define REG_PIOD_SCDR (0x400E148CU) /**< \brief (PIOD) Slow Clock Divider Debouncing Register */ - #define REG_PIOD_PPDDR (0x400E1490U) /**< \brief (PIOD) Pad Pull-down Disable Register */ - #define REG_PIOD_PPDER (0x400E1494U) /**< \brief (PIOD) Pad Pull-down Enable Register */ - #define REG_PIOD_PPDSR (0x400E1498U) /**< \brief (PIOD) Pad Pull-down Status Register */ - #define REG_PIOD_OWER (0x400E14A0U) /**< \brief (PIOD) Output Write Enable */ - #define REG_PIOD_OWDR (0x400E14A4U) /**< \brief (PIOD) Output Write Disable */ - #define REG_PIOD_OWSR (0x400E14A8U) /**< \brief (PIOD) Output Write Status Register */ - #define REG_PIOD_AIMER (0x400E14B0U) /**< \brief (PIOD) Additional Interrupt Modes Enable Register */ - #define REG_PIOD_AIMDR (0x400E14B4U) /**< \brief (PIOD) Additional Interrupt Modes Disable Register */ - #define REG_PIOD_AIMMR (0x400E14B8U) /**< \brief (PIOD) Additional Interrupt Modes Mask Register */ - #define REG_PIOD_ESR (0x400E14C0U) /**< \brief (PIOD) Edge Select Register */ - #define REG_PIOD_LSR (0x400E14C4U) /**< \brief (PIOD) Level Select Register */ - #define REG_PIOD_ELSR (0x400E14C8U) /**< \brief (PIOD) Edge/Level Status Register */ - #define REG_PIOD_FELLSR (0x400E14D0U) /**< \brief (PIOD) Falling Edge/Low-Level Select Register */ - #define REG_PIOD_REHLSR (0x400E14D4U) /**< \brief (PIOD) Rising Edge/High-Level Select Register */ - #define REG_PIOD_FRLHSR (0x400E14D8U) /**< \brief (PIOD) Fall/Rise - Low/High Status Register */ - #define REG_PIOD_LOCKSR (0x400E14E0U) /**< \brief (PIOD) Lock Status */ - #define REG_PIOD_WPMR (0x400E14E4U) /**< \brief (PIOD) Write Protection Mode Register */ - #define REG_PIOD_WPSR (0x400E14E8U) /**< \brief (PIOD) Write Protection Status Register */ - #define REG_PIOD_SCHMITT (0x400E1500U) /**< \brief (PIOD) Schmitt Trigger Register */ - #define REG_PIOD_DRIVER (0x400E1518U) /**< \brief (PIOD) PIO I/O Drive Register */ - #define REG_PIOD_KER (0x400E1520U) /**< \brief (PIOD) Keypad Controller Enable Register */ - #define REG_PIOD_KRCR (0x400E1524U) /**< \brief (PIOD) Keypad Controller Row Column Register */ - #define REG_PIOD_KDR (0x400E1528U) /**< \brief (PIOD) Keypad Controller Debouncing Register */ - #define REG_PIOD_KIER (0x400E1530U) /**< \brief (PIOD) Keypad Controller Interrupt Enable Register */ - #define REG_PIOD_KIDR (0x400E1534U) /**< \brief (PIOD) Keypad Controller Interrupt Disable Register */ - #define REG_PIOD_KIMR (0x400E1538U) /**< \brief (PIOD) Keypad Controller Interrupt Mask Register */ - #define REG_PIOD_KSR (0x400E153CU) /**< \brief (PIOD) Keypad Controller Status Register */ - #define REG_PIOD_KKPR (0x400E1540U) /**< \brief (PIOD) Keypad Controller Key Press Register */ - #define REG_PIOD_KKRR (0x400E1544U) /**< \brief (PIOD) Keypad Controller Key Release Register */ - #define REG_PIOD_PCMR (0x400E1550U) /**< \brief (PIOD) Parallel Capture Mode Register */ - #define REG_PIOD_PCIER (0x400E1554U) /**< \brief (PIOD) Parallel Capture Interrupt Enable Register */ - #define REG_PIOD_PCIDR (0x400E1558U) /**< \brief (PIOD) Parallel Capture Interrupt Disable Register */ - #define REG_PIOD_PCIMR (0x400E155CU) /**< \brief (PIOD) Parallel Capture Interrupt Mask Register */ - #define REG_PIOD_PCISR (0x400E1560U) /**< \brief (PIOD) Parallel Capture Interrupt Status Register */ - #define REG_PIOD_PCRHR (0x400E1564U) /**< \brief (PIOD) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOD_PER (*(__O uint32_t*)0x400E1400U) /**< \brief (PIOD) PIO Enable Register */ - #define REG_PIOD_PDR (*(__O uint32_t*)0x400E1404U) /**< \brief (PIOD) PIO Disable Register */ - #define REG_PIOD_PSR (*(__I uint32_t*)0x400E1408U) /**< \brief (PIOD) PIO Status Register */ - #define REG_PIOD_OER (*(__O uint32_t*)0x400E1410U) /**< \brief (PIOD) Output Enable Register */ - #define REG_PIOD_ODR (*(__O uint32_t*)0x400E1414U) /**< \brief (PIOD) Output Disable Register */ - #define REG_PIOD_OSR (*(__I uint32_t*)0x400E1418U) /**< \brief (PIOD) Output Status Register */ - #define REG_PIOD_IFER (*(__O uint32_t*)0x400E1420U) /**< \brief (PIOD) Glitch Input Filter Enable Register */ - #define REG_PIOD_IFDR (*(__O uint32_t*)0x400E1424U) /**< \brief (PIOD) Glitch Input Filter Disable Register */ - #define REG_PIOD_IFSR (*(__I uint32_t*)0x400E1428U) /**< \brief (PIOD) Glitch Input Filter Status Register */ - #define REG_PIOD_SODR (*(__O uint32_t*)0x400E1430U) /**< \brief (PIOD) Set Output Data Register */ - #define REG_PIOD_CODR (*(__O uint32_t*)0x400E1434U) /**< \brief (PIOD) Clear Output Data Register */ - #define REG_PIOD_ODSR (*(__IO uint32_t*)0x400E1438U) /**< \brief (PIOD) Output Data Status Register */ - #define REG_PIOD_PDSR (*(__I uint32_t*)0x400E143CU) /**< \brief (PIOD) Pin Data Status Register */ - #define REG_PIOD_IER (*(__O uint32_t*)0x400E1440U) /**< \brief (PIOD) Interrupt Enable Register */ - #define REG_PIOD_IDR (*(__O uint32_t*)0x400E1444U) /**< \brief (PIOD) Interrupt Disable Register */ - #define REG_PIOD_IMR (*(__I uint32_t*)0x400E1448U) /**< \brief (PIOD) Interrupt Mask Register */ - #define REG_PIOD_ISR (*(__I uint32_t*)0x400E144CU) /**< \brief (PIOD) Interrupt Status Register */ - #define REG_PIOD_MDER (*(__O uint32_t*)0x400E1450U) /**< \brief (PIOD) Multi-driver Enable Register */ - #define REG_PIOD_MDDR (*(__O uint32_t*)0x400E1454U) /**< \brief (PIOD) Multi-driver Disable Register */ - #define REG_PIOD_MDSR (*(__I uint32_t*)0x400E1458U) /**< \brief (PIOD) Multi-driver Status Register */ - #define REG_PIOD_PUDR (*(__O uint32_t*)0x400E1460U) /**< \brief (PIOD) Pull-up Disable Register */ - #define REG_PIOD_PUER (*(__O uint32_t*)0x400E1464U) /**< \brief (PIOD) Pull-up Enable Register */ - #define REG_PIOD_PUSR (*(__I uint32_t*)0x400E1468U) /**< \brief (PIOD) Pad Pull-up Status Register */ - #define REG_PIOD_ABCDSR (*(__IO uint32_t*)0x400E1470U) /**< \brief (PIOD) Peripheral Select Register */ - #define REG_PIOD_IFSCDR (*(__O uint32_t*)0x400E1480U) /**< \brief (PIOD) Input Filter Slow Clock Disable Register */ - #define REG_PIOD_IFSCER (*(__O uint32_t*)0x400E1484U) /**< \brief (PIOD) Input Filter Slow Clock Enable Register */ - #define REG_PIOD_IFSCSR (*(__I uint32_t*)0x400E1488U) /**< \brief (PIOD) Input Filter Slow Clock Status Register */ - #define REG_PIOD_SCDR (*(__IO uint32_t*)0x400E148CU) /**< \brief (PIOD) Slow Clock Divider Debouncing Register */ - #define REG_PIOD_PPDDR (*(__O uint32_t*)0x400E1490U) /**< \brief (PIOD) Pad Pull-down Disable Register */ - #define REG_PIOD_PPDER (*(__O uint32_t*)0x400E1494U) /**< \brief (PIOD) Pad Pull-down Enable Register */ - #define REG_PIOD_PPDSR (*(__I uint32_t*)0x400E1498U) /**< \brief (PIOD) Pad Pull-down Status Register */ - #define REG_PIOD_OWER (*(__O uint32_t*)0x400E14A0U) /**< \brief (PIOD) Output Write Enable */ - #define REG_PIOD_OWDR (*(__O uint32_t*)0x400E14A4U) /**< \brief (PIOD) Output Write Disable */ - #define REG_PIOD_OWSR (*(__I uint32_t*)0x400E14A8U) /**< \brief (PIOD) Output Write Status Register */ - #define REG_PIOD_AIMER (*(__O uint32_t*)0x400E14B0U) /**< \brief (PIOD) Additional Interrupt Modes Enable Register */ - #define REG_PIOD_AIMDR (*(__O uint32_t*)0x400E14B4U) /**< \brief (PIOD) Additional Interrupt Modes Disable Register */ - #define REG_PIOD_AIMMR (*(__I uint32_t*)0x400E14B8U) /**< \brief (PIOD) Additional Interrupt Modes Mask Register */ - #define REG_PIOD_ESR (*(__O uint32_t*)0x400E14C0U) /**< \brief (PIOD) Edge Select Register */ - #define REG_PIOD_LSR (*(__O uint32_t*)0x400E14C4U) /**< \brief (PIOD) Level Select Register */ - #define REG_PIOD_ELSR (*(__I uint32_t*)0x400E14C8U) /**< \brief (PIOD) Edge/Level Status Register */ - #define REG_PIOD_FELLSR (*(__O uint32_t*)0x400E14D0U) /**< \brief (PIOD) Falling Edge/Low-Level Select Register */ - #define REG_PIOD_REHLSR (*(__O uint32_t*)0x400E14D4U) /**< \brief (PIOD) Rising Edge/High-Level Select Register */ - #define REG_PIOD_FRLHSR (*(__I uint32_t*)0x400E14D8U) /**< \brief (PIOD) Fall/Rise - Low/High Status Register */ - #define REG_PIOD_LOCKSR (*(__I uint32_t*)0x400E14E0U) /**< \brief (PIOD) Lock Status */ - #define REG_PIOD_WPMR (*(__IO uint32_t*)0x400E14E4U) /**< \brief (PIOD) Write Protection Mode Register */ - #define REG_PIOD_WPSR (*(__I uint32_t*)0x400E14E8U) /**< \brief (PIOD) Write Protection Status Register */ - #define REG_PIOD_SCHMITT (*(__IO uint32_t*)0x400E1500U) /**< \brief (PIOD) Schmitt Trigger Register */ - #define REG_PIOD_DRIVER (*(__IO uint32_t*)0x400E1518U) /**< \brief (PIOD) PIO I/O Drive Register */ - #define REG_PIOD_KER (*(__IO uint32_t*)0x400E1520U) /**< \brief (PIOD) Keypad Controller Enable Register */ - #define REG_PIOD_KRCR (*(__IO uint32_t*)0x400E1524U) /**< \brief (PIOD) Keypad Controller Row Column Register */ - #define REG_PIOD_KDR (*(__IO uint32_t*)0x400E1528U) /**< \brief (PIOD) Keypad Controller Debouncing Register */ - #define REG_PIOD_KIER (*(__O uint32_t*)0x400E1530U) /**< \brief (PIOD) Keypad Controller Interrupt Enable Register */ - #define REG_PIOD_KIDR (*(__O uint32_t*)0x400E1534U) /**< \brief (PIOD) Keypad Controller Interrupt Disable Register */ - #define REG_PIOD_KIMR (*(__I uint32_t*)0x400E1538U) /**< \brief (PIOD) Keypad Controller Interrupt Mask Register */ - #define REG_PIOD_KSR (*(__I uint32_t*)0x400E153CU) /**< \brief (PIOD) Keypad Controller Status Register */ - #define REG_PIOD_KKPR (*(__I uint32_t*)0x400E1540U) /**< \brief (PIOD) Keypad Controller Key Press Register */ - #define REG_PIOD_KKRR (*(__I uint32_t*)0x400E1544U) /**< \brief (PIOD) Keypad Controller Key Release Register */ - #define REG_PIOD_PCMR (*(__IO uint32_t*)0x400E1550U) /**< \brief (PIOD) Parallel Capture Mode Register */ - #define REG_PIOD_PCIER (*(__O uint32_t*)0x400E1554U) /**< \brief (PIOD) Parallel Capture Interrupt Enable Register */ - #define REG_PIOD_PCIDR (*(__O uint32_t*)0x400E1558U) /**< \brief (PIOD) Parallel Capture Interrupt Disable Register */ - #define REG_PIOD_PCIMR (*(__I uint32_t*)0x400E155CU) /**< \brief (PIOD) Parallel Capture Interrupt Mask Register */ - #define REG_PIOD_PCISR (*(__I uint32_t*)0x400E1560U) /**< \brief (PIOD) Parallel Capture Interrupt Status Register */ - #define REG_PIOD_PCRHR (*(__I uint32_t*)0x400E1564U) /**< \brief (PIOD) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOD_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h deleted file mode 100644 index 4f44c5d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pioe.h +++ /dev/null @@ -1,179 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PIOE_INSTANCE_ -#define _SAMS70_PIOE_INSTANCE_ - -/* ========== Register definition for PIOE peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PIOE_PER (0x400E1600U) /**< \brief (PIOE) PIO Enable Register */ - #define REG_PIOE_PDR (0x400E1604U) /**< \brief (PIOE) PIO Disable Register */ - #define REG_PIOE_PSR (0x400E1608U) /**< \brief (PIOE) PIO Status Register */ - #define REG_PIOE_OER (0x400E1610U) /**< \brief (PIOE) Output Enable Register */ - #define REG_PIOE_ODR (0x400E1614U) /**< \brief (PIOE) Output Disable Register */ - #define REG_PIOE_OSR (0x400E1618U) /**< \brief (PIOE) Output Status Register */ - #define REG_PIOE_IFER (0x400E1620U) /**< \brief (PIOE) Glitch Input Filter Enable Register */ - #define REG_PIOE_IFDR (0x400E1624U) /**< \brief (PIOE) Glitch Input Filter Disable Register */ - #define REG_PIOE_IFSR (0x400E1628U) /**< \brief (PIOE) Glitch Input Filter Status Register */ - #define REG_PIOE_SODR (0x400E1630U) /**< \brief (PIOE) Set Output Data Register */ - #define REG_PIOE_CODR (0x400E1634U) /**< \brief (PIOE) Clear Output Data Register */ - #define REG_PIOE_ODSR (0x400E1638U) /**< \brief (PIOE) Output Data Status Register */ - #define REG_PIOE_PDSR (0x400E163CU) /**< \brief (PIOE) Pin Data Status Register */ - #define REG_PIOE_IER (0x400E1640U) /**< \brief (PIOE) Interrupt Enable Register */ - #define REG_PIOE_IDR (0x400E1644U) /**< \brief (PIOE) Interrupt Disable Register */ - #define REG_PIOE_IMR (0x400E1648U) /**< \brief (PIOE) Interrupt Mask Register */ - #define REG_PIOE_ISR (0x400E164CU) /**< \brief (PIOE) Interrupt Status Register */ - #define REG_PIOE_MDER (0x400E1650U) /**< \brief (PIOE) Multi-driver Enable Register */ - #define REG_PIOE_MDDR (0x400E1654U) /**< \brief (PIOE) Multi-driver Disable Register */ - #define REG_PIOE_MDSR (0x400E1658U) /**< \brief (PIOE) Multi-driver Status Register */ - #define REG_PIOE_PUDR (0x400E1660U) /**< \brief (PIOE) Pull-up Disable Register */ - #define REG_PIOE_PUER (0x400E1664U) /**< \brief (PIOE) Pull-up Enable Register */ - #define REG_PIOE_PUSR (0x400E1668U) /**< \brief (PIOE) Pad Pull-up Status Register */ - #define REG_PIOE_ABCDSR (0x400E1670U) /**< \brief (PIOE) Peripheral Select Register */ - #define REG_PIOE_IFSCDR (0x400E1680U) /**< \brief (PIOE) Input Filter Slow Clock Disable Register */ - #define REG_PIOE_IFSCER (0x400E1684U) /**< \brief (PIOE) Input Filter Slow Clock Enable Register */ - #define REG_PIOE_IFSCSR (0x400E1688U) /**< \brief (PIOE) Input Filter Slow Clock Status Register */ - #define REG_PIOE_SCDR (0x400E168CU) /**< \brief (PIOE) Slow Clock Divider Debouncing Register */ - #define REG_PIOE_PPDDR (0x400E1690U) /**< \brief (PIOE) Pad Pull-down Disable Register */ - #define REG_PIOE_PPDER (0x400E1694U) /**< \brief (PIOE) Pad Pull-down Enable Register */ - #define REG_PIOE_PPDSR (0x400E1698U) /**< \brief (PIOE) Pad Pull-down Status Register */ - #define REG_PIOE_OWER (0x400E16A0U) /**< \brief (PIOE) Output Write Enable */ - #define REG_PIOE_OWDR (0x400E16A4U) /**< \brief (PIOE) Output Write Disable */ - #define REG_PIOE_OWSR (0x400E16A8U) /**< \brief (PIOE) Output Write Status Register */ - #define REG_PIOE_AIMER (0x400E16B0U) /**< \brief (PIOE) Additional Interrupt Modes Enable Register */ - #define REG_PIOE_AIMDR (0x400E16B4U) /**< \brief (PIOE) Additional Interrupt Modes Disable Register */ - #define REG_PIOE_AIMMR (0x400E16B8U) /**< \brief (PIOE) Additional Interrupt Modes Mask Register */ - #define REG_PIOE_ESR (0x400E16C0U) /**< \brief (PIOE) Edge Select Register */ - #define REG_PIOE_LSR (0x400E16C4U) /**< \brief (PIOE) Level Select Register */ - #define REG_PIOE_ELSR (0x400E16C8U) /**< \brief (PIOE) Edge/Level Status Register */ - #define REG_PIOE_FELLSR (0x400E16D0U) /**< \brief (PIOE) Falling Edge/Low-Level Select Register */ - #define REG_PIOE_REHLSR (0x400E16D4U) /**< \brief (PIOE) Rising Edge/High-Level Select Register */ - #define REG_PIOE_FRLHSR (0x400E16D8U) /**< \brief (PIOE) Fall/Rise - Low/High Status Register */ - #define REG_PIOE_LOCKSR (0x400E16E0U) /**< \brief (PIOE) Lock Status */ - #define REG_PIOE_WPMR (0x400E16E4U) /**< \brief (PIOE) Write Protection Mode Register */ - #define REG_PIOE_WPSR (0x400E16E8U) /**< \brief (PIOE) Write Protection Status Register */ - #define REG_PIOE_SCHMITT (0x400E1700U) /**< \brief (PIOE) Schmitt Trigger Register */ - #define REG_PIOE_DRIVER (0x400E1718U) /**< \brief (PIOE) PIO I/O Drive Register */ - #define REG_PIOE_KER (0x400E1720U) /**< \brief (PIOE) Keypad Controller Enable Register */ - #define REG_PIOE_KRCR (0x400E1724U) /**< \brief (PIOE) Keypad Controller Row Column Register */ - #define REG_PIOE_KDR (0x400E1728U) /**< \brief (PIOE) Keypad Controller Debouncing Register */ - #define REG_PIOE_KIER (0x400E1730U) /**< \brief (PIOE) Keypad Controller Interrupt Enable Register */ - #define REG_PIOE_KIDR (0x400E1734U) /**< \brief (PIOE) Keypad Controller Interrupt Disable Register */ - #define REG_PIOE_KIMR (0x400E1738U) /**< \brief (PIOE) Keypad Controller Interrupt Mask Register */ - #define REG_PIOE_KSR (0x400E173CU) /**< \brief (PIOE) Keypad Controller Status Register */ - #define REG_PIOE_KKPR (0x400E1740U) /**< \brief (PIOE) Keypad Controller Key Press Register */ - #define REG_PIOE_KKRR (0x400E1744U) /**< \brief (PIOE) Keypad Controller Key Release Register */ - #define REG_PIOE_PCMR (0x400E1750U) /**< \brief (PIOE) Parallel Capture Mode Register */ - #define REG_PIOE_PCIER (0x400E1754U) /**< \brief (PIOE) Parallel Capture Interrupt Enable Register */ - #define REG_PIOE_PCIDR (0x400E1758U) /**< \brief (PIOE) Parallel Capture Interrupt Disable Register */ - #define REG_PIOE_PCIMR (0x400E175CU) /**< \brief (PIOE) Parallel Capture Interrupt Mask Register */ - #define REG_PIOE_PCISR (0x400E1760U) /**< \brief (PIOE) Parallel Capture Interrupt Status Register */ - #define REG_PIOE_PCRHR (0x400E1764U) /**< \brief (PIOE) Parallel Capture Reception Holding Register */ -#else - #define REG_PIOE_PER (*(__O uint32_t*)0x400E1600U) /**< \brief (PIOE) PIO Enable Register */ - #define REG_PIOE_PDR (*(__O uint32_t*)0x400E1604U) /**< \brief (PIOE) PIO Disable Register */ - #define REG_PIOE_PSR (*(__I uint32_t*)0x400E1608U) /**< \brief (PIOE) PIO Status Register */ - #define REG_PIOE_OER (*(__O uint32_t*)0x400E1610U) /**< \brief (PIOE) Output Enable Register */ - #define REG_PIOE_ODR (*(__O uint32_t*)0x400E1614U) /**< \brief (PIOE) Output Disable Register */ - #define REG_PIOE_OSR (*(__I uint32_t*)0x400E1618U) /**< \brief (PIOE) Output Status Register */ - #define REG_PIOE_IFER (*(__O uint32_t*)0x400E1620U) /**< \brief (PIOE) Glitch Input Filter Enable Register */ - #define REG_PIOE_IFDR (*(__O uint32_t*)0x400E1624U) /**< \brief (PIOE) Glitch Input Filter Disable Register */ - #define REG_PIOE_IFSR (*(__I uint32_t*)0x400E1628U) /**< \brief (PIOE) Glitch Input Filter Status Register */ - #define REG_PIOE_SODR (*(__O uint32_t*)0x400E1630U) /**< \brief (PIOE) Set Output Data Register */ - #define REG_PIOE_CODR (*(__O uint32_t*)0x400E1634U) /**< \brief (PIOE) Clear Output Data Register */ - #define REG_PIOE_ODSR (*(__IO uint32_t*)0x400E1638U) /**< \brief (PIOE) Output Data Status Register */ - #define REG_PIOE_PDSR (*(__I uint32_t*)0x400E163CU) /**< \brief (PIOE) Pin Data Status Register */ - #define REG_PIOE_IER (*(__O uint32_t*)0x400E1640U) /**< \brief (PIOE) Interrupt Enable Register */ - #define REG_PIOE_IDR (*(__O uint32_t*)0x400E1644U) /**< \brief (PIOE) Interrupt Disable Register */ - #define REG_PIOE_IMR (*(__I uint32_t*)0x400E1648U) /**< \brief (PIOE) Interrupt Mask Register */ - #define REG_PIOE_ISR (*(__I uint32_t*)0x400E164CU) /**< \brief (PIOE) Interrupt Status Register */ - #define REG_PIOE_MDER (*(__O uint32_t*)0x400E1650U) /**< \brief (PIOE) Multi-driver Enable Register */ - #define REG_PIOE_MDDR (*(__O uint32_t*)0x400E1654U) /**< \brief (PIOE) Multi-driver Disable Register */ - #define REG_PIOE_MDSR (*(__I uint32_t*)0x400E1658U) /**< \brief (PIOE) Multi-driver Status Register */ - #define REG_PIOE_PUDR (*(__O uint32_t*)0x400E1660U) /**< \brief (PIOE) Pull-up Disable Register */ - #define REG_PIOE_PUER (*(__O uint32_t*)0x400E1664U) /**< \brief (PIOE) Pull-up Enable Register */ - #define REG_PIOE_PUSR (*(__I uint32_t*)0x400E1668U) /**< \brief (PIOE) Pad Pull-up Status Register */ - #define REG_PIOE_ABCDSR (*(__IO uint32_t*)0x400E1670U) /**< \brief (PIOE) Peripheral Select Register */ - #define REG_PIOE_IFSCDR (*(__O uint32_t*)0x400E1680U) /**< \brief (PIOE) Input Filter Slow Clock Disable Register */ - #define REG_PIOE_IFSCER (*(__O uint32_t*)0x400E1684U) /**< \brief (PIOE) Input Filter Slow Clock Enable Register */ - #define REG_PIOE_IFSCSR (*(__I uint32_t*)0x400E1688U) /**< \brief (PIOE) Input Filter Slow Clock Status Register */ - #define REG_PIOE_SCDR (*(__IO uint32_t*)0x400E168CU) /**< \brief (PIOE) Slow Clock Divider Debouncing Register */ - #define REG_PIOE_PPDDR (*(__O uint32_t*)0x400E1690U) /**< \brief (PIOE) Pad Pull-down Disable Register */ - #define REG_PIOE_PPDER (*(__O uint32_t*)0x400E1694U) /**< \brief (PIOE) Pad Pull-down Enable Register */ - #define REG_PIOE_PPDSR (*(__I uint32_t*)0x400E1698U) /**< \brief (PIOE) Pad Pull-down Status Register */ - #define REG_PIOE_OWER (*(__O uint32_t*)0x400E16A0U) /**< \brief (PIOE) Output Write Enable */ - #define REG_PIOE_OWDR (*(__O uint32_t*)0x400E16A4U) /**< \brief (PIOE) Output Write Disable */ - #define REG_PIOE_OWSR (*(__I uint32_t*)0x400E16A8U) /**< \brief (PIOE) Output Write Status Register */ - #define REG_PIOE_AIMER (*(__O uint32_t*)0x400E16B0U) /**< \brief (PIOE) Additional Interrupt Modes Enable Register */ - #define REG_PIOE_AIMDR (*(__O uint32_t*)0x400E16B4U) /**< \brief (PIOE) Additional Interrupt Modes Disable Register */ - #define REG_PIOE_AIMMR (*(__I uint32_t*)0x400E16B8U) /**< \brief (PIOE) Additional Interrupt Modes Mask Register */ - #define REG_PIOE_ESR (*(__O uint32_t*)0x400E16C0U) /**< \brief (PIOE) Edge Select Register */ - #define REG_PIOE_LSR (*(__O uint32_t*)0x400E16C4U) /**< \brief (PIOE) Level Select Register */ - #define REG_PIOE_ELSR (*(__I uint32_t*)0x400E16C8U) /**< \brief (PIOE) Edge/Level Status Register */ - #define REG_PIOE_FELLSR (*(__O uint32_t*)0x400E16D0U) /**< \brief (PIOE) Falling Edge/Low-Level Select Register */ - #define REG_PIOE_REHLSR (*(__O uint32_t*)0x400E16D4U) /**< \brief (PIOE) Rising Edge/High-Level Select Register */ - #define REG_PIOE_FRLHSR (*(__I uint32_t*)0x400E16D8U) /**< \brief (PIOE) Fall/Rise - Low/High Status Register */ - #define REG_PIOE_LOCKSR (*(__I uint32_t*)0x400E16E0U) /**< \brief (PIOE) Lock Status */ - #define REG_PIOE_WPMR (*(__IO uint32_t*)0x400E16E4U) /**< \brief (PIOE) Write Protection Mode Register */ - #define REG_PIOE_WPSR (*(__I uint32_t*)0x400E16E8U) /**< \brief (PIOE) Write Protection Status Register */ - #define REG_PIOE_SCHMITT (*(__IO uint32_t*)0x400E1700U) /**< \brief (PIOE) Schmitt Trigger Register */ - #define REG_PIOE_DRIVER (*(__IO uint32_t*)0x400E1718U) /**< \brief (PIOE) PIO I/O Drive Register */ - #define REG_PIOE_KER (*(__IO uint32_t*)0x400E1720U) /**< \brief (PIOE) Keypad Controller Enable Register */ - #define REG_PIOE_KRCR (*(__IO uint32_t*)0x400E1724U) /**< \brief (PIOE) Keypad Controller Row Column Register */ - #define REG_PIOE_KDR (*(__IO uint32_t*)0x400E1728U) /**< \brief (PIOE) Keypad Controller Debouncing Register */ - #define REG_PIOE_KIER (*(__O uint32_t*)0x400E1730U) /**< \brief (PIOE) Keypad Controller Interrupt Enable Register */ - #define REG_PIOE_KIDR (*(__O uint32_t*)0x400E1734U) /**< \brief (PIOE) Keypad Controller Interrupt Disable Register */ - #define REG_PIOE_KIMR (*(__I uint32_t*)0x400E1738U) /**< \brief (PIOE) Keypad Controller Interrupt Mask Register */ - #define REG_PIOE_KSR (*(__I uint32_t*)0x400E173CU) /**< \brief (PIOE) Keypad Controller Status Register */ - #define REG_PIOE_KKPR (*(__I uint32_t*)0x400E1740U) /**< \brief (PIOE) Keypad Controller Key Press Register */ - #define REG_PIOE_KKRR (*(__I uint32_t*)0x400E1744U) /**< \brief (PIOE) Keypad Controller Key Release Register */ - #define REG_PIOE_PCMR (*(__IO uint32_t*)0x400E1750U) /**< \brief (PIOE) Parallel Capture Mode Register */ - #define REG_PIOE_PCIER (*(__O uint32_t*)0x400E1754U) /**< \brief (PIOE) Parallel Capture Interrupt Enable Register */ - #define REG_PIOE_PCIDR (*(__O uint32_t*)0x400E1758U) /**< \brief (PIOE) Parallel Capture Interrupt Disable Register */ - #define REG_PIOE_PCIMR (*(__I uint32_t*)0x400E175CU) /**< \brief (PIOE) Parallel Capture Interrupt Mask Register */ - #define REG_PIOE_PCISR (*(__I uint32_t*)0x400E1760U) /**< \brief (PIOE) Parallel Capture Interrupt Status Register */ - #define REG_PIOE_PCRHR (*(__I uint32_t*)0x400E1764U) /**< \brief (PIOE) Parallel Capture Reception Holding Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PIOE_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h deleted file mode 100644 index 2a2ade3..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pmc.h +++ /dev/null @@ -1,125 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PMC_INSTANCE_ -#define _SAMS70_PMC_INSTANCE_ - -/* ========== Register definition for PMC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PMC_SCER (0x400E0600U) /**< \brief (PMC) System Clock Enable Register */ - #define REG_PMC_SCDR (0x400E0604U) /**< \brief (PMC) System Clock Disable Register */ - #define REG_PMC_SCSR (0x400E0608U) /**< \brief (PMC) System Clock Status Register */ - #define REG_PMC_PCER0 (0x400E0610U) /**< \brief (PMC) Peripheral Clock Enable Register 0 */ - #define REG_PMC_PCDR0 (0x400E0614U) /**< \brief (PMC) Peripheral Clock Disable Register 0 */ - #define REG_PMC_PCSR0 (0x400E0618U) /**< \brief (PMC) Peripheral Clock Status Register 0 */ - #define REG_CKGR_UCKR (0x400E061CU) /**< \brief (PMC) UTMI Clock Register */ - #define REG_CKGR_MOR (0x400E0620U) /**< \brief (PMC) Main Oscillator Register */ - #define REG_CKGR_MCFR (0x400E0624U) /**< \brief (PMC) Main Clock Frequency Register */ - #define REG_CKGR_PLLAR (0x400E0628U) /**< \brief (PMC) PLLA Register */ - #define REG_PMC_MCKR (0x400E0630U) /**< \brief (PMC) Master Clock Register */ - #define REG_PMC_USB (0x400E0638U) /**< \brief (PMC) USB Clock Register */ - #define REG_PMC_PCK (0x400E0640U) /**< \brief (PMC) Programmable Clock 0 Register */ - #define REG_PMC_IER (0x400E0660U) /**< \brief (PMC) Interrupt Enable Register */ - #define REG_PMC_IDR (0x400E0664U) /**< \brief (PMC) Interrupt Disable Register */ - #define REG_PMC_SR (0x400E0668U) /**< \brief (PMC) Status Register */ - #define REG_PMC_IMR (0x400E066CU) /**< \brief (PMC) Interrupt Mask Register */ - #define REG_PMC_FSMR (0x400E0670U) /**< \brief (PMC) Fast Startup Mode Register */ - #define REG_PMC_FSPR (0x400E0674U) /**< \brief (PMC) Fast Startup Polarity Register */ - #define REG_PMC_FOCR (0x400E0678U) /**< \brief (PMC) Fault Output Clear Register */ - #define REG_PMC_WPMR (0x400E06E4U) /**< \brief (PMC) Write Protection Mode Register */ - #define REG_PMC_WPSR (0x400E06E8U) /**< \brief (PMC) Write Protection Status Register */ - #define REG_PMC_PCER1 (0x400E0700U) /**< \brief (PMC) Peripheral Clock Enable Register 1 */ - #define REG_PMC_PCDR1 (0x400E0704U) /**< \brief (PMC) Peripheral Clock Disable Register 1 */ - #define REG_PMC_PCSR1 (0x400E0708U) /**< \brief (PMC) Peripheral Clock Status Register 1 */ - #define REG_PMC_PCR (0x400E070CU) /**< \brief (PMC) Peripheral Control Register */ - #define REG_PMC_OCR (0x400E0710U) /**< \brief (PMC) Oscillator Calibration Register */ - #define REG_PMC_SLPWK_ER0 (0x400E0714U) /**< \brief (PMC) SleepWalking Enable Register 0 */ - #define REG_PMC_SLPWK_DR0 (0x400E0718U) /**< \brief (PMC) SleepWalking Disable Register 0 */ - #define REG_PMC_SLPWK_SR0 (0x400E071CU) /**< \brief (PMC) SleepWalking Status Register 0 */ - #define REG_PMC_SLPWK_ASR0 (0x400E0720U) /**< \brief (PMC) SleepWalking Activity Status Register 0 */ - #define REG_PMC_SLPWK_ER1 (0x400E0734U) /**< \brief (PMC) SleepWalking Enable Register 1 */ - #define REG_PMC_SLPWK_DR1 (0x400E0738U) /**< \brief (PMC) SleepWalking Disable Register 1 */ - #define REG_PMC_SLPWK_SR1 (0x400E073CU) /**< \brief (PMC) SleepWalking Status Register 1 */ - #define REG_PMC_SLPWK_ASR1 (0x400E0740U) /**< \brief (PMC) SleepWalking Activity Status Register 1 */ - #define REG_PMC_SLPWK_AIPR (0x400E0744U) /**< \brief (PMC) SleepWalking Activity In Progress Register */ -#else - #define REG_PMC_SCER (*(__O uint32_t*)0x400E0600U) /**< \brief (PMC) System Clock Enable Register */ - #define REG_PMC_SCDR (*(__O uint32_t*)0x400E0604U) /**< \brief (PMC) System Clock Disable Register */ - #define REG_PMC_SCSR (*(__I uint32_t*)0x400E0608U) /**< \brief (PMC) System Clock Status Register */ - #define REG_PMC_PCER0 (*(__O uint32_t*)0x400E0610U) /**< \brief (PMC) Peripheral Clock Enable Register 0 */ - #define REG_PMC_PCDR0 (*(__O uint32_t*)0x400E0614U) /**< \brief (PMC) Peripheral Clock Disable Register 0 */ - #define REG_PMC_PCSR0 (*(__I uint32_t*)0x400E0618U) /**< \brief (PMC) Peripheral Clock Status Register 0 */ - #define REG_CKGR_UCKR (*(__IO uint32_t*)0x400E061CU) /**< \brief (PMC) UTMI Clock Register */ - #define REG_CKGR_MOR (*(__IO uint32_t*)0x400E0620U) /**< \brief (PMC) Main Oscillator Register */ - #define REG_CKGR_MCFR (*(__IO uint32_t*)0x400E0624U) /**< \brief (PMC) Main Clock Frequency Register */ - #define REG_CKGR_PLLAR (*(__IO uint32_t*)0x400E0628U) /**< \brief (PMC) PLLA Register */ - #define REG_PMC_MCKR (*(__IO uint32_t*)0x400E0630U) /**< \brief (PMC) Master Clock Register */ - #define REG_PMC_USB (*(__IO uint32_t*)0x400E0638U) /**< \brief (PMC) USB Clock Register */ - #define REG_PMC_PCK (*(__IO uint32_t*)0x400E0640U) /**< \brief (PMC) Programmable Clock 0 Register */ - #define REG_PMC_IER (*(__O uint32_t*)0x400E0660U) /**< \brief (PMC) Interrupt Enable Register */ - #define REG_PMC_IDR (*(__O uint32_t*)0x400E0664U) /**< \brief (PMC) Interrupt Disable Register */ - #define REG_PMC_SR (*(__I uint32_t*)0x400E0668U) /**< \brief (PMC) Status Register */ - #define REG_PMC_IMR (*(__I uint32_t*)0x400E066CU) /**< \brief (PMC) Interrupt Mask Register */ - #define REG_PMC_FSMR (*(__IO uint32_t*)0x400E0670U) /**< \brief (PMC) Fast Startup Mode Register */ - #define REG_PMC_FSPR (*(__IO uint32_t*)0x400E0674U) /**< \brief (PMC) Fast Startup Polarity Register */ - #define REG_PMC_FOCR (*(__O uint32_t*)0x400E0678U) /**< \brief (PMC) Fault Output Clear Register */ - #define REG_PMC_WPMR (*(__IO uint32_t*)0x400E06E4U) /**< \brief (PMC) Write Protection Mode Register */ - #define REG_PMC_WPSR (*(__I uint32_t*)0x400E06E8U) /**< \brief (PMC) Write Protection Status Register */ - #define REG_PMC_PCER1 (*(__O uint32_t*)0x400E0700U) /**< \brief (PMC) Peripheral Clock Enable Register 1 */ - #define REG_PMC_PCDR1 (*(__O uint32_t*)0x400E0704U) /**< \brief (PMC) Peripheral Clock Disable Register 1 */ - #define REG_PMC_PCSR1 (*(__I uint32_t*)0x400E0708U) /**< \brief (PMC) Peripheral Clock Status Register 1 */ - #define REG_PMC_PCR (*(__IO uint32_t*)0x400E070CU) /**< \brief (PMC) Peripheral Control Register */ - #define REG_PMC_OCR (*(__IO uint32_t*)0x400E0710U) /**< \brief (PMC) Oscillator Calibration Register */ - #define REG_PMC_SLPWK_ER0 (*(__O uint32_t*)0x400E0714U) /**< \brief (PMC) SleepWalking Enable Register 0 */ - #define REG_PMC_SLPWK_DR0 (*(__O uint32_t*)0x400E0718U) /**< \brief (PMC) SleepWalking Disable Register 0 */ - #define REG_PMC_SLPWK_SR0 (*(__I uint32_t*)0x400E071CU) /**< \brief (PMC) SleepWalking Status Register 0 */ - #define REG_PMC_SLPWK_ASR0 (*(__I uint32_t*)0x400E0720U) /**< \brief (PMC) SleepWalking Activity Status Register 0 */ - #define REG_PMC_SLPWK_ER1 (*(__O uint32_t*)0x400E0734U) /**< \brief (PMC) SleepWalking Enable Register 1 */ - #define REG_PMC_SLPWK_DR1 (*(__O uint32_t*)0x400E0738U) /**< \brief (PMC) SleepWalking Disable Register 1 */ - #define REG_PMC_SLPWK_SR1 (*(__I uint32_t*)0x400E073CU) /**< \brief (PMC) SleepWalking Status Register 1 */ - #define REG_PMC_SLPWK_ASR1 (*(__I uint32_t*)0x400E0740U) /**< \brief (PMC) SleepWalking Activity Status Register 1 */ - #define REG_PMC_SLPWK_AIPR (*(__I uint32_t*)0x400E0744U) /**< \brief (PMC) SleepWalking Activity In Progress Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PMC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h deleted file mode 100644 index 908e462..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm0.h +++ /dev/null @@ -1,275 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PWM0_INSTANCE_ -#define _SAMS70_PWM0_INSTANCE_ - -/* ========== Register definition for PWM0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PWM0_CLK (0x40020000U) /**< \brief (PWM0) PWM Clock Register */ - #define REG_PWM0_ENA (0x40020004U) /**< \brief (PWM0) PWM Enable Register */ - #define REG_PWM0_DIS (0x40020008U) /**< \brief (PWM0) PWM Disable Register */ - #define REG_PWM0_SR (0x4002000CU) /**< \brief (PWM0) PWM Status Register */ - #define REG_PWM0_IER1 (0x40020010U) /**< \brief (PWM0) PWM Interrupt Enable Register 1 */ - #define REG_PWM0_IDR1 (0x40020014U) /**< \brief (PWM0) PWM Interrupt Disable Register 1 */ - #define REG_PWM0_IMR1 (0x40020018U) /**< \brief (PWM0) PWM Interrupt Mask Register 1 */ - #define REG_PWM0_ISR1 (0x4002001CU) /**< \brief (PWM0) PWM Interrupt Status Register 1 */ - #define REG_PWM0_SCM (0x40020020U) /**< \brief (PWM0) PWM Sync Channels Mode Register */ - #define REG_PWM0_DMAR (0x40020024U) /**< \brief (PWM0) PWM DMA Register */ - #define REG_PWM0_SCUC (0x40020028U) /**< \brief (PWM0) PWM Sync Channels Update Control Register */ - #define REG_PWM0_SCUP (0x4002002CU) /**< \brief (PWM0) PWM Sync Channels Update Period Register */ - #define REG_PWM0_SCUPUPD (0x40020030U) /**< \brief (PWM0) PWM Sync Channels Update Period Update Register */ - #define REG_PWM0_IER2 (0x40020034U) /**< \brief (PWM0) PWM Interrupt Enable Register 2 */ - #define REG_PWM0_IDR2 (0x40020038U) /**< \brief (PWM0) PWM Interrupt Disable Register 2 */ - #define REG_PWM0_IMR2 (0x4002003CU) /**< \brief (PWM0) PWM Interrupt Mask Register 2 */ - #define REG_PWM0_ISR2 (0x40020040U) /**< \brief (PWM0) PWM Interrupt Status Register 2 */ - #define REG_PWM0_OOV (0x40020044U) /**< \brief (PWM0) PWM Output Override Value Register */ - #define REG_PWM0_OS (0x40020048U) /**< \brief (PWM0) PWM Output Selection Register */ - #define REG_PWM0_OSS (0x4002004CU) /**< \brief (PWM0) PWM Output Selection Set Register */ - #define REG_PWM0_OSC (0x40020050U) /**< \brief (PWM0) PWM Output Selection Clear Register */ - #define REG_PWM0_OSSUPD (0x40020054U) /**< \brief (PWM0) PWM Output Selection Set Update Register */ - #define REG_PWM0_OSCUPD (0x40020058U) /**< \brief (PWM0) PWM Output Selection Clear Update Register */ - #define REG_PWM0_FMR (0x4002005CU) /**< \brief (PWM0) PWM Fault Mode Register */ - #define REG_PWM0_FSR (0x40020060U) /**< \brief (PWM0) PWM Fault Status Register */ - #define REG_PWM0_FCR (0x40020064U) /**< \brief (PWM0) PWM Fault Clear Register */ - #define REG_PWM0_FPV1 (0x40020068U) /**< \brief (PWM0) PWM Fault Protection Value Register 1 */ - #define REG_PWM0_FPE (0x4002006CU) /**< \brief (PWM0) PWM Fault Protection Enable Register */ - #define REG_PWM0_ELMR (0x4002007CU) /**< \brief (PWM0) PWM Event Line 0 Mode Register */ - #define REG_PWM0_SSPR (0x400200A0U) /**< \brief (PWM0) PWM Spread Spectrum Register */ - #define REG_PWM0_SSPUP (0x400200A4U) /**< \brief (PWM0) PWM Spread Spectrum Update Register */ - #define REG_PWM0_SMMR (0x400200B0U) /**< \brief (PWM0) PWM Stepper Motor Mode Register */ - #define REG_PWM0_FPV2 (0x400200C0U) /**< \brief (PWM0) PWM Fault Protection Value 2 Register */ - #define REG_PWM0_WPCR (0x400200E4U) /**< \brief (PWM0) PWM Write Protection Control Register */ - #define REG_PWM0_WPSR (0x400200E8U) /**< \brief (PWM0) PWM Write Protection Status Register */ - #define REG_PWM0_CMPV0 (0x40020130U) /**< \brief (PWM0) PWM Comparison 0 Value Register */ - #define REG_PWM0_CMPVUPD0 (0x40020134U) /**< \brief (PWM0) PWM Comparison 0 Value Update Register */ - #define REG_PWM0_CMPM0 (0x40020138U) /**< \brief (PWM0) PWM Comparison 0 Mode Register */ - #define REG_PWM0_CMPMUPD0 (0x4002013CU) /**< \brief (PWM0) PWM Comparison 0 Mode Update Register */ - #define REG_PWM0_CMPV1 (0x40020140U) /**< \brief (PWM0) PWM Comparison 1 Value Register */ - #define REG_PWM0_CMPVUPD1 (0x40020144U) /**< \brief (PWM0) PWM Comparison 1 Value Update Register */ - #define REG_PWM0_CMPM1 (0x40020148U) /**< \brief (PWM0) PWM Comparison 1 Mode Register */ - #define REG_PWM0_CMPMUPD1 (0x4002014CU) /**< \brief (PWM0) PWM Comparison 1 Mode Update Register */ - #define REG_PWM0_CMPV2 (0x40020150U) /**< \brief (PWM0) PWM Comparison 2 Value Register */ - #define REG_PWM0_CMPVUPD2 (0x40020154U) /**< \brief (PWM0) PWM Comparison 2 Value Update Register */ - #define REG_PWM0_CMPM2 (0x40020158U) /**< \brief (PWM0) PWM Comparison 2 Mode Register */ - #define REG_PWM0_CMPMUPD2 (0x4002015CU) /**< \brief (PWM0) PWM Comparison 2 Mode Update Register */ - #define REG_PWM0_CMPV3 (0x40020160U) /**< \brief (PWM0) PWM Comparison 3 Value Register */ - #define REG_PWM0_CMPVUPD3 (0x40020164U) /**< \brief (PWM0) PWM Comparison 3 Value Update Register */ - #define REG_PWM0_CMPM3 (0x40020168U) /**< \brief (PWM0) PWM Comparison 3 Mode Register */ - #define REG_PWM0_CMPMUPD3 (0x4002016CU) /**< \brief (PWM0) PWM Comparison 3 Mode Update Register */ - #define REG_PWM0_CMPV4 (0x40020170U) /**< \brief (PWM0) PWM Comparison 4 Value Register */ - #define REG_PWM0_CMPVUPD4 (0x40020174U) /**< \brief (PWM0) PWM Comparison 4 Value Update Register */ - #define REG_PWM0_CMPM4 (0x40020178U) /**< \brief (PWM0) PWM Comparison 4 Mode Register */ - #define REG_PWM0_CMPMUPD4 (0x4002017CU) /**< \brief (PWM0) PWM Comparison 4 Mode Update Register */ - #define REG_PWM0_CMPV5 (0x40020180U) /**< \brief (PWM0) PWM Comparison 5 Value Register */ - #define REG_PWM0_CMPVUPD5 (0x40020184U) /**< \brief (PWM0) PWM Comparison 5 Value Update Register */ - #define REG_PWM0_CMPM5 (0x40020188U) /**< \brief (PWM0) PWM Comparison 5 Mode Register */ - #define REG_PWM0_CMPMUPD5 (0x4002018CU) /**< \brief (PWM0) PWM Comparison 5 Mode Update Register */ - #define REG_PWM0_CMPV6 (0x40020190U) /**< \brief (PWM0) PWM Comparison 6 Value Register */ - #define REG_PWM0_CMPVUPD6 (0x40020194U) /**< \brief (PWM0) PWM Comparison 6 Value Update Register */ - #define REG_PWM0_CMPM6 (0x40020198U) /**< \brief (PWM0) PWM Comparison 6 Mode Register */ - #define REG_PWM0_CMPMUPD6 (0x4002019CU) /**< \brief (PWM0) PWM Comparison 6 Mode Update Register */ - #define REG_PWM0_CMPV7 (0x400201A0U) /**< \brief (PWM0) PWM Comparison 7 Value Register */ - #define REG_PWM0_CMPVUPD7 (0x400201A4U) /**< \brief (PWM0) PWM Comparison 7 Value Update Register */ - #define REG_PWM0_CMPM7 (0x400201A8U) /**< \brief (PWM0) PWM Comparison 7 Mode Register */ - #define REG_PWM0_CMPMUPD7 (0x400201ACU) /**< \brief (PWM0) PWM Comparison 7 Mode Update Register */ - #define REG_PWM0_CMR0 (0x40020200U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM0_CDTY0 (0x40020204U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM0_CDTYUPD0 (0x40020208U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM0_CPRD0 (0x4002020CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM0_CPRDUPD0 (0x40020210U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM0_CCNT0 (0x40020214U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM0_DT0 (0x40020218U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM0_DTUPD0 (0x4002021CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM0_CMR1 (0x40020220U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM0_CDTY1 (0x40020224U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM0_CDTYUPD1 (0x40020228U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM0_CPRD1 (0x4002022CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM0_CPRDUPD1 (0x40020230U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM0_CCNT1 (0x40020234U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM0_DT1 (0x40020238U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM0_DTUPD1 (0x4002023CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM0_CMR2 (0x40020240U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM0_CDTY2 (0x40020244U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM0_CDTYUPD2 (0x40020248U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM0_CPRD2 (0x4002024CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM0_CPRDUPD2 (0x40020250U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM0_CCNT2 (0x40020254U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM0_DT2 (0x40020258U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM0_DTUPD2 (0x4002025CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM0_CMR3 (0x40020260U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM0_CDTY3 (0x40020264U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM0_CDTYUPD3 (0x40020268U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM0_CPRD3 (0x4002026CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM0_CPRDUPD3 (0x40020270U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM0_CCNT3 (0x40020274U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM0_DT3 (0x40020278U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM0_DTUPD3 (0x4002027CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM0_CMUPD0 (0x40020400U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM0_CMUPD1 (0x40020420U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM0_ETRG1 (0x4002042CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM0_LEBR1 (0x40020430U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM0_CMUPD2 (0x40020440U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM0_ETRG2 (0x4002044CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM0_LEBR2 (0x40020450U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM0_CMUPD3 (0x40020460U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM0_ETRG3 (0x4002046CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM0_LEBR3 (0x40020470U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM0_ETRG4 (0x4002048CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM0_LEBR4 (0x40020490U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#else - #define REG_PWM0_CLK (*(__IO uint32_t*)0x40020000U) /**< \brief (PWM0) PWM Clock Register */ - #define REG_PWM0_ENA (*(__O uint32_t*)0x40020004U) /**< \brief (PWM0) PWM Enable Register */ - #define REG_PWM0_DIS (*(__O uint32_t*)0x40020008U) /**< \brief (PWM0) PWM Disable Register */ - #define REG_PWM0_SR (*(__I uint32_t*)0x4002000CU) /**< \brief (PWM0) PWM Status Register */ - #define REG_PWM0_IER1 (*(__O uint32_t*)0x40020010U) /**< \brief (PWM0) PWM Interrupt Enable Register 1 */ - #define REG_PWM0_IDR1 (*(__O uint32_t*)0x40020014U) /**< \brief (PWM0) PWM Interrupt Disable Register 1 */ - #define REG_PWM0_IMR1 (*(__I uint32_t*)0x40020018U) /**< \brief (PWM0) PWM Interrupt Mask Register 1 */ - #define REG_PWM0_ISR1 (*(__I uint32_t*)0x4002001CU) /**< \brief (PWM0) PWM Interrupt Status Register 1 */ - #define REG_PWM0_SCM (*(__IO uint32_t*)0x40020020U) /**< \brief (PWM0) PWM Sync Channels Mode Register */ - #define REG_PWM0_DMAR (*(__O uint32_t*)0x40020024U) /**< \brief (PWM0) PWM DMA Register */ - #define REG_PWM0_SCUC (*(__IO uint32_t*)0x40020028U) /**< \brief (PWM0) PWM Sync Channels Update Control Register */ - #define REG_PWM0_SCUP (*(__IO uint32_t*)0x4002002CU) /**< \brief (PWM0) PWM Sync Channels Update Period Register */ - #define REG_PWM0_SCUPUPD (*(__O uint32_t*)0x40020030U) /**< \brief (PWM0) PWM Sync Channels Update Period Update Register */ - #define REG_PWM0_IER2 (*(__O uint32_t*)0x40020034U) /**< \brief (PWM0) PWM Interrupt Enable Register 2 */ - #define REG_PWM0_IDR2 (*(__O uint32_t*)0x40020038U) /**< \brief (PWM0) PWM Interrupt Disable Register 2 */ - #define REG_PWM0_IMR2 (*(__I uint32_t*)0x4002003CU) /**< \brief (PWM0) PWM Interrupt Mask Register 2 */ - #define REG_PWM0_ISR2 (*(__I uint32_t*)0x40020040U) /**< \brief (PWM0) PWM Interrupt Status Register 2 */ - #define REG_PWM0_OOV (*(__IO uint32_t*)0x40020044U) /**< \brief (PWM0) PWM Output Override Value Register */ - #define REG_PWM0_OS (*(__IO uint32_t*)0x40020048U) /**< \brief (PWM0) PWM Output Selection Register */ - #define REG_PWM0_OSS (*(__O uint32_t*)0x4002004CU) /**< \brief (PWM0) PWM Output Selection Set Register */ - #define REG_PWM0_OSC (*(__O uint32_t*)0x40020050U) /**< \brief (PWM0) PWM Output Selection Clear Register */ - #define REG_PWM0_OSSUPD (*(__O uint32_t*)0x40020054U) /**< \brief (PWM0) PWM Output Selection Set Update Register */ - #define REG_PWM0_OSCUPD (*(__O uint32_t*)0x40020058U) /**< \brief (PWM0) PWM Output Selection Clear Update Register */ - #define REG_PWM0_FMR (*(__IO uint32_t*)0x4002005CU) /**< \brief (PWM0) PWM Fault Mode Register */ - #define REG_PWM0_FSR (*(__I uint32_t*)0x40020060U) /**< \brief (PWM0) PWM Fault Status Register */ - #define REG_PWM0_FCR (*(__O uint32_t*)0x40020064U) /**< \brief (PWM0) PWM Fault Clear Register */ - #define REG_PWM0_FPV1 (*(__IO uint32_t*)0x40020068U) /**< \brief (PWM0) PWM Fault Protection Value Register 1 */ - #define REG_PWM0_FPE (*(__IO uint32_t*)0x4002006CU) /**< \brief (PWM0) PWM Fault Protection Enable Register */ - #define REG_PWM0_ELMR (*(__IO uint32_t*)0x4002007CU) /**< \brief (PWM0) PWM Event Line 0 Mode Register */ - #define REG_PWM0_SSPR (*(__IO uint32_t*)0x400200A0U) /**< \brief (PWM0) PWM Spread Spectrum Register */ - #define REG_PWM0_SSPUP (*(__O uint32_t*)0x400200A4U) /**< \brief (PWM0) PWM Spread Spectrum Update Register */ - #define REG_PWM0_SMMR (*(__IO uint32_t*)0x400200B0U) /**< \brief (PWM0) PWM Stepper Motor Mode Register */ - #define REG_PWM0_FPV2 (*(__IO uint32_t*)0x400200C0U) /**< \brief (PWM0) PWM Fault Protection Value 2 Register */ - #define REG_PWM0_WPCR (*(__O uint32_t*)0x400200E4U) /**< \brief (PWM0) PWM Write Protection Control Register */ - #define REG_PWM0_WPSR (*(__I uint32_t*)0x400200E8U) /**< \brief (PWM0) PWM Write Protection Status Register */ - #define REG_PWM0_CMPV0 (*(__IO uint32_t*)0x40020130U) /**< \brief (PWM0) PWM Comparison 0 Value Register */ - #define REG_PWM0_CMPVUPD0 (*(__O uint32_t*)0x40020134U) /**< \brief (PWM0) PWM Comparison 0 Value Update Register */ - #define REG_PWM0_CMPM0 (*(__IO uint32_t*)0x40020138U) /**< \brief (PWM0) PWM Comparison 0 Mode Register */ - #define REG_PWM0_CMPMUPD0 (*(__O uint32_t*)0x4002013CU) /**< \brief (PWM0) PWM Comparison 0 Mode Update Register */ - #define REG_PWM0_CMPV1 (*(__IO uint32_t*)0x40020140U) /**< \brief (PWM0) PWM Comparison 1 Value Register */ - #define REG_PWM0_CMPVUPD1 (*(__O uint32_t*)0x40020144U) /**< \brief (PWM0) PWM Comparison 1 Value Update Register */ - #define REG_PWM0_CMPM1 (*(__IO uint32_t*)0x40020148U) /**< \brief (PWM0) PWM Comparison 1 Mode Register */ - #define REG_PWM0_CMPMUPD1 (*(__O uint32_t*)0x4002014CU) /**< \brief (PWM0) PWM Comparison 1 Mode Update Register */ - #define REG_PWM0_CMPV2 (*(__IO uint32_t*)0x40020150U) /**< \brief (PWM0) PWM Comparison 2 Value Register */ - #define REG_PWM0_CMPVUPD2 (*(__O uint32_t*)0x40020154U) /**< \brief (PWM0) PWM Comparison 2 Value Update Register */ - #define REG_PWM0_CMPM2 (*(__IO uint32_t*)0x40020158U) /**< \brief (PWM0) PWM Comparison 2 Mode Register */ - #define REG_PWM0_CMPMUPD2 (*(__O uint32_t*)0x4002015CU) /**< \brief (PWM0) PWM Comparison 2 Mode Update Register */ - #define REG_PWM0_CMPV3 (*(__IO uint32_t*)0x40020160U) /**< \brief (PWM0) PWM Comparison 3 Value Register */ - #define REG_PWM0_CMPVUPD3 (*(__O uint32_t*)0x40020164U) /**< \brief (PWM0) PWM Comparison 3 Value Update Register */ - #define REG_PWM0_CMPM3 (*(__IO uint32_t*)0x40020168U) /**< \brief (PWM0) PWM Comparison 3 Mode Register */ - #define REG_PWM0_CMPMUPD3 (*(__O uint32_t*)0x4002016CU) /**< \brief (PWM0) PWM Comparison 3 Mode Update Register */ - #define REG_PWM0_CMPV4 (*(__IO uint32_t*)0x40020170U) /**< \brief (PWM0) PWM Comparison 4 Value Register */ - #define REG_PWM0_CMPVUPD4 (*(__O uint32_t*)0x40020174U) /**< \brief (PWM0) PWM Comparison 4 Value Update Register */ - #define REG_PWM0_CMPM4 (*(__IO uint32_t*)0x40020178U) /**< \brief (PWM0) PWM Comparison 4 Mode Register */ - #define REG_PWM0_CMPMUPD4 (*(__O uint32_t*)0x4002017CU) /**< \brief (PWM0) PWM Comparison 4 Mode Update Register */ - #define REG_PWM0_CMPV5 (*(__IO uint32_t*)0x40020180U) /**< \brief (PWM0) PWM Comparison 5 Value Register */ - #define REG_PWM0_CMPVUPD5 (*(__O uint32_t*)0x40020184U) /**< \brief (PWM0) PWM Comparison 5 Value Update Register */ - #define REG_PWM0_CMPM5 (*(__IO uint32_t*)0x40020188U) /**< \brief (PWM0) PWM Comparison 5 Mode Register */ - #define REG_PWM0_CMPMUPD5 (*(__O uint32_t*)0x4002018CU) /**< \brief (PWM0) PWM Comparison 5 Mode Update Register */ - #define REG_PWM0_CMPV6 (*(__IO uint32_t*)0x40020190U) /**< \brief (PWM0) PWM Comparison 6 Value Register */ - #define REG_PWM0_CMPVUPD6 (*(__O uint32_t*)0x40020194U) /**< \brief (PWM0) PWM Comparison 6 Value Update Register */ - #define REG_PWM0_CMPM6 (*(__IO uint32_t*)0x40020198U) /**< \brief (PWM0) PWM Comparison 6 Mode Register */ - #define REG_PWM0_CMPMUPD6 (*(__O uint32_t*)0x4002019CU) /**< \brief (PWM0) PWM Comparison 6 Mode Update Register */ - #define REG_PWM0_CMPV7 (*(__IO uint32_t*)0x400201A0U) /**< \brief (PWM0) PWM Comparison 7 Value Register */ - #define REG_PWM0_CMPVUPD7 (*(__O uint32_t*)0x400201A4U) /**< \brief (PWM0) PWM Comparison 7 Value Update Register */ - #define REG_PWM0_CMPM7 (*(__IO uint32_t*)0x400201A8U) /**< \brief (PWM0) PWM Comparison 7 Mode Register */ - #define REG_PWM0_CMPMUPD7 (*(__O uint32_t*)0x400201ACU) /**< \brief (PWM0) PWM Comparison 7 Mode Update Register */ - #define REG_PWM0_CMR0 (*(__IO uint32_t*)0x40020200U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM0_CDTY0 (*(__IO uint32_t*)0x40020204U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM0_CDTYUPD0 (*(__O uint32_t*)0x40020208U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM0_CPRD0 (*(__IO uint32_t*)0x4002020CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM0_CPRDUPD0 (*(__O uint32_t*)0x40020210U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM0_CCNT0 (*(__I uint32_t*)0x40020214U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM0_DT0 (*(__IO uint32_t*)0x40020218U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM0_DTUPD0 (*(__O uint32_t*)0x4002021CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM0_CMR1 (*(__IO uint32_t*)0x40020220U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM0_CDTY1 (*(__IO uint32_t*)0x40020224U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM0_CDTYUPD1 (*(__O uint32_t*)0x40020228U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM0_CPRD1 (*(__IO uint32_t*)0x4002022CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM0_CPRDUPD1 (*(__O uint32_t*)0x40020230U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM0_CCNT1 (*(__I uint32_t*)0x40020234U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM0_DT1 (*(__IO uint32_t*)0x40020238U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM0_DTUPD1 (*(__O uint32_t*)0x4002023CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM0_CMR2 (*(__IO uint32_t*)0x40020240U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM0_CDTY2 (*(__IO uint32_t*)0x40020244U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM0_CDTYUPD2 (*(__O uint32_t*)0x40020248U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM0_CPRD2 (*(__IO uint32_t*)0x4002024CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM0_CPRDUPD2 (*(__O uint32_t*)0x40020250U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM0_CCNT2 (*(__I uint32_t*)0x40020254U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM0_DT2 (*(__IO uint32_t*)0x40020258U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM0_DTUPD2 (*(__O uint32_t*)0x4002025CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM0_CMR3 (*(__IO uint32_t*)0x40020260U) /**< \brief (PWM0) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM0_CDTY3 (*(__IO uint32_t*)0x40020264U) /**< \brief (PWM0) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM0_CDTYUPD3 (*(__O uint32_t*)0x40020268U) /**< \brief (PWM0) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM0_CPRD3 (*(__IO uint32_t*)0x4002026CU) /**< \brief (PWM0) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM0_CPRDUPD3 (*(__O uint32_t*)0x40020270U) /**< \brief (PWM0) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM0_CCNT3 (*(__I uint32_t*)0x40020274U) /**< \brief (PWM0) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM0_DT3 (*(__IO uint32_t*)0x40020278U) /**< \brief (PWM0) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM0_DTUPD3 (*(__O uint32_t*)0x4002027CU) /**< \brief (PWM0) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM0_CMUPD0 (*(__O uint32_t*)0x40020400U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM0_CMUPD1 (*(__O uint32_t*)0x40020420U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM0_ETRG1 (*(__IO uint32_t*)0x4002042CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM0_LEBR1 (*(__IO uint32_t*)0x40020430U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM0_CMUPD2 (*(__O uint32_t*)0x40020440U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM0_ETRG2 (*(__IO uint32_t*)0x4002044CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM0_LEBR2 (*(__IO uint32_t*)0x40020450U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM0_CMUPD3 (*(__O uint32_t*)0x40020460U) /**< \brief (PWM0) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM0_ETRG3 (*(__IO uint32_t*)0x4002046CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM0_LEBR3 (*(__IO uint32_t*)0x40020470U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM0_ETRG4 (*(__IO uint32_t*)0x4002048CU) /**< \brief (PWM0) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM0_LEBR4 (*(__IO uint32_t*)0x40020490U) /**< \brief (PWM0) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PWM0_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h deleted file mode 100644 index 0f4dcf7..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/pwm1.h +++ /dev/null @@ -1,275 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_PWM1_INSTANCE_ -#define _SAMS70_PWM1_INSTANCE_ - -/* ========== Register definition for PWM1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_PWM1_CLK (0x4005C000U) /**< \brief (PWM1) PWM Clock Register */ - #define REG_PWM1_ENA (0x4005C004U) /**< \brief (PWM1) PWM Enable Register */ - #define REG_PWM1_DIS (0x4005C008U) /**< \brief (PWM1) PWM Disable Register */ - #define REG_PWM1_SR (0x4005C00CU) /**< \brief (PWM1) PWM Status Register */ - #define REG_PWM1_IER1 (0x4005C010U) /**< \brief (PWM1) PWM Interrupt Enable Register 1 */ - #define REG_PWM1_IDR1 (0x4005C014U) /**< \brief (PWM1) PWM Interrupt Disable Register 1 */ - #define REG_PWM1_IMR1 (0x4005C018U) /**< \brief (PWM1) PWM Interrupt Mask Register 1 */ - #define REG_PWM1_ISR1 (0x4005C01CU) /**< \brief (PWM1) PWM Interrupt Status Register 1 */ - #define REG_PWM1_SCM (0x4005C020U) /**< \brief (PWM1) PWM Sync Channels Mode Register */ - #define REG_PWM1_DMAR (0x4005C024U) /**< \brief (PWM1) PWM DMA Register */ - #define REG_PWM1_SCUC (0x4005C028U) /**< \brief (PWM1) PWM Sync Channels Update Control Register */ - #define REG_PWM1_SCUP (0x4005C02CU) /**< \brief (PWM1) PWM Sync Channels Update Period Register */ - #define REG_PWM1_SCUPUPD (0x4005C030U) /**< \brief (PWM1) PWM Sync Channels Update Period Update Register */ - #define REG_PWM1_IER2 (0x4005C034U) /**< \brief (PWM1) PWM Interrupt Enable Register 2 */ - #define REG_PWM1_IDR2 (0x4005C038U) /**< \brief (PWM1) PWM Interrupt Disable Register 2 */ - #define REG_PWM1_IMR2 (0x4005C03CU) /**< \brief (PWM1) PWM Interrupt Mask Register 2 */ - #define REG_PWM1_ISR2 (0x4005C040U) /**< \brief (PWM1) PWM Interrupt Status Register 2 */ - #define REG_PWM1_OOV (0x4005C044U) /**< \brief (PWM1) PWM Output Override Value Register */ - #define REG_PWM1_OS (0x4005C048U) /**< \brief (PWM1) PWM Output Selection Register */ - #define REG_PWM1_OSS (0x4005C04CU) /**< \brief (PWM1) PWM Output Selection Set Register */ - #define REG_PWM1_OSC (0x4005C050U) /**< \brief (PWM1) PWM Output Selection Clear Register */ - #define REG_PWM1_OSSUPD (0x4005C054U) /**< \brief (PWM1) PWM Output Selection Set Update Register */ - #define REG_PWM1_OSCUPD (0x4005C058U) /**< \brief (PWM1) PWM Output Selection Clear Update Register */ - #define REG_PWM1_FMR (0x4005C05CU) /**< \brief (PWM1) PWM Fault Mode Register */ - #define REG_PWM1_FSR (0x4005C060U) /**< \brief (PWM1) PWM Fault Status Register */ - #define REG_PWM1_FCR (0x4005C064U) /**< \brief (PWM1) PWM Fault Clear Register */ - #define REG_PWM1_FPV1 (0x4005C068U) /**< \brief (PWM1) PWM Fault Protection Value Register 1 */ - #define REG_PWM1_FPE (0x4005C06CU) /**< \brief (PWM1) PWM Fault Protection Enable Register */ - #define REG_PWM1_ELMR (0x4005C07CU) /**< \brief (PWM1) PWM Event Line 0 Mode Register */ - #define REG_PWM1_SSPR (0x4005C0A0U) /**< \brief (PWM1) PWM Spread Spectrum Register */ - #define REG_PWM1_SSPUP (0x4005C0A4U) /**< \brief (PWM1) PWM Spread Spectrum Update Register */ - #define REG_PWM1_SMMR (0x4005C0B0U) /**< \brief (PWM1) PWM Stepper Motor Mode Register */ - #define REG_PWM1_FPV2 (0x4005C0C0U) /**< \brief (PWM1) PWM Fault Protection Value 2 Register */ - #define REG_PWM1_WPCR (0x4005C0E4U) /**< \brief (PWM1) PWM Write Protection Control Register */ - #define REG_PWM1_WPSR (0x4005C0E8U) /**< \brief (PWM1) PWM Write Protection Status Register */ - #define REG_PWM1_CMPV0 (0x4005C130U) /**< \brief (PWM1) PWM Comparison 0 Value Register */ - #define REG_PWM1_CMPVUPD0 (0x4005C134U) /**< \brief (PWM1) PWM Comparison 0 Value Update Register */ - #define REG_PWM1_CMPM0 (0x4005C138U) /**< \brief (PWM1) PWM Comparison 0 Mode Register */ - #define REG_PWM1_CMPMUPD0 (0x4005C13CU) /**< \brief (PWM1) PWM Comparison 0 Mode Update Register */ - #define REG_PWM1_CMPV1 (0x4005C140U) /**< \brief (PWM1) PWM Comparison 1 Value Register */ - #define REG_PWM1_CMPVUPD1 (0x4005C144U) /**< \brief (PWM1) PWM Comparison 1 Value Update Register */ - #define REG_PWM1_CMPM1 (0x4005C148U) /**< \brief (PWM1) PWM Comparison 1 Mode Register */ - #define REG_PWM1_CMPMUPD1 (0x4005C14CU) /**< \brief (PWM1) PWM Comparison 1 Mode Update Register */ - #define REG_PWM1_CMPV2 (0x4005C150U) /**< \brief (PWM1) PWM Comparison 2 Value Register */ - #define REG_PWM1_CMPVUPD2 (0x4005C154U) /**< \brief (PWM1) PWM Comparison 2 Value Update Register */ - #define REG_PWM1_CMPM2 (0x4005C158U) /**< \brief (PWM1) PWM Comparison 2 Mode Register */ - #define REG_PWM1_CMPMUPD2 (0x4005C15CU) /**< \brief (PWM1) PWM Comparison 2 Mode Update Register */ - #define REG_PWM1_CMPV3 (0x4005C160U) /**< \brief (PWM1) PWM Comparison 3 Value Register */ - #define REG_PWM1_CMPVUPD3 (0x4005C164U) /**< \brief (PWM1) PWM Comparison 3 Value Update Register */ - #define REG_PWM1_CMPM3 (0x4005C168U) /**< \brief (PWM1) PWM Comparison 3 Mode Register */ - #define REG_PWM1_CMPMUPD3 (0x4005C16CU) /**< \brief (PWM1) PWM Comparison 3 Mode Update Register */ - #define REG_PWM1_CMPV4 (0x4005C170U) /**< \brief (PWM1) PWM Comparison 4 Value Register */ - #define REG_PWM1_CMPVUPD4 (0x4005C174U) /**< \brief (PWM1) PWM Comparison 4 Value Update Register */ - #define REG_PWM1_CMPM4 (0x4005C178U) /**< \brief (PWM1) PWM Comparison 4 Mode Register */ - #define REG_PWM1_CMPMUPD4 (0x4005C17CU) /**< \brief (PWM1) PWM Comparison 4 Mode Update Register */ - #define REG_PWM1_CMPV5 (0x4005C180U) /**< \brief (PWM1) PWM Comparison 5 Value Register */ - #define REG_PWM1_CMPVUPD5 (0x4005C184U) /**< \brief (PWM1) PWM Comparison 5 Value Update Register */ - #define REG_PWM1_CMPM5 (0x4005C188U) /**< \brief (PWM1) PWM Comparison 5 Mode Register */ - #define REG_PWM1_CMPMUPD5 (0x4005C18CU) /**< \brief (PWM1) PWM Comparison 5 Mode Update Register */ - #define REG_PWM1_CMPV6 (0x4005C190U) /**< \brief (PWM1) PWM Comparison 6 Value Register */ - #define REG_PWM1_CMPVUPD6 (0x4005C194U) /**< \brief (PWM1) PWM Comparison 6 Value Update Register */ - #define REG_PWM1_CMPM6 (0x4005C198U) /**< \brief (PWM1) PWM Comparison 6 Mode Register */ - #define REG_PWM1_CMPMUPD6 (0x4005C19CU) /**< \brief (PWM1) PWM Comparison 6 Mode Update Register */ - #define REG_PWM1_CMPV7 (0x4005C1A0U) /**< \brief (PWM1) PWM Comparison 7 Value Register */ - #define REG_PWM1_CMPVUPD7 (0x4005C1A4U) /**< \brief (PWM1) PWM Comparison 7 Value Update Register */ - #define REG_PWM1_CMPM7 (0x4005C1A8U) /**< \brief (PWM1) PWM Comparison 7 Mode Register */ - #define REG_PWM1_CMPMUPD7 (0x4005C1ACU) /**< \brief (PWM1) PWM Comparison 7 Mode Update Register */ - #define REG_PWM1_CMR0 (0x4005C200U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM1_CDTY0 (0x4005C204U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM1_CDTYUPD0 (0x4005C208U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM1_CPRD0 (0x4005C20CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM1_CPRDUPD0 (0x4005C210U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM1_CCNT0 (0x4005C214U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM1_DT0 (0x4005C218U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM1_DTUPD0 (0x4005C21CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM1_CMR1 (0x4005C220U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM1_CDTY1 (0x4005C224U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM1_CDTYUPD1 (0x4005C228U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM1_CPRD1 (0x4005C22CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM1_CPRDUPD1 (0x4005C230U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM1_CCNT1 (0x4005C234U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM1_DT1 (0x4005C238U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM1_DTUPD1 (0x4005C23CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM1_CMR2 (0x4005C240U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM1_CDTY2 (0x4005C244U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM1_CDTYUPD2 (0x4005C248U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM1_CPRD2 (0x4005C24CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM1_CPRDUPD2 (0x4005C250U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM1_CCNT2 (0x4005C254U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM1_DT2 (0x4005C258U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM1_DTUPD2 (0x4005C25CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM1_CMR3 (0x4005C260U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM1_CDTY3 (0x4005C264U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM1_CDTYUPD3 (0x4005C268U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM1_CPRD3 (0x4005C26CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM1_CPRDUPD3 (0x4005C270U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM1_CCNT3 (0x4005C274U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM1_DT3 (0x4005C278U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM1_DTUPD3 (0x4005C27CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM1_CMUPD0 (0x4005C400U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM1_CMUPD1 (0x4005C420U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM1_ETRG1 (0x4005C42CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM1_LEBR1 (0x4005C430U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM1_CMUPD2 (0x4005C440U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM1_ETRG2 (0x4005C44CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM1_LEBR2 (0x4005C450U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM1_CMUPD3 (0x4005C460U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM1_ETRG3 (0x4005C46CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM1_LEBR3 (0x4005C470U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM1_ETRG4 (0x4005C48CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM1_LEBR4 (0x4005C490U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#else - #define REG_PWM1_CLK (*(__IO uint32_t*)0x4005C000U) /**< \brief (PWM1) PWM Clock Register */ - #define REG_PWM1_ENA (*(__O uint32_t*)0x4005C004U) /**< \brief (PWM1) PWM Enable Register */ - #define REG_PWM1_DIS (*(__O uint32_t*)0x4005C008U) /**< \brief (PWM1) PWM Disable Register */ - #define REG_PWM1_SR (*(__I uint32_t*)0x4005C00CU) /**< \brief (PWM1) PWM Status Register */ - #define REG_PWM1_IER1 (*(__O uint32_t*)0x4005C010U) /**< \brief (PWM1) PWM Interrupt Enable Register 1 */ - #define REG_PWM1_IDR1 (*(__O uint32_t*)0x4005C014U) /**< \brief (PWM1) PWM Interrupt Disable Register 1 */ - #define REG_PWM1_IMR1 (*(__I uint32_t*)0x4005C018U) /**< \brief (PWM1) PWM Interrupt Mask Register 1 */ - #define REG_PWM1_ISR1 (*(__I uint32_t*)0x4005C01CU) /**< \brief (PWM1) PWM Interrupt Status Register 1 */ - #define REG_PWM1_SCM (*(__IO uint32_t*)0x4005C020U) /**< \brief (PWM1) PWM Sync Channels Mode Register */ - #define REG_PWM1_DMAR (*(__O uint32_t*)0x4005C024U) /**< \brief (PWM1) PWM DMA Register */ - #define REG_PWM1_SCUC (*(__IO uint32_t*)0x4005C028U) /**< \brief (PWM1) PWM Sync Channels Update Control Register */ - #define REG_PWM1_SCUP (*(__IO uint32_t*)0x4005C02CU) /**< \brief (PWM1) PWM Sync Channels Update Period Register */ - #define REG_PWM1_SCUPUPD (*(__O uint32_t*)0x4005C030U) /**< \brief (PWM1) PWM Sync Channels Update Period Update Register */ - #define REG_PWM1_IER2 (*(__O uint32_t*)0x4005C034U) /**< \brief (PWM1) PWM Interrupt Enable Register 2 */ - #define REG_PWM1_IDR2 (*(__O uint32_t*)0x4005C038U) /**< \brief (PWM1) PWM Interrupt Disable Register 2 */ - #define REG_PWM1_IMR2 (*(__I uint32_t*)0x4005C03CU) /**< \brief (PWM1) PWM Interrupt Mask Register 2 */ - #define REG_PWM1_ISR2 (*(__I uint32_t*)0x4005C040U) /**< \brief (PWM1) PWM Interrupt Status Register 2 */ - #define REG_PWM1_OOV (*(__IO uint32_t*)0x4005C044U) /**< \brief (PWM1) PWM Output Override Value Register */ - #define REG_PWM1_OS (*(__IO uint32_t*)0x4005C048U) /**< \brief (PWM1) PWM Output Selection Register */ - #define REG_PWM1_OSS (*(__O uint32_t*)0x4005C04CU) /**< \brief (PWM1) PWM Output Selection Set Register */ - #define REG_PWM1_OSC (*(__O uint32_t*)0x4005C050U) /**< \brief (PWM1) PWM Output Selection Clear Register */ - #define REG_PWM1_OSSUPD (*(__O uint32_t*)0x4005C054U) /**< \brief (PWM1) PWM Output Selection Set Update Register */ - #define REG_PWM1_OSCUPD (*(__O uint32_t*)0x4005C058U) /**< \brief (PWM1) PWM Output Selection Clear Update Register */ - #define REG_PWM1_FMR (*(__IO uint32_t*)0x4005C05CU) /**< \brief (PWM1) PWM Fault Mode Register */ - #define REG_PWM1_FSR (*(__I uint32_t*)0x4005C060U) /**< \brief (PWM1) PWM Fault Status Register */ - #define REG_PWM1_FCR (*(__O uint32_t*)0x4005C064U) /**< \brief (PWM1) PWM Fault Clear Register */ - #define REG_PWM1_FPV1 (*(__IO uint32_t*)0x4005C068U) /**< \brief (PWM1) PWM Fault Protection Value Register 1 */ - #define REG_PWM1_FPE (*(__IO uint32_t*)0x4005C06CU) /**< \brief (PWM1) PWM Fault Protection Enable Register */ - #define REG_PWM1_ELMR (*(__IO uint32_t*)0x4005C07CU) /**< \brief (PWM1) PWM Event Line 0 Mode Register */ - #define REG_PWM1_SSPR (*(__IO uint32_t*)0x4005C0A0U) /**< \brief (PWM1) PWM Spread Spectrum Register */ - #define REG_PWM1_SSPUP (*(__O uint32_t*)0x4005C0A4U) /**< \brief (PWM1) PWM Spread Spectrum Update Register */ - #define REG_PWM1_SMMR (*(__IO uint32_t*)0x4005C0B0U) /**< \brief (PWM1) PWM Stepper Motor Mode Register */ - #define REG_PWM1_FPV2 (*(__IO uint32_t*)0x4005C0C0U) /**< \brief (PWM1) PWM Fault Protection Value 2 Register */ - #define REG_PWM1_WPCR (*(__O uint32_t*)0x4005C0E4U) /**< \brief (PWM1) PWM Write Protection Control Register */ - #define REG_PWM1_WPSR (*(__I uint32_t*)0x4005C0E8U) /**< \brief (PWM1) PWM Write Protection Status Register */ - #define REG_PWM1_CMPV0 (*(__IO uint32_t*)0x4005C130U) /**< \brief (PWM1) PWM Comparison 0 Value Register */ - #define REG_PWM1_CMPVUPD0 (*(__O uint32_t*)0x4005C134U) /**< \brief (PWM1) PWM Comparison 0 Value Update Register */ - #define REG_PWM1_CMPM0 (*(__IO uint32_t*)0x4005C138U) /**< \brief (PWM1) PWM Comparison 0 Mode Register */ - #define REG_PWM1_CMPMUPD0 (*(__O uint32_t*)0x4005C13CU) /**< \brief (PWM1) PWM Comparison 0 Mode Update Register */ - #define REG_PWM1_CMPV1 (*(__IO uint32_t*)0x4005C140U) /**< \brief (PWM1) PWM Comparison 1 Value Register */ - #define REG_PWM1_CMPVUPD1 (*(__O uint32_t*)0x4005C144U) /**< \brief (PWM1) PWM Comparison 1 Value Update Register */ - #define REG_PWM1_CMPM1 (*(__IO uint32_t*)0x4005C148U) /**< \brief (PWM1) PWM Comparison 1 Mode Register */ - #define REG_PWM1_CMPMUPD1 (*(__O uint32_t*)0x4005C14CU) /**< \brief (PWM1) PWM Comparison 1 Mode Update Register */ - #define REG_PWM1_CMPV2 (*(__IO uint32_t*)0x4005C150U) /**< \brief (PWM1) PWM Comparison 2 Value Register */ - #define REG_PWM1_CMPVUPD2 (*(__O uint32_t*)0x4005C154U) /**< \brief (PWM1) PWM Comparison 2 Value Update Register */ - #define REG_PWM1_CMPM2 (*(__IO uint32_t*)0x4005C158U) /**< \brief (PWM1) PWM Comparison 2 Mode Register */ - #define REG_PWM1_CMPMUPD2 (*(__O uint32_t*)0x4005C15CU) /**< \brief (PWM1) PWM Comparison 2 Mode Update Register */ - #define REG_PWM1_CMPV3 (*(__IO uint32_t*)0x4005C160U) /**< \brief (PWM1) PWM Comparison 3 Value Register */ - #define REG_PWM1_CMPVUPD3 (*(__O uint32_t*)0x4005C164U) /**< \brief (PWM1) PWM Comparison 3 Value Update Register */ - #define REG_PWM1_CMPM3 (*(__IO uint32_t*)0x4005C168U) /**< \brief (PWM1) PWM Comparison 3 Mode Register */ - #define REG_PWM1_CMPMUPD3 (*(__O uint32_t*)0x4005C16CU) /**< \brief (PWM1) PWM Comparison 3 Mode Update Register */ - #define REG_PWM1_CMPV4 (*(__IO uint32_t*)0x4005C170U) /**< \brief (PWM1) PWM Comparison 4 Value Register */ - #define REG_PWM1_CMPVUPD4 (*(__O uint32_t*)0x4005C174U) /**< \brief (PWM1) PWM Comparison 4 Value Update Register */ - #define REG_PWM1_CMPM4 (*(__IO uint32_t*)0x4005C178U) /**< \brief (PWM1) PWM Comparison 4 Mode Register */ - #define REG_PWM1_CMPMUPD4 (*(__O uint32_t*)0x4005C17CU) /**< \brief (PWM1) PWM Comparison 4 Mode Update Register */ - #define REG_PWM1_CMPV5 (*(__IO uint32_t*)0x4005C180U) /**< \brief (PWM1) PWM Comparison 5 Value Register */ - #define REG_PWM1_CMPVUPD5 (*(__O uint32_t*)0x4005C184U) /**< \brief (PWM1) PWM Comparison 5 Value Update Register */ - #define REG_PWM1_CMPM5 (*(__IO uint32_t*)0x4005C188U) /**< \brief (PWM1) PWM Comparison 5 Mode Register */ - #define REG_PWM1_CMPMUPD5 (*(__O uint32_t*)0x4005C18CU) /**< \brief (PWM1) PWM Comparison 5 Mode Update Register */ - #define REG_PWM1_CMPV6 (*(__IO uint32_t*)0x4005C190U) /**< \brief (PWM1) PWM Comparison 6 Value Register */ - #define REG_PWM1_CMPVUPD6 (*(__O uint32_t*)0x4005C194U) /**< \brief (PWM1) PWM Comparison 6 Value Update Register */ - #define REG_PWM1_CMPM6 (*(__IO uint32_t*)0x4005C198U) /**< \brief (PWM1) PWM Comparison 6 Mode Register */ - #define REG_PWM1_CMPMUPD6 (*(__O uint32_t*)0x4005C19CU) /**< \brief (PWM1) PWM Comparison 6 Mode Update Register */ - #define REG_PWM1_CMPV7 (*(__IO uint32_t*)0x4005C1A0U) /**< \brief (PWM1) PWM Comparison 7 Value Register */ - #define REG_PWM1_CMPVUPD7 (*(__O uint32_t*)0x4005C1A4U) /**< \brief (PWM1) PWM Comparison 7 Value Update Register */ - #define REG_PWM1_CMPM7 (*(__IO uint32_t*)0x4005C1A8U) /**< \brief (PWM1) PWM Comparison 7 Mode Register */ - #define REG_PWM1_CMPMUPD7 (*(__O uint32_t*)0x4005C1ACU) /**< \brief (PWM1) PWM Comparison 7 Mode Update Register */ - #define REG_PWM1_CMR0 (*(__IO uint32_t*)0x4005C200U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 0) */ - #define REG_PWM1_CDTY0 (*(__IO uint32_t*)0x4005C204U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 0) */ - #define REG_PWM1_CDTYUPD0 (*(__O uint32_t*)0x4005C208U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 0) */ - #define REG_PWM1_CPRD0 (*(__IO uint32_t*)0x4005C20CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 0) */ - #define REG_PWM1_CPRDUPD0 (*(__O uint32_t*)0x4005C210U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 0) */ - #define REG_PWM1_CCNT0 (*(__I uint32_t*)0x4005C214U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 0) */ - #define REG_PWM1_DT0 (*(__IO uint32_t*)0x4005C218U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 0) */ - #define REG_PWM1_DTUPD0 (*(__O uint32_t*)0x4005C21CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 0) */ - #define REG_PWM1_CMR1 (*(__IO uint32_t*)0x4005C220U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 1) */ - #define REG_PWM1_CDTY1 (*(__IO uint32_t*)0x4005C224U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 1) */ - #define REG_PWM1_CDTYUPD1 (*(__O uint32_t*)0x4005C228U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 1) */ - #define REG_PWM1_CPRD1 (*(__IO uint32_t*)0x4005C22CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 1) */ - #define REG_PWM1_CPRDUPD1 (*(__O uint32_t*)0x4005C230U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 1) */ - #define REG_PWM1_CCNT1 (*(__I uint32_t*)0x4005C234U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 1) */ - #define REG_PWM1_DT1 (*(__IO uint32_t*)0x4005C238U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 1) */ - #define REG_PWM1_DTUPD1 (*(__O uint32_t*)0x4005C23CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 1) */ - #define REG_PWM1_CMR2 (*(__IO uint32_t*)0x4005C240U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 2) */ - #define REG_PWM1_CDTY2 (*(__IO uint32_t*)0x4005C244U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 2) */ - #define REG_PWM1_CDTYUPD2 (*(__O uint32_t*)0x4005C248U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 2) */ - #define REG_PWM1_CPRD2 (*(__IO uint32_t*)0x4005C24CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 2) */ - #define REG_PWM1_CPRDUPD2 (*(__O uint32_t*)0x4005C250U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 2) */ - #define REG_PWM1_CCNT2 (*(__I uint32_t*)0x4005C254U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 2) */ - #define REG_PWM1_DT2 (*(__IO uint32_t*)0x4005C258U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 2) */ - #define REG_PWM1_DTUPD2 (*(__O uint32_t*)0x4005C25CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 2) */ - #define REG_PWM1_CMR3 (*(__IO uint32_t*)0x4005C260U) /**< \brief (PWM1) PWM Channel Mode Register (ch_num = 3) */ - #define REG_PWM1_CDTY3 (*(__IO uint32_t*)0x4005C264U) /**< \brief (PWM1) PWM Channel Duty Cycle Register (ch_num = 3) */ - #define REG_PWM1_CDTYUPD3 (*(__O uint32_t*)0x4005C268U) /**< \brief (PWM1) PWM Channel Duty Cycle Update Register (ch_num = 3) */ - #define REG_PWM1_CPRD3 (*(__IO uint32_t*)0x4005C26CU) /**< \brief (PWM1) PWM Channel Period Register (ch_num = 3) */ - #define REG_PWM1_CPRDUPD3 (*(__O uint32_t*)0x4005C270U) /**< \brief (PWM1) PWM Channel Period Update Register (ch_num = 3) */ - #define REG_PWM1_CCNT3 (*(__I uint32_t*)0x4005C274U) /**< \brief (PWM1) PWM Channel Counter Register (ch_num = 3) */ - #define REG_PWM1_DT3 (*(__IO uint32_t*)0x4005C278U) /**< \brief (PWM1) PWM Channel Dead Time Register (ch_num = 3) */ - #define REG_PWM1_DTUPD3 (*(__O uint32_t*)0x4005C27CU) /**< \brief (PWM1) PWM Channel Dead Time Update Register (ch_num = 3) */ - #define REG_PWM1_CMUPD0 (*(__O uint32_t*)0x4005C400U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 0) */ - #define REG_PWM1_CMUPD1 (*(__O uint32_t*)0x4005C420U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 1) */ - #define REG_PWM1_ETRG1 (*(__IO uint32_t*)0x4005C42CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 1) */ - #define REG_PWM1_LEBR1 (*(__IO uint32_t*)0x4005C430U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 1) */ - #define REG_PWM1_CMUPD2 (*(__O uint32_t*)0x4005C440U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 2) */ - #define REG_PWM1_ETRG2 (*(__IO uint32_t*)0x4005C44CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 2) */ - #define REG_PWM1_LEBR2 (*(__IO uint32_t*)0x4005C450U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 2) */ - #define REG_PWM1_CMUPD3 (*(__O uint32_t*)0x4005C460U) /**< \brief (PWM1) PWM Channel Mode Update Register (ch_num = 3) */ - #define REG_PWM1_ETRG3 (*(__IO uint32_t*)0x4005C46CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 3) */ - #define REG_PWM1_LEBR3 (*(__IO uint32_t*)0x4005C470U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 3) */ - #define REG_PWM1_ETRG4 (*(__IO uint32_t*)0x4005C48CU) /**< \brief (PWM1) PWM External Trigger Register (trg_num = 4) */ - #define REG_PWM1_LEBR4 (*(__IO uint32_t*)0x4005C490U) /**< \brief (PWM1) PWM Leading-Edge Blanking Register (trg_num = 4) */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_PWM1_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h deleted file mode 100644 index 2009f77..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/qspi.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_QSPI_INSTANCE_ -#define _SAMS70_QSPI_INSTANCE_ - -/* ========== Register definition for QSPI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_QSPI_CR (0x4007C000U) /**< \brief (QSPI) Control Register */ - #define REG_QSPI_MR (0x4007C004U) /**< \brief (QSPI) Mode Register */ - #define REG_QSPI_RDR (0x4007C008U) /**< \brief (QSPI) Receive Data Register */ - #define REG_QSPI_TDR (0x4007C00CU) /**< \brief (QSPI) Transmit Data Register */ - #define REG_QSPI_SR (0x4007C010U) /**< \brief (QSPI) Status Register */ - #define REG_QSPI_IER (0x4007C014U) /**< \brief (QSPI) Interrupt Enable Register */ - #define REG_QSPI_IDR (0x4007C018U) /**< \brief (QSPI) Interrupt Disable Register */ - #define REG_QSPI_IMR (0x4007C01CU) /**< \brief (QSPI) Interrupt Mask Register */ - #define REG_QSPI_SCR (0x4007C020U) /**< \brief (QSPI) Serial Clock Register */ - #define REG_QSPI_IAR (0x4007C030U) /**< \brief (QSPI) Instruction Address Register */ - #define REG_QSPI_ICR (0x4007C034U) /**< \brief (QSPI) Instruction Code Register */ - #define REG_QSPI_IFR (0x4007C038U) /**< \brief (QSPI) Instruction Frame Register */ - #define REG_QSPI_SMR (0x4007C040U) /**< \brief (QSPI) Scrambling Mode Register */ - #define REG_QSPI_SKR (0x4007C044U) /**< \brief (QSPI) Scrambling Key Register */ - #define REG_QSPI_WPMR (0x4007C0E4U) /**< \brief (QSPI) Write Protection Mode Register */ - #define REG_QSPI_WPSR (0x4007C0E8U) /**< \brief (QSPI) Write Protection Status Register */ -#else - #define REG_QSPI_CR (*(__O uint32_t*)0x4007C000U) /**< \brief (QSPI) Control Register */ - #define REG_QSPI_MR (*(__IO uint32_t*)0x4007C004U) /**< \brief (QSPI) Mode Register */ - #define REG_QSPI_RDR (*(__I uint32_t*)0x4007C008U) /**< \brief (QSPI) Receive Data Register */ - #define REG_QSPI_TDR (*(__O uint32_t*)0x4007C00CU) /**< \brief (QSPI) Transmit Data Register */ - #define REG_QSPI_SR (*(__I uint32_t*)0x4007C010U) /**< \brief (QSPI) Status Register */ - #define REG_QSPI_IER (*(__O uint32_t*)0x4007C014U) /**< \brief (QSPI) Interrupt Enable Register */ - #define REG_QSPI_IDR (*(__O uint32_t*)0x4007C018U) /**< \brief (QSPI) Interrupt Disable Register */ - #define REG_QSPI_IMR (*(__I uint32_t*)0x4007C01CU) /**< \brief (QSPI) Interrupt Mask Register */ - #define REG_QSPI_SCR (*(__IO uint32_t*)0x4007C020U) /**< \brief (QSPI) Serial Clock Register */ - #define REG_QSPI_IAR (*(__IO uint32_t*)0x4007C030U) /**< \brief (QSPI) Instruction Address Register */ - #define REG_QSPI_ICR (*(__IO uint32_t*)0x4007C034U) /**< \brief (QSPI) Instruction Code Register */ - #define REG_QSPI_IFR (*(__IO uint32_t*)0x4007C038U) /**< \brief (QSPI) Instruction Frame Register */ - #define REG_QSPI_SMR (*(__IO uint32_t*)0x4007C040U) /**< \brief (QSPI) Scrambling Mode Register */ - #define REG_QSPI_SKR (*(__O uint32_t*)0x4007C044U) /**< \brief (QSPI) Scrambling Key Register */ - #define REG_QSPI_WPMR (*(__IO uint32_t*)0x4007C0E4U) /**< \brief (QSPI) Write Protection Mode Register */ - #define REG_QSPI_WPSR (*(__I uint32_t*)0x4007C0E8U) /**< \brief (QSPI) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_QSPI_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h deleted file mode 100644 index 8278615..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rstc.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSTC_INSTANCE_ -#define _SAMS70_RSTC_INSTANCE_ - -/* ========== Register definition for RSTC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RSTC_CR (0x400E1800U) /**< \brief (RSTC) Control Register */ - #define REG_RSTC_SR (0x400E1804U) /**< \brief (RSTC) Status Register */ - #define REG_RSTC_MR (0x400E1808U) /**< \brief (RSTC) Mode Register */ -#else - #define REG_RSTC_CR (*(__O uint32_t*)0x400E1800U) /**< \brief (RSTC) Control Register */ - #define REG_RSTC_SR (*(__I uint32_t*)0x400E1804U) /**< \brief (RSTC) Status Register */ - #define REG_RSTC_MR (*(__IO uint32_t*)0x400E1808U) /**< \brief (RSTC) Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RSTC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h deleted file mode 100644 index 903cd16..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rswdt.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RSWDT_INSTANCE_ -#define _SAMS70_RSWDT_INSTANCE_ - -/* ========== Register definition for RSWDT peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RSWDT_CR (0x400E1900U) /**< \brief (RSWDT) Control Register */ - #define REG_RSWDT_MR (0x400E1904U) /**< \brief (RSWDT) Mode Register */ - #define REG_RSWDT_SR (0x400E1908U) /**< \brief (RSWDT) Status Register */ -#else - #define REG_RSWDT_CR (*(__O uint32_t*)0x400E1900U) /**< \brief (RSWDT) Control Register */ - #define REG_RSWDT_MR (*(__IO uint32_t*)0x400E1904U) /**< \brief (RSWDT) Mode Register */ - #define REG_RSWDT_SR (*(__I uint32_t*)0x400E1908U) /**< \brief (RSWDT) Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RSWDT_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h deleted file mode 100644 index c44c036..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtc.h +++ /dev/null @@ -1,77 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTC_INSTANCE_ -#define _SAMS70_RTC_INSTANCE_ - -/* ========== Register definition for RTC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RTC_CR (0x400E1860U) /**< \brief (RTC) Control Register */ - #define REG_RTC_MR (0x400E1864U) /**< \brief (RTC) Mode Register */ - #define REG_RTC_TIMR (0x400E1868U) /**< \brief (RTC) Time Register */ - #define REG_RTC_CALR (0x400E186CU) /**< \brief (RTC) Calendar Register */ - #define REG_RTC_TIMALR (0x400E1870U) /**< \brief (RTC) Time Alarm Register */ - #define REG_RTC_CALALR (0x400E1874U) /**< \brief (RTC) Calendar Alarm Register */ - #define REG_RTC_SR (0x400E1878U) /**< \brief (RTC) Status Register */ - #define REG_RTC_SCCR (0x400E187CU) /**< \brief (RTC) Status Clear Command Register */ - #define REG_RTC_IER (0x400E1880U) /**< \brief (RTC) Interrupt Enable Register */ - #define REG_RTC_IDR (0x400E1884U) /**< \brief (RTC) Interrupt Disable Register */ - #define REG_RTC_IMR (0x400E1888U) /**< \brief (RTC) Interrupt Mask Register */ - #define REG_RTC_VER (0x400E188CU) /**< \brief (RTC) Valid Entry Register */ -#else - #define REG_RTC_CR (*(__IO uint32_t*)0x400E1860U) /**< \brief (RTC) Control Register */ - #define REG_RTC_MR (*(__IO uint32_t*)0x400E1864U) /**< \brief (RTC) Mode Register */ - #define REG_RTC_TIMR (*(__IO uint32_t*)0x400E1868U) /**< \brief (RTC) Time Register */ - #define REG_RTC_CALR (*(__IO uint32_t*)0x400E186CU) /**< \brief (RTC) Calendar Register */ - #define REG_RTC_TIMALR (*(__IO uint32_t*)0x400E1870U) /**< \brief (RTC) Time Alarm Register */ - #define REG_RTC_CALALR (*(__IO uint32_t*)0x400E1874U) /**< \brief (RTC) Calendar Alarm Register */ - #define REG_RTC_SR (*(__I uint32_t*)0x400E1878U) /**< \brief (RTC) Status Register */ - #define REG_RTC_SCCR (*(__O uint32_t*)0x400E187CU) /**< \brief (RTC) Status Clear Command Register */ - #define REG_RTC_IER (*(__O uint32_t*)0x400E1880U) /**< \brief (RTC) Interrupt Enable Register */ - #define REG_RTC_IDR (*(__O uint32_t*)0x400E1884U) /**< \brief (RTC) Interrupt Disable Register */ - #define REG_RTC_IMR (*(__I uint32_t*)0x400E1888U) /**< \brief (RTC) Interrupt Mask Register */ - #define REG_RTC_VER (*(__I uint32_t*)0x400E188CU) /**< \brief (RTC) Valid Entry Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RTC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h deleted file mode 100644 index 79b313d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/rtt.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_RTT_INSTANCE_ -#define _SAMS70_RTT_INSTANCE_ - -/* ========== Register definition for RTT peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_RTT_MR (0x400E1830U) /**< \brief (RTT) Mode Register */ - #define REG_RTT_AR (0x400E1834U) /**< \brief (RTT) Alarm Register */ - #define REG_RTT_VR (0x400E1838U) /**< \brief (RTT) Value Register */ - #define REG_RTT_SR (0x400E183CU) /**< \brief (RTT) Status Register */ -#else - #define REG_RTT_MR (*(__IO uint32_t*)0x400E1830U) /**< \brief (RTT) Mode Register */ - #define REG_RTT_AR (*(__IO uint32_t*)0x400E1834U) /**< \brief (RTT) Alarm Register */ - #define REG_RTT_VR (*(__I uint32_t*)0x400E1838U) /**< \brief (RTT) Value Register */ - #define REG_RTT_SR (*(__I uint32_t*)0x400E183CU) /**< \brief (RTT) Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_RTT_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h deleted file mode 100644 index 7febe8d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/sdramc.h +++ /dev/null @@ -1,79 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SDRAMC_INSTANCE_ -#define _SAMS70_SDRAMC_INSTANCE_ - -/* ========== Register definition for SDRAMC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SDRAMC_MR (0x40084000U) /**< \brief (SDRAMC) SDRAMC Mode Register */ - #define REG_SDRAMC_TR (0x40084004U) /**< \brief (SDRAMC) SDRAMC Refresh Timer Register */ - #define REG_SDRAMC_CR (0x40084008U) /**< \brief (SDRAMC) SDRAMC Configuration Register */ - #define REG_SDRAMC_LPR (0x40084010U) /**< \brief (SDRAMC) SDRAMC Low Power Register */ - #define REG_SDRAMC_IER (0x40084014U) /**< \brief (SDRAMC) SDRAMC Interrupt Enable Register */ - #define REG_SDRAMC_IDR (0x40084018U) /**< \brief (SDRAMC) SDRAMC Interrupt Disable Register */ - #define REG_SDRAMC_IMR (0x4008401CU) /**< \brief (SDRAMC) SDRAMC Interrupt Mask Register */ - #define REG_SDRAMC_ISR (0x40084020U) /**< \brief (SDRAMC) SDRAMC Interrupt Status Register */ - #define REG_SDRAMC_MDR (0x40084024U) /**< \brief (SDRAMC) SDRAMC Memory Device Register */ - #define REG_SDRAMC_CFR1 (0x40084028U) /**< \brief (SDRAMC) SDRAMC Configuration Register 1 */ - #define REG_SDRAMC_OCMS (0x4008402CU) /**< \brief (SDRAMC) SDRAMC OCMS Register */ - #define REG_SDRAMC_OCMS_KEY1 (0x40084030U) /**< \brief (SDRAMC) SDRAMC OCMS KEY1 Register */ - #define REG_SDRAMC_OCMS_KEY2 (0x40084034U) /**< \brief (SDRAMC) SDRAMC OCMS KEY2 Register */ -#else - #define REG_SDRAMC_MR (*(__IO uint32_t*)0x40084000U) /**< \brief (SDRAMC) SDRAMC Mode Register */ - #define REG_SDRAMC_TR (*(__IO uint32_t*)0x40084004U) /**< \brief (SDRAMC) SDRAMC Refresh Timer Register */ - #define REG_SDRAMC_CR (*(__IO uint32_t*)0x40084008U) /**< \brief (SDRAMC) SDRAMC Configuration Register */ - #define REG_SDRAMC_LPR (*(__IO uint32_t*)0x40084010U) /**< \brief (SDRAMC) SDRAMC Low Power Register */ - #define REG_SDRAMC_IER (*(__O uint32_t*)0x40084014U) /**< \brief (SDRAMC) SDRAMC Interrupt Enable Register */ - #define REG_SDRAMC_IDR (*(__O uint32_t*)0x40084018U) /**< \brief (SDRAMC) SDRAMC Interrupt Disable Register */ - #define REG_SDRAMC_IMR (*(__I uint32_t*)0x4008401CU) /**< \brief (SDRAMC) SDRAMC Interrupt Mask Register */ - #define REG_SDRAMC_ISR (*(__I uint32_t*)0x40084020U) /**< \brief (SDRAMC) SDRAMC Interrupt Status Register */ - #define REG_SDRAMC_MDR (*(__IO uint32_t*)0x40084024U) /**< \brief (SDRAMC) SDRAMC Memory Device Register */ - #define REG_SDRAMC_CFR1 (*(__IO uint32_t*)0x40084028U) /**< \brief (SDRAMC) SDRAMC Configuration Register 1 */ - #define REG_SDRAMC_OCMS (*(__IO uint32_t*)0x4008402CU) /**< \brief (SDRAMC) SDRAMC OCMS Register */ - #define REG_SDRAMC_OCMS_KEY1 (*(__O uint32_t*)0x40084030U) /**< \brief (SDRAMC) SDRAMC OCMS KEY1 Register */ - #define REG_SDRAMC_OCMS_KEY2 (*(__O uint32_t*)0x40084034U) /**< \brief (SDRAMC) SDRAMC OCMS KEY2 Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SDRAMC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h deleted file mode 100644 index e4cde22..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/smc.h +++ /dev/null @@ -1,95 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SMC_INSTANCE_ -#define _SAMS70_SMC_INSTANCE_ - -/* ========== Register definition for SMC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SMC_SETUP0 (0x40080000U) /**< \brief (SMC) SMC Setup Register (CS_number = 0) */ - #define REG_SMC_PULSE0 (0x40080004U) /**< \brief (SMC) SMC Pulse Register (CS_number = 0) */ - #define REG_SMC_CYCLE0 (0x40080008U) /**< \brief (SMC) SMC Cycle Register (CS_number = 0) */ - #define REG_SMC_MODE0 (0x4008000CU) /**< \brief (SMC) SMC MODE Register (CS_number = 0) */ - #define REG_SMC_SETUP1 (0x40080010U) /**< \brief (SMC) SMC Setup Register (CS_number = 1) */ - #define REG_SMC_PULSE1 (0x40080014U) /**< \brief (SMC) SMC Pulse Register (CS_number = 1) */ - #define REG_SMC_CYCLE1 (0x40080018U) /**< \brief (SMC) SMC Cycle Register (CS_number = 1) */ - #define REG_SMC_MODE1 (0x4008001CU) /**< \brief (SMC) SMC MODE Register (CS_number = 1) */ - #define REG_SMC_SETUP2 (0x40080020U) /**< \brief (SMC) SMC Setup Register (CS_number = 2) */ - #define REG_SMC_PULSE2 (0x40080024U) /**< \brief (SMC) SMC Pulse Register (CS_number = 2) */ - #define REG_SMC_CYCLE2 (0x40080028U) /**< \brief (SMC) SMC Cycle Register (CS_number = 2) */ - #define REG_SMC_MODE2 (0x4008002CU) /**< \brief (SMC) SMC MODE Register (CS_number = 2) */ - #define REG_SMC_SETUP3 (0x40080030U) /**< \brief (SMC) SMC Setup Register (CS_number = 3) */ - #define REG_SMC_PULSE3 (0x40080034U) /**< \brief (SMC) SMC Pulse Register (CS_number = 3) */ - #define REG_SMC_CYCLE3 (0x40080038U) /**< \brief (SMC) SMC Cycle Register (CS_number = 3) */ - #define REG_SMC_MODE3 (0x4008003CU) /**< \brief (SMC) SMC MODE Register (CS_number = 3) */ - #define REG_SMC_OCMS (0x40080080U) /**< \brief (SMC) SMC OCMS MODE Register */ - #define REG_SMC_KEY1 (0x40080084U) /**< \brief (SMC) SMC OCMS KEY1 Register */ - #define REG_SMC_KEY2 (0x40080088U) /**< \brief (SMC) SMC OCMS KEY2 Register */ - #define REG_SMC_WPMR (0x400800E4U) /**< \brief (SMC) SMC Write Protection Mode Register */ - #define REG_SMC_WPSR (0x400800E8U) /**< \brief (SMC) SMC Write Protection Status Register */ -#else - #define REG_SMC_SETUP0 (*(__IO uint32_t*)0x40080000U) /**< \brief (SMC) SMC Setup Register (CS_number = 0) */ - #define REG_SMC_PULSE0 (*(__IO uint32_t*)0x40080004U) /**< \brief (SMC) SMC Pulse Register (CS_number = 0) */ - #define REG_SMC_CYCLE0 (*(__IO uint32_t*)0x40080008U) /**< \brief (SMC) SMC Cycle Register (CS_number = 0) */ - #define REG_SMC_MODE0 (*(__IO uint32_t*)0x4008000CU) /**< \brief (SMC) SMC MODE Register (CS_number = 0) */ - #define REG_SMC_SETUP1 (*(__IO uint32_t*)0x40080010U) /**< \brief (SMC) SMC Setup Register (CS_number = 1) */ - #define REG_SMC_PULSE1 (*(__IO uint32_t*)0x40080014U) /**< \brief (SMC) SMC Pulse Register (CS_number = 1) */ - #define REG_SMC_CYCLE1 (*(__IO uint32_t*)0x40080018U) /**< \brief (SMC) SMC Cycle Register (CS_number = 1) */ - #define REG_SMC_MODE1 (*(__IO uint32_t*)0x4008001CU) /**< \brief (SMC) SMC MODE Register (CS_number = 1) */ - #define REG_SMC_SETUP2 (*(__IO uint32_t*)0x40080020U) /**< \brief (SMC) SMC Setup Register (CS_number = 2) */ - #define REG_SMC_PULSE2 (*(__IO uint32_t*)0x40080024U) /**< \brief (SMC) SMC Pulse Register (CS_number = 2) */ - #define REG_SMC_CYCLE2 (*(__IO uint32_t*)0x40080028U) /**< \brief (SMC) SMC Cycle Register (CS_number = 2) */ - #define REG_SMC_MODE2 (*(__IO uint32_t*)0x4008002CU) /**< \brief (SMC) SMC MODE Register (CS_number = 2) */ - #define REG_SMC_SETUP3 (*(__IO uint32_t*)0x40080030U) /**< \brief (SMC) SMC Setup Register (CS_number = 3) */ - #define REG_SMC_PULSE3 (*(__IO uint32_t*)0x40080034U) /**< \brief (SMC) SMC Pulse Register (CS_number = 3) */ - #define REG_SMC_CYCLE3 (*(__IO uint32_t*)0x40080038U) /**< \brief (SMC) SMC Cycle Register (CS_number = 3) */ - #define REG_SMC_MODE3 (*(__IO uint32_t*)0x4008003CU) /**< \brief (SMC) SMC MODE Register (CS_number = 3) */ - #define REG_SMC_OCMS (*(__IO uint32_t*)0x40080080U) /**< \brief (SMC) SMC OCMS MODE Register */ - #define REG_SMC_KEY1 (*(__O uint32_t*)0x40080084U) /**< \brief (SMC) SMC OCMS KEY1 Register */ - #define REG_SMC_KEY2 (*(__O uint32_t*)0x40080088U) /**< \brief (SMC) SMC OCMS KEY2 Register */ - #define REG_SMC_WPMR (*(__IO uint32_t*)0x400800E4U) /**< \brief (SMC) SMC Write Protection Mode Register */ - #define REG_SMC_WPSR (*(__I uint32_t*)0x400800E8U) /**< \brief (SMC) SMC Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SMC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h deleted file mode 100644 index 5e7a8cc..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi0.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SPI0_INSTANCE_ -#define _SAMS70_SPI0_INSTANCE_ - -/* ========== Register definition for SPI0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SPI0_CR (0x40008000U) /**< \brief (SPI0) Control Register */ - #define REG_SPI0_MR (0x40008004U) /**< \brief (SPI0) Mode Register */ - #define REG_SPI0_RDR (0x40008008U) /**< \brief (SPI0) Receive Data Register */ - #define REG_SPI0_TDR (0x4000800CU) /**< \brief (SPI0) Transmit Data Register */ - #define REG_SPI0_SR (0x40008010U) /**< \brief (SPI0) Status Register */ - #define REG_SPI0_IER (0x40008014U) /**< \brief (SPI0) Interrupt Enable Register */ - #define REG_SPI0_IDR (0x40008018U) /**< \brief (SPI0) Interrupt Disable Register */ - #define REG_SPI0_IMR (0x4000801CU) /**< \brief (SPI0) Interrupt Mask Register */ - #define REG_SPI0_CSR (0x40008030U) /**< \brief (SPI0) Chip Select Register */ - #define REG_SPI0_WPMR (0x400080E4U) /**< \brief (SPI0) Write Protection Mode Register */ - #define REG_SPI0_WPSR (0x400080E8U) /**< \brief (SPI0) Write Protection Status Register */ -#else - #define REG_SPI0_CR (*(__O uint32_t*)0x40008000U) /**< \brief (SPI0) Control Register */ - #define REG_SPI0_MR (*(__IO uint32_t*)0x40008004U) /**< \brief (SPI0) Mode Register */ - #define REG_SPI0_RDR (*(__I uint32_t*)0x40008008U) /**< \brief (SPI0) Receive Data Register */ - #define REG_SPI0_TDR (*(__O uint32_t*)0x4000800CU) /**< \brief (SPI0) Transmit Data Register */ - #define REG_SPI0_SR (*(__I uint32_t*)0x40008010U) /**< \brief (SPI0) Status Register */ - #define REG_SPI0_IER (*(__O uint32_t*)0x40008014U) /**< \brief (SPI0) Interrupt Enable Register */ - #define REG_SPI0_IDR (*(__O uint32_t*)0x40008018U) /**< \brief (SPI0) Interrupt Disable Register */ - #define REG_SPI0_IMR (*(__I uint32_t*)0x4000801CU) /**< \brief (SPI0) Interrupt Mask Register */ - #define REG_SPI0_CSR (*(__IO uint32_t*)0x40008030U) /**< \brief (SPI0) Chip Select Register */ - #define REG_SPI0_WPMR (*(__IO uint32_t*)0x400080E4U) /**< \brief (SPI0) Write Protection Mode Register */ - #define REG_SPI0_WPSR (*(__I uint32_t*)0x400080E8U) /**< \brief (SPI0) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SPI0_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h deleted file mode 100644 index dbd26f0..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/spi1.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SPI1_INSTANCE_ -#define _SAMS70_SPI1_INSTANCE_ - -/* ========== Register definition for SPI1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SPI1_CR (0x40058000U) /**< \brief (SPI1) Control Register */ - #define REG_SPI1_MR (0x40058004U) /**< \brief (SPI1) Mode Register */ - #define REG_SPI1_RDR (0x40058008U) /**< \brief (SPI1) Receive Data Register */ - #define REG_SPI1_TDR (0x4005800CU) /**< \brief (SPI1) Transmit Data Register */ - #define REG_SPI1_SR (0x40058010U) /**< \brief (SPI1) Status Register */ - #define REG_SPI1_IER (0x40058014U) /**< \brief (SPI1) Interrupt Enable Register */ - #define REG_SPI1_IDR (0x40058018U) /**< \brief (SPI1) Interrupt Disable Register */ - #define REG_SPI1_IMR (0x4005801CU) /**< \brief (SPI1) Interrupt Mask Register */ - #define REG_SPI1_CSR (0x40058030U) /**< \brief (SPI1) Chip Select Register */ - #define REG_SPI1_WPMR (0x400580E4U) /**< \brief (SPI1) Write Protection Mode Register */ - #define REG_SPI1_WPSR (0x400580E8U) /**< \brief (SPI1) Write Protection Status Register */ -#else - #define REG_SPI1_CR (*(__O uint32_t*)0x40058000U) /**< \brief (SPI1) Control Register */ - #define REG_SPI1_MR (*(__IO uint32_t*)0x40058004U) /**< \brief (SPI1) Mode Register */ - #define REG_SPI1_RDR (*(__I uint32_t*)0x40058008U) /**< \brief (SPI1) Receive Data Register */ - #define REG_SPI1_TDR (*(__O uint32_t*)0x4005800CU) /**< \brief (SPI1) Transmit Data Register */ - #define REG_SPI1_SR (*(__I uint32_t*)0x40058010U) /**< \brief (SPI1) Status Register */ - #define REG_SPI1_IER (*(__O uint32_t*)0x40058014U) /**< \brief (SPI1) Interrupt Enable Register */ - #define REG_SPI1_IDR (*(__O uint32_t*)0x40058018U) /**< \brief (SPI1) Interrupt Disable Register */ - #define REG_SPI1_IMR (*(__I uint32_t*)0x4005801CU) /**< \brief (SPI1) Interrupt Mask Register */ - #define REG_SPI1_CSR (*(__IO uint32_t*)0x40058030U) /**< \brief (SPI1) Chip Select Register */ - #define REG_SPI1_WPMR (*(__IO uint32_t*)0x400580E4U) /**< \brief (SPI1) Write Protection Mode Register */ - #define REG_SPI1_WPSR (*(__I uint32_t*)0x400580E8U) /**< \brief (SPI1) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SPI1_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h deleted file mode 100644 index 3d55362..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/ssc.h +++ /dev/null @@ -1,89 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SSC_INSTANCE_ -#define _SAMS70_SSC_INSTANCE_ - -/* ========== Register definition for SSC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SSC_CR (0x40004000U) /**< \brief (SSC) Control Register */ - #define REG_SSC_CMR (0x40004004U) /**< \brief (SSC) Clock Mode Register */ - #define REG_SSC_RCMR (0x40004010U) /**< \brief (SSC) Receive Clock Mode Register */ - #define REG_SSC_RFMR (0x40004014U) /**< \brief (SSC) Receive Frame Mode Register */ - #define REG_SSC_TCMR (0x40004018U) /**< \brief (SSC) Transmit Clock Mode Register */ - #define REG_SSC_TFMR (0x4000401CU) /**< \brief (SSC) Transmit Frame Mode Register */ - #define REG_SSC_RHR (0x40004020U) /**< \brief (SSC) Receive Holding Register */ - #define REG_SSC_THR (0x40004024U) /**< \brief (SSC) Transmit Holding Register */ - #define REG_SSC_RSHR (0x40004030U) /**< \brief (SSC) Receive Sync. Holding Register */ - #define REG_SSC_TSHR (0x40004034U) /**< \brief (SSC) Transmit Sync. Holding Register */ - #define REG_SSC_RC0R (0x40004038U) /**< \brief (SSC) Receive Compare 0 Register */ - #define REG_SSC_RC1R (0x4000403CU) /**< \brief (SSC) Receive Compare 1 Register */ - #define REG_SSC_SR (0x40004040U) /**< \brief (SSC) Status Register */ - #define REG_SSC_IER (0x40004044U) /**< \brief (SSC) Interrupt Enable Register */ - #define REG_SSC_IDR (0x40004048U) /**< \brief (SSC) Interrupt Disable Register */ - #define REG_SSC_IMR (0x4000404CU) /**< \brief (SSC) Interrupt Mask Register */ - #define REG_SSC_WPMR (0x400040E4U) /**< \brief (SSC) Write Protection Mode Register */ - #define REG_SSC_WPSR (0x400040E8U) /**< \brief (SSC) Write Protection Status Register */ -#else - #define REG_SSC_CR (*(__O uint32_t*)0x40004000U) /**< \brief (SSC) Control Register */ - #define REG_SSC_CMR (*(__IO uint32_t*)0x40004004U) /**< \brief (SSC) Clock Mode Register */ - #define REG_SSC_RCMR (*(__IO uint32_t*)0x40004010U) /**< \brief (SSC) Receive Clock Mode Register */ - #define REG_SSC_RFMR (*(__IO uint32_t*)0x40004014U) /**< \brief (SSC) Receive Frame Mode Register */ - #define REG_SSC_TCMR (*(__IO uint32_t*)0x40004018U) /**< \brief (SSC) Transmit Clock Mode Register */ - #define REG_SSC_TFMR (*(__IO uint32_t*)0x4000401CU) /**< \brief (SSC) Transmit Frame Mode Register */ - #define REG_SSC_RHR (*(__I uint32_t*)0x40004020U) /**< \brief (SSC) Receive Holding Register */ - #define REG_SSC_THR (*(__O uint32_t*)0x40004024U) /**< \brief (SSC) Transmit Holding Register */ - #define REG_SSC_RSHR (*(__I uint32_t*)0x40004030U) /**< \brief (SSC) Receive Sync. Holding Register */ - #define REG_SSC_TSHR (*(__IO uint32_t*)0x40004034U) /**< \brief (SSC) Transmit Sync. Holding Register */ - #define REG_SSC_RC0R (*(__IO uint32_t*)0x40004038U) /**< \brief (SSC) Receive Compare 0 Register */ - #define REG_SSC_RC1R (*(__IO uint32_t*)0x4000403CU) /**< \brief (SSC) Receive Compare 1 Register */ - #define REG_SSC_SR (*(__I uint32_t*)0x40004040U) /**< \brief (SSC) Status Register */ - #define REG_SSC_IER (*(__O uint32_t*)0x40004044U) /**< \brief (SSC) Interrupt Enable Register */ - #define REG_SSC_IDR (*(__O uint32_t*)0x40004048U) /**< \brief (SSC) Interrupt Disable Register */ - #define REG_SSC_IMR (*(__I uint32_t*)0x4000404CU) /**< \brief (SSC) Interrupt Mask Register */ - #define REG_SSC_WPMR (*(__IO uint32_t*)0x400040E4U) /**< \brief (SSC) Write Protection Mode Register */ - #define REG_SSC_WPSR (*(__I uint32_t*)0x400040E8U) /**< \brief (SSC) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SSC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h deleted file mode 100644 index 3a8ccae..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/supc.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_SUPC_INSTANCE_ -#define _SAMS70_SUPC_INSTANCE_ - -/* ========== Register definition for SUPC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_SUPC_CR (0x400E1810U) /**< \brief (SUPC) Supply Controller Control Register */ - #define REG_SUPC_SMMR (0x400E1814U) /**< \brief (SUPC) Supply Controller Supply Monitor Mode Register */ - #define REG_SUPC_MR (0x400E1818U) /**< \brief (SUPC) Supply Controller Mode Register */ - #define REG_SUPC_WUMR (0x400E181CU) /**< \brief (SUPC) Supply Controller Wake-up Mode Register */ - #define REG_SUPC_WUIR (0x400E1820U) /**< \brief (SUPC) Supply Controller Wake-up Inputs Register */ - #define REG_SUPC_SR (0x400E1824U) /**< \brief (SUPC) Supply Controller Status Register */ -#else - #define REG_SUPC_CR (*(__O uint32_t*)0x400E1810U) /**< \brief (SUPC) Supply Controller Control Register */ - #define REG_SUPC_SMMR (*(__IO uint32_t*)0x400E1814U) /**< \brief (SUPC) Supply Controller Supply Monitor Mode Register */ - #define REG_SUPC_MR (*(__IO uint32_t*)0x400E1818U) /**< \brief (SUPC) Supply Controller Mode Register */ - #define REG_SUPC_WUMR (*(__IO uint32_t*)0x400E181CU) /**< \brief (SUPC) Supply Controller Wake-up Mode Register */ - #define REG_SUPC_WUIR (*(__IO uint32_t*)0x400E1820U) /**< \brief (SUPC) Supply Controller Wake-up Inputs Register */ - #define REG_SUPC_SR (*(__I uint32_t*)0x400E1824U) /**< \brief (SUPC) Supply Controller Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_SUPC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h deleted file mode 100644 index 35b9687..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc0.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC0_INSTANCE_ -#define _SAMS70_TC0_INSTANCE_ - -/* ========== Register definition for TC0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC0_CCR0 (0x4000C000U) /**< \brief (TC0) Channel Control Register (channel = 0) */ - #define REG_TC0_CMR0 (0x4000C004U) /**< \brief (TC0) Channel Mode Register (channel = 0) */ - #define REG_TC0_SMMR0 (0x4000C008U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC0_RAB0 (0x4000C00CU) /**< \brief (TC0) Register AB (channel = 0) */ - #define REG_TC0_CV0 (0x4000C010U) /**< \brief (TC0) Counter Value (channel = 0) */ - #define REG_TC0_RA0 (0x4000C014U) /**< \brief (TC0) Register A (channel = 0) */ - #define REG_TC0_RB0 (0x4000C018U) /**< \brief (TC0) Register B (channel = 0) */ - #define REG_TC0_RC0 (0x4000C01CU) /**< \brief (TC0) Register C (channel = 0) */ - #define REG_TC0_SR0 (0x4000C020U) /**< \brief (TC0) Status Register (channel = 0) */ - #define REG_TC0_IER0 (0x4000C024U) /**< \brief (TC0) Interrupt Enable Register (channel = 0) */ - #define REG_TC0_IDR0 (0x4000C028U) /**< \brief (TC0) Interrupt Disable Register (channel = 0) */ - #define REG_TC0_IMR0 (0x4000C02CU) /**< \brief (TC0) Interrupt Mask Register (channel = 0) */ - #define REG_TC0_EMR0 (0x4000C030U) /**< \brief (TC0) Extended Mode Register (channel = 0) */ - #define REG_TC0_CCR1 (0x4000C040U) /**< \brief (TC0) Channel Control Register (channel = 1) */ - #define REG_TC0_CMR1 (0x4000C044U) /**< \brief (TC0) Channel Mode Register (channel = 1) */ - #define REG_TC0_SMMR1 (0x4000C048U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC0_RAB1 (0x4000C04CU) /**< \brief (TC0) Register AB (channel = 1) */ - #define REG_TC0_CV1 (0x4000C050U) /**< \brief (TC0) Counter Value (channel = 1) */ - #define REG_TC0_RA1 (0x4000C054U) /**< \brief (TC0) Register A (channel = 1) */ - #define REG_TC0_RB1 (0x4000C058U) /**< \brief (TC0) Register B (channel = 1) */ - #define REG_TC0_RC1 (0x4000C05CU) /**< \brief (TC0) Register C (channel = 1) */ - #define REG_TC0_SR1 (0x4000C060U) /**< \brief (TC0) Status Register (channel = 1) */ - #define REG_TC0_IER1 (0x4000C064U) /**< \brief (TC0) Interrupt Enable Register (channel = 1) */ - #define REG_TC0_IDR1 (0x4000C068U) /**< \brief (TC0) Interrupt Disable Register (channel = 1) */ - #define REG_TC0_IMR1 (0x4000C06CU) /**< \brief (TC0) Interrupt Mask Register (channel = 1) */ - #define REG_TC0_EMR1 (0x4000C070U) /**< \brief (TC0) Extended Mode Register (channel = 1) */ - #define REG_TC0_CCR2 (0x4000C080U) /**< \brief (TC0) Channel Control Register (channel = 2) */ - #define REG_TC0_CMR2 (0x4000C084U) /**< \brief (TC0) Channel Mode Register (channel = 2) */ - #define REG_TC0_SMMR2 (0x4000C088U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC0_RAB2 (0x4000C08CU) /**< \brief (TC0) Register AB (channel = 2) */ - #define REG_TC0_CV2 (0x4000C090U) /**< \brief (TC0) Counter Value (channel = 2) */ - #define REG_TC0_RA2 (0x4000C094U) /**< \brief (TC0) Register A (channel = 2) */ - #define REG_TC0_RB2 (0x4000C098U) /**< \brief (TC0) Register B (channel = 2) */ - #define REG_TC0_RC2 (0x4000C09CU) /**< \brief (TC0) Register C (channel = 2) */ - #define REG_TC0_SR2 (0x4000C0A0U) /**< \brief (TC0) Status Register (channel = 2) */ - #define REG_TC0_IER2 (0x4000C0A4U) /**< \brief (TC0) Interrupt Enable Register (channel = 2) */ - #define REG_TC0_IDR2 (0x4000C0A8U) /**< \brief (TC0) Interrupt Disable Register (channel = 2) */ - #define REG_TC0_IMR2 (0x4000C0ACU) /**< \brief (TC0) Interrupt Mask Register (channel = 2) */ - #define REG_TC0_EMR2 (0x4000C0B0U) /**< \brief (TC0) Extended Mode Register (channel = 2) */ - #define REG_TC0_BCR (0x4000C0C0U) /**< \brief (TC0) Block Control Register */ - #define REG_TC0_BMR (0x4000C0C4U) /**< \brief (TC0) Block Mode Register */ - #define REG_TC0_QIER (0x4000C0C8U) /**< \brief (TC0) QDEC Interrupt Enable Register */ - #define REG_TC0_QIDR (0x4000C0CCU) /**< \brief (TC0) QDEC Interrupt Disable Register */ - #define REG_TC0_QIMR (0x4000C0D0U) /**< \brief (TC0) QDEC Interrupt Mask Register */ - #define REG_TC0_QISR (0x4000C0D4U) /**< \brief (TC0) QDEC Interrupt Status Register */ - #define REG_TC0_FMR (0x4000C0D8U) /**< \brief (TC0) Fault Mode Register */ - #define REG_TC0_WPMR (0x4000C0E4U) /**< \brief (TC0) Write Protection Mode Register */ -#else - #define REG_TC0_CCR0 (*(__O uint32_t*)0x4000C000U) /**< \brief (TC0) Channel Control Register (channel = 0) */ - #define REG_TC0_CMR0 (*(__IO uint32_t*)0x4000C004U) /**< \brief (TC0) Channel Mode Register (channel = 0) */ - #define REG_TC0_SMMR0 (*(__IO uint32_t*)0x4000C008U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC0_RAB0 (*(__I uint32_t*)0x4000C00CU) /**< \brief (TC0) Register AB (channel = 0) */ - #define REG_TC0_CV0 (*(__I uint32_t*)0x4000C010U) /**< \brief (TC0) Counter Value (channel = 0) */ - #define REG_TC0_RA0 (*(__IO uint32_t*)0x4000C014U) /**< \brief (TC0) Register A (channel = 0) */ - #define REG_TC0_RB0 (*(__IO uint32_t*)0x4000C018U) /**< \brief (TC0) Register B (channel = 0) */ - #define REG_TC0_RC0 (*(__IO uint32_t*)0x4000C01CU) /**< \brief (TC0) Register C (channel = 0) */ - #define REG_TC0_SR0 (*(__I uint32_t*)0x4000C020U) /**< \brief (TC0) Status Register (channel = 0) */ - #define REG_TC0_IER0 (*(__O uint32_t*)0x4000C024U) /**< \brief (TC0) Interrupt Enable Register (channel = 0) */ - #define REG_TC0_IDR0 (*(__O uint32_t*)0x4000C028U) /**< \brief (TC0) Interrupt Disable Register (channel = 0) */ - #define REG_TC0_IMR0 (*(__I uint32_t*)0x4000C02CU) /**< \brief (TC0) Interrupt Mask Register (channel = 0) */ - #define REG_TC0_EMR0 (*(__IO uint32_t*)0x4000C030U) /**< \brief (TC0) Extended Mode Register (channel = 0) */ - #define REG_TC0_CCR1 (*(__O uint32_t*)0x4000C040U) /**< \brief (TC0) Channel Control Register (channel = 1) */ - #define REG_TC0_CMR1 (*(__IO uint32_t*)0x4000C044U) /**< \brief (TC0) Channel Mode Register (channel = 1) */ - #define REG_TC0_SMMR1 (*(__IO uint32_t*)0x4000C048U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC0_RAB1 (*(__I uint32_t*)0x4000C04CU) /**< \brief (TC0) Register AB (channel = 1) */ - #define REG_TC0_CV1 (*(__I uint32_t*)0x4000C050U) /**< \brief (TC0) Counter Value (channel = 1) */ - #define REG_TC0_RA1 (*(__IO uint32_t*)0x4000C054U) /**< \brief (TC0) Register A (channel = 1) */ - #define REG_TC0_RB1 (*(__IO uint32_t*)0x4000C058U) /**< \brief (TC0) Register B (channel = 1) */ - #define REG_TC0_RC1 (*(__IO uint32_t*)0x4000C05CU) /**< \brief (TC0) Register C (channel = 1) */ - #define REG_TC0_SR1 (*(__I uint32_t*)0x4000C060U) /**< \brief (TC0) Status Register (channel = 1) */ - #define REG_TC0_IER1 (*(__O uint32_t*)0x4000C064U) /**< \brief (TC0) Interrupt Enable Register (channel = 1) */ - #define REG_TC0_IDR1 (*(__O uint32_t*)0x4000C068U) /**< \brief (TC0) Interrupt Disable Register (channel = 1) */ - #define REG_TC0_IMR1 (*(__I uint32_t*)0x4000C06CU) /**< \brief (TC0) Interrupt Mask Register (channel = 1) */ - #define REG_TC0_EMR1 (*(__IO uint32_t*)0x4000C070U) /**< \brief (TC0) Extended Mode Register (channel = 1) */ - #define REG_TC0_CCR2 (*(__O uint32_t*)0x4000C080U) /**< \brief (TC0) Channel Control Register (channel = 2) */ - #define REG_TC0_CMR2 (*(__IO uint32_t*)0x4000C084U) /**< \brief (TC0) Channel Mode Register (channel = 2) */ - #define REG_TC0_SMMR2 (*(__IO uint32_t*)0x4000C088U) /**< \brief (TC0) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC0_RAB2 (*(__I uint32_t*)0x4000C08CU) /**< \brief (TC0) Register AB (channel = 2) */ - #define REG_TC0_CV2 (*(__I uint32_t*)0x4000C090U) /**< \brief (TC0) Counter Value (channel = 2) */ - #define REG_TC0_RA2 (*(__IO uint32_t*)0x4000C094U) /**< \brief (TC0) Register A (channel = 2) */ - #define REG_TC0_RB2 (*(__IO uint32_t*)0x4000C098U) /**< \brief (TC0) Register B (channel = 2) */ - #define REG_TC0_RC2 (*(__IO uint32_t*)0x4000C09CU) /**< \brief (TC0) Register C (channel = 2) */ - #define REG_TC0_SR2 (*(__I uint32_t*)0x4000C0A0U) /**< \brief (TC0) Status Register (channel = 2) */ - #define REG_TC0_IER2 (*(__O uint32_t*)0x4000C0A4U) /**< \brief (TC0) Interrupt Enable Register (channel = 2) */ - #define REG_TC0_IDR2 (*(__O uint32_t*)0x4000C0A8U) /**< \brief (TC0) Interrupt Disable Register (channel = 2) */ - #define REG_TC0_IMR2 (*(__I uint32_t*)0x4000C0ACU) /**< \brief (TC0) Interrupt Mask Register (channel = 2) */ - #define REG_TC0_EMR2 (*(__IO uint32_t*)0x4000C0B0U) /**< \brief (TC0) Extended Mode Register (channel = 2) */ - #define REG_TC0_BCR (*(__O uint32_t*)0x4000C0C0U) /**< \brief (TC0) Block Control Register */ - #define REG_TC0_BMR (*(__IO uint32_t*)0x4000C0C4U) /**< \brief (TC0) Block Mode Register */ - #define REG_TC0_QIER (*(__O uint32_t*)0x4000C0C8U) /**< \brief (TC0) QDEC Interrupt Enable Register */ - #define REG_TC0_QIDR (*(__O uint32_t*)0x4000C0CCU) /**< \brief (TC0) QDEC Interrupt Disable Register */ - #define REG_TC0_QIMR (*(__I uint32_t*)0x4000C0D0U) /**< \brief (TC0) QDEC Interrupt Mask Register */ - #define REG_TC0_QISR (*(__I uint32_t*)0x4000C0D4U) /**< \brief (TC0) QDEC Interrupt Status Register */ - #define REG_TC0_FMR (*(__IO uint32_t*)0x4000C0D8U) /**< \brief (TC0) Fault Mode Register */ - #define REG_TC0_WPMR (*(__IO uint32_t*)0x4000C0E4U) /**< \brief (TC0) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC0_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h deleted file mode 100644 index 0f1bc18..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc1.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC1_INSTANCE_ -#define _SAMS70_TC1_INSTANCE_ - -/* ========== Register definition for TC1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC1_CCR0 (0x40010000U) /**< \brief (TC1) Channel Control Register (channel = 0) */ - #define REG_TC1_CMR0 (0x40010004U) /**< \brief (TC1) Channel Mode Register (channel = 0) */ - #define REG_TC1_SMMR0 (0x40010008U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC1_RAB0 (0x4001000CU) /**< \brief (TC1) Register AB (channel = 0) */ - #define REG_TC1_CV0 (0x40010010U) /**< \brief (TC1) Counter Value (channel = 0) */ - #define REG_TC1_RA0 (0x40010014U) /**< \brief (TC1) Register A (channel = 0) */ - #define REG_TC1_RB0 (0x40010018U) /**< \brief (TC1) Register B (channel = 0) */ - #define REG_TC1_RC0 (0x4001001CU) /**< \brief (TC1) Register C (channel = 0) */ - #define REG_TC1_SR0 (0x40010020U) /**< \brief (TC1) Status Register (channel = 0) */ - #define REG_TC1_IER0 (0x40010024U) /**< \brief (TC1) Interrupt Enable Register (channel = 0) */ - #define REG_TC1_IDR0 (0x40010028U) /**< \brief (TC1) Interrupt Disable Register (channel = 0) */ - #define REG_TC1_IMR0 (0x4001002CU) /**< \brief (TC1) Interrupt Mask Register (channel = 0) */ - #define REG_TC1_EMR0 (0x40010030U) /**< \brief (TC1) Extended Mode Register (channel = 0) */ - #define REG_TC1_CCR1 (0x40010040U) /**< \brief (TC1) Channel Control Register (channel = 1) */ - #define REG_TC1_CMR1 (0x40010044U) /**< \brief (TC1) Channel Mode Register (channel = 1) */ - #define REG_TC1_SMMR1 (0x40010048U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC1_RAB1 (0x4001004CU) /**< \brief (TC1) Register AB (channel = 1) */ - #define REG_TC1_CV1 (0x40010050U) /**< \brief (TC1) Counter Value (channel = 1) */ - #define REG_TC1_RA1 (0x40010054U) /**< \brief (TC1) Register A (channel = 1) */ - #define REG_TC1_RB1 (0x40010058U) /**< \brief (TC1) Register B (channel = 1) */ - #define REG_TC1_RC1 (0x4001005CU) /**< \brief (TC1) Register C (channel = 1) */ - #define REG_TC1_SR1 (0x40010060U) /**< \brief (TC1) Status Register (channel = 1) */ - #define REG_TC1_IER1 (0x40010064U) /**< \brief (TC1) Interrupt Enable Register (channel = 1) */ - #define REG_TC1_IDR1 (0x40010068U) /**< \brief (TC1) Interrupt Disable Register (channel = 1) */ - #define REG_TC1_IMR1 (0x4001006CU) /**< \brief (TC1) Interrupt Mask Register (channel = 1) */ - #define REG_TC1_EMR1 (0x40010070U) /**< \brief (TC1) Extended Mode Register (channel = 1) */ - #define REG_TC1_CCR2 (0x40010080U) /**< \brief (TC1) Channel Control Register (channel = 2) */ - #define REG_TC1_CMR2 (0x40010084U) /**< \brief (TC1) Channel Mode Register (channel = 2) */ - #define REG_TC1_SMMR2 (0x40010088U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC1_RAB2 (0x4001008CU) /**< \brief (TC1) Register AB (channel = 2) */ - #define REG_TC1_CV2 (0x40010090U) /**< \brief (TC1) Counter Value (channel = 2) */ - #define REG_TC1_RA2 (0x40010094U) /**< \brief (TC1) Register A (channel = 2) */ - #define REG_TC1_RB2 (0x40010098U) /**< \brief (TC1) Register B (channel = 2) */ - #define REG_TC1_RC2 (0x4001009CU) /**< \brief (TC1) Register C (channel = 2) */ - #define REG_TC1_SR2 (0x400100A0U) /**< \brief (TC1) Status Register (channel = 2) */ - #define REG_TC1_IER2 (0x400100A4U) /**< \brief (TC1) Interrupt Enable Register (channel = 2) */ - #define REG_TC1_IDR2 (0x400100A8U) /**< \brief (TC1) Interrupt Disable Register (channel = 2) */ - #define REG_TC1_IMR2 (0x400100ACU) /**< \brief (TC1) Interrupt Mask Register (channel = 2) */ - #define REG_TC1_EMR2 (0x400100B0U) /**< \brief (TC1) Extended Mode Register (channel = 2) */ - #define REG_TC1_BCR (0x400100C0U) /**< \brief (TC1) Block Control Register */ - #define REG_TC1_BMR (0x400100C4U) /**< \brief (TC1) Block Mode Register */ - #define REG_TC1_QIER (0x400100C8U) /**< \brief (TC1) QDEC Interrupt Enable Register */ - #define REG_TC1_QIDR (0x400100CCU) /**< \brief (TC1) QDEC Interrupt Disable Register */ - #define REG_TC1_QIMR (0x400100D0U) /**< \brief (TC1) QDEC Interrupt Mask Register */ - #define REG_TC1_QISR (0x400100D4U) /**< \brief (TC1) QDEC Interrupt Status Register */ - #define REG_TC1_FMR (0x400100D8U) /**< \brief (TC1) Fault Mode Register */ - #define REG_TC1_WPMR (0x400100E4U) /**< \brief (TC1) Write Protection Mode Register */ -#else - #define REG_TC1_CCR0 (*(__O uint32_t*)0x40010000U) /**< \brief (TC1) Channel Control Register (channel = 0) */ - #define REG_TC1_CMR0 (*(__IO uint32_t*)0x40010004U) /**< \brief (TC1) Channel Mode Register (channel = 0) */ - #define REG_TC1_SMMR0 (*(__IO uint32_t*)0x40010008U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC1_RAB0 (*(__I uint32_t*)0x4001000CU) /**< \brief (TC1) Register AB (channel = 0) */ - #define REG_TC1_CV0 (*(__I uint32_t*)0x40010010U) /**< \brief (TC1) Counter Value (channel = 0) */ - #define REG_TC1_RA0 (*(__IO uint32_t*)0x40010014U) /**< \brief (TC1) Register A (channel = 0) */ - #define REG_TC1_RB0 (*(__IO uint32_t*)0x40010018U) /**< \brief (TC1) Register B (channel = 0) */ - #define REG_TC1_RC0 (*(__IO uint32_t*)0x4001001CU) /**< \brief (TC1) Register C (channel = 0) */ - #define REG_TC1_SR0 (*(__I uint32_t*)0x40010020U) /**< \brief (TC1) Status Register (channel = 0) */ - #define REG_TC1_IER0 (*(__O uint32_t*)0x40010024U) /**< \brief (TC1) Interrupt Enable Register (channel = 0) */ - #define REG_TC1_IDR0 (*(__O uint32_t*)0x40010028U) /**< \brief (TC1) Interrupt Disable Register (channel = 0) */ - #define REG_TC1_IMR0 (*(__I uint32_t*)0x4001002CU) /**< \brief (TC1) Interrupt Mask Register (channel = 0) */ - #define REG_TC1_EMR0 (*(__IO uint32_t*)0x40010030U) /**< \brief (TC1) Extended Mode Register (channel = 0) */ - #define REG_TC1_CCR1 (*(__O uint32_t*)0x40010040U) /**< \brief (TC1) Channel Control Register (channel = 1) */ - #define REG_TC1_CMR1 (*(__IO uint32_t*)0x40010044U) /**< \brief (TC1) Channel Mode Register (channel = 1) */ - #define REG_TC1_SMMR1 (*(__IO uint32_t*)0x40010048U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC1_RAB1 (*(__I uint32_t*)0x4001004CU) /**< \brief (TC1) Register AB (channel = 1) */ - #define REG_TC1_CV1 (*(__I uint32_t*)0x40010050U) /**< \brief (TC1) Counter Value (channel = 1) */ - #define REG_TC1_RA1 (*(__IO uint32_t*)0x40010054U) /**< \brief (TC1) Register A (channel = 1) */ - #define REG_TC1_RB1 (*(__IO uint32_t*)0x40010058U) /**< \brief (TC1) Register B (channel = 1) */ - #define REG_TC1_RC1 (*(__IO uint32_t*)0x4001005CU) /**< \brief (TC1) Register C (channel = 1) */ - #define REG_TC1_SR1 (*(__I uint32_t*)0x40010060U) /**< \brief (TC1) Status Register (channel = 1) */ - #define REG_TC1_IER1 (*(__O uint32_t*)0x40010064U) /**< \brief (TC1) Interrupt Enable Register (channel = 1) */ - #define REG_TC1_IDR1 (*(__O uint32_t*)0x40010068U) /**< \brief (TC1) Interrupt Disable Register (channel = 1) */ - #define REG_TC1_IMR1 (*(__I uint32_t*)0x4001006CU) /**< \brief (TC1) Interrupt Mask Register (channel = 1) */ - #define REG_TC1_EMR1 (*(__IO uint32_t*)0x40010070U) /**< \brief (TC1) Extended Mode Register (channel = 1) */ - #define REG_TC1_CCR2 (*(__O uint32_t*)0x40010080U) /**< \brief (TC1) Channel Control Register (channel = 2) */ - #define REG_TC1_CMR2 (*(__IO uint32_t*)0x40010084U) /**< \brief (TC1) Channel Mode Register (channel = 2) */ - #define REG_TC1_SMMR2 (*(__IO uint32_t*)0x40010088U) /**< \brief (TC1) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC1_RAB2 (*(__I uint32_t*)0x4001008CU) /**< \brief (TC1) Register AB (channel = 2) */ - #define REG_TC1_CV2 (*(__I uint32_t*)0x40010090U) /**< \brief (TC1) Counter Value (channel = 2) */ - #define REG_TC1_RA2 (*(__IO uint32_t*)0x40010094U) /**< \brief (TC1) Register A (channel = 2) */ - #define REG_TC1_RB2 (*(__IO uint32_t*)0x40010098U) /**< \brief (TC1) Register B (channel = 2) */ - #define REG_TC1_RC2 (*(__IO uint32_t*)0x4001009CU) /**< \brief (TC1) Register C (channel = 2) */ - #define REG_TC1_SR2 (*(__I uint32_t*)0x400100A0U) /**< \brief (TC1) Status Register (channel = 2) */ - #define REG_TC1_IER2 (*(__O uint32_t*)0x400100A4U) /**< \brief (TC1) Interrupt Enable Register (channel = 2) */ - #define REG_TC1_IDR2 (*(__O uint32_t*)0x400100A8U) /**< \brief (TC1) Interrupt Disable Register (channel = 2) */ - #define REG_TC1_IMR2 (*(__I uint32_t*)0x400100ACU) /**< \brief (TC1) Interrupt Mask Register (channel = 2) */ - #define REG_TC1_EMR2 (*(__IO uint32_t*)0x400100B0U) /**< \brief (TC1) Extended Mode Register (channel = 2) */ - #define REG_TC1_BCR (*(__O uint32_t*)0x400100C0U) /**< \brief (TC1) Block Control Register */ - #define REG_TC1_BMR (*(__IO uint32_t*)0x400100C4U) /**< \brief (TC1) Block Mode Register */ - #define REG_TC1_QIER (*(__O uint32_t*)0x400100C8U) /**< \brief (TC1) QDEC Interrupt Enable Register */ - #define REG_TC1_QIDR (*(__O uint32_t*)0x400100CCU) /**< \brief (TC1) QDEC Interrupt Disable Register */ - #define REG_TC1_QIMR (*(__I uint32_t*)0x400100D0U) /**< \brief (TC1) QDEC Interrupt Mask Register */ - #define REG_TC1_QISR (*(__I uint32_t*)0x400100D4U) /**< \brief (TC1) QDEC Interrupt Status Register */ - #define REG_TC1_FMR (*(__IO uint32_t*)0x400100D8U) /**< \brief (TC1) Fault Mode Register */ - #define REG_TC1_WPMR (*(__IO uint32_t*)0x400100E4U) /**< \brief (TC1) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC1_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h deleted file mode 100644 index 6a7e0b9..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc2.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC2_INSTANCE_ -#define _SAMS70_TC2_INSTANCE_ - -/* ========== Register definition for TC2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC2_CCR0 (0x40014000U) /**< \brief (TC2) Channel Control Register (channel = 0) */ - #define REG_TC2_CMR0 (0x40014004U) /**< \brief (TC2) Channel Mode Register (channel = 0) */ - #define REG_TC2_SMMR0 (0x40014008U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC2_RAB0 (0x4001400CU) /**< \brief (TC2) Register AB (channel = 0) */ - #define REG_TC2_CV0 (0x40014010U) /**< \brief (TC2) Counter Value (channel = 0) */ - #define REG_TC2_RA0 (0x40014014U) /**< \brief (TC2) Register A (channel = 0) */ - #define REG_TC2_RB0 (0x40014018U) /**< \brief (TC2) Register B (channel = 0) */ - #define REG_TC2_RC0 (0x4001401CU) /**< \brief (TC2) Register C (channel = 0) */ - #define REG_TC2_SR0 (0x40014020U) /**< \brief (TC2) Status Register (channel = 0) */ - #define REG_TC2_IER0 (0x40014024U) /**< \brief (TC2) Interrupt Enable Register (channel = 0) */ - #define REG_TC2_IDR0 (0x40014028U) /**< \brief (TC2) Interrupt Disable Register (channel = 0) */ - #define REG_TC2_IMR0 (0x4001402CU) /**< \brief (TC2) Interrupt Mask Register (channel = 0) */ - #define REG_TC2_EMR0 (0x40014030U) /**< \brief (TC2) Extended Mode Register (channel = 0) */ - #define REG_TC2_CCR1 (0x40014040U) /**< \brief (TC2) Channel Control Register (channel = 1) */ - #define REG_TC2_CMR1 (0x40014044U) /**< \brief (TC2) Channel Mode Register (channel = 1) */ - #define REG_TC2_SMMR1 (0x40014048U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC2_RAB1 (0x4001404CU) /**< \brief (TC2) Register AB (channel = 1) */ - #define REG_TC2_CV1 (0x40014050U) /**< \brief (TC2) Counter Value (channel = 1) */ - #define REG_TC2_RA1 (0x40014054U) /**< \brief (TC2) Register A (channel = 1) */ - #define REG_TC2_RB1 (0x40014058U) /**< \brief (TC2) Register B (channel = 1) */ - #define REG_TC2_RC1 (0x4001405CU) /**< \brief (TC2) Register C (channel = 1) */ - #define REG_TC2_SR1 (0x40014060U) /**< \brief (TC2) Status Register (channel = 1) */ - #define REG_TC2_IER1 (0x40014064U) /**< \brief (TC2) Interrupt Enable Register (channel = 1) */ - #define REG_TC2_IDR1 (0x40014068U) /**< \brief (TC2) Interrupt Disable Register (channel = 1) */ - #define REG_TC2_IMR1 (0x4001406CU) /**< \brief (TC2) Interrupt Mask Register (channel = 1) */ - #define REG_TC2_EMR1 (0x40014070U) /**< \brief (TC2) Extended Mode Register (channel = 1) */ - #define REG_TC2_CCR2 (0x40014080U) /**< \brief (TC2) Channel Control Register (channel = 2) */ - #define REG_TC2_CMR2 (0x40014084U) /**< \brief (TC2) Channel Mode Register (channel = 2) */ - #define REG_TC2_SMMR2 (0x40014088U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC2_RAB2 (0x4001408CU) /**< \brief (TC2) Register AB (channel = 2) */ - #define REG_TC2_CV2 (0x40014090U) /**< \brief (TC2) Counter Value (channel = 2) */ - #define REG_TC2_RA2 (0x40014094U) /**< \brief (TC2) Register A (channel = 2) */ - #define REG_TC2_RB2 (0x40014098U) /**< \brief (TC2) Register B (channel = 2) */ - #define REG_TC2_RC2 (0x4001409CU) /**< \brief (TC2) Register C (channel = 2) */ - #define REG_TC2_SR2 (0x400140A0U) /**< \brief (TC2) Status Register (channel = 2) */ - #define REG_TC2_IER2 (0x400140A4U) /**< \brief (TC2) Interrupt Enable Register (channel = 2) */ - #define REG_TC2_IDR2 (0x400140A8U) /**< \brief (TC2) Interrupt Disable Register (channel = 2) */ - #define REG_TC2_IMR2 (0x400140ACU) /**< \brief (TC2) Interrupt Mask Register (channel = 2) */ - #define REG_TC2_EMR2 (0x400140B0U) /**< \brief (TC2) Extended Mode Register (channel = 2) */ - #define REG_TC2_BCR (0x400140C0U) /**< \brief (TC2) Block Control Register */ - #define REG_TC2_BMR (0x400140C4U) /**< \brief (TC2) Block Mode Register */ - #define REG_TC2_QIER (0x400140C8U) /**< \brief (TC2) QDEC Interrupt Enable Register */ - #define REG_TC2_QIDR (0x400140CCU) /**< \brief (TC2) QDEC Interrupt Disable Register */ - #define REG_TC2_QIMR (0x400140D0U) /**< \brief (TC2) QDEC Interrupt Mask Register */ - #define REG_TC2_QISR (0x400140D4U) /**< \brief (TC2) QDEC Interrupt Status Register */ - #define REG_TC2_FMR (0x400140D8U) /**< \brief (TC2) Fault Mode Register */ - #define REG_TC2_WPMR (0x400140E4U) /**< \brief (TC2) Write Protection Mode Register */ -#else - #define REG_TC2_CCR0 (*(__O uint32_t*)0x40014000U) /**< \brief (TC2) Channel Control Register (channel = 0) */ - #define REG_TC2_CMR0 (*(__IO uint32_t*)0x40014004U) /**< \brief (TC2) Channel Mode Register (channel = 0) */ - #define REG_TC2_SMMR0 (*(__IO uint32_t*)0x40014008U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC2_RAB0 (*(__I uint32_t*)0x4001400CU) /**< \brief (TC2) Register AB (channel = 0) */ - #define REG_TC2_CV0 (*(__I uint32_t*)0x40014010U) /**< \brief (TC2) Counter Value (channel = 0) */ - #define REG_TC2_RA0 (*(__IO uint32_t*)0x40014014U) /**< \brief (TC2) Register A (channel = 0) */ - #define REG_TC2_RB0 (*(__IO uint32_t*)0x40014018U) /**< \brief (TC2) Register B (channel = 0) */ - #define REG_TC2_RC0 (*(__IO uint32_t*)0x4001401CU) /**< \brief (TC2) Register C (channel = 0) */ - #define REG_TC2_SR0 (*(__I uint32_t*)0x40014020U) /**< \brief (TC2) Status Register (channel = 0) */ - #define REG_TC2_IER0 (*(__O uint32_t*)0x40014024U) /**< \brief (TC2) Interrupt Enable Register (channel = 0) */ - #define REG_TC2_IDR0 (*(__O uint32_t*)0x40014028U) /**< \brief (TC2) Interrupt Disable Register (channel = 0) */ - #define REG_TC2_IMR0 (*(__I uint32_t*)0x4001402CU) /**< \brief (TC2) Interrupt Mask Register (channel = 0) */ - #define REG_TC2_EMR0 (*(__IO uint32_t*)0x40014030U) /**< \brief (TC2) Extended Mode Register (channel = 0) */ - #define REG_TC2_CCR1 (*(__O uint32_t*)0x40014040U) /**< \brief (TC2) Channel Control Register (channel = 1) */ - #define REG_TC2_CMR1 (*(__IO uint32_t*)0x40014044U) /**< \brief (TC2) Channel Mode Register (channel = 1) */ - #define REG_TC2_SMMR1 (*(__IO uint32_t*)0x40014048U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC2_RAB1 (*(__I uint32_t*)0x4001404CU) /**< \brief (TC2) Register AB (channel = 1) */ - #define REG_TC2_CV1 (*(__I uint32_t*)0x40014050U) /**< \brief (TC2) Counter Value (channel = 1) */ - #define REG_TC2_RA1 (*(__IO uint32_t*)0x40014054U) /**< \brief (TC2) Register A (channel = 1) */ - #define REG_TC2_RB1 (*(__IO uint32_t*)0x40014058U) /**< \brief (TC2) Register B (channel = 1) */ - #define REG_TC2_RC1 (*(__IO uint32_t*)0x4001405CU) /**< \brief (TC2) Register C (channel = 1) */ - #define REG_TC2_SR1 (*(__I uint32_t*)0x40014060U) /**< \brief (TC2) Status Register (channel = 1) */ - #define REG_TC2_IER1 (*(__O uint32_t*)0x40014064U) /**< \brief (TC2) Interrupt Enable Register (channel = 1) */ - #define REG_TC2_IDR1 (*(__O uint32_t*)0x40014068U) /**< \brief (TC2) Interrupt Disable Register (channel = 1) */ - #define REG_TC2_IMR1 (*(__I uint32_t*)0x4001406CU) /**< \brief (TC2) Interrupt Mask Register (channel = 1) */ - #define REG_TC2_EMR1 (*(__IO uint32_t*)0x40014070U) /**< \brief (TC2) Extended Mode Register (channel = 1) */ - #define REG_TC2_CCR2 (*(__O uint32_t*)0x40014080U) /**< \brief (TC2) Channel Control Register (channel = 2) */ - #define REG_TC2_CMR2 (*(__IO uint32_t*)0x40014084U) /**< \brief (TC2) Channel Mode Register (channel = 2) */ - #define REG_TC2_SMMR2 (*(__IO uint32_t*)0x40014088U) /**< \brief (TC2) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC2_RAB2 (*(__I uint32_t*)0x4001408CU) /**< \brief (TC2) Register AB (channel = 2) */ - #define REG_TC2_CV2 (*(__I uint32_t*)0x40014090U) /**< \brief (TC2) Counter Value (channel = 2) */ - #define REG_TC2_RA2 (*(__IO uint32_t*)0x40014094U) /**< \brief (TC2) Register A (channel = 2) */ - #define REG_TC2_RB2 (*(__IO uint32_t*)0x40014098U) /**< \brief (TC2) Register B (channel = 2) */ - #define REG_TC2_RC2 (*(__IO uint32_t*)0x4001409CU) /**< \brief (TC2) Register C (channel = 2) */ - #define REG_TC2_SR2 (*(__I uint32_t*)0x400140A0U) /**< \brief (TC2) Status Register (channel = 2) */ - #define REG_TC2_IER2 (*(__O uint32_t*)0x400140A4U) /**< \brief (TC2) Interrupt Enable Register (channel = 2) */ - #define REG_TC2_IDR2 (*(__O uint32_t*)0x400140A8U) /**< \brief (TC2) Interrupt Disable Register (channel = 2) */ - #define REG_TC2_IMR2 (*(__I uint32_t*)0x400140ACU) /**< \brief (TC2) Interrupt Mask Register (channel = 2) */ - #define REG_TC2_EMR2 (*(__IO uint32_t*)0x400140B0U) /**< \brief (TC2) Extended Mode Register (channel = 2) */ - #define REG_TC2_BCR (*(__O uint32_t*)0x400140C0U) /**< \brief (TC2) Block Control Register */ - #define REG_TC2_BMR (*(__IO uint32_t*)0x400140C4U) /**< \brief (TC2) Block Mode Register */ - #define REG_TC2_QIER (*(__O uint32_t*)0x400140C8U) /**< \brief (TC2) QDEC Interrupt Enable Register */ - #define REG_TC2_QIDR (*(__O uint32_t*)0x400140CCU) /**< \brief (TC2) QDEC Interrupt Disable Register */ - #define REG_TC2_QIMR (*(__I uint32_t*)0x400140D0U) /**< \brief (TC2) QDEC Interrupt Mask Register */ - #define REG_TC2_QISR (*(__I uint32_t*)0x400140D4U) /**< \brief (TC2) QDEC Interrupt Status Register */ - #define REG_TC2_FMR (*(__IO uint32_t*)0x400140D8U) /**< \brief (TC2) Fault Mode Register */ - #define REG_TC2_WPMR (*(__IO uint32_t*)0x400140E4U) /**< \brief (TC2) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC2_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h deleted file mode 100644 index 2921bd4..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/tc3.h +++ /dev/null @@ -1,147 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TC3_INSTANCE_ -#define _SAMS70_TC3_INSTANCE_ - -/* ========== Register definition for TC3 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TC3_CCR0 (0x40054000U) /**< \brief (TC3) Channel Control Register (channel = 0) */ - #define REG_TC3_CMR0 (0x40054004U) /**< \brief (TC3) Channel Mode Register (channel = 0) */ - #define REG_TC3_SMMR0 (0x40054008U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC3_RAB0 (0x4005400CU) /**< \brief (TC3) Register AB (channel = 0) */ - #define REG_TC3_CV0 (0x40054010U) /**< \brief (TC3) Counter Value (channel = 0) */ - #define REG_TC3_RA0 (0x40054014U) /**< \brief (TC3) Register A (channel = 0) */ - #define REG_TC3_RB0 (0x40054018U) /**< \brief (TC3) Register B (channel = 0) */ - #define REG_TC3_RC0 (0x4005401CU) /**< \brief (TC3) Register C (channel = 0) */ - #define REG_TC3_SR0 (0x40054020U) /**< \brief (TC3) Status Register (channel = 0) */ - #define REG_TC3_IER0 (0x40054024U) /**< \brief (TC3) Interrupt Enable Register (channel = 0) */ - #define REG_TC3_IDR0 (0x40054028U) /**< \brief (TC3) Interrupt Disable Register (channel = 0) */ - #define REG_TC3_IMR0 (0x4005402CU) /**< \brief (TC3) Interrupt Mask Register (channel = 0) */ - #define REG_TC3_EMR0 (0x40054030U) /**< \brief (TC3) Extended Mode Register (channel = 0) */ - #define REG_TC3_CCR1 (0x40054040U) /**< \brief (TC3) Channel Control Register (channel = 1) */ - #define REG_TC3_CMR1 (0x40054044U) /**< \brief (TC3) Channel Mode Register (channel = 1) */ - #define REG_TC3_SMMR1 (0x40054048U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC3_RAB1 (0x4005404CU) /**< \brief (TC3) Register AB (channel = 1) */ - #define REG_TC3_CV1 (0x40054050U) /**< \brief (TC3) Counter Value (channel = 1) */ - #define REG_TC3_RA1 (0x40054054U) /**< \brief (TC3) Register A (channel = 1) */ - #define REG_TC3_RB1 (0x40054058U) /**< \brief (TC3) Register B (channel = 1) */ - #define REG_TC3_RC1 (0x4005405CU) /**< \brief (TC3) Register C (channel = 1) */ - #define REG_TC3_SR1 (0x40054060U) /**< \brief (TC3) Status Register (channel = 1) */ - #define REG_TC3_IER1 (0x40054064U) /**< \brief (TC3) Interrupt Enable Register (channel = 1) */ - #define REG_TC3_IDR1 (0x40054068U) /**< \brief (TC3) Interrupt Disable Register (channel = 1) */ - #define REG_TC3_IMR1 (0x4005406CU) /**< \brief (TC3) Interrupt Mask Register (channel = 1) */ - #define REG_TC3_EMR1 (0x40054070U) /**< \brief (TC3) Extended Mode Register (channel = 1) */ - #define REG_TC3_CCR2 (0x40054080U) /**< \brief (TC3) Channel Control Register (channel = 2) */ - #define REG_TC3_CMR2 (0x40054084U) /**< \brief (TC3) Channel Mode Register (channel = 2) */ - #define REG_TC3_SMMR2 (0x40054088U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC3_RAB2 (0x4005408CU) /**< \brief (TC3) Register AB (channel = 2) */ - #define REG_TC3_CV2 (0x40054090U) /**< \brief (TC3) Counter Value (channel = 2) */ - #define REG_TC3_RA2 (0x40054094U) /**< \brief (TC3) Register A (channel = 2) */ - #define REG_TC3_RB2 (0x40054098U) /**< \brief (TC3) Register B (channel = 2) */ - #define REG_TC3_RC2 (0x4005409CU) /**< \brief (TC3) Register C (channel = 2) */ - #define REG_TC3_SR2 (0x400540A0U) /**< \brief (TC3) Status Register (channel = 2) */ - #define REG_TC3_IER2 (0x400540A4U) /**< \brief (TC3) Interrupt Enable Register (channel = 2) */ - #define REG_TC3_IDR2 (0x400540A8U) /**< \brief (TC3) Interrupt Disable Register (channel = 2) */ - #define REG_TC3_IMR2 (0x400540ACU) /**< \brief (TC3) Interrupt Mask Register (channel = 2) */ - #define REG_TC3_EMR2 (0x400540B0U) /**< \brief (TC3) Extended Mode Register (channel = 2) */ - #define REG_TC3_BCR (0x400540C0U) /**< \brief (TC3) Block Control Register */ - #define REG_TC3_BMR (0x400540C4U) /**< \brief (TC3) Block Mode Register */ - #define REG_TC3_QIER (0x400540C8U) /**< \brief (TC3) QDEC Interrupt Enable Register */ - #define REG_TC3_QIDR (0x400540CCU) /**< \brief (TC3) QDEC Interrupt Disable Register */ - #define REG_TC3_QIMR (0x400540D0U) /**< \brief (TC3) QDEC Interrupt Mask Register */ - #define REG_TC3_QISR (0x400540D4U) /**< \brief (TC3) QDEC Interrupt Status Register */ - #define REG_TC3_FMR (0x400540D8U) /**< \brief (TC3) Fault Mode Register */ - #define REG_TC3_WPMR (0x400540E4U) /**< \brief (TC3) Write Protection Mode Register */ -#else - #define REG_TC3_CCR0 (*(__O uint32_t*)0x40054000U) /**< \brief (TC3) Channel Control Register (channel = 0) */ - #define REG_TC3_CMR0 (*(__IO uint32_t*)0x40054004U) /**< \brief (TC3) Channel Mode Register (channel = 0) */ - #define REG_TC3_SMMR0 (*(__IO uint32_t*)0x40054008U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 0) */ - #define REG_TC3_RAB0 (*(__I uint32_t*)0x4005400CU) /**< \brief (TC3) Register AB (channel = 0) */ - #define REG_TC3_CV0 (*(__I uint32_t*)0x40054010U) /**< \brief (TC3) Counter Value (channel = 0) */ - #define REG_TC3_RA0 (*(__IO uint32_t*)0x40054014U) /**< \brief (TC3) Register A (channel = 0) */ - #define REG_TC3_RB0 (*(__IO uint32_t*)0x40054018U) /**< \brief (TC3) Register B (channel = 0) */ - #define REG_TC3_RC0 (*(__IO uint32_t*)0x4005401CU) /**< \brief (TC3) Register C (channel = 0) */ - #define REG_TC3_SR0 (*(__I uint32_t*)0x40054020U) /**< \brief (TC3) Status Register (channel = 0) */ - #define REG_TC3_IER0 (*(__O uint32_t*)0x40054024U) /**< \brief (TC3) Interrupt Enable Register (channel = 0) */ - #define REG_TC3_IDR0 (*(__O uint32_t*)0x40054028U) /**< \brief (TC3) Interrupt Disable Register (channel = 0) */ - #define REG_TC3_IMR0 (*(__I uint32_t*)0x4005402CU) /**< \brief (TC3) Interrupt Mask Register (channel = 0) */ - #define REG_TC3_EMR0 (*(__IO uint32_t*)0x40054030U) /**< \brief (TC3) Extended Mode Register (channel = 0) */ - #define REG_TC3_CCR1 (*(__O uint32_t*)0x40054040U) /**< \brief (TC3) Channel Control Register (channel = 1) */ - #define REG_TC3_CMR1 (*(__IO uint32_t*)0x40054044U) /**< \brief (TC3) Channel Mode Register (channel = 1) */ - #define REG_TC3_SMMR1 (*(__IO uint32_t*)0x40054048U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 1) */ - #define REG_TC3_RAB1 (*(__I uint32_t*)0x4005404CU) /**< \brief (TC3) Register AB (channel = 1) */ - #define REG_TC3_CV1 (*(__I uint32_t*)0x40054050U) /**< \brief (TC3) Counter Value (channel = 1) */ - #define REG_TC3_RA1 (*(__IO uint32_t*)0x40054054U) /**< \brief (TC3) Register A (channel = 1) */ - #define REG_TC3_RB1 (*(__IO uint32_t*)0x40054058U) /**< \brief (TC3) Register B (channel = 1) */ - #define REG_TC3_RC1 (*(__IO uint32_t*)0x4005405CU) /**< \brief (TC3) Register C (channel = 1) */ - #define REG_TC3_SR1 (*(__I uint32_t*)0x40054060U) /**< \brief (TC3) Status Register (channel = 1) */ - #define REG_TC3_IER1 (*(__O uint32_t*)0x40054064U) /**< \brief (TC3) Interrupt Enable Register (channel = 1) */ - #define REG_TC3_IDR1 (*(__O uint32_t*)0x40054068U) /**< \brief (TC3) Interrupt Disable Register (channel = 1) */ - #define REG_TC3_IMR1 (*(__I uint32_t*)0x4005406CU) /**< \brief (TC3) Interrupt Mask Register (channel = 1) */ - #define REG_TC3_EMR1 (*(__IO uint32_t*)0x40054070U) /**< \brief (TC3) Extended Mode Register (channel = 1) */ - #define REG_TC3_CCR2 (*(__O uint32_t*)0x40054080U) /**< \brief (TC3) Channel Control Register (channel = 2) */ - #define REG_TC3_CMR2 (*(__IO uint32_t*)0x40054084U) /**< \brief (TC3) Channel Mode Register (channel = 2) */ - #define REG_TC3_SMMR2 (*(__IO uint32_t*)0x40054088U) /**< \brief (TC3) Stepper Motor Mode Register (channel = 2) */ - #define REG_TC3_RAB2 (*(__I uint32_t*)0x4005408CU) /**< \brief (TC3) Register AB (channel = 2) */ - #define REG_TC3_CV2 (*(__I uint32_t*)0x40054090U) /**< \brief (TC3) Counter Value (channel = 2) */ - #define REG_TC3_RA2 (*(__IO uint32_t*)0x40054094U) /**< \brief (TC3) Register A (channel = 2) */ - #define REG_TC3_RB2 (*(__IO uint32_t*)0x40054098U) /**< \brief (TC3) Register B (channel = 2) */ - #define REG_TC3_RC2 (*(__IO uint32_t*)0x4005409CU) /**< \brief (TC3) Register C (channel = 2) */ - #define REG_TC3_SR2 (*(__I uint32_t*)0x400540A0U) /**< \brief (TC3) Status Register (channel = 2) */ - #define REG_TC3_IER2 (*(__O uint32_t*)0x400540A4U) /**< \brief (TC3) Interrupt Enable Register (channel = 2) */ - #define REG_TC3_IDR2 (*(__O uint32_t*)0x400540A8U) /**< \brief (TC3) Interrupt Disable Register (channel = 2) */ - #define REG_TC3_IMR2 (*(__I uint32_t*)0x400540ACU) /**< \brief (TC3) Interrupt Mask Register (channel = 2) */ - #define REG_TC3_EMR2 (*(__IO uint32_t*)0x400540B0U) /**< \brief (TC3) Extended Mode Register (channel = 2) */ - #define REG_TC3_BCR (*(__O uint32_t*)0x400540C0U) /**< \brief (TC3) Block Control Register */ - #define REG_TC3_BMR (*(__IO uint32_t*)0x400540C4U) /**< \brief (TC3) Block Mode Register */ - #define REG_TC3_QIER (*(__O uint32_t*)0x400540C8U) /**< \brief (TC3) QDEC Interrupt Enable Register */ - #define REG_TC3_QIDR (*(__O uint32_t*)0x400540CCU) /**< \brief (TC3) QDEC Interrupt Disable Register */ - #define REG_TC3_QIMR (*(__I uint32_t*)0x400540D0U) /**< \brief (TC3) QDEC Interrupt Mask Register */ - #define REG_TC3_QISR (*(__I uint32_t*)0x400540D4U) /**< \brief (TC3) QDEC Interrupt Status Register */ - #define REG_TC3_FMR (*(__IO uint32_t*)0x400540D8U) /**< \brief (TC3) Fault Mode Register */ - #define REG_TC3_WPMR (*(__IO uint32_t*)0x400540E4U) /**< \brief (TC3) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TC3_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h deleted file mode 100644 index aa70ee0..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/trng.h +++ /dev/null @@ -1,65 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TRNG_INSTANCE_ -#define _SAMS70_TRNG_INSTANCE_ - -/* ========== Register definition for TRNG peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TRNG_CR (0x40070000U) /**< \brief (TRNG) Control Register */ - #define REG_TRNG_IER (0x40070010U) /**< \brief (TRNG) Interrupt Enable Register */ - #define REG_TRNG_IDR (0x40070014U) /**< \brief (TRNG) Interrupt Disable Register */ - #define REG_TRNG_IMR (0x40070018U) /**< \brief (TRNG) Interrupt Mask Register */ - #define REG_TRNG_ISR (0x4007001CU) /**< \brief (TRNG) Interrupt Status Register */ - #define REG_TRNG_ODATA (0x40070050U) /**< \brief (TRNG) Output Data Register */ -#else - #define REG_TRNG_CR (*(__O uint32_t*)0x40070000U) /**< \brief (TRNG) Control Register */ - #define REG_TRNG_IER (*(__O uint32_t*)0x40070010U) /**< \brief (TRNG) Interrupt Enable Register */ - #define REG_TRNG_IDR (*(__O uint32_t*)0x40070014U) /**< \brief (TRNG) Interrupt Disable Register */ - #define REG_TRNG_IMR (*(__I uint32_t*)0x40070018U) /**< \brief (TRNG) Interrupt Mask Register */ - #define REG_TRNG_ISR (*(__I uint32_t*)0x4007001CU) /**< \brief (TRNG) Interrupt Status Register */ - #define REG_TRNG_ODATA (*(__I uint32_t*)0x40070050U) /**< \brief (TRNG) Output Data Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TRNG_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h deleted file mode 100644 index 8fc2286..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs0.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS0_INSTANCE_ -#define _SAMS70_TWIHS0_INSTANCE_ - -/* ========== Register definition for TWIHS0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TWIHS0_CR (0x40018000U) /**< \brief (TWIHS0) Control Register */ - #define REG_TWIHS0_MMR (0x40018004U) /**< \brief (TWIHS0) Master Mode Register */ - #define REG_TWIHS0_SMR (0x40018008U) /**< \brief (TWIHS0) Slave Mode Register */ - #define REG_TWIHS0_IADR (0x4001800CU) /**< \brief (TWIHS0) Internal Address Register */ - #define REG_TWIHS0_CWGR (0x40018010U) /**< \brief (TWIHS0) Clock Waveform Generator Register */ - #define REG_TWIHS0_SR (0x40018020U) /**< \brief (TWIHS0) Status Register */ - #define REG_TWIHS0_IER (0x40018024U) /**< \brief (TWIHS0) Interrupt Enable Register */ - #define REG_TWIHS0_IDR (0x40018028U) /**< \brief (TWIHS0) Interrupt Disable Register */ - #define REG_TWIHS0_IMR (0x4001802CU) /**< \brief (TWIHS0) Interrupt Mask Register */ - #define REG_TWIHS0_RHR (0x40018030U) /**< \brief (TWIHS0) Receive Holding Register */ - #define REG_TWIHS0_THR (0x40018034U) /**< \brief (TWIHS0) Transmit Holding Register */ - #define REG_TWIHS0_SMBTR (0x40018038U) /**< \brief (TWIHS0) SMBus Timing Register */ - #define REG_TWIHS0_FILTR (0x40018044U) /**< \brief (TWIHS0) Filter Register */ - #define REG_TWIHS0_SWMR (0x4001804CU) /**< \brief (TWIHS0) SleepWalking Matching Register */ - #define REG_TWIHS0_WPMR (0x400180E4U) /**< \brief (TWIHS0) Write Protection Mode Register */ - #define REG_TWIHS0_WPSR (0x400180E8U) /**< \brief (TWIHS0) Write Protection Status Register */ -#else - #define REG_TWIHS0_CR (*(__O uint32_t*)0x40018000U) /**< \brief (TWIHS0) Control Register */ - #define REG_TWIHS0_MMR (*(__IO uint32_t*)0x40018004U) /**< \brief (TWIHS0) Master Mode Register */ - #define REG_TWIHS0_SMR (*(__IO uint32_t*)0x40018008U) /**< \brief (TWIHS0) Slave Mode Register */ - #define REG_TWIHS0_IADR (*(__IO uint32_t*)0x4001800CU) /**< \brief (TWIHS0) Internal Address Register */ - #define REG_TWIHS0_CWGR (*(__IO uint32_t*)0x40018010U) /**< \brief (TWIHS0) Clock Waveform Generator Register */ - #define REG_TWIHS0_SR (*(__I uint32_t*)0x40018020U) /**< \brief (TWIHS0) Status Register */ - #define REG_TWIHS0_IER (*(__O uint32_t*)0x40018024U) /**< \brief (TWIHS0) Interrupt Enable Register */ - #define REG_TWIHS0_IDR (*(__O uint32_t*)0x40018028U) /**< \brief (TWIHS0) Interrupt Disable Register */ - #define REG_TWIHS0_IMR (*(__I uint32_t*)0x4001802CU) /**< \brief (TWIHS0) Interrupt Mask Register */ - #define REG_TWIHS0_RHR (*(__I uint32_t*)0x40018030U) /**< \brief (TWIHS0) Receive Holding Register */ - #define REG_TWIHS0_THR (*(__O uint32_t*)0x40018034U) /**< \brief (TWIHS0) Transmit Holding Register */ - #define REG_TWIHS0_SMBTR (*(__IO uint32_t*)0x40018038U) /**< \brief (TWIHS0) SMBus Timing Register */ - #define REG_TWIHS0_FILTR (*(__IO uint32_t*)0x40018044U) /**< \brief (TWIHS0) Filter Register */ - #define REG_TWIHS0_SWMR (*(__IO uint32_t*)0x4001804CU) /**< \brief (TWIHS0) SleepWalking Matching Register */ - #define REG_TWIHS0_WPMR (*(__IO uint32_t*)0x400180E4U) /**< \brief (TWIHS0) Write Protection Mode Register */ - #define REG_TWIHS0_WPSR (*(__I uint32_t*)0x400180E8U) /**< \brief (TWIHS0) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TWIHS0_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h deleted file mode 100644 index ca179cc..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs1.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS1_INSTANCE_ -#define _SAMS70_TWIHS1_INSTANCE_ - -/* ========== Register definition for TWIHS1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TWIHS1_CR (0x4001C000U) /**< \brief (TWIHS1) Control Register */ - #define REG_TWIHS1_MMR (0x4001C004U) /**< \brief (TWIHS1) Master Mode Register */ - #define REG_TWIHS1_SMR (0x4001C008U) /**< \brief (TWIHS1) Slave Mode Register */ - #define REG_TWIHS1_IADR (0x4001C00CU) /**< \brief (TWIHS1) Internal Address Register */ - #define REG_TWIHS1_CWGR (0x4001C010U) /**< \brief (TWIHS1) Clock Waveform Generator Register */ - #define REG_TWIHS1_SR (0x4001C020U) /**< \brief (TWIHS1) Status Register */ - #define REG_TWIHS1_IER (0x4001C024U) /**< \brief (TWIHS1) Interrupt Enable Register */ - #define REG_TWIHS1_IDR (0x4001C028U) /**< \brief (TWIHS1) Interrupt Disable Register */ - #define REG_TWIHS1_IMR (0x4001C02CU) /**< \brief (TWIHS1) Interrupt Mask Register */ - #define REG_TWIHS1_RHR (0x4001C030U) /**< \brief (TWIHS1) Receive Holding Register */ - #define REG_TWIHS1_THR (0x4001C034U) /**< \brief (TWIHS1) Transmit Holding Register */ - #define REG_TWIHS1_SMBTR (0x4001C038U) /**< \brief (TWIHS1) SMBus Timing Register */ - #define REG_TWIHS1_FILTR (0x4001C044U) /**< \brief (TWIHS1) Filter Register */ - #define REG_TWIHS1_SWMR (0x4001C04CU) /**< \brief (TWIHS1) SleepWalking Matching Register */ - #define REG_TWIHS1_WPMR (0x4001C0E4U) /**< \brief (TWIHS1) Write Protection Mode Register */ - #define REG_TWIHS1_WPSR (0x4001C0E8U) /**< \brief (TWIHS1) Write Protection Status Register */ -#else - #define REG_TWIHS1_CR (*(__O uint32_t*)0x4001C000U) /**< \brief (TWIHS1) Control Register */ - #define REG_TWIHS1_MMR (*(__IO uint32_t*)0x4001C004U) /**< \brief (TWIHS1) Master Mode Register */ - #define REG_TWIHS1_SMR (*(__IO uint32_t*)0x4001C008U) /**< \brief (TWIHS1) Slave Mode Register */ - #define REG_TWIHS1_IADR (*(__IO uint32_t*)0x4001C00CU) /**< \brief (TWIHS1) Internal Address Register */ - #define REG_TWIHS1_CWGR (*(__IO uint32_t*)0x4001C010U) /**< \brief (TWIHS1) Clock Waveform Generator Register */ - #define REG_TWIHS1_SR (*(__I uint32_t*)0x4001C020U) /**< \brief (TWIHS1) Status Register */ - #define REG_TWIHS1_IER (*(__O uint32_t*)0x4001C024U) /**< \brief (TWIHS1) Interrupt Enable Register */ - #define REG_TWIHS1_IDR (*(__O uint32_t*)0x4001C028U) /**< \brief (TWIHS1) Interrupt Disable Register */ - #define REG_TWIHS1_IMR (*(__I uint32_t*)0x4001C02CU) /**< \brief (TWIHS1) Interrupt Mask Register */ - #define REG_TWIHS1_RHR (*(__I uint32_t*)0x4001C030U) /**< \brief (TWIHS1) Receive Holding Register */ - #define REG_TWIHS1_THR (*(__O uint32_t*)0x4001C034U) /**< \brief (TWIHS1) Transmit Holding Register */ - #define REG_TWIHS1_SMBTR (*(__IO uint32_t*)0x4001C038U) /**< \brief (TWIHS1) SMBus Timing Register */ - #define REG_TWIHS1_FILTR (*(__IO uint32_t*)0x4001C044U) /**< \brief (TWIHS1) Filter Register */ - #define REG_TWIHS1_SWMR (*(__IO uint32_t*)0x4001C04CU) /**< \brief (TWIHS1) SleepWalking Matching Register */ - #define REG_TWIHS1_WPMR (*(__IO uint32_t*)0x4001C0E4U) /**< \brief (TWIHS1) Write Protection Mode Register */ - #define REG_TWIHS1_WPSR (*(__I uint32_t*)0x4001C0E8U) /**< \brief (TWIHS1) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TWIHS1_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h deleted file mode 100644 index d67cbf3..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/twihs2.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_TWIHS2_INSTANCE_ -#define _SAMS70_TWIHS2_INSTANCE_ - -/* ========== Register definition for TWIHS2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_TWIHS2_CR (0x40060000U) /**< \brief (TWIHS2) Control Register */ - #define REG_TWIHS2_MMR (0x40060004U) /**< \brief (TWIHS2) Master Mode Register */ - #define REG_TWIHS2_SMR (0x40060008U) /**< \brief (TWIHS2) Slave Mode Register */ - #define REG_TWIHS2_IADR (0x4006000CU) /**< \brief (TWIHS2) Internal Address Register */ - #define REG_TWIHS2_CWGR (0x40060010U) /**< \brief (TWIHS2) Clock Waveform Generator Register */ - #define REG_TWIHS2_SR (0x40060020U) /**< \brief (TWIHS2) Status Register */ - #define REG_TWIHS2_IER (0x40060024U) /**< \brief (TWIHS2) Interrupt Enable Register */ - #define REG_TWIHS2_IDR (0x40060028U) /**< \brief (TWIHS2) Interrupt Disable Register */ - #define REG_TWIHS2_IMR (0x4006002CU) /**< \brief (TWIHS2) Interrupt Mask Register */ - #define REG_TWIHS2_RHR (0x40060030U) /**< \brief (TWIHS2) Receive Holding Register */ - #define REG_TWIHS2_THR (0x40060034U) /**< \brief (TWIHS2) Transmit Holding Register */ - #define REG_TWIHS2_SMBTR (0x40060038U) /**< \brief (TWIHS2) SMBus Timing Register */ - #define REG_TWIHS2_FILTR (0x40060044U) /**< \brief (TWIHS2) Filter Register */ - #define REG_TWIHS2_SWMR (0x4006004CU) /**< \brief (TWIHS2) SleepWalking Matching Register */ - #define REG_TWIHS2_WPMR (0x400600E4U) /**< \brief (TWIHS2) Write Protection Mode Register */ - #define REG_TWIHS2_WPSR (0x400600E8U) /**< \brief (TWIHS2) Write Protection Status Register */ -#else - #define REG_TWIHS2_CR (*(__O uint32_t*)0x40060000U) /**< \brief (TWIHS2) Control Register */ - #define REG_TWIHS2_MMR (*(__IO uint32_t*)0x40060004U) /**< \brief (TWIHS2) Master Mode Register */ - #define REG_TWIHS2_SMR (*(__IO uint32_t*)0x40060008U) /**< \brief (TWIHS2) Slave Mode Register */ - #define REG_TWIHS2_IADR (*(__IO uint32_t*)0x4006000CU) /**< \brief (TWIHS2) Internal Address Register */ - #define REG_TWIHS2_CWGR (*(__IO uint32_t*)0x40060010U) /**< \brief (TWIHS2) Clock Waveform Generator Register */ - #define REG_TWIHS2_SR (*(__I uint32_t*)0x40060020U) /**< \brief (TWIHS2) Status Register */ - #define REG_TWIHS2_IER (*(__O uint32_t*)0x40060024U) /**< \brief (TWIHS2) Interrupt Enable Register */ - #define REG_TWIHS2_IDR (*(__O uint32_t*)0x40060028U) /**< \brief (TWIHS2) Interrupt Disable Register */ - #define REG_TWIHS2_IMR (*(__I uint32_t*)0x4006002CU) /**< \brief (TWIHS2) Interrupt Mask Register */ - #define REG_TWIHS2_RHR (*(__I uint32_t*)0x40060030U) /**< \brief (TWIHS2) Receive Holding Register */ - #define REG_TWIHS2_THR (*(__O uint32_t*)0x40060034U) /**< \brief (TWIHS2) Transmit Holding Register */ - #define REG_TWIHS2_SMBTR (*(__IO uint32_t*)0x40060038U) /**< \brief (TWIHS2) SMBus Timing Register */ - #define REG_TWIHS2_FILTR (*(__IO uint32_t*)0x40060044U) /**< \brief (TWIHS2) Filter Register */ - #define REG_TWIHS2_SWMR (*(__IO uint32_t*)0x4006004CU) /**< \brief (TWIHS2) SleepWalking Matching Register */ - #define REG_TWIHS2_WPMR (*(__IO uint32_t*)0x400600E4U) /**< \brief (TWIHS2) Write Protection Mode Register */ - #define REG_TWIHS2_WPSR (*(__I uint32_t*)0x400600E8U) /**< \brief (TWIHS2) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_TWIHS2_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h deleted file mode 100644 index f03845e..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart0.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART0_INSTANCE_ -#define _SAMS70_UART0_INSTANCE_ - -/* ========== Register definition for UART0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART0_CR (0x400E0800U) /**< \brief (UART0) Control Register */ - #define REG_UART0_MR (0x400E0804U) /**< \brief (UART0) Mode Register */ - #define REG_UART0_IER (0x400E0808U) /**< \brief (UART0) Interrupt Enable Register */ - #define REG_UART0_IDR (0x400E080CU) /**< \brief (UART0) Interrupt Disable Register */ - #define REG_UART0_IMR (0x400E0810U) /**< \brief (UART0) Interrupt Mask Register */ - #define REG_UART0_SR (0x400E0814U) /**< \brief (UART0) Status Register */ - #define REG_UART0_RHR (0x400E0818U) /**< \brief (UART0) Receive Holding Register */ - #define REG_UART0_THR (0x400E081CU) /**< \brief (UART0) Transmit Holding Register */ - #define REG_UART0_BRGR (0x400E0820U) /**< \brief (UART0) Baud Rate Generator Register */ - #define REG_UART0_CMPR (0x400E0824U) /**< \brief (UART0) Comparison Register */ - #define REG_UART0_WPMR (0x400E08E4U) /**< \brief (UART0) Write Protection Mode Register */ -#else - #define REG_UART0_CR (*(__O uint32_t*)0x400E0800U) /**< \brief (UART0) Control Register */ - #define REG_UART0_MR (*(__IO uint32_t*)0x400E0804U) /**< \brief (UART0) Mode Register */ - #define REG_UART0_IER (*(__O uint32_t*)0x400E0808U) /**< \brief (UART0) Interrupt Enable Register */ - #define REG_UART0_IDR (*(__O uint32_t*)0x400E080CU) /**< \brief (UART0) Interrupt Disable Register */ - #define REG_UART0_IMR (*(__I uint32_t*)0x400E0810U) /**< \brief (UART0) Interrupt Mask Register */ - #define REG_UART0_SR (*(__I uint32_t*)0x400E0814U) /**< \brief (UART0) Status Register */ - #define REG_UART0_RHR (*(__I uint32_t*)0x400E0818U) /**< \brief (UART0) Receive Holding Register */ - #define REG_UART0_THR (*(__O uint32_t*)0x400E081CU) /**< \brief (UART0) Transmit Holding Register */ - #define REG_UART0_BRGR (*(__IO uint32_t*)0x400E0820U) /**< \brief (UART0) Baud Rate Generator Register */ - #define REG_UART0_CMPR (*(__IO uint32_t*)0x400E0824U) /**< \brief (UART0) Comparison Register */ - #define REG_UART0_WPMR (*(__IO uint32_t*)0x400E08E4U) /**< \brief (UART0) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART0_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h deleted file mode 100644 index f88ca7f..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart1.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART1_INSTANCE_ -#define _SAMS70_UART1_INSTANCE_ - -/* ========== Register definition for UART1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART1_CR (0x400E0A00U) /**< \brief (UART1) Control Register */ - #define REG_UART1_MR (0x400E0A04U) /**< \brief (UART1) Mode Register */ - #define REG_UART1_IER (0x400E0A08U) /**< \brief (UART1) Interrupt Enable Register */ - #define REG_UART1_IDR (0x400E0A0CU) /**< \brief (UART1) Interrupt Disable Register */ - #define REG_UART1_IMR (0x400E0A10U) /**< \brief (UART1) Interrupt Mask Register */ - #define REG_UART1_SR (0x400E0A14U) /**< \brief (UART1) Status Register */ - #define REG_UART1_RHR (0x400E0A18U) /**< \brief (UART1) Receive Holding Register */ - #define REG_UART1_THR (0x400E0A1CU) /**< \brief (UART1) Transmit Holding Register */ - #define REG_UART1_BRGR (0x400E0A20U) /**< \brief (UART1) Baud Rate Generator Register */ - #define REG_UART1_CMPR (0x400E0A24U) /**< \brief (UART1) Comparison Register */ - #define REG_UART1_WPMR (0x400E0AE4U) /**< \brief (UART1) Write Protection Mode Register */ -#else - #define REG_UART1_CR (*(__O uint32_t*)0x400E0A00U) /**< \brief (UART1) Control Register */ - #define REG_UART1_MR (*(__IO uint32_t*)0x400E0A04U) /**< \brief (UART1) Mode Register */ - #define REG_UART1_IER (*(__O uint32_t*)0x400E0A08U) /**< \brief (UART1) Interrupt Enable Register */ - #define REG_UART1_IDR (*(__O uint32_t*)0x400E0A0CU) /**< \brief (UART1) Interrupt Disable Register */ - #define REG_UART1_IMR (*(__I uint32_t*)0x400E0A10U) /**< \brief (UART1) Interrupt Mask Register */ - #define REG_UART1_SR (*(__I uint32_t*)0x400E0A14U) /**< \brief (UART1) Status Register */ - #define REG_UART1_RHR (*(__I uint32_t*)0x400E0A18U) /**< \brief (UART1) Receive Holding Register */ - #define REG_UART1_THR (*(__O uint32_t*)0x400E0A1CU) /**< \brief (UART1) Transmit Holding Register */ - #define REG_UART1_BRGR (*(__IO uint32_t*)0x400E0A20U) /**< \brief (UART1) Baud Rate Generator Register */ - #define REG_UART1_CMPR (*(__IO uint32_t*)0x400E0A24U) /**< \brief (UART1) Comparison Register */ - #define REG_UART1_WPMR (*(__IO uint32_t*)0x400E0AE4U) /**< \brief (UART1) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART1_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h deleted file mode 100644 index 68d5c0e..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart2.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART2_INSTANCE_ -#define _SAMS70_UART2_INSTANCE_ - -/* ========== Register definition for UART2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART2_CR (0x400E1A00U) /**< \brief (UART2) Control Register */ - #define REG_UART2_MR (0x400E1A04U) /**< \brief (UART2) Mode Register */ - #define REG_UART2_IER (0x400E1A08U) /**< \brief (UART2) Interrupt Enable Register */ - #define REG_UART2_IDR (0x400E1A0CU) /**< \brief (UART2) Interrupt Disable Register */ - #define REG_UART2_IMR (0x400E1A10U) /**< \brief (UART2) Interrupt Mask Register */ - #define REG_UART2_SR (0x400E1A14U) /**< \brief (UART2) Status Register */ - #define REG_UART2_RHR (0x400E1A18U) /**< \brief (UART2) Receive Holding Register */ - #define REG_UART2_THR (0x400E1A1CU) /**< \brief (UART2) Transmit Holding Register */ - #define REG_UART2_BRGR (0x400E1A20U) /**< \brief (UART2) Baud Rate Generator Register */ - #define REG_UART2_CMPR (0x400E1A24U) /**< \brief (UART2) Comparison Register */ - #define REG_UART2_WPMR (0x400E1AE4U) /**< \brief (UART2) Write Protection Mode Register */ -#else - #define REG_UART2_CR (*(__O uint32_t*)0x400E1A00U) /**< \brief (UART2) Control Register */ - #define REG_UART2_MR (*(__IO uint32_t*)0x400E1A04U) /**< \brief (UART2) Mode Register */ - #define REG_UART2_IER (*(__O uint32_t*)0x400E1A08U) /**< \brief (UART2) Interrupt Enable Register */ - #define REG_UART2_IDR (*(__O uint32_t*)0x400E1A0CU) /**< \brief (UART2) Interrupt Disable Register */ - #define REG_UART2_IMR (*(__I uint32_t*)0x400E1A10U) /**< \brief (UART2) Interrupt Mask Register */ - #define REG_UART2_SR (*(__I uint32_t*)0x400E1A14U) /**< \brief (UART2) Status Register */ - #define REG_UART2_RHR (*(__I uint32_t*)0x400E1A18U) /**< \brief (UART2) Receive Holding Register */ - #define REG_UART2_THR (*(__O uint32_t*)0x400E1A1CU) /**< \brief (UART2) Transmit Holding Register */ - #define REG_UART2_BRGR (*(__IO uint32_t*)0x400E1A20U) /**< \brief (UART2) Baud Rate Generator Register */ - #define REG_UART2_CMPR (*(__IO uint32_t*)0x400E1A24U) /**< \brief (UART2) Comparison Register */ - #define REG_UART2_WPMR (*(__IO uint32_t*)0x400E1AE4U) /**< \brief (UART2) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART2_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h deleted file mode 100644 index b519395..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart3.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART3_INSTANCE_ -#define _SAMS70_UART3_INSTANCE_ - -/* ========== Register definition for UART3 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART3_CR (0x400E1C00U) /**< \brief (UART3) Control Register */ - #define REG_UART3_MR (0x400E1C04U) /**< \brief (UART3) Mode Register */ - #define REG_UART3_IER (0x400E1C08U) /**< \brief (UART3) Interrupt Enable Register */ - #define REG_UART3_IDR (0x400E1C0CU) /**< \brief (UART3) Interrupt Disable Register */ - #define REG_UART3_IMR (0x400E1C10U) /**< \brief (UART3) Interrupt Mask Register */ - #define REG_UART3_SR (0x400E1C14U) /**< \brief (UART3) Status Register */ - #define REG_UART3_RHR (0x400E1C18U) /**< \brief (UART3) Receive Holding Register */ - #define REG_UART3_THR (0x400E1C1CU) /**< \brief (UART3) Transmit Holding Register */ - #define REG_UART3_BRGR (0x400E1C20U) /**< \brief (UART3) Baud Rate Generator Register */ - #define REG_UART3_CMPR (0x400E1C24U) /**< \brief (UART3) Comparison Register */ - #define REG_UART3_WPMR (0x400E1CE4U) /**< \brief (UART3) Write Protection Mode Register */ -#else - #define REG_UART3_CR (*(__O uint32_t*)0x400E1C00U) /**< \brief (UART3) Control Register */ - #define REG_UART3_MR (*(__IO uint32_t*)0x400E1C04U) /**< \brief (UART3) Mode Register */ - #define REG_UART3_IER (*(__O uint32_t*)0x400E1C08U) /**< \brief (UART3) Interrupt Enable Register */ - #define REG_UART3_IDR (*(__O uint32_t*)0x400E1C0CU) /**< \brief (UART3) Interrupt Disable Register */ - #define REG_UART3_IMR (*(__I uint32_t*)0x400E1C10U) /**< \brief (UART3) Interrupt Mask Register */ - #define REG_UART3_SR (*(__I uint32_t*)0x400E1C14U) /**< \brief (UART3) Status Register */ - #define REG_UART3_RHR (*(__I uint32_t*)0x400E1C18U) /**< \brief (UART3) Receive Holding Register */ - #define REG_UART3_THR (*(__O uint32_t*)0x400E1C1CU) /**< \brief (UART3) Transmit Holding Register */ - #define REG_UART3_BRGR (*(__IO uint32_t*)0x400E1C20U) /**< \brief (UART3) Baud Rate Generator Register */ - #define REG_UART3_CMPR (*(__IO uint32_t*)0x400E1C24U) /**< \brief (UART3) Comparison Register */ - #define REG_UART3_WPMR (*(__IO uint32_t*)0x400E1CE4U) /**< \brief (UART3) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART3_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h deleted file mode 100644 index c96331c..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/uart4.h +++ /dev/null @@ -1,75 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UART4_INSTANCE_ -#define _SAMS70_UART4_INSTANCE_ - -/* ========== Register definition for UART4 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UART4_CR (0x400E1E00U) /**< \brief (UART4) Control Register */ - #define REG_UART4_MR (0x400E1E04U) /**< \brief (UART4) Mode Register */ - #define REG_UART4_IER (0x400E1E08U) /**< \brief (UART4) Interrupt Enable Register */ - #define REG_UART4_IDR (0x400E1E0CU) /**< \brief (UART4) Interrupt Disable Register */ - #define REG_UART4_IMR (0x400E1E10U) /**< \brief (UART4) Interrupt Mask Register */ - #define REG_UART4_SR (0x400E1E14U) /**< \brief (UART4) Status Register */ - #define REG_UART4_RHR (0x400E1E18U) /**< \brief (UART4) Receive Holding Register */ - #define REG_UART4_THR (0x400E1E1CU) /**< \brief (UART4) Transmit Holding Register */ - #define REG_UART4_BRGR (0x400E1E20U) /**< \brief (UART4) Baud Rate Generator Register */ - #define REG_UART4_CMPR (0x400E1E24U) /**< \brief (UART4) Comparison Register */ - #define REG_UART4_WPMR (0x400E1EE4U) /**< \brief (UART4) Write Protection Mode Register */ -#else - #define REG_UART4_CR (*(__O uint32_t*)0x400E1E00U) /**< \brief (UART4) Control Register */ - #define REG_UART4_MR (*(__IO uint32_t*)0x400E1E04U) /**< \brief (UART4) Mode Register */ - #define REG_UART4_IER (*(__O uint32_t*)0x400E1E08U) /**< \brief (UART4) Interrupt Enable Register */ - #define REG_UART4_IDR (*(__O uint32_t*)0x400E1E0CU) /**< \brief (UART4) Interrupt Disable Register */ - #define REG_UART4_IMR (*(__I uint32_t*)0x400E1E10U) /**< \brief (UART4) Interrupt Mask Register */ - #define REG_UART4_SR (*(__I uint32_t*)0x400E1E14U) /**< \brief (UART4) Status Register */ - #define REG_UART4_RHR (*(__I uint32_t*)0x400E1E18U) /**< \brief (UART4) Receive Holding Register */ - #define REG_UART4_THR (*(__O uint32_t*)0x400E1E1CU) /**< \brief (UART4) Transmit Holding Register */ - #define REG_UART4_BRGR (*(__IO uint32_t*)0x400E1E20U) /**< \brief (UART4) Baud Rate Generator Register */ - #define REG_UART4_CMPR (*(__IO uint32_t*)0x400E1E24U) /**< \brief (UART4) Comparison Register */ - #define REG_UART4_WPMR (*(__IO uint32_t*)0x400E1EE4U) /**< \brief (UART4) Write Protection Mode Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UART4_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h deleted file mode 100644 index 2715694..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart0.h +++ /dev/null @@ -1,109 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART0_INSTANCE_ -#define _SAMS70_USART0_INSTANCE_ - -/* ========== Register definition for USART0 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USART0_CR (0x40024000U) /**< \brief (USART0) Control Register */ - #define REG_USART0_MR (0x40024004U) /**< \brief (USART0) Mode Register */ - #define REG_USART0_IER (0x40024008U) /**< \brief (USART0) Interrupt Enable Register */ - #define REG_USART0_IDR (0x4002400CU) /**< \brief (USART0) Interrupt Disable Register */ - #define REG_USART0_IMR (0x40024010U) /**< \brief (USART0) Interrupt Mask Register */ - #define REG_USART0_CSR (0x40024014U) /**< \brief (USART0) Channel Status Register */ - #define REG_USART0_RHR (0x40024018U) /**< \brief (USART0) Receive Holding Register */ - #define REG_USART0_THR (0x4002401CU) /**< \brief (USART0) Transmit Holding Register */ - #define REG_USART0_BRGR (0x40024020U) /**< \brief (USART0) Baud Rate Generator Register */ - #define REG_USART0_RTOR (0x40024024U) /**< \brief (USART0) Receiver Time-out Register */ - #define REG_USART0_TTGR (0x40024028U) /**< \brief (USART0) Transmitter Timeguard Register */ - #define REG_USART0_MAN (0x40024050U) /**< \brief (USART0) Manchester Configuration Register */ - #define REG_USART0_LINMR (0x40024054U) /**< \brief (USART0) LIN Mode Register */ - #define REG_USART0_LINIR (0x40024058U) /**< \brief (USART0) LIN Identifier Register */ - #define REG_USART0_LINBRR (0x4002405CU) /**< \brief (USART0) LIN Baud Rate Register */ - #define REG_USART0_LONMR (0x40024060U) /**< \brief (USART0) LON Mode Register */ - #define REG_USART0_LONPR (0x40024064U) /**< \brief (USART0) LON Preamble Register */ - #define REG_USART0_LONDL (0x40024068U) /**< \brief (USART0) LON Data Length Register */ - #define REG_USART0_LONL2HDR (0x4002406CU) /**< \brief (USART0) LON L2HDR Register */ - #define REG_USART0_LONBL (0x40024070U) /**< \brief (USART0) LON Backlog Register */ - #define REG_USART0_LONB1TX (0x40024074U) /**< \brief (USART0) LON Beta1 Tx Register */ - #define REG_USART0_LONB1RX (0x40024078U) /**< \brief (USART0) LON Beta1 Rx Register */ - #define REG_USART0_LONPRIO (0x4002407CU) /**< \brief (USART0) LON Priority Register */ - #define REG_USART0_IDTTX (0x40024080U) /**< \brief (USART0) LON IDT Tx Register */ - #define REG_USART0_IDTRX (0x40024084U) /**< \brief (USART0) LON IDT Rx Register */ - #define REG_USART0_ICDIFF (0x40024088U) /**< \brief (USART0) IC DIFF Register */ - #define REG_USART0_WPMR (0x400240E4U) /**< \brief (USART0) Write Protection Mode Register */ - #define REG_USART0_WPSR (0x400240E8U) /**< \brief (USART0) Write Protection Status Register */ -#else - #define REG_USART0_CR (*(__O uint32_t*)0x40024000U) /**< \brief (USART0) Control Register */ - #define REG_USART0_MR (*(__IO uint32_t*)0x40024004U) /**< \brief (USART0) Mode Register */ - #define REG_USART0_IER (*(__O uint32_t*)0x40024008U) /**< \brief (USART0) Interrupt Enable Register */ - #define REG_USART0_IDR (*(__O uint32_t*)0x4002400CU) /**< \brief (USART0) Interrupt Disable Register */ - #define REG_USART0_IMR (*(__I uint32_t*)0x40024010U) /**< \brief (USART0) Interrupt Mask Register */ - #define REG_USART0_CSR (*(__I uint32_t*)0x40024014U) /**< \brief (USART0) Channel Status Register */ - #define REG_USART0_RHR (*(__I uint32_t*)0x40024018U) /**< \brief (USART0) Receive Holding Register */ - #define REG_USART0_THR (*(__O uint32_t*)0x4002401CU) /**< \brief (USART0) Transmit Holding Register */ - #define REG_USART0_BRGR (*(__IO uint32_t*)0x40024020U) /**< \brief (USART0) Baud Rate Generator Register */ - #define REG_USART0_RTOR (*(__IO uint32_t*)0x40024024U) /**< \brief (USART0) Receiver Time-out Register */ - #define REG_USART0_TTGR (*(__IO uint32_t*)0x40024028U) /**< \brief (USART0) Transmitter Timeguard Register */ - #define REG_USART0_MAN (*(__IO uint32_t*)0x40024050U) /**< \brief (USART0) Manchester Configuration Register */ - #define REG_USART0_LINMR (*(__IO uint32_t*)0x40024054U) /**< \brief (USART0) LIN Mode Register */ - #define REG_USART0_LINIR (*(__IO uint32_t*)0x40024058U) /**< \brief (USART0) LIN Identifier Register */ - #define REG_USART0_LINBRR (*(__I uint32_t*)0x4002405CU) /**< \brief (USART0) LIN Baud Rate Register */ - #define REG_USART0_LONMR (*(__IO uint32_t*)0x40024060U) /**< \brief (USART0) LON Mode Register */ - #define REG_USART0_LONPR (*(__IO uint32_t*)0x40024064U) /**< \brief (USART0) LON Preamble Register */ - #define REG_USART0_LONDL (*(__IO uint32_t*)0x40024068U) /**< \brief (USART0) LON Data Length Register */ - #define REG_USART0_LONL2HDR (*(__IO uint32_t*)0x4002406CU) /**< \brief (USART0) LON L2HDR Register */ - #define REG_USART0_LONBL (*(__I uint32_t*)0x40024070U) /**< \brief (USART0) LON Backlog Register */ - #define REG_USART0_LONB1TX (*(__IO uint32_t*)0x40024074U) /**< \brief (USART0) LON Beta1 Tx Register */ - #define REG_USART0_LONB1RX (*(__IO uint32_t*)0x40024078U) /**< \brief (USART0) LON Beta1 Rx Register */ - #define REG_USART0_LONPRIO (*(__IO uint32_t*)0x4002407CU) /**< \brief (USART0) LON Priority Register */ - #define REG_USART0_IDTTX (*(__IO uint32_t*)0x40024080U) /**< \brief (USART0) LON IDT Tx Register */ - #define REG_USART0_IDTRX (*(__IO uint32_t*)0x40024084U) /**< \brief (USART0) LON IDT Rx Register */ - #define REG_USART0_ICDIFF (*(__IO uint32_t*)0x40024088U) /**< \brief (USART0) IC DIFF Register */ - #define REG_USART0_WPMR (*(__IO uint32_t*)0x400240E4U) /**< \brief (USART0) Write Protection Mode Register */ - #define REG_USART0_WPSR (*(__I uint32_t*)0x400240E8U) /**< \brief (USART0) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USART0_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h deleted file mode 100644 index 067f32e..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart1.h +++ /dev/null @@ -1,109 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART1_INSTANCE_ -#define _SAMS70_USART1_INSTANCE_ - -/* ========== Register definition for USART1 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USART1_CR (0x40028000U) /**< \brief (USART1) Control Register */ - #define REG_USART1_MR (0x40028004U) /**< \brief (USART1) Mode Register */ - #define REG_USART1_IER (0x40028008U) /**< \brief (USART1) Interrupt Enable Register */ - #define REG_USART1_IDR (0x4002800CU) /**< \brief (USART1) Interrupt Disable Register */ - #define REG_USART1_IMR (0x40028010U) /**< \brief (USART1) Interrupt Mask Register */ - #define REG_USART1_CSR (0x40028014U) /**< \brief (USART1) Channel Status Register */ - #define REG_USART1_RHR (0x40028018U) /**< \brief (USART1) Receive Holding Register */ - #define REG_USART1_THR (0x4002801CU) /**< \brief (USART1) Transmit Holding Register */ - #define REG_USART1_BRGR (0x40028020U) /**< \brief (USART1) Baud Rate Generator Register */ - #define REG_USART1_RTOR (0x40028024U) /**< \brief (USART1) Receiver Time-out Register */ - #define REG_USART1_TTGR (0x40028028U) /**< \brief (USART1) Transmitter Timeguard Register */ - #define REG_USART1_MAN (0x40028050U) /**< \brief (USART1) Manchester Configuration Register */ - #define REG_USART1_LINMR (0x40028054U) /**< \brief (USART1) LIN Mode Register */ - #define REG_USART1_LINIR (0x40028058U) /**< \brief (USART1) LIN Identifier Register */ - #define REG_USART1_LINBRR (0x4002805CU) /**< \brief (USART1) LIN Baud Rate Register */ - #define REG_USART1_LONMR (0x40028060U) /**< \brief (USART1) LON Mode Register */ - #define REG_USART1_LONPR (0x40028064U) /**< \brief (USART1) LON Preamble Register */ - #define REG_USART1_LONDL (0x40028068U) /**< \brief (USART1) LON Data Length Register */ - #define REG_USART1_LONL2HDR (0x4002806CU) /**< \brief (USART1) LON L2HDR Register */ - #define REG_USART1_LONBL (0x40028070U) /**< \brief (USART1) LON Backlog Register */ - #define REG_USART1_LONB1TX (0x40028074U) /**< \brief (USART1) LON Beta1 Tx Register */ - #define REG_USART1_LONB1RX (0x40028078U) /**< \brief (USART1) LON Beta1 Rx Register */ - #define REG_USART1_LONPRIO (0x4002807CU) /**< \brief (USART1) LON Priority Register */ - #define REG_USART1_IDTTX (0x40028080U) /**< \brief (USART1) LON IDT Tx Register */ - #define REG_USART1_IDTRX (0x40028084U) /**< \brief (USART1) LON IDT Rx Register */ - #define REG_USART1_ICDIFF (0x40028088U) /**< \brief (USART1) IC DIFF Register */ - #define REG_USART1_WPMR (0x400280E4U) /**< \brief (USART1) Write Protection Mode Register */ - #define REG_USART1_WPSR (0x400280E8U) /**< \brief (USART1) Write Protection Status Register */ -#else - #define REG_USART1_CR (*(__O uint32_t*)0x40028000U) /**< \brief (USART1) Control Register */ - #define REG_USART1_MR (*(__IO uint32_t*)0x40028004U) /**< \brief (USART1) Mode Register */ - #define REG_USART1_IER (*(__O uint32_t*)0x40028008U) /**< \brief (USART1) Interrupt Enable Register */ - #define REG_USART1_IDR (*(__O uint32_t*)0x4002800CU) /**< \brief (USART1) Interrupt Disable Register */ - #define REG_USART1_IMR (*(__I uint32_t*)0x40028010U) /**< \brief (USART1) Interrupt Mask Register */ - #define REG_USART1_CSR (*(__I uint32_t*)0x40028014U) /**< \brief (USART1) Channel Status Register */ - #define REG_USART1_RHR (*(__I uint32_t*)0x40028018U) /**< \brief (USART1) Receive Holding Register */ - #define REG_USART1_THR (*(__O uint32_t*)0x4002801CU) /**< \brief (USART1) Transmit Holding Register */ - #define REG_USART1_BRGR (*(__IO uint32_t*)0x40028020U) /**< \brief (USART1) Baud Rate Generator Register */ - #define REG_USART1_RTOR (*(__IO uint32_t*)0x40028024U) /**< \brief (USART1) Receiver Time-out Register */ - #define REG_USART1_TTGR (*(__IO uint32_t*)0x40028028U) /**< \brief (USART1) Transmitter Timeguard Register */ - #define REG_USART1_MAN (*(__IO uint32_t*)0x40028050U) /**< \brief (USART1) Manchester Configuration Register */ - #define REG_USART1_LINMR (*(__IO uint32_t*)0x40028054U) /**< \brief (USART1) LIN Mode Register */ - #define REG_USART1_LINIR (*(__IO uint32_t*)0x40028058U) /**< \brief (USART1) LIN Identifier Register */ - #define REG_USART1_LINBRR (*(__I uint32_t*)0x4002805CU) /**< \brief (USART1) LIN Baud Rate Register */ - #define REG_USART1_LONMR (*(__IO uint32_t*)0x40028060U) /**< \brief (USART1) LON Mode Register */ - #define REG_USART1_LONPR (*(__IO uint32_t*)0x40028064U) /**< \brief (USART1) LON Preamble Register */ - #define REG_USART1_LONDL (*(__IO uint32_t*)0x40028068U) /**< \brief (USART1) LON Data Length Register */ - #define REG_USART1_LONL2HDR (*(__IO uint32_t*)0x4002806CU) /**< \brief (USART1) LON L2HDR Register */ - #define REG_USART1_LONBL (*(__I uint32_t*)0x40028070U) /**< \brief (USART1) LON Backlog Register */ - #define REG_USART1_LONB1TX (*(__IO uint32_t*)0x40028074U) /**< \brief (USART1) LON Beta1 Tx Register */ - #define REG_USART1_LONB1RX (*(__IO uint32_t*)0x40028078U) /**< \brief (USART1) LON Beta1 Rx Register */ - #define REG_USART1_LONPRIO (*(__IO uint32_t*)0x4002807CU) /**< \brief (USART1) LON Priority Register */ - #define REG_USART1_IDTTX (*(__IO uint32_t*)0x40028080U) /**< \brief (USART1) LON IDT Tx Register */ - #define REG_USART1_IDTRX (*(__IO uint32_t*)0x40028084U) /**< \brief (USART1) LON IDT Rx Register */ - #define REG_USART1_ICDIFF (*(__IO uint32_t*)0x40028088U) /**< \brief (USART1) IC DIFF Register */ - #define REG_USART1_WPMR (*(__IO uint32_t*)0x400280E4U) /**< \brief (USART1) Write Protection Mode Register */ - #define REG_USART1_WPSR (*(__I uint32_t*)0x400280E8U) /**< \brief (USART1) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USART1_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h deleted file mode 100644 index 88c8ce8..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usart2.h +++ /dev/null @@ -1,109 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USART2_INSTANCE_ -#define _SAMS70_USART2_INSTANCE_ - -/* ========== Register definition for USART2 peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USART2_CR (0x4002C000U) /**< \brief (USART2) Control Register */ - #define REG_USART2_MR (0x4002C004U) /**< \brief (USART2) Mode Register */ - #define REG_USART2_IER (0x4002C008U) /**< \brief (USART2) Interrupt Enable Register */ - #define REG_USART2_IDR (0x4002C00CU) /**< \brief (USART2) Interrupt Disable Register */ - #define REG_USART2_IMR (0x4002C010U) /**< \brief (USART2) Interrupt Mask Register */ - #define REG_USART2_CSR (0x4002C014U) /**< \brief (USART2) Channel Status Register */ - #define REG_USART2_RHR (0x4002C018U) /**< \brief (USART2) Receive Holding Register */ - #define REG_USART2_THR (0x4002C01CU) /**< \brief (USART2) Transmit Holding Register */ - #define REG_USART2_BRGR (0x4002C020U) /**< \brief (USART2) Baud Rate Generator Register */ - #define REG_USART2_RTOR (0x4002C024U) /**< \brief (USART2) Receiver Time-out Register */ - #define REG_USART2_TTGR (0x4002C028U) /**< \brief (USART2) Transmitter Timeguard Register */ - #define REG_USART2_MAN (0x4002C050U) /**< \brief (USART2) Manchester Configuration Register */ - #define REG_USART2_LINMR (0x4002C054U) /**< \brief (USART2) LIN Mode Register */ - #define REG_USART2_LINIR (0x4002C058U) /**< \brief (USART2) LIN Identifier Register */ - #define REG_USART2_LINBRR (0x4002C05CU) /**< \brief (USART2) LIN Baud Rate Register */ - #define REG_USART2_LONMR (0x4002C060U) /**< \brief (USART2) LON Mode Register */ - #define REG_USART2_LONPR (0x4002C064U) /**< \brief (USART2) LON Preamble Register */ - #define REG_USART2_LONDL (0x4002C068U) /**< \brief (USART2) LON Data Length Register */ - #define REG_USART2_LONL2HDR (0x4002C06CU) /**< \brief (USART2) LON L2HDR Register */ - #define REG_USART2_LONBL (0x4002C070U) /**< \brief (USART2) LON Backlog Register */ - #define REG_USART2_LONB1TX (0x4002C074U) /**< \brief (USART2) LON Beta1 Tx Register */ - #define REG_USART2_LONB1RX (0x4002C078U) /**< \brief (USART2) LON Beta1 Rx Register */ - #define REG_USART2_LONPRIO (0x4002C07CU) /**< \brief (USART2) LON Priority Register */ - #define REG_USART2_IDTTX (0x4002C080U) /**< \brief (USART2) LON IDT Tx Register */ - #define REG_USART2_IDTRX (0x4002C084U) /**< \brief (USART2) LON IDT Rx Register */ - #define REG_USART2_ICDIFF (0x4002C088U) /**< \brief (USART2) IC DIFF Register */ - #define REG_USART2_WPMR (0x4002C0E4U) /**< \brief (USART2) Write Protection Mode Register */ - #define REG_USART2_WPSR (0x4002C0E8U) /**< \brief (USART2) Write Protection Status Register */ -#else - #define REG_USART2_CR (*(__O uint32_t*)0x4002C000U) /**< \brief (USART2) Control Register */ - #define REG_USART2_MR (*(__IO uint32_t*)0x4002C004U) /**< \brief (USART2) Mode Register */ - #define REG_USART2_IER (*(__O uint32_t*)0x4002C008U) /**< \brief (USART2) Interrupt Enable Register */ - #define REG_USART2_IDR (*(__O uint32_t*)0x4002C00CU) /**< \brief (USART2) Interrupt Disable Register */ - #define REG_USART2_IMR (*(__I uint32_t*)0x4002C010U) /**< \brief (USART2) Interrupt Mask Register */ - #define REG_USART2_CSR (*(__I uint32_t*)0x4002C014U) /**< \brief (USART2) Channel Status Register */ - #define REG_USART2_RHR (*(__I uint32_t*)0x4002C018U) /**< \brief (USART2) Receive Holding Register */ - #define REG_USART2_THR (*(__O uint32_t*)0x4002C01CU) /**< \brief (USART2) Transmit Holding Register */ - #define REG_USART2_BRGR (*(__IO uint32_t*)0x4002C020U) /**< \brief (USART2) Baud Rate Generator Register */ - #define REG_USART2_RTOR (*(__IO uint32_t*)0x4002C024U) /**< \brief (USART2) Receiver Time-out Register */ - #define REG_USART2_TTGR (*(__IO uint32_t*)0x4002C028U) /**< \brief (USART2) Transmitter Timeguard Register */ - #define REG_USART2_MAN (*(__IO uint32_t*)0x4002C050U) /**< \brief (USART2) Manchester Configuration Register */ - #define REG_USART2_LINMR (*(__IO uint32_t*)0x4002C054U) /**< \brief (USART2) LIN Mode Register */ - #define REG_USART2_LINIR (*(__IO uint32_t*)0x4002C058U) /**< \brief (USART2) LIN Identifier Register */ - #define REG_USART2_LINBRR (*(__I uint32_t*)0x4002C05CU) /**< \brief (USART2) LIN Baud Rate Register */ - #define REG_USART2_LONMR (*(__IO uint32_t*)0x4002C060U) /**< \brief (USART2) LON Mode Register */ - #define REG_USART2_LONPR (*(__IO uint32_t*)0x4002C064U) /**< \brief (USART2) LON Preamble Register */ - #define REG_USART2_LONDL (*(__IO uint32_t*)0x4002C068U) /**< \brief (USART2) LON Data Length Register */ - #define REG_USART2_LONL2HDR (*(__IO uint32_t*)0x4002C06CU) /**< \brief (USART2) LON L2HDR Register */ - #define REG_USART2_LONBL (*(__I uint32_t*)0x4002C070U) /**< \brief (USART2) LON Backlog Register */ - #define REG_USART2_LONB1TX (*(__IO uint32_t*)0x4002C074U) /**< \brief (USART2) LON Beta1 Tx Register */ - #define REG_USART2_LONB1RX (*(__IO uint32_t*)0x4002C078U) /**< \brief (USART2) LON Beta1 Rx Register */ - #define REG_USART2_LONPRIO (*(__IO uint32_t*)0x4002C07CU) /**< \brief (USART2) LON Priority Register */ - #define REG_USART2_IDTTX (*(__IO uint32_t*)0x4002C080U) /**< \brief (USART2) LON IDT Tx Register */ - #define REG_USART2_IDTRX (*(__IO uint32_t*)0x4002C084U) /**< \brief (USART2) LON IDT Rx Register */ - #define REG_USART2_ICDIFF (*(__IO uint32_t*)0x4002C088U) /**< \brief (USART2) IC DIFF Register */ - #define REG_USART2_WPMR (*(__IO uint32_t*)0x4002C0E4U) /**< \brief (USART2) Write Protection Mode Register */ - #define REG_USART2_WPSR (*(__I uint32_t*)0x4002C0E8U) /**< \brief (USART2) Write Protection Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USART2_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h deleted file mode 100644 index 39b7629..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/usbhs.h +++ /dev/null @@ -1,255 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_USBHS_INSTANCE_ -#define _SAMS70_USBHS_INSTANCE_ - -/* ========== Register definition for USBHS peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_USBHS_DEVCTRL (0x40038000U) /**< \brief (USBHS) Device General Control Register */ - #define REG_USBHS_DEVISR (0x40038004U) /**< \brief (USBHS) Device Global Interrupt Status Register */ - #define REG_USBHS_DEVICR (0x40038008U) /**< \brief (USBHS) Device Global Interrupt Clear Register */ - #define REG_USBHS_DEVIFR (0x4003800CU) /**< \brief (USBHS) Device Global Interrupt Set Register */ - #define REG_USBHS_DEVIMR (0x40038010U) /**< \brief (USBHS) Device Global Interrupt Mask Register */ - #define REG_USBHS_DEVIDR (0x40038014U) /**< \brief (USBHS) Device Global Interrupt Disable Register */ - #define REG_USBHS_DEVIER (0x40038018U) /**< \brief (USBHS) Device Global Interrupt Enable Register */ - #define REG_USBHS_DEVEPT (0x4003801CU) /**< \brief (USBHS) Device Endpoint Register */ - #define REG_USBHS_DEVFNUM (0x40038020U) /**< \brief (USBHS) Device Frame Number Register */ - #define REG_USBHS_DEVEPTCFG (0x40038100U) /**< \brief (USBHS) Device Endpoint Configuration Register (n = 0) */ - #define REG_USBHS_DEVEPTISR (0x40038130U) /**< \brief (USBHS) Device Endpoint Status Register (n = 0) */ - #define REG_USBHS_DEVEPTICR (0x40038160U) /**< \brief (USBHS) Device Endpoint Clear Register (n = 0) */ - #define REG_USBHS_DEVEPTIFR (0x40038190U) /**< \brief (USBHS) Device Endpoint Set Register (n = 0) */ - #define REG_USBHS_DEVEPTIMR (0x400381C0U) /**< \brief (USBHS) Device Endpoint Mask Register (n = 0) */ - #define REG_USBHS_DEVEPTIER (0x400381F0U) /**< \brief (USBHS) Device Endpoint Enable Register (n = 0) */ - #define REG_USBHS_DEVEPTIDR (0x40038220U) /**< \brief (USBHS) Device Endpoint Disable Register (n = 0) */ - #define REG_USBHS_DEVDMANXTDSC1 (0x40038310U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_DEVDMAADDRESS1 (0x40038314U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 1) */ - #define REG_USBHS_DEVDMACONTROL1 (0x40038318U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 1) */ - #define REG_USBHS_DEVDMASTATUS1 (0x4003831CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 1) */ - #define REG_USBHS_DEVDMANXTDSC2 (0x40038320U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_DEVDMAADDRESS2 (0x40038324U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 2) */ - #define REG_USBHS_DEVDMACONTROL2 (0x40038328U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 2) */ - #define REG_USBHS_DEVDMASTATUS2 (0x4003832CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 2) */ - #define REG_USBHS_DEVDMANXTDSC3 (0x40038330U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_DEVDMAADDRESS3 (0x40038334U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 3) */ - #define REG_USBHS_DEVDMACONTROL3 (0x40038338U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 3) */ - #define REG_USBHS_DEVDMASTATUS3 (0x4003833CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 3) */ - #define REG_USBHS_DEVDMANXTDSC4 (0x40038340U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_DEVDMAADDRESS4 (0x40038344U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 4) */ - #define REG_USBHS_DEVDMACONTROL4 (0x40038348U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 4) */ - #define REG_USBHS_DEVDMASTATUS4 (0x4003834CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 4) */ - #define REG_USBHS_DEVDMANXTDSC5 (0x40038350U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_DEVDMAADDRESS5 (0x40038354U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 5) */ - #define REG_USBHS_DEVDMACONTROL5 (0x40038358U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 5) */ - #define REG_USBHS_DEVDMASTATUS5 (0x4003835CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 5) */ - #define REG_USBHS_DEVDMANXTDSC6 (0x40038360U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_DEVDMAADDRESS6 (0x40038364U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 6) */ - #define REG_USBHS_DEVDMACONTROL6 (0x40038368U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 6) */ - #define REG_USBHS_DEVDMASTATUS6 (0x4003836CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 6) */ - #define REG_USBHS_DEVDMANXTDSC7 (0x40038370U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_DEVDMAADDRESS7 (0x40038374U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 7) */ - #define REG_USBHS_DEVDMACONTROL7 (0x40038378U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 7) */ - #define REG_USBHS_DEVDMASTATUS7 (0x4003837CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 7) */ - #define REG_USBHS_HSTCTRL (0x40038400U) /**< \brief (USBHS) Host General Control Register */ - #define REG_USBHS_HSTISR (0x40038404U) /**< \brief (USBHS) Host Global Interrupt Status Register */ - #define REG_USBHS_HSTICR (0x40038408U) /**< \brief (USBHS) Host Global Interrupt Clear Register */ - #define REG_USBHS_HSTIFR (0x4003840CU) /**< \brief (USBHS) Host Global Interrupt Set Register */ - #define REG_USBHS_HSTIMR (0x40038410U) /**< \brief (USBHS) Host Global Interrupt Mask Register */ - #define REG_USBHS_HSTIDR (0x40038414U) /**< \brief (USBHS) Host Global Interrupt Disable Register */ - #define REG_USBHS_HSTIER (0x40038418U) /**< \brief (USBHS) Host Global Interrupt Enable Register */ - #define REG_USBHS_HSTPIP (0x4003841CU) /**< \brief (USBHS) Host Pipe Register */ - #define REG_USBHS_HSTFNUM (0x40038420U) /**< \brief (USBHS) Host Frame Number Register */ - #define REG_USBHS_HSTADDR1 (0x40038424U) /**< \brief (USBHS) Host Address 1 Register */ - #define REG_USBHS_HSTADDR2 (0x40038428U) /**< \brief (USBHS) Host Address 2 Register */ - #define REG_USBHS_HSTADDR3 (0x4003842CU) /**< \brief (USBHS) Host Address 3 Register */ - #define REG_USBHS_HSTPIPCFG (0x40038500U) /**< \brief (USBHS) Host Pipe Configuration Register (n = 0) */ - #define REG_USBHS_HSTPIPISR (0x40038530U) /**< \brief (USBHS) Host Pipe Status Register (n = 0) */ - #define REG_USBHS_HSTPIPICR (0x40038560U) /**< \brief (USBHS) Host Pipe Clear Register (n = 0) */ - #define REG_USBHS_HSTPIPIFR (0x40038590U) /**< \brief (USBHS) Host Pipe Set Register (n = 0) */ - #define REG_USBHS_HSTPIPIMR (0x400385C0U) /**< \brief (USBHS) Host Pipe Mask Register (n = 0) */ - #define REG_USBHS_HSTPIPIER (0x400385F0U) /**< \brief (USBHS) Host Pipe Enable Register (n = 0) */ - #define REG_USBHS_HSTPIPIDR (0x40038620U) /**< \brief (USBHS) Host Pipe Disable Register (n = 0) */ - #define REG_USBHS_HSTPIPINRQ (0x40038650U) /**< \brief (USBHS) Host Pipe IN Request Register (n = 0) */ - #define REG_USBHS_HSTPIPERR (0x40038680U) /**< \brief (USBHS) Host Pipe Error Register (n = 0) */ - #define REG_USBHS_HSTDMANXTDSC1 (0x40038710U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_HSTDMAADDRESS1 (0x40038714U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 1) */ - #define REG_USBHS_HSTDMACONTROL1 (0x40038718U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 1) */ - #define REG_USBHS_HSTDMASTATUS1 (0x4003871CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 1) */ - #define REG_USBHS_HSTDMANXTDSC2 (0x40038720U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_HSTDMAADDRESS2 (0x40038724U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 2) */ - #define REG_USBHS_HSTDMACONTROL2 (0x40038728U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 2) */ - #define REG_USBHS_HSTDMASTATUS2 (0x4003872CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 2) */ - #define REG_USBHS_HSTDMANXTDSC3 (0x40038730U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_HSTDMAADDRESS3 (0x40038734U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 3) */ - #define REG_USBHS_HSTDMACONTROL3 (0x40038738U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 3) */ - #define REG_USBHS_HSTDMASTATUS3 (0x4003873CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 3) */ - #define REG_USBHS_HSTDMANXTDSC4 (0x40038740U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_HSTDMAADDRESS4 (0x40038744U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 4) */ - #define REG_USBHS_HSTDMACONTROL4 (0x40038748U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 4) */ - #define REG_USBHS_HSTDMASTATUS4 (0x4003874CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 4) */ - #define REG_USBHS_HSTDMANXTDSC5 (0x40038750U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_HSTDMAADDRESS5 (0x40038754U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 5) */ - #define REG_USBHS_HSTDMACONTROL5 (0x40038758U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 5) */ - #define REG_USBHS_HSTDMASTATUS5 (0x4003875CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 5) */ - #define REG_USBHS_HSTDMANXTDSC6 (0x40038760U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_HSTDMAADDRESS6 (0x40038764U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 6) */ - #define REG_USBHS_HSTDMACONTROL6 (0x40038768U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 6) */ - #define REG_USBHS_HSTDMASTATUS6 (0x4003876CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 6) */ - #define REG_USBHS_HSTDMANXTDSC7 (0x40038770U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_HSTDMAADDRESS7 (0x40038774U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 7) */ - #define REG_USBHS_HSTDMACONTROL7 (0x40038778U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 7) */ - #define REG_USBHS_HSTDMASTATUS7 (0x4003877CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 7) */ - #define REG_USBHS_CTRL (0x40038800U) /**< \brief (USBHS) General Control Register */ - #define REG_USBHS_SR (0x40038804U) /**< \brief (USBHS) General Status Register */ - #define REG_USBHS_SCR (0x40038808U) /**< \brief (USBHS) General Status Clear Register */ - #define REG_USBHS_SFR (0x4003880CU) /**< \brief (USBHS) General Status Set Register */ - #define REG_USBHS_TSTA1 (0x40038810U) /**< \brief (USBHS) General Test A1 Register */ - #define REG_USBHS_TSTA2 (0x40038814U) /**< \brief (USBHS) General Test A2 Register */ - #define REG_USBHS_VERSION (0x40038818U) /**< \brief (USBHS) General Version Register */ - #define REG_USBHS_FSM (0x4003882CU) /**< \brief (USBHS) General Finite State Machine Register */ -#else - #define REG_USBHS_DEVCTRL (*(__IO uint32_t*)0x40038000U) /**< \brief (USBHS) Device General Control Register */ - #define REG_USBHS_DEVISR (*(__I uint32_t*)0x40038004U) /**< \brief (USBHS) Device Global Interrupt Status Register */ - #define REG_USBHS_DEVICR (*(__O uint32_t*)0x40038008U) /**< \brief (USBHS) Device Global Interrupt Clear Register */ - #define REG_USBHS_DEVIFR (*(__O uint32_t*)0x4003800CU) /**< \brief (USBHS) Device Global Interrupt Set Register */ - #define REG_USBHS_DEVIMR (*(__I uint32_t*)0x40038010U) /**< \brief (USBHS) Device Global Interrupt Mask Register */ - #define REG_USBHS_DEVIDR (*(__O uint32_t*)0x40038014U) /**< \brief (USBHS) Device Global Interrupt Disable Register */ - #define REG_USBHS_DEVIER (*(__O uint32_t*)0x40038018U) /**< \brief (USBHS) Device Global Interrupt Enable Register */ - #define REG_USBHS_DEVEPT (*(__IO uint32_t*)0x4003801CU) /**< \brief (USBHS) Device Endpoint Register */ - #define REG_USBHS_DEVFNUM (*(__I uint32_t*)0x40038020U) /**< \brief (USBHS) Device Frame Number Register */ - #define REG_USBHS_DEVEPTCFG (*(__IO uint32_t*)0x40038100U) /**< \brief (USBHS) Device Endpoint Configuration Register (n = 0) */ - #define REG_USBHS_DEVEPTISR (*(__I uint32_t*)0x40038130U) /**< \brief (USBHS) Device Endpoint Status Register (n = 0) */ - #define REG_USBHS_DEVEPTICR (*(__O uint32_t*)0x40038160U) /**< \brief (USBHS) Device Endpoint Clear Register (n = 0) */ - #define REG_USBHS_DEVEPTIFR (*(__O uint32_t*)0x40038190U) /**< \brief (USBHS) Device Endpoint Set Register (n = 0) */ - #define REG_USBHS_DEVEPTIMR (*(__I uint32_t*)0x400381C0U) /**< \brief (USBHS) Device Endpoint Mask Register (n = 0) */ - #define REG_USBHS_DEVEPTIER (*(__O uint32_t*)0x400381F0U) /**< \brief (USBHS) Device Endpoint Enable Register (n = 0) */ - #define REG_USBHS_DEVEPTIDR (*(__O uint32_t*)0x40038220U) /**< \brief (USBHS) Device Endpoint Disable Register (n = 0) */ - #define REG_USBHS_DEVDMANXTDSC1 (*(__IO uint32_t*)0x40038310U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_DEVDMAADDRESS1 (*(__IO uint32_t*)0x40038314U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 1) */ - #define REG_USBHS_DEVDMACONTROL1 (*(__IO uint32_t*)0x40038318U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 1) */ - #define REG_USBHS_DEVDMASTATUS1 (*(__IO uint32_t*)0x4003831CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 1) */ - #define REG_USBHS_DEVDMANXTDSC2 (*(__IO uint32_t*)0x40038320U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_DEVDMAADDRESS2 (*(__IO uint32_t*)0x40038324U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 2) */ - #define REG_USBHS_DEVDMACONTROL2 (*(__IO uint32_t*)0x40038328U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 2) */ - #define REG_USBHS_DEVDMASTATUS2 (*(__IO uint32_t*)0x4003832CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 2) */ - #define REG_USBHS_DEVDMANXTDSC3 (*(__IO uint32_t*)0x40038330U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_DEVDMAADDRESS3 (*(__IO uint32_t*)0x40038334U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 3) */ - #define REG_USBHS_DEVDMACONTROL3 (*(__IO uint32_t*)0x40038338U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 3) */ - #define REG_USBHS_DEVDMASTATUS3 (*(__IO uint32_t*)0x4003833CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 3) */ - #define REG_USBHS_DEVDMANXTDSC4 (*(__IO uint32_t*)0x40038340U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_DEVDMAADDRESS4 (*(__IO uint32_t*)0x40038344U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 4) */ - #define REG_USBHS_DEVDMACONTROL4 (*(__IO uint32_t*)0x40038348U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 4) */ - #define REG_USBHS_DEVDMASTATUS4 (*(__IO uint32_t*)0x4003834CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 4) */ - #define REG_USBHS_DEVDMANXTDSC5 (*(__IO uint32_t*)0x40038350U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_DEVDMAADDRESS5 (*(__IO uint32_t*)0x40038354U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 5) */ - #define REG_USBHS_DEVDMACONTROL5 (*(__IO uint32_t*)0x40038358U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 5) */ - #define REG_USBHS_DEVDMASTATUS5 (*(__IO uint32_t*)0x4003835CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 5) */ - #define REG_USBHS_DEVDMANXTDSC6 (*(__IO uint32_t*)0x40038360U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_DEVDMAADDRESS6 (*(__IO uint32_t*)0x40038364U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 6) */ - #define REG_USBHS_DEVDMACONTROL6 (*(__IO uint32_t*)0x40038368U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 6) */ - #define REG_USBHS_DEVDMASTATUS6 (*(__IO uint32_t*)0x4003836CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 6) */ - #define REG_USBHS_DEVDMANXTDSC7 (*(__IO uint32_t*)0x40038370U) /**< \brief (USBHS) Device DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_DEVDMAADDRESS7 (*(__IO uint32_t*)0x40038374U) /**< \brief (USBHS) Device DMA Channel Address Register (n = 7) */ - #define REG_USBHS_DEVDMACONTROL7 (*(__IO uint32_t*)0x40038378U) /**< \brief (USBHS) Device DMA Channel Control Register (n = 7) */ - #define REG_USBHS_DEVDMASTATUS7 (*(__IO uint32_t*)0x4003837CU) /**< \brief (USBHS) Device DMA Channel Status Register (n = 7) */ - #define REG_USBHS_HSTCTRL (*(__IO uint32_t*)0x40038400U) /**< \brief (USBHS) Host General Control Register */ - #define REG_USBHS_HSTISR (*(__I uint32_t*)0x40038404U) /**< \brief (USBHS) Host Global Interrupt Status Register */ - #define REG_USBHS_HSTICR (*(__O uint32_t*)0x40038408U) /**< \brief (USBHS) Host Global Interrupt Clear Register */ - #define REG_USBHS_HSTIFR (*(__O uint32_t*)0x4003840CU) /**< \brief (USBHS) Host Global Interrupt Set Register */ - #define REG_USBHS_HSTIMR (*(__I uint32_t*)0x40038410U) /**< \brief (USBHS) Host Global Interrupt Mask Register */ - #define REG_USBHS_HSTIDR (*(__O uint32_t*)0x40038414U) /**< \brief (USBHS) Host Global Interrupt Disable Register */ - #define REG_USBHS_HSTIER (*(__O uint32_t*)0x40038418U) /**< \brief (USBHS) Host Global Interrupt Enable Register */ - #define REG_USBHS_HSTPIP (*(__IO uint32_t*)0x4003841CU) /**< \brief (USBHS) Host Pipe Register */ - #define REG_USBHS_HSTFNUM (*(__IO uint32_t*)0x40038420U) /**< \brief (USBHS) Host Frame Number Register */ - #define REG_USBHS_HSTADDR1 (*(__IO uint32_t*)0x40038424U) /**< \brief (USBHS) Host Address 1 Register */ - #define REG_USBHS_HSTADDR2 (*(__IO uint32_t*)0x40038428U) /**< \brief (USBHS) Host Address 2 Register */ - #define REG_USBHS_HSTADDR3 (*(__IO uint32_t*)0x4003842CU) /**< \brief (USBHS) Host Address 3 Register */ - #define REG_USBHS_HSTPIPCFG (*(__IO uint32_t*)0x40038500U) /**< \brief (USBHS) Host Pipe Configuration Register (n = 0) */ - #define REG_USBHS_HSTPIPISR (*(__I uint32_t*)0x40038530U) /**< \brief (USBHS) Host Pipe Status Register (n = 0) */ - #define REG_USBHS_HSTPIPICR (*(__O uint32_t*)0x40038560U) /**< \brief (USBHS) Host Pipe Clear Register (n = 0) */ - #define REG_USBHS_HSTPIPIFR (*(__O uint32_t*)0x40038590U) /**< \brief (USBHS) Host Pipe Set Register (n = 0) */ - #define REG_USBHS_HSTPIPIMR (*(__I uint32_t*)0x400385C0U) /**< \brief (USBHS) Host Pipe Mask Register (n = 0) */ - #define REG_USBHS_HSTPIPIER (*(__O uint32_t*)0x400385F0U) /**< \brief (USBHS) Host Pipe Enable Register (n = 0) */ - #define REG_USBHS_HSTPIPIDR (*(__O uint32_t*)0x40038620U) /**< \brief (USBHS) Host Pipe Disable Register (n = 0) */ - #define REG_USBHS_HSTPIPINRQ (*(__IO uint32_t*)0x40038650U) /**< \brief (USBHS) Host Pipe IN Request Register (n = 0) */ - #define REG_USBHS_HSTPIPERR (*(__IO uint32_t*)0x40038680U) /**< \brief (USBHS) Host Pipe Error Register (n = 0) */ - #define REG_USBHS_HSTDMANXTDSC1 (*(__IO uint32_t*)0x40038710U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 1) */ - #define REG_USBHS_HSTDMAADDRESS1 (*(__IO uint32_t*)0x40038714U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 1) */ - #define REG_USBHS_HSTDMACONTROL1 (*(__IO uint32_t*)0x40038718U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 1) */ - #define REG_USBHS_HSTDMASTATUS1 (*(__IO uint32_t*)0x4003871CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 1) */ - #define REG_USBHS_HSTDMANXTDSC2 (*(__IO uint32_t*)0x40038720U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 2) */ - #define REG_USBHS_HSTDMAADDRESS2 (*(__IO uint32_t*)0x40038724U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 2) */ - #define REG_USBHS_HSTDMACONTROL2 (*(__IO uint32_t*)0x40038728U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 2) */ - #define REG_USBHS_HSTDMASTATUS2 (*(__IO uint32_t*)0x4003872CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 2) */ - #define REG_USBHS_HSTDMANXTDSC3 (*(__IO uint32_t*)0x40038730U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 3) */ - #define REG_USBHS_HSTDMAADDRESS3 (*(__IO uint32_t*)0x40038734U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 3) */ - #define REG_USBHS_HSTDMACONTROL3 (*(__IO uint32_t*)0x40038738U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 3) */ - #define REG_USBHS_HSTDMASTATUS3 (*(__IO uint32_t*)0x4003873CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 3) */ - #define REG_USBHS_HSTDMANXTDSC4 (*(__IO uint32_t*)0x40038740U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 4) */ - #define REG_USBHS_HSTDMAADDRESS4 (*(__IO uint32_t*)0x40038744U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 4) */ - #define REG_USBHS_HSTDMACONTROL4 (*(__IO uint32_t*)0x40038748U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 4) */ - #define REG_USBHS_HSTDMASTATUS4 (*(__IO uint32_t*)0x4003874CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 4) */ - #define REG_USBHS_HSTDMANXTDSC5 (*(__IO uint32_t*)0x40038750U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 5) */ - #define REG_USBHS_HSTDMAADDRESS5 (*(__IO uint32_t*)0x40038754U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 5) */ - #define REG_USBHS_HSTDMACONTROL5 (*(__IO uint32_t*)0x40038758U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 5) */ - #define REG_USBHS_HSTDMASTATUS5 (*(__IO uint32_t*)0x4003875CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 5) */ - #define REG_USBHS_HSTDMANXTDSC6 (*(__IO uint32_t*)0x40038760U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 6) */ - #define REG_USBHS_HSTDMAADDRESS6 (*(__IO uint32_t*)0x40038764U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 6) */ - #define REG_USBHS_HSTDMACONTROL6 (*(__IO uint32_t*)0x40038768U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 6) */ - #define REG_USBHS_HSTDMASTATUS6 (*(__IO uint32_t*)0x4003876CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 6) */ - #define REG_USBHS_HSTDMANXTDSC7 (*(__IO uint32_t*)0x40038770U) /**< \brief (USBHS) Host DMA Channel Next Descriptor Address Register (n = 7) */ - #define REG_USBHS_HSTDMAADDRESS7 (*(__IO uint32_t*)0x40038774U) /**< \brief (USBHS) Host DMA Channel Address Register (n = 7) */ - #define REG_USBHS_HSTDMACONTROL7 (*(__IO uint32_t*)0x40038778U) /**< \brief (USBHS) Host DMA Channel Control Register (n = 7) */ - #define REG_USBHS_HSTDMASTATUS7 (*(__IO uint32_t*)0x4003877CU) /**< \brief (USBHS) Host DMA Channel Status Register (n = 7) */ - #define REG_USBHS_CTRL (*(__IO uint32_t*)0x40038800U) /**< \brief (USBHS) General Control Register */ - #define REG_USBHS_SR (*(__I uint32_t*)0x40038804U) /**< \brief (USBHS) General Status Register */ - #define REG_USBHS_SCR (*(__O uint32_t*)0x40038808U) /**< \brief (USBHS) General Status Clear Register */ - #define REG_USBHS_SFR (*(__O uint32_t*)0x4003880CU) /**< \brief (USBHS) General Status Set Register */ - #define REG_USBHS_TSTA1 (*(__IO uint32_t*)0x40038810U) /**< \brief (USBHS) General Test A1 Register */ - #define REG_USBHS_TSTA2 (*(__IO uint32_t*)0x40038814U) /**< \brief (USBHS) General Test A2 Register */ - #define REG_USBHS_VERSION (*(__I uint32_t*)0x40038818U) /**< \brief (USBHS) General Version Register */ - #define REG_USBHS_FSM (*(__I uint32_t*)0x4003882CU) /**< \brief (USBHS) General Finite State Machine Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_USBHS_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h deleted file mode 100644 index daf3766..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/utmi.h +++ /dev/null @@ -1,57 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_UTMI_INSTANCE_ -#define _SAMS70_UTMI_INSTANCE_ - -/* ========== Register definition for UTMI peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_UTMI_OHCIICR (0x400E0410U) /**< \brief (UTMI) OHCI Interrupt Configuration Register */ - #define REG_UTMI_CKTRIM (0x400E0430U) /**< \brief (UTMI) UTMI Clock Trimming Register */ -#else - #define REG_UTMI_OHCIICR (*(__IO uint32_t*)0x400E0410U) /**< \brief (UTMI) OHCI Interrupt Configuration Register */ - #define REG_UTMI_CKTRIM (*(__IO uint32_t*)0x400E0430U) /**< \brief (UTMI) UTMI Clock Trimming Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_UTMI_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h deleted file mode 100644 index 963c644..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/wdt.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_WDT_INSTANCE_ -#define _SAMS70_WDT_INSTANCE_ - -/* ========== Register definition for WDT peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_WDT_CR (0x400E1850U) /**< \brief (WDT) Control Register */ - #define REG_WDT_MR (0x400E1854U) /**< \brief (WDT) Mode Register */ - #define REG_WDT_SR (0x400E1858U) /**< \brief (WDT) Status Register */ -#else - #define REG_WDT_CR (*(__O uint32_t*)0x400E1850U) /**< \brief (WDT) Control Register */ - #define REG_WDT_MR (*(__IO uint32_t*)0x400E1854U) /**< \brief (WDT) Mode Register */ - #define REG_WDT_SR (*(__I uint32_t*)0x400E1858U) /**< \brief (WDT) Status Register */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_WDT_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h deleted file mode 100644 index b6a043b..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/instance/xdmac.h +++ /dev/null @@ -1,759 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70_XDMAC_INSTANCE_ -#define _SAMS70_XDMAC_INSTANCE_ - -/* ========== Register definition for XDMAC peripheral ========== */ -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) - #define REG_XDMAC_GTYPE (0x40078000U) /**< \brief (XDMAC) Global Type Register */ - #define REG_XDMAC_GCFG (0x40078004U) /**< \brief (XDMAC) Global Configuration Register */ - #define REG_XDMAC_GWAC (0x40078008U) /**< \brief (XDMAC) Global Weighted Arbiter Configuration Register */ - #define REG_XDMAC_GIE (0x4007800CU) /**< \brief (XDMAC) Global Interrupt Enable Register */ - #define REG_XDMAC_GID (0x40078010U) /**< \brief (XDMAC) Global Interrupt Disable Register */ - #define REG_XDMAC_GIM (0x40078014U) /**< \brief (XDMAC) Global Interrupt Mask Register */ - #define REG_XDMAC_GIS (0x40078018U) /**< \brief (XDMAC) Global Interrupt Status Register */ - #define REG_XDMAC_GE (0x4007801CU) /**< \brief (XDMAC) Global Channel Enable Register */ - #define REG_XDMAC_GD (0x40078020U) /**< \brief (XDMAC) Global Channel Disable Register */ - #define REG_XDMAC_GS (0x40078024U) /**< \brief (XDMAC) Global Channel Status Register */ - #define REG_XDMAC_GRS (0x40078028U) /**< \brief (XDMAC) Global Channel Read Suspend Register */ - #define REG_XDMAC_GWS (0x4007802CU) /**< \brief (XDMAC) Global Channel Write Suspend Register */ - #define REG_XDMAC_GRWS (0x40078030U) /**< \brief (XDMAC) Global Channel Read Write Suspend Register */ - #define REG_XDMAC_GRWR (0x40078034U) /**< \brief (XDMAC) Global Channel Read Write Resume Register */ - #define REG_XDMAC_GSWR (0x40078038U) /**< \brief (XDMAC) Global Channel Software Request Register */ - #define REG_XDMAC_GSWS (0x4007803CU) /**< \brief (XDMAC) Global Channel Software Request Status Register */ - #define REG_XDMAC_GSWF (0x40078040U) /**< \brief (XDMAC) Global Channel Software Flush Request Register */ - #define REG_XDMAC_CIE0 (0x40078050U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 0) */ - #define REG_XDMAC_CID0 (0x40078054U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 0) */ - #define REG_XDMAC_CIM0 (0x40078058U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 0) */ - #define REG_XDMAC_CIS0 (0x4007805CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 0) */ - #define REG_XDMAC_CSA0 (0x40078060U) /**< \brief (XDMAC) Channel Source Address Register (chid = 0) */ - #define REG_XDMAC_CDA0 (0x40078064U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 0) */ - #define REG_XDMAC_CNDA0 (0x40078068U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 0) */ - #define REG_XDMAC_CNDC0 (0x4007806CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 0) */ - #define REG_XDMAC_CUBC0 (0x40078070U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 0) */ - #define REG_XDMAC_CBC0 (0x40078074U) /**< \brief (XDMAC) Channel Block Control Register (chid = 0) */ - #define REG_XDMAC_CC0 (0x40078078U) /**< \brief (XDMAC) Channel Configuration Register (chid = 0) */ - #define REG_XDMAC_CDS_MSP0 (0x4007807CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 0) */ - #define REG_XDMAC_CSUS0 (0x40078080U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 0) */ - #define REG_XDMAC_CDUS0 (0x40078084U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 0) */ - #define REG_XDMAC_CIE1 (0x40078090U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 1) */ - #define REG_XDMAC_CID1 (0x40078094U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 1) */ - #define REG_XDMAC_CIM1 (0x40078098U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 1) */ - #define REG_XDMAC_CIS1 (0x4007809CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 1) */ - #define REG_XDMAC_CSA1 (0x400780A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 1) */ - #define REG_XDMAC_CDA1 (0x400780A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 1) */ - #define REG_XDMAC_CNDA1 (0x400780A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 1) */ - #define REG_XDMAC_CNDC1 (0x400780ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 1) */ - #define REG_XDMAC_CUBC1 (0x400780B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 1) */ - #define REG_XDMAC_CBC1 (0x400780B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 1) */ - #define REG_XDMAC_CC1 (0x400780B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 1) */ - #define REG_XDMAC_CDS_MSP1 (0x400780BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 1) */ - #define REG_XDMAC_CSUS1 (0x400780C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 1) */ - #define REG_XDMAC_CDUS1 (0x400780C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 1) */ - #define REG_XDMAC_CIE2 (0x400780D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 2) */ - #define REG_XDMAC_CID2 (0x400780D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 2) */ - #define REG_XDMAC_CIM2 (0x400780D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 2) */ - #define REG_XDMAC_CIS2 (0x400780DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 2) */ - #define REG_XDMAC_CSA2 (0x400780E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 2) */ - #define REG_XDMAC_CDA2 (0x400780E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 2) */ - #define REG_XDMAC_CNDA2 (0x400780E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 2) */ - #define REG_XDMAC_CNDC2 (0x400780ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 2) */ - #define REG_XDMAC_CUBC2 (0x400780F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 2) */ - #define REG_XDMAC_CBC2 (0x400780F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 2) */ - #define REG_XDMAC_CC2 (0x400780F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 2) */ - #define REG_XDMAC_CDS_MSP2 (0x400780FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 2) */ - #define REG_XDMAC_CSUS2 (0x40078100U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 2) */ - #define REG_XDMAC_CDUS2 (0x40078104U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 2) */ - #define REG_XDMAC_CIE3 (0x40078110U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 3) */ - #define REG_XDMAC_CID3 (0x40078114U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 3) */ - #define REG_XDMAC_CIM3 (0x40078118U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 3) */ - #define REG_XDMAC_CIS3 (0x4007811CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 3) */ - #define REG_XDMAC_CSA3 (0x40078120U) /**< \brief (XDMAC) Channel Source Address Register (chid = 3) */ - #define REG_XDMAC_CDA3 (0x40078124U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 3) */ - #define REG_XDMAC_CNDA3 (0x40078128U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 3) */ - #define REG_XDMAC_CNDC3 (0x4007812CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 3) */ - #define REG_XDMAC_CUBC3 (0x40078130U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 3) */ - #define REG_XDMAC_CBC3 (0x40078134U) /**< \brief (XDMAC) Channel Block Control Register (chid = 3) */ - #define REG_XDMAC_CC3 (0x40078138U) /**< \brief (XDMAC) Channel Configuration Register (chid = 3) */ - #define REG_XDMAC_CDS_MSP3 (0x4007813CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 3) */ - #define REG_XDMAC_CSUS3 (0x40078140U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 3) */ - #define REG_XDMAC_CDUS3 (0x40078144U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 3) */ - #define REG_XDMAC_CIE4 (0x40078150U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 4) */ - #define REG_XDMAC_CID4 (0x40078154U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 4) */ - #define REG_XDMAC_CIM4 (0x40078158U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 4) */ - #define REG_XDMAC_CIS4 (0x4007815CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 4) */ - #define REG_XDMAC_CSA4 (0x40078160U) /**< \brief (XDMAC) Channel Source Address Register (chid = 4) */ - #define REG_XDMAC_CDA4 (0x40078164U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 4) */ - #define REG_XDMAC_CNDA4 (0x40078168U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 4) */ - #define REG_XDMAC_CNDC4 (0x4007816CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 4) */ - #define REG_XDMAC_CUBC4 (0x40078170U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 4) */ - #define REG_XDMAC_CBC4 (0x40078174U) /**< \brief (XDMAC) Channel Block Control Register (chid = 4) */ - #define REG_XDMAC_CC4 (0x40078178U) /**< \brief (XDMAC) Channel Configuration Register (chid = 4) */ - #define REG_XDMAC_CDS_MSP4 (0x4007817CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 4) */ - #define REG_XDMAC_CSUS4 (0x40078180U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 4) */ - #define REG_XDMAC_CDUS4 (0x40078184U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 4) */ - #define REG_XDMAC_CIE5 (0x40078190U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 5) */ - #define REG_XDMAC_CID5 (0x40078194U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 5) */ - #define REG_XDMAC_CIM5 (0x40078198U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 5) */ - #define REG_XDMAC_CIS5 (0x4007819CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 5) */ - #define REG_XDMAC_CSA5 (0x400781A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 5) */ - #define REG_XDMAC_CDA5 (0x400781A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 5) */ - #define REG_XDMAC_CNDA5 (0x400781A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 5) */ - #define REG_XDMAC_CNDC5 (0x400781ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 5) */ - #define REG_XDMAC_CUBC5 (0x400781B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 5) */ - #define REG_XDMAC_CBC5 (0x400781B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 5) */ - #define REG_XDMAC_CC5 (0x400781B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 5) */ - #define REG_XDMAC_CDS_MSP5 (0x400781BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 5) */ - #define REG_XDMAC_CSUS5 (0x400781C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 5) */ - #define REG_XDMAC_CDUS5 (0x400781C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 5) */ - #define REG_XDMAC_CIE6 (0x400781D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 6) */ - #define REG_XDMAC_CID6 (0x400781D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 6) */ - #define REG_XDMAC_CIM6 (0x400781D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 6) */ - #define REG_XDMAC_CIS6 (0x400781DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 6) */ - #define REG_XDMAC_CSA6 (0x400781E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 6) */ - #define REG_XDMAC_CDA6 (0x400781E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 6) */ - #define REG_XDMAC_CNDA6 (0x400781E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 6) */ - #define REG_XDMAC_CNDC6 (0x400781ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 6) */ - #define REG_XDMAC_CUBC6 (0x400781F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 6) */ - #define REG_XDMAC_CBC6 (0x400781F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 6) */ - #define REG_XDMAC_CC6 (0x400781F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 6) */ - #define REG_XDMAC_CDS_MSP6 (0x400781FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 6) */ - #define REG_XDMAC_CSUS6 (0x40078200U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 6) */ - #define REG_XDMAC_CDUS6 (0x40078204U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 6) */ - #define REG_XDMAC_CIE7 (0x40078210U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 7) */ - #define REG_XDMAC_CID7 (0x40078214U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 7) */ - #define REG_XDMAC_CIM7 (0x40078218U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 7) */ - #define REG_XDMAC_CIS7 (0x4007821CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 7) */ - #define REG_XDMAC_CSA7 (0x40078220U) /**< \brief (XDMAC) Channel Source Address Register (chid = 7) */ - #define REG_XDMAC_CDA7 (0x40078224U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 7) */ - #define REG_XDMAC_CNDA7 (0x40078228U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 7) */ - #define REG_XDMAC_CNDC7 (0x4007822CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 7) */ - #define REG_XDMAC_CUBC7 (0x40078230U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 7) */ - #define REG_XDMAC_CBC7 (0x40078234U) /**< \brief (XDMAC) Channel Block Control Register (chid = 7) */ - #define REG_XDMAC_CC7 (0x40078238U) /**< \brief (XDMAC) Channel Configuration Register (chid = 7) */ - #define REG_XDMAC_CDS_MSP7 (0x4007823CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 7) */ - #define REG_XDMAC_CSUS7 (0x40078240U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 7) */ - #define REG_XDMAC_CDUS7 (0x40078244U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 7) */ - #define REG_XDMAC_CIE8 (0x40078250U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 8) */ - #define REG_XDMAC_CID8 (0x40078254U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 8) */ - #define REG_XDMAC_CIM8 (0x40078258U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 8) */ - #define REG_XDMAC_CIS8 (0x4007825CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 8) */ - #define REG_XDMAC_CSA8 (0x40078260U) /**< \brief (XDMAC) Channel Source Address Register (chid = 8) */ - #define REG_XDMAC_CDA8 (0x40078264U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 8) */ - #define REG_XDMAC_CNDA8 (0x40078268U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 8) */ - #define REG_XDMAC_CNDC8 (0x4007826CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 8) */ - #define REG_XDMAC_CUBC8 (0x40078270U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 8) */ - #define REG_XDMAC_CBC8 (0x40078274U) /**< \brief (XDMAC) Channel Block Control Register (chid = 8) */ - #define REG_XDMAC_CC8 (0x40078278U) /**< \brief (XDMAC) Channel Configuration Register (chid = 8) */ - #define REG_XDMAC_CDS_MSP8 (0x4007827CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 8) */ - #define REG_XDMAC_CSUS8 (0x40078280U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 8) */ - #define REG_XDMAC_CDUS8 (0x40078284U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 8) */ - #define REG_XDMAC_CIE9 (0x40078290U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 9) */ - #define REG_XDMAC_CID9 (0x40078294U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 9) */ - #define REG_XDMAC_CIM9 (0x40078298U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 9) */ - #define REG_XDMAC_CIS9 (0x4007829CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 9) */ - #define REG_XDMAC_CSA9 (0x400782A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 9) */ - #define REG_XDMAC_CDA9 (0x400782A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 9) */ - #define REG_XDMAC_CNDA9 (0x400782A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 9) */ - #define REG_XDMAC_CNDC9 (0x400782ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 9) */ - #define REG_XDMAC_CUBC9 (0x400782B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 9) */ - #define REG_XDMAC_CBC9 (0x400782B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 9) */ - #define REG_XDMAC_CC9 (0x400782B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 9) */ - #define REG_XDMAC_CDS_MSP9 (0x400782BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 9) */ - #define REG_XDMAC_CSUS9 (0x400782C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 9) */ - #define REG_XDMAC_CDUS9 (0x400782C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 9) */ - #define REG_XDMAC_CIE10 (0x400782D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 10) */ - #define REG_XDMAC_CID10 (0x400782D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 10) */ - #define REG_XDMAC_CIM10 (0x400782D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 10) */ - #define REG_XDMAC_CIS10 (0x400782DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 10) */ - #define REG_XDMAC_CSA10 (0x400782E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 10) */ - #define REG_XDMAC_CDA10 (0x400782E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 10) */ - #define REG_XDMAC_CNDA10 (0x400782E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 10) */ - #define REG_XDMAC_CNDC10 (0x400782ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 10) */ - #define REG_XDMAC_CUBC10 (0x400782F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 10) */ - #define REG_XDMAC_CBC10 (0x400782F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 10) */ - #define REG_XDMAC_CC10 (0x400782F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 10) */ - #define REG_XDMAC_CDS_MSP10 (0x400782FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 10) */ - #define REG_XDMAC_CSUS10 (0x40078300U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 10) */ - #define REG_XDMAC_CDUS10 (0x40078304U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 10) */ - #define REG_XDMAC_CIE11 (0x40078310U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 11) */ - #define REG_XDMAC_CID11 (0x40078314U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 11) */ - #define REG_XDMAC_CIM11 (0x40078318U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 11) */ - #define REG_XDMAC_CIS11 (0x4007831CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 11) */ - #define REG_XDMAC_CSA11 (0x40078320U) /**< \brief (XDMAC) Channel Source Address Register (chid = 11) */ - #define REG_XDMAC_CDA11 (0x40078324U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 11) */ - #define REG_XDMAC_CNDA11 (0x40078328U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 11) */ - #define REG_XDMAC_CNDC11 (0x4007832CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 11) */ - #define REG_XDMAC_CUBC11 (0x40078330U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 11) */ - #define REG_XDMAC_CBC11 (0x40078334U) /**< \brief (XDMAC) Channel Block Control Register (chid = 11) */ - #define REG_XDMAC_CC11 (0x40078338U) /**< \brief (XDMAC) Channel Configuration Register (chid = 11) */ - #define REG_XDMAC_CDS_MSP11 (0x4007833CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 11) */ - #define REG_XDMAC_CSUS11 (0x40078340U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 11) */ - #define REG_XDMAC_CDUS11 (0x40078344U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 11) */ - #define REG_XDMAC_CIE12 (0x40078350U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 12) */ - #define REG_XDMAC_CID12 (0x40078354U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 12) */ - #define REG_XDMAC_CIM12 (0x40078358U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 12) */ - #define REG_XDMAC_CIS12 (0x4007835CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 12) */ - #define REG_XDMAC_CSA12 (0x40078360U) /**< \brief (XDMAC) Channel Source Address Register (chid = 12) */ - #define REG_XDMAC_CDA12 (0x40078364U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 12) */ - #define REG_XDMAC_CNDA12 (0x40078368U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 12) */ - #define REG_XDMAC_CNDC12 (0x4007836CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 12) */ - #define REG_XDMAC_CUBC12 (0x40078370U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 12) */ - #define REG_XDMAC_CBC12 (0x40078374U) /**< \brief (XDMAC) Channel Block Control Register (chid = 12) */ - #define REG_XDMAC_CC12 (0x40078378U) /**< \brief (XDMAC) Channel Configuration Register (chid = 12) */ - #define REG_XDMAC_CDS_MSP12 (0x4007837CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 12) */ - #define REG_XDMAC_CSUS12 (0x40078380U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 12) */ - #define REG_XDMAC_CDUS12 (0x40078384U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 12) */ - #define REG_XDMAC_CIE13 (0x40078390U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 13) */ - #define REG_XDMAC_CID13 (0x40078394U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 13) */ - #define REG_XDMAC_CIM13 (0x40078398U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 13) */ - #define REG_XDMAC_CIS13 (0x4007839CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 13) */ - #define REG_XDMAC_CSA13 (0x400783A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 13) */ - #define REG_XDMAC_CDA13 (0x400783A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 13) */ - #define REG_XDMAC_CNDA13 (0x400783A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 13) */ - #define REG_XDMAC_CNDC13 (0x400783ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 13) */ - #define REG_XDMAC_CUBC13 (0x400783B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 13) */ - #define REG_XDMAC_CBC13 (0x400783B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 13) */ - #define REG_XDMAC_CC13 (0x400783B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 13) */ - #define REG_XDMAC_CDS_MSP13 (0x400783BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 13) */ - #define REG_XDMAC_CSUS13 (0x400783C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 13) */ - #define REG_XDMAC_CDUS13 (0x400783C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 13) */ - #define REG_XDMAC_CIE14 (0x400783D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 14) */ - #define REG_XDMAC_CID14 (0x400783D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 14) */ - #define REG_XDMAC_CIM14 (0x400783D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 14) */ - #define REG_XDMAC_CIS14 (0x400783DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 14) */ - #define REG_XDMAC_CSA14 (0x400783E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 14) */ - #define REG_XDMAC_CDA14 (0x400783E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 14) */ - #define REG_XDMAC_CNDA14 (0x400783E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 14) */ - #define REG_XDMAC_CNDC14 (0x400783ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 14) */ - #define REG_XDMAC_CUBC14 (0x400783F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 14) */ - #define REG_XDMAC_CBC14 (0x400783F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 14) */ - #define REG_XDMAC_CC14 (0x400783F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 14) */ - #define REG_XDMAC_CDS_MSP14 (0x400783FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 14) */ - #define REG_XDMAC_CSUS14 (0x40078400U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 14) */ - #define REG_XDMAC_CDUS14 (0x40078404U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 14) */ - #define REG_XDMAC_CIE15 (0x40078410U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 15) */ - #define REG_XDMAC_CID15 (0x40078414U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 15) */ - #define REG_XDMAC_CIM15 (0x40078418U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 15) */ - #define REG_XDMAC_CIS15 (0x4007841CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 15) */ - #define REG_XDMAC_CSA15 (0x40078420U) /**< \brief (XDMAC) Channel Source Address Register (chid = 15) */ - #define REG_XDMAC_CDA15 (0x40078424U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 15) */ - #define REG_XDMAC_CNDA15 (0x40078428U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 15) */ - #define REG_XDMAC_CNDC15 (0x4007842CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 15) */ - #define REG_XDMAC_CUBC15 (0x40078430U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 15) */ - #define REG_XDMAC_CBC15 (0x40078434U) /**< \brief (XDMAC) Channel Block Control Register (chid = 15) */ - #define REG_XDMAC_CC15 (0x40078438U) /**< \brief (XDMAC) Channel Configuration Register (chid = 15) */ - #define REG_XDMAC_CDS_MSP15 (0x4007843CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 15) */ - #define REG_XDMAC_CSUS15 (0x40078440U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 15) */ - #define REG_XDMAC_CDUS15 (0x40078444U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 15) */ - #define REG_XDMAC_CIE16 (0x40078450U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 16) */ - #define REG_XDMAC_CID16 (0x40078454U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 16) */ - #define REG_XDMAC_CIM16 (0x40078458U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 16) */ - #define REG_XDMAC_CIS16 (0x4007845CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 16) */ - #define REG_XDMAC_CSA16 (0x40078460U) /**< \brief (XDMAC) Channel Source Address Register (chid = 16) */ - #define REG_XDMAC_CDA16 (0x40078464U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 16) */ - #define REG_XDMAC_CNDA16 (0x40078468U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 16) */ - #define REG_XDMAC_CNDC16 (0x4007846CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 16) */ - #define REG_XDMAC_CUBC16 (0x40078470U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 16) */ - #define REG_XDMAC_CBC16 (0x40078474U) /**< \brief (XDMAC) Channel Block Control Register (chid = 16) */ - #define REG_XDMAC_CC16 (0x40078478U) /**< \brief (XDMAC) Channel Configuration Register (chid = 16) */ - #define REG_XDMAC_CDS_MSP16 (0x4007847CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 16) */ - #define REG_XDMAC_CSUS16 (0x40078480U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 16) */ - #define REG_XDMAC_CDUS16 (0x40078484U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 16) */ - #define REG_XDMAC_CIE17 (0x40078490U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 17) */ - #define REG_XDMAC_CID17 (0x40078494U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 17) */ - #define REG_XDMAC_CIM17 (0x40078498U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 17) */ - #define REG_XDMAC_CIS17 (0x4007849CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 17) */ - #define REG_XDMAC_CSA17 (0x400784A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 17) */ - #define REG_XDMAC_CDA17 (0x400784A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 17) */ - #define REG_XDMAC_CNDA17 (0x400784A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 17) */ - #define REG_XDMAC_CNDC17 (0x400784ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 17) */ - #define REG_XDMAC_CUBC17 (0x400784B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 17) */ - #define REG_XDMAC_CBC17 (0x400784B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 17) */ - #define REG_XDMAC_CC17 (0x400784B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 17) */ - #define REG_XDMAC_CDS_MSP17 (0x400784BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 17) */ - #define REG_XDMAC_CSUS17 (0x400784C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 17) */ - #define REG_XDMAC_CDUS17 (0x400784C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 17) */ - #define REG_XDMAC_CIE18 (0x400784D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 18) */ - #define REG_XDMAC_CID18 (0x400784D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 18) */ - #define REG_XDMAC_CIM18 (0x400784D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 18) */ - #define REG_XDMAC_CIS18 (0x400784DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 18) */ - #define REG_XDMAC_CSA18 (0x400784E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 18) */ - #define REG_XDMAC_CDA18 (0x400784E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 18) */ - #define REG_XDMAC_CNDA18 (0x400784E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 18) */ - #define REG_XDMAC_CNDC18 (0x400784ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 18) */ - #define REG_XDMAC_CUBC18 (0x400784F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 18) */ - #define REG_XDMAC_CBC18 (0x400784F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 18) */ - #define REG_XDMAC_CC18 (0x400784F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 18) */ - #define REG_XDMAC_CDS_MSP18 (0x400784FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 18) */ - #define REG_XDMAC_CSUS18 (0x40078500U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 18) */ - #define REG_XDMAC_CDUS18 (0x40078504U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 18) */ - #define REG_XDMAC_CIE19 (0x40078510U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 19) */ - #define REG_XDMAC_CID19 (0x40078514U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 19) */ - #define REG_XDMAC_CIM19 (0x40078518U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 19) */ - #define REG_XDMAC_CIS19 (0x4007851CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 19) */ - #define REG_XDMAC_CSA19 (0x40078520U) /**< \brief (XDMAC) Channel Source Address Register (chid = 19) */ - #define REG_XDMAC_CDA19 (0x40078524U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 19) */ - #define REG_XDMAC_CNDA19 (0x40078528U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 19) */ - #define REG_XDMAC_CNDC19 (0x4007852CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 19) */ - #define REG_XDMAC_CUBC19 (0x40078530U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 19) */ - #define REG_XDMAC_CBC19 (0x40078534U) /**< \brief (XDMAC) Channel Block Control Register (chid = 19) */ - #define REG_XDMAC_CC19 (0x40078538U) /**< \brief (XDMAC) Channel Configuration Register (chid = 19) */ - #define REG_XDMAC_CDS_MSP19 (0x4007853CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 19) */ - #define REG_XDMAC_CSUS19 (0x40078540U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 19) */ - #define REG_XDMAC_CDUS19 (0x40078544U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 19) */ - #define REG_XDMAC_CIE20 (0x40078550U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 20) */ - #define REG_XDMAC_CID20 (0x40078554U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 20) */ - #define REG_XDMAC_CIM20 (0x40078558U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 20) */ - #define REG_XDMAC_CIS20 (0x4007855CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 20) */ - #define REG_XDMAC_CSA20 (0x40078560U) /**< \brief (XDMAC) Channel Source Address Register (chid = 20) */ - #define REG_XDMAC_CDA20 (0x40078564U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 20) */ - #define REG_XDMAC_CNDA20 (0x40078568U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 20) */ - #define REG_XDMAC_CNDC20 (0x4007856CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 20) */ - #define REG_XDMAC_CUBC20 (0x40078570U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 20) */ - #define REG_XDMAC_CBC20 (0x40078574U) /**< \brief (XDMAC) Channel Block Control Register (chid = 20) */ - #define REG_XDMAC_CC20 (0x40078578U) /**< \brief (XDMAC) Channel Configuration Register (chid = 20) */ - #define REG_XDMAC_CDS_MSP20 (0x4007857CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 20) */ - #define REG_XDMAC_CSUS20 (0x40078580U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 20) */ - #define REG_XDMAC_CDUS20 (0x40078584U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 20) */ - #define REG_XDMAC_CIE21 (0x40078590U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 21) */ - #define REG_XDMAC_CID21 (0x40078594U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 21) */ - #define REG_XDMAC_CIM21 (0x40078598U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 21) */ - #define REG_XDMAC_CIS21 (0x4007859CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 21) */ - #define REG_XDMAC_CSA21 (0x400785A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 21) */ - #define REG_XDMAC_CDA21 (0x400785A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 21) */ - #define REG_XDMAC_CNDA21 (0x400785A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 21) */ - #define REG_XDMAC_CNDC21 (0x400785ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 21) */ - #define REG_XDMAC_CUBC21 (0x400785B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 21) */ - #define REG_XDMAC_CBC21 (0x400785B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 21) */ - #define REG_XDMAC_CC21 (0x400785B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 21) */ - #define REG_XDMAC_CDS_MSP21 (0x400785BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 21) */ - #define REG_XDMAC_CSUS21 (0x400785C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 21) */ - #define REG_XDMAC_CDUS21 (0x400785C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 21) */ - #define REG_XDMAC_CIE22 (0x400785D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 22) */ - #define REG_XDMAC_CID22 (0x400785D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 22) */ - #define REG_XDMAC_CIM22 (0x400785D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 22) */ - #define REG_XDMAC_CIS22 (0x400785DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 22) */ - #define REG_XDMAC_CSA22 (0x400785E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 22) */ - #define REG_XDMAC_CDA22 (0x400785E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 22) */ - #define REG_XDMAC_CNDA22 (0x400785E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 22) */ - #define REG_XDMAC_CNDC22 (0x400785ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 22) */ - #define REG_XDMAC_CUBC22 (0x400785F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 22) */ - #define REG_XDMAC_CBC22 (0x400785F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 22) */ - #define REG_XDMAC_CC22 (0x400785F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 22) */ - #define REG_XDMAC_CDS_MSP22 (0x400785FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 22) */ - #define REG_XDMAC_CSUS22 (0x40078600U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 22) */ - #define REG_XDMAC_CDUS22 (0x40078604U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 22) */ - #define REG_XDMAC_CIE23 (0x40078610U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 23) */ - #define REG_XDMAC_CID23 (0x40078614U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 23) */ - #define REG_XDMAC_CIM23 (0x40078618U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 23) */ - #define REG_XDMAC_CIS23 (0x4007861CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 23) */ - #define REG_XDMAC_CSA23 (0x40078620U) /**< \brief (XDMAC) Channel Source Address Register (chid = 23) */ - #define REG_XDMAC_CDA23 (0x40078624U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 23) */ - #define REG_XDMAC_CNDA23 (0x40078628U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 23) */ - #define REG_XDMAC_CNDC23 (0x4007862CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 23) */ - #define REG_XDMAC_CUBC23 (0x40078630U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 23) */ - #define REG_XDMAC_CBC23 (0x40078634U) /**< \brief (XDMAC) Channel Block Control Register (chid = 23) */ - #define REG_XDMAC_CC23 (0x40078638U) /**< \brief (XDMAC) Channel Configuration Register (chid = 23) */ - #define REG_XDMAC_CDS_MSP23 (0x4007863CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 23) */ - #define REG_XDMAC_CSUS23 (0x40078640U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 23) */ - #define REG_XDMAC_CDUS23 (0x40078644U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 23) */ -#else - #define REG_XDMAC_GTYPE (*(__IO uint32_t*)0x40078000U) /**< \brief (XDMAC) Global Type Register */ - #define REG_XDMAC_GCFG (*(__I uint32_t*)0x40078004U) /**< \brief (XDMAC) Global Configuration Register */ - #define REG_XDMAC_GWAC (*(__IO uint32_t*)0x40078008U) /**< \brief (XDMAC) Global Weighted Arbiter Configuration Register */ - #define REG_XDMAC_GIE (*(__O uint32_t*)0x4007800CU) /**< \brief (XDMAC) Global Interrupt Enable Register */ - #define REG_XDMAC_GID (*(__O uint32_t*)0x40078010U) /**< \brief (XDMAC) Global Interrupt Disable Register */ - #define REG_XDMAC_GIM (*(__I uint32_t*)0x40078014U) /**< \brief (XDMAC) Global Interrupt Mask Register */ - #define REG_XDMAC_GIS (*(__I uint32_t*)0x40078018U) /**< \brief (XDMAC) Global Interrupt Status Register */ - #define REG_XDMAC_GE (*(__O uint32_t*)0x4007801CU) /**< \brief (XDMAC) Global Channel Enable Register */ - #define REG_XDMAC_GD (*(__O uint32_t*)0x40078020U) /**< \brief (XDMAC) Global Channel Disable Register */ - #define REG_XDMAC_GS (*(__I uint32_t*)0x40078024U) /**< \brief (XDMAC) Global Channel Status Register */ - #define REG_XDMAC_GRS (*(__IO uint32_t*)0x40078028U) /**< \brief (XDMAC) Global Channel Read Suspend Register */ - #define REG_XDMAC_GWS (*(__IO uint32_t*)0x4007802CU) /**< \brief (XDMAC) Global Channel Write Suspend Register */ - #define REG_XDMAC_GRWS (*(__O uint32_t*)0x40078030U) /**< \brief (XDMAC) Global Channel Read Write Suspend Register */ - #define REG_XDMAC_GRWR (*(__O uint32_t*)0x40078034U) /**< \brief (XDMAC) Global Channel Read Write Resume Register */ - #define REG_XDMAC_GSWR (*(__O uint32_t*)0x40078038U) /**< \brief (XDMAC) Global Channel Software Request Register */ - #define REG_XDMAC_GSWS (*(__I uint32_t*)0x4007803CU) /**< \brief (XDMAC) Global Channel Software Request Status Register */ - #define REG_XDMAC_GSWF (*(__O uint32_t*)0x40078040U) /**< \brief (XDMAC) Global Channel Software Flush Request Register */ - #define REG_XDMAC_CIE0 (*(__O uint32_t*)0x40078050U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 0) */ - #define REG_XDMAC_CID0 (*(__O uint32_t*)0x40078054U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 0) */ - #define REG_XDMAC_CIM0 (*(__O uint32_t*)0x40078058U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 0) */ - #define REG_XDMAC_CIS0 (*(__I uint32_t*)0x4007805CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 0) */ - #define REG_XDMAC_CSA0 (*(__IO uint32_t*)0x40078060U) /**< \brief (XDMAC) Channel Source Address Register (chid = 0) */ - #define REG_XDMAC_CDA0 (*(__IO uint32_t*)0x40078064U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 0) */ - #define REG_XDMAC_CNDA0 (*(__IO uint32_t*)0x40078068U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 0) */ - #define REG_XDMAC_CNDC0 (*(__IO uint32_t*)0x4007806CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 0) */ - #define REG_XDMAC_CUBC0 (*(__IO uint32_t*)0x40078070U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 0) */ - #define REG_XDMAC_CBC0 (*(__IO uint32_t*)0x40078074U) /**< \brief (XDMAC) Channel Block Control Register (chid = 0) */ - #define REG_XDMAC_CC0 (*(__IO uint32_t*)0x40078078U) /**< \brief (XDMAC) Channel Configuration Register (chid = 0) */ - #define REG_XDMAC_CDS_MSP0 (*(__IO uint32_t*)0x4007807CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 0) */ - #define REG_XDMAC_CSUS0 (*(__IO uint32_t*)0x40078080U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 0) */ - #define REG_XDMAC_CDUS0 (*(__IO uint32_t*)0x40078084U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 0) */ - #define REG_XDMAC_CIE1 (*(__O uint32_t*)0x40078090U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 1) */ - #define REG_XDMAC_CID1 (*(__O uint32_t*)0x40078094U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 1) */ - #define REG_XDMAC_CIM1 (*(__O uint32_t*)0x40078098U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 1) */ - #define REG_XDMAC_CIS1 (*(__I uint32_t*)0x4007809CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 1) */ - #define REG_XDMAC_CSA1 (*(__IO uint32_t*)0x400780A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 1) */ - #define REG_XDMAC_CDA1 (*(__IO uint32_t*)0x400780A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 1) */ - #define REG_XDMAC_CNDA1 (*(__IO uint32_t*)0x400780A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 1) */ - #define REG_XDMAC_CNDC1 (*(__IO uint32_t*)0x400780ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 1) */ - #define REG_XDMAC_CUBC1 (*(__IO uint32_t*)0x400780B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 1) */ - #define REG_XDMAC_CBC1 (*(__IO uint32_t*)0x400780B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 1) */ - #define REG_XDMAC_CC1 (*(__IO uint32_t*)0x400780B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 1) */ - #define REG_XDMAC_CDS_MSP1 (*(__IO uint32_t*)0x400780BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 1) */ - #define REG_XDMAC_CSUS1 (*(__IO uint32_t*)0x400780C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 1) */ - #define REG_XDMAC_CDUS1 (*(__IO uint32_t*)0x400780C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 1) */ - #define REG_XDMAC_CIE2 (*(__O uint32_t*)0x400780D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 2) */ - #define REG_XDMAC_CID2 (*(__O uint32_t*)0x400780D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 2) */ - #define REG_XDMAC_CIM2 (*(__O uint32_t*)0x400780D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 2) */ - #define REG_XDMAC_CIS2 (*(__I uint32_t*)0x400780DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 2) */ - #define REG_XDMAC_CSA2 (*(__IO uint32_t*)0x400780E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 2) */ - #define REG_XDMAC_CDA2 (*(__IO uint32_t*)0x400780E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 2) */ - #define REG_XDMAC_CNDA2 (*(__IO uint32_t*)0x400780E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 2) */ - #define REG_XDMAC_CNDC2 (*(__IO uint32_t*)0x400780ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 2) */ - #define REG_XDMAC_CUBC2 (*(__IO uint32_t*)0x400780F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 2) */ - #define REG_XDMAC_CBC2 (*(__IO uint32_t*)0x400780F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 2) */ - #define REG_XDMAC_CC2 (*(__IO uint32_t*)0x400780F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 2) */ - #define REG_XDMAC_CDS_MSP2 (*(__IO uint32_t*)0x400780FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 2) */ - #define REG_XDMAC_CSUS2 (*(__IO uint32_t*)0x40078100U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 2) */ - #define REG_XDMAC_CDUS2 (*(__IO uint32_t*)0x40078104U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 2) */ - #define REG_XDMAC_CIE3 (*(__O uint32_t*)0x40078110U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 3) */ - #define REG_XDMAC_CID3 (*(__O uint32_t*)0x40078114U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 3) */ - #define REG_XDMAC_CIM3 (*(__O uint32_t*)0x40078118U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 3) */ - #define REG_XDMAC_CIS3 (*(__I uint32_t*)0x4007811CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 3) */ - #define REG_XDMAC_CSA3 (*(__IO uint32_t*)0x40078120U) /**< \brief (XDMAC) Channel Source Address Register (chid = 3) */ - #define REG_XDMAC_CDA3 (*(__IO uint32_t*)0x40078124U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 3) */ - #define REG_XDMAC_CNDA3 (*(__IO uint32_t*)0x40078128U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 3) */ - #define REG_XDMAC_CNDC3 (*(__IO uint32_t*)0x4007812CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 3) */ - #define REG_XDMAC_CUBC3 (*(__IO uint32_t*)0x40078130U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 3) */ - #define REG_XDMAC_CBC3 (*(__IO uint32_t*)0x40078134U) /**< \brief (XDMAC) Channel Block Control Register (chid = 3) */ - #define REG_XDMAC_CC3 (*(__IO uint32_t*)0x40078138U) /**< \brief (XDMAC) Channel Configuration Register (chid = 3) */ - #define REG_XDMAC_CDS_MSP3 (*(__IO uint32_t*)0x4007813CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 3) */ - #define REG_XDMAC_CSUS3 (*(__IO uint32_t*)0x40078140U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 3) */ - #define REG_XDMAC_CDUS3 (*(__IO uint32_t*)0x40078144U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 3) */ - #define REG_XDMAC_CIE4 (*(__O uint32_t*)0x40078150U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 4) */ - #define REG_XDMAC_CID4 (*(__O uint32_t*)0x40078154U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 4) */ - #define REG_XDMAC_CIM4 (*(__O uint32_t*)0x40078158U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 4) */ - #define REG_XDMAC_CIS4 (*(__I uint32_t*)0x4007815CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 4) */ - #define REG_XDMAC_CSA4 (*(__IO uint32_t*)0x40078160U) /**< \brief (XDMAC) Channel Source Address Register (chid = 4) */ - #define REG_XDMAC_CDA4 (*(__IO uint32_t*)0x40078164U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 4) */ - #define REG_XDMAC_CNDA4 (*(__IO uint32_t*)0x40078168U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 4) */ - #define REG_XDMAC_CNDC4 (*(__IO uint32_t*)0x4007816CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 4) */ - #define REG_XDMAC_CUBC4 (*(__IO uint32_t*)0x40078170U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 4) */ - #define REG_XDMAC_CBC4 (*(__IO uint32_t*)0x40078174U) /**< \brief (XDMAC) Channel Block Control Register (chid = 4) */ - #define REG_XDMAC_CC4 (*(__IO uint32_t*)0x40078178U) /**< \brief (XDMAC) Channel Configuration Register (chid = 4) */ - #define REG_XDMAC_CDS_MSP4 (*(__IO uint32_t*)0x4007817CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 4) */ - #define REG_XDMAC_CSUS4 (*(__IO uint32_t*)0x40078180U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 4) */ - #define REG_XDMAC_CDUS4 (*(__IO uint32_t*)0x40078184U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 4) */ - #define REG_XDMAC_CIE5 (*(__O uint32_t*)0x40078190U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 5) */ - #define REG_XDMAC_CID5 (*(__O uint32_t*)0x40078194U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 5) */ - #define REG_XDMAC_CIM5 (*(__O uint32_t*)0x40078198U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 5) */ - #define REG_XDMAC_CIS5 (*(__I uint32_t*)0x4007819CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 5) */ - #define REG_XDMAC_CSA5 (*(__IO uint32_t*)0x400781A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 5) */ - #define REG_XDMAC_CDA5 (*(__IO uint32_t*)0x400781A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 5) */ - #define REG_XDMAC_CNDA5 (*(__IO uint32_t*)0x400781A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 5) */ - #define REG_XDMAC_CNDC5 (*(__IO uint32_t*)0x400781ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 5) */ - #define REG_XDMAC_CUBC5 (*(__IO uint32_t*)0x400781B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 5) */ - #define REG_XDMAC_CBC5 (*(__IO uint32_t*)0x400781B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 5) */ - #define REG_XDMAC_CC5 (*(__IO uint32_t*)0x400781B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 5) */ - #define REG_XDMAC_CDS_MSP5 (*(__IO uint32_t*)0x400781BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 5) */ - #define REG_XDMAC_CSUS5 (*(__IO uint32_t*)0x400781C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 5) */ - #define REG_XDMAC_CDUS5 (*(__IO uint32_t*)0x400781C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 5) */ - #define REG_XDMAC_CIE6 (*(__O uint32_t*)0x400781D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 6) */ - #define REG_XDMAC_CID6 (*(__O uint32_t*)0x400781D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 6) */ - #define REG_XDMAC_CIM6 (*(__O uint32_t*)0x400781D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 6) */ - #define REG_XDMAC_CIS6 (*(__I uint32_t*)0x400781DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 6) */ - #define REG_XDMAC_CSA6 (*(__IO uint32_t*)0x400781E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 6) */ - #define REG_XDMAC_CDA6 (*(__IO uint32_t*)0x400781E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 6) */ - #define REG_XDMAC_CNDA6 (*(__IO uint32_t*)0x400781E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 6) */ - #define REG_XDMAC_CNDC6 (*(__IO uint32_t*)0x400781ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 6) */ - #define REG_XDMAC_CUBC6 (*(__IO uint32_t*)0x400781F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 6) */ - #define REG_XDMAC_CBC6 (*(__IO uint32_t*)0x400781F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 6) */ - #define REG_XDMAC_CC6 (*(__IO uint32_t*)0x400781F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 6) */ - #define REG_XDMAC_CDS_MSP6 (*(__IO uint32_t*)0x400781FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 6) */ - #define REG_XDMAC_CSUS6 (*(__IO uint32_t*)0x40078200U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 6) */ - #define REG_XDMAC_CDUS6 (*(__IO uint32_t*)0x40078204U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 6) */ - #define REG_XDMAC_CIE7 (*(__O uint32_t*)0x40078210U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 7) */ - #define REG_XDMAC_CID7 (*(__O uint32_t*)0x40078214U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 7) */ - #define REG_XDMAC_CIM7 (*(__O uint32_t*)0x40078218U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 7) */ - #define REG_XDMAC_CIS7 (*(__I uint32_t*)0x4007821CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 7) */ - #define REG_XDMAC_CSA7 (*(__IO uint32_t*)0x40078220U) /**< \brief (XDMAC) Channel Source Address Register (chid = 7) */ - #define REG_XDMAC_CDA7 (*(__IO uint32_t*)0x40078224U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 7) */ - #define REG_XDMAC_CNDA7 (*(__IO uint32_t*)0x40078228U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 7) */ - #define REG_XDMAC_CNDC7 (*(__IO uint32_t*)0x4007822CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 7) */ - #define REG_XDMAC_CUBC7 (*(__IO uint32_t*)0x40078230U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 7) */ - #define REG_XDMAC_CBC7 (*(__IO uint32_t*)0x40078234U) /**< \brief (XDMAC) Channel Block Control Register (chid = 7) */ - #define REG_XDMAC_CC7 (*(__IO uint32_t*)0x40078238U) /**< \brief (XDMAC) Channel Configuration Register (chid = 7) */ - #define REG_XDMAC_CDS_MSP7 (*(__IO uint32_t*)0x4007823CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 7) */ - #define REG_XDMAC_CSUS7 (*(__IO uint32_t*)0x40078240U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 7) */ - #define REG_XDMAC_CDUS7 (*(__IO uint32_t*)0x40078244U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 7) */ - #define REG_XDMAC_CIE8 (*(__O uint32_t*)0x40078250U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 8) */ - #define REG_XDMAC_CID8 (*(__O uint32_t*)0x40078254U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 8) */ - #define REG_XDMAC_CIM8 (*(__O uint32_t*)0x40078258U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 8) */ - #define REG_XDMAC_CIS8 (*(__I uint32_t*)0x4007825CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 8) */ - #define REG_XDMAC_CSA8 (*(__IO uint32_t*)0x40078260U) /**< \brief (XDMAC) Channel Source Address Register (chid = 8) */ - #define REG_XDMAC_CDA8 (*(__IO uint32_t*)0x40078264U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 8) */ - #define REG_XDMAC_CNDA8 (*(__IO uint32_t*)0x40078268U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 8) */ - #define REG_XDMAC_CNDC8 (*(__IO uint32_t*)0x4007826CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 8) */ - #define REG_XDMAC_CUBC8 (*(__IO uint32_t*)0x40078270U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 8) */ - #define REG_XDMAC_CBC8 (*(__IO uint32_t*)0x40078274U) /**< \brief (XDMAC) Channel Block Control Register (chid = 8) */ - #define REG_XDMAC_CC8 (*(__IO uint32_t*)0x40078278U) /**< \brief (XDMAC) Channel Configuration Register (chid = 8) */ - #define REG_XDMAC_CDS_MSP8 (*(__IO uint32_t*)0x4007827CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 8) */ - #define REG_XDMAC_CSUS8 (*(__IO uint32_t*)0x40078280U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 8) */ - #define REG_XDMAC_CDUS8 (*(__IO uint32_t*)0x40078284U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 8) */ - #define REG_XDMAC_CIE9 (*(__O uint32_t*)0x40078290U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 9) */ - #define REG_XDMAC_CID9 (*(__O uint32_t*)0x40078294U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 9) */ - #define REG_XDMAC_CIM9 (*(__O uint32_t*)0x40078298U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 9) */ - #define REG_XDMAC_CIS9 (*(__I uint32_t*)0x4007829CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 9) */ - #define REG_XDMAC_CSA9 (*(__IO uint32_t*)0x400782A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 9) */ - #define REG_XDMAC_CDA9 (*(__IO uint32_t*)0x400782A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 9) */ - #define REG_XDMAC_CNDA9 (*(__IO uint32_t*)0x400782A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 9) */ - #define REG_XDMAC_CNDC9 (*(__IO uint32_t*)0x400782ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 9) */ - #define REG_XDMAC_CUBC9 (*(__IO uint32_t*)0x400782B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 9) */ - #define REG_XDMAC_CBC9 (*(__IO uint32_t*)0x400782B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 9) */ - #define REG_XDMAC_CC9 (*(__IO uint32_t*)0x400782B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 9) */ - #define REG_XDMAC_CDS_MSP9 (*(__IO uint32_t*)0x400782BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 9) */ - #define REG_XDMAC_CSUS9 (*(__IO uint32_t*)0x400782C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 9) */ - #define REG_XDMAC_CDUS9 (*(__IO uint32_t*)0x400782C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 9) */ - #define REG_XDMAC_CIE10 (*(__O uint32_t*)0x400782D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 10) */ - #define REG_XDMAC_CID10 (*(__O uint32_t*)0x400782D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 10) */ - #define REG_XDMAC_CIM10 (*(__O uint32_t*)0x400782D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 10) */ - #define REG_XDMAC_CIS10 (*(__I uint32_t*)0x400782DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 10) */ - #define REG_XDMAC_CSA10 (*(__IO uint32_t*)0x400782E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 10) */ - #define REG_XDMAC_CDA10 (*(__IO uint32_t*)0x400782E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 10) */ - #define REG_XDMAC_CNDA10 (*(__IO uint32_t*)0x400782E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 10) */ - #define REG_XDMAC_CNDC10 (*(__IO uint32_t*)0x400782ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 10) */ - #define REG_XDMAC_CUBC10 (*(__IO uint32_t*)0x400782F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 10) */ - #define REG_XDMAC_CBC10 (*(__IO uint32_t*)0x400782F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 10) */ - #define REG_XDMAC_CC10 (*(__IO uint32_t*)0x400782F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 10) */ - #define REG_XDMAC_CDS_MSP10 (*(__IO uint32_t*)0x400782FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 10) */ - #define REG_XDMAC_CSUS10 (*(__IO uint32_t*)0x40078300U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 10) */ - #define REG_XDMAC_CDUS10 (*(__IO uint32_t*)0x40078304U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 10) */ - #define REG_XDMAC_CIE11 (*(__O uint32_t*)0x40078310U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 11) */ - #define REG_XDMAC_CID11 (*(__O uint32_t*)0x40078314U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 11) */ - #define REG_XDMAC_CIM11 (*(__O uint32_t*)0x40078318U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 11) */ - #define REG_XDMAC_CIS11 (*(__I uint32_t*)0x4007831CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 11) */ - #define REG_XDMAC_CSA11 (*(__IO uint32_t*)0x40078320U) /**< \brief (XDMAC) Channel Source Address Register (chid = 11) */ - #define REG_XDMAC_CDA11 (*(__IO uint32_t*)0x40078324U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 11) */ - #define REG_XDMAC_CNDA11 (*(__IO uint32_t*)0x40078328U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 11) */ - #define REG_XDMAC_CNDC11 (*(__IO uint32_t*)0x4007832CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 11) */ - #define REG_XDMAC_CUBC11 (*(__IO uint32_t*)0x40078330U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 11) */ - #define REG_XDMAC_CBC11 (*(__IO uint32_t*)0x40078334U) /**< \brief (XDMAC) Channel Block Control Register (chid = 11) */ - #define REG_XDMAC_CC11 (*(__IO uint32_t*)0x40078338U) /**< \brief (XDMAC) Channel Configuration Register (chid = 11) */ - #define REG_XDMAC_CDS_MSP11 (*(__IO uint32_t*)0x4007833CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 11) */ - #define REG_XDMAC_CSUS11 (*(__IO uint32_t*)0x40078340U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 11) */ - #define REG_XDMAC_CDUS11 (*(__IO uint32_t*)0x40078344U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 11) */ - #define REG_XDMAC_CIE12 (*(__O uint32_t*)0x40078350U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 12) */ - #define REG_XDMAC_CID12 (*(__O uint32_t*)0x40078354U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 12) */ - #define REG_XDMAC_CIM12 (*(__O uint32_t*)0x40078358U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 12) */ - #define REG_XDMAC_CIS12 (*(__I uint32_t*)0x4007835CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 12) */ - #define REG_XDMAC_CSA12 (*(__IO uint32_t*)0x40078360U) /**< \brief (XDMAC) Channel Source Address Register (chid = 12) */ - #define REG_XDMAC_CDA12 (*(__IO uint32_t*)0x40078364U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 12) */ - #define REG_XDMAC_CNDA12 (*(__IO uint32_t*)0x40078368U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 12) */ - #define REG_XDMAC_CNDC12 (*(__IO uint32_t*)0x4007836CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 12) */ - #define REG_XDMAC_CUBC12 (*(__IO uint32_t*)0x40078370U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 12) */ - #define REG_XDMAC_CBC12 (*(__IO uint32_t*)0x40078374U) /**< \brief (XDMAC) Channel Block Control Register (chid = 12) */ - #define REG_XDMAC_CC12 (*(__IO uint32_t*)0x40078378U) /**< \brief (XDMAC) Channel Configuration Register (chid = 12) */ - #define REG_XDMAC_CDS_MSP12 (*(__IO uint32_t*)0x4007837CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 12) */ - #define REG_XDMAC_CSUS12 (*(__IO uint32_t*)0x40078380U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 12) */ - #define REG_XDMAC_CDUS12 (*(__IO uint32_t*)0x40078384U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 12) */ - #define REG_XDMAC_CIE13 (*(__O uint32_t*)0x40078390U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 13) */ - #define REG_XDMAC_CID13 (*(__O uint32_t*)0x40078394U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 13) */ - #define REG_XDMAC_CIM13 (*(__O uint32_t*)0x40078398U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 13) */ - #define REG_XDMAC_CIS13 (*(__I uint32_t*)0x4007839CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 13) */ - #define REG_XDMAC_CSA13 (*(__IO uint32_t*)0x400783A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 13) */ - #define REG_XDMAC_CDA13 (*(__IO uint32_t*)0x400783A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 13) */ - #define REG_XDMAC_CNDA13 (*(__IO uint32_t*)0x400783A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 13) */ - #define REG_XDMAC_CNDC13 (*(__IO uint32_t*)0x400783ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 13) */ - #define REG_XDMAC_CUBC13 (*(__IO uint32_t*)0x400783B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 13) */ - #define REG_XDMAC_CBC13 (*(__IO uint32_t*)0x400783B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 13) */ - #define REG_XDMAC_CC13 (*(__IO uint32_t*)0x400783B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 13) */ - #define REG_XDMAC_CDS_MSP13 (*(__IO uint32_t*)0x400783BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 13) */ - #define REG_XDMAC_CSUS13 (*(__IO uint32_t*)0x400783C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 13) */ - #define REG_XDMAC_CDUS13 (*(__IO uint32_t*)0x400783C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 13) */ - #define REG_XDMAC_CIE14 (*(__O uint32_t*)0x400783D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 14) */ - #define REG_XDMAC_CID14 (*(__O uint32_t*)0x400783D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 14) */ - #define REG_XDMAC_CIM14 (*(__O uint32_t*)0x400783D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 14) */ - #define REG_XDMAC_CIS14 (*(__I uint32_t*)0x400783DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 14) */ - #define REG_XDMAC_CSA14 (*(__IO uint32_t*)0x400783E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 14) */ - #define REG_XDMAC_CDA14 (*(__IO uint32_t*)0x400783E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 14) */ - #define REG_XDMAC_CNDA14 (*(__IO uint32_t*)0x400783E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 14) */ - #define REG_XDMAC_CNDC14 (*(__IO uint32_t*)0x400783ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 14) */ - #define REG_XDMAC_CUBC14 (*(__IO uint32_t*)0x400783F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 14) */ - #define REG_XDMAC_CBC14 (*(__IO uint32_t*)0x400783F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 14) */ - #define REG_XDMAC_CC14 (*(__IO uint32_t*)0x400783F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 14) */ - #define REG_XDMAC_CDS_MSP14 (*(__IO uint32_t*)0x400783FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 14) */ - #define REG_XDMAC_CSUS14 (*(__IO uint32_t*)0x40078400U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 14) */ - #define REG_XDMAC_CDUS14 (*(__IO uint32_t*)0x40078404U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 14) */ - #define REG_XDMAC_CIE15 (*(__O uint32_t*)0x40078410U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 15) */ - #define REG_XDMAC_CID15 (*(__O uint32_t*)0x40078414U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 15) */ - #define REG_XDMAC_CIM15 (*(__O uint32_t*)0x40078418U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 15) */ - #define REG_XDMAC_CIS15 (*(__I uint32_t*)0x4007841CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 15) */ - #define REG_XDMAC_CSA15 (*(__IO uint32_t*)0x40078420U) /**< \brief (XDMAC) Channel Source Address Register (chid = 15) */ - #define REG_XDMAC_CDA15 (*(__IO uint32_t*)0x40078424U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 15) */ - #define REG_XDMAC_CNDA15 (*(__IO uint32_t*)0x40078428U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 15) */ - #define REG_XDMAC_CNDC15 (*(__IO uint32_t*)0x4007842CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 15) */ - #define REG_XDMAC_CUBC15 (*(__IO uint32_t*)0x40078430U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 15) */ - #define REG_XDMAC_CBC15 (*(__IO uint32_t*)0x40078434U) /**< \brief (XDMAC) Channel Block Control Register (chid = 15) */ - #define REG_XDMAC_CC15 (*(__IO uint32_t*)0x40078438U) /**< \brief (XDMAC) Channel Configuration Register (chid = 15) */ - #define REG_XDMAC_CDS_MSP15 (*(__IO uint32_t*)0x4007843CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 15) */ - #define REG_XDMAC_CSUS15 (*(__IO uint32_t*)0x40078440U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 15) */ - #define REG_XDMAC_CDUS15 (*(__IO uint32_t*)0x40078444U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 15) */ - #define REG_XDMAC_CIE16 (*(__O uint32_t*)0x40078450U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 16) */ - #define REG_XDMAC_CID16 (*(__O uint32_t*)0x40078454U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 16) */ - #define REG_XDMAC_CIM16 (*(__O uint32_t*)0x40078458U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 16) */ - #define REG_XDMAC_CIS16 (*(__I uint32_t*)0x4007845CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 16) */ - #define REG_XDMAC_CSA16 (*(__IO uint32_t*)0x40078460U) /**< \brief (XDMAC) Channel Source Address Register (chid = 16) */ - #define REG_XDMAC_CDA16 (*(__IO uint32_t*)0x40078464U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 16) */ - #define REG_XDMAC_CNDA16 (*(__IO uint32_t*)0x40078468U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 16) */ - #define REG_XDMAC_CNDC16 (*(__IO uint32_t*)0x4007846CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 16) */ - #define REG_XDMAC_CUBC16 (*(__IO uint32_t*)0x40078470U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 16) */ - #define REG_XDMAC_CBC16 (*(__IO uint32_t*)0x40078474U) /**< \brief (XDMAC) Channel Block Control Register (chid = 16) */ - #define REG_XDMAC_CC16 (*(__IO uint32_t*)0x40078478U) /**< \brief (XDMAC) Channel Configuration Register (chid = 16) */ - #define REG_XDMAC_CDS_MSP16 (*(__IO uint32_t*)0x4007847CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 16) */ - #define REG_XDMAC_CSUS16 (*(__IO uint32_t*)0x40078480U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 16) */ - #define REG_XDMAC_CDUS16 (*(__IO uint32_t*)0x40078484U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 16) */ - #define REG_XDMAC_CIE17 (*(__O uint32_t*)0x40078490U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 17) */ - #define REG_XDMAC_CID17 (*(__O uint32_t*)0x40078494U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 17) */ - #define REG_XDMAC_CIM17 (*(__O uint32_t*)0x40078498U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 17) */ - #define REG_XDMAC_CIS17 (*(__I uint32_t*)0x4007849CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 17) */ - #define REG_XDMAC_CSA17 (*(__IO uint32_t*)0x400784A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 17) */ - #define REG_XDMAC_CDA17 (*(__IO uint32_t*)0x400784A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 17) */ - #define REG_XDMAC_CNDA17 (*(__IO uint32_t*)0x400784A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 17) */ - #define REG_XDMAC_CNDC17 (*(__IO uint32_t*)0x400784ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 17) */ - #define REG_XDMAC_CUBC17 (*(__IO uint32_t*)0x400784B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 17) */ - #define REG_XDMAC_CBC17 (*(__IO uint32_t*)0x400784B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 17) */ - #define REG_XDMAC_CC17 (*(__IO uint32_t*)0x400784B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 17) */ - #define REG_XDMAC_CDS_MSP17 (*(__IO uint32_t*)0x400784BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 17) */ - #define REG_XDMAC_CSUS17 (*(__IO uint32_t*)0x400784C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 17) */ - #define REG_XDMAC_CDUS17 (*(__IO uint32_t*)0x400784C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 17) */ - #define REG_XDMAC_CIE18 (*(__O uint32_t*)0x400784D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 18) */ - #define REG_XDMAC_CID18 (*(__O uint32_t*)0x400784D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 18) */ - #define REG_XDMAC_CIM18 (*(__O uint32_t*)0x400784D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 18) */ - #define REG_XDMAC_CIS18 (*(__I uint32_t*)0x400784DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 18) */ - #define REG_XDMAC_CSA18 (*(__IO uint32_t*)0x400784E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 18) */ - #define REG_XDMAC_CDA18 (*(__IO uint32_t*)0x400784E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 18) */ - #define REG_XDMAC_CNDA18 (*(__IO uint32_t*)0x400784E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 18) */ - #define REG_XDMAC_CNDC18 (*(__IO uint32_t*)0x400784ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 18) */ - #define REG_XDMAC_CUBC18 (*(__IO uint32_t*)0x400784F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 18) */ - #define REG_XDMAC_CBC18 (*(__IO uint32_t*)0x400784F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 18) */ - #define REG_XDMAC_CC18 (*(__IO uint32_t*)0x400784F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 18) */ - #define REG_XDMAC_CDS_MSP18 (*(__IO uint32_t*)0x400784FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 18) */ - #define REG_XDMAC_CSUS18 (*(__IO uint32_t*)0x40078500U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 18) */ - #define REG_XDMAC_CDUS18 (*(__IO uint32_t*)0x40078504U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 18) */ - #define REG_XDMAC_CIE19 (*(__O uint32_t*)0x40078510U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 19) */ - #define REG_XDMAC_CID19 (*(__O uint32_t*)0x40078514U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 19) */ - #define REG_XDMAC_CIM19 (*(__O uint32_t*)0x40078518U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 19) */ - #define REG_XDMAC_CIS19 (*(__I uint32_t*)0x4007851CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 19) */ - #define REG_XDMAC_CSA19 (*(__IO uint32_t*)0x40078520U) /**< \brief (XDMAC) Channel Source Address Register (chid = 19) */ - #define REG_XDMAC_CDA19 (*(__IO uint32_t*)0x40078524U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 19) */ - #define REG_XDMAC_CNDA19 (*(__IO uint32_t*)0x40078528U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 19) */ - #define REG_XDMAC_CNDC19 (*(__IO uint32_t*)0x4007852CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 19) */ - #define REG_XDMAC_CUBC19 (*(__IO uint32_t*)0x40078530U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 19) */ - #define REG_XDMAC_CBC19 (*(__IO uint32_t*)0x40078534U) /**< \brief (XDMAC) Channel Block Control Register (chid = 19) */ - #define REG_XDMAC_CC19 (*(__IO uint32_t*)0x40078538U) /**< \brief (XDMAC) Channel Configuration Register (chid = 19) */ - #define REG_XDMAC_CDS_MSP19 (*(__IO uint32_t*)0x4007853CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 19) */ - #define REG_XDMAC_CSUS19 (*(__IO uint32_t*)0x40078540U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 19) */ - #define REG_XDMAC_CDUS19 (*(__IO uint32_t*)0x40078544U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 19) */ - #define REG_XDMAC_CIE20 (*(__O uint32_t*)0x40078550U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 20) */ - #define REG_XDMAC_CID20 (*(__O uint32_t*)0x40078554U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 20) */ - #define REG_XDMAC_CIM20 (*(__O uint32_t*)0x40078558U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 20) */ - #define REG_XDMAC_CIS20 (*(__I uint32_t*)0x4007855CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 20) */ - #define REG_XDMAC_CSA20 (*(__IO uint32_t*)0x40078560U) /**< \brief (XDMAC) Channel Source Address Register (chid = 20) */ - #define REG_XDMAC_CDA20 (*(__IO uint32_t*)0x40078564U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 20) */ - #define REG_XDMAC_CNDA20 (*(__IO uint32_t*)0x40078568U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 20) */ - #define REG_XDMAC_CNDC20 (*(__IO uint32_t*)0x4007856CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 20) */ - #define REG_XDMAC_CUBC20 (*(__IO uint32_t*)0x40078570U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 20) */ - #define REG_XDMAC_CBC20 (*(__IO uint32_t*)0x40078574U) /**< \brief (XDMAC) Channel Block Control Register (chid = 20) */ - #define REG_XDMAC_CC20 (*(__IO uint32_t*)0x40078578U) /**< \brief (XDMAC) Channel Configuration Register (chid = 20) */ - #define REG_XDMAC_CDS_MSP20 (*(__IO uint32_t*)0x4007857CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 20) */ - #define REG_XDMAC_CSUS20 (*(__IO uint32_t*)0x40078580U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 20) */ - #define REG_XDMAC_CDUS20 (*(__IO uint32_t*)0x40078584U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 20) */ - #define REG_XDMAC_CIE21 (*(__O uint32_t*)0x40078590U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 21) */ - #define REG_XDMAC_CID21 (*(__O uint32_t*)0x40078594U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 21) */ - #define REG_XDMAC_CIM21 (*(__O uint32_t*)0x40078598U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 21) */ - #define REG_XDMAC_CIS21 (*(__I uint32_t*)0x4007859CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 21) */ - #define REG_XDMAC_CSA21 (*(__IO uint32_t*)0x400785A0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 21) */ - #define REG_XDMAC_CDA21 (*(__IO uint32_t*)0x400785A4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 21) */ - #define REG_XDMAC_CNDA21 (*(__IO uint32_t*)0x400785A8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 21) */ - #define REG_XDMAC_CNDC21 (*(__IO uint32_t*)0x400785ACU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 21) */ - #define REG_XDMAC_CUBC21 (*(__IO uint32_t*)0x400785B0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 21) */ - #define REG_XDMAC_CBC21 (*(__IO uint32_t*)0x400785B4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 21) */ - #define REG_XDMAC_CC21 (*(__IO uint32_t*)0x400785B8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 21) */ - #define REG_XDMAC_CDS_MSP21 (*(__IO uint32_t*)0x400785BCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 21) */ - #define REG_XDMAC_CSUS21 (*(__IO uint32_t*)0x400785C0U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 21) */ - #define REG_XDMAC_CDUS21 (*(__IO uint32_t*)0x400785C4U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 21) */ - #define REG_XDMAC_CIE22 (*(__O uint32_t*)0x400785D0U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 22) */ - #define REG_XDMAC_CID22 (*(__O uint32_t*)0x400785D4U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 22) */ - #define REG_XDMAC_CIM22 (*(__O uint32_t*)0x400785D8U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 22) */ - #define REG_XDMAC_CIS22 (*(__I uint32_t*)0x400785DCU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 22) */ - #define REG_XDMAC_CSA22 (*(__IO uint32_t*)0x400785E0U) /**< \brief (XDMAC) Channel Source Address Register (chid = 22) */ - #define REG_XDMAC_CDA22 (*(__IO uint32_t*)0x400785E4U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 22) */ - #define REG_XDMAC_CNDA22 (*(__IO uint32_t*)0x400785E8U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 22) */ - #define REG_XDMAC_CNDC22 (*(__IO uint32_t*)0x400785ECU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 22) */ - #define REG_XDMAC_CUBC22 (*(__IO uint32_t*)0x400785F0U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 22) */ - #define REG_XDMAC_CBC22 (*(__IO uint32_t*)0x400785F4U) /**< \brief (XDMAC) Channel Block Control Register (chid = 22) */ - #define REG_XDMAC_CC22 (*(__IO uint32_t*)0x400785F8U) /**< \brief (XDMAC) Channel Configuration Register (chid = 22) */ - #define REG_XDMAC_CDS_MSP22 (*(__IO uint32_t*)0x400785FCU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 22) */ - #define REG_XDMAC_CSUS22 (*(__IO uint32_t*)0x40078600U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 22) */ - #define REG_XDMAC_CDUS22 (*(__IO uint32_t*)0x40078604U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 22) */ - #define REG_XDMAC_CIE23 (*(__O uint32_t*)0x40078610U) /**< \brief (XDMAC) Channel Interrupt Enable Register (chid = 23) */ - #define REG_XDMAC_CID23 (*(__O uint32_t*)0x40078614U) /**< \brief (XDMAC) Channel Interrupt Disable Register (chid = 23) */ - #define REG_XDMAC_CIM23 (*(__O uint32_t*)0x40078618U) /**< \brief (XDMAC) Channel Interrupt Mask Register (chid = 23) */ - #define REG_XDMAC_CIS23 (*(__I uint32_t*)0x4007861CU) /**< \brief (XDMAC) Channel Interrupt Status Register (chid = 23) */ - #define REG_XDMAC_CSA23 (*(__IO uint32_t*)0x40078620U) /**< \brief (XDMAC) Channel Source Address Register (chid = 23) */ - #define REG_XDMAC_CDA23 (*(__IO uint32_t*)0x40078624U) /**< \brief (XDMAC) Channel Destination Address Register (chid = 23) */ - #define REG_XDMAC_CNDA23 (*(__IO uint32_t*)0x40078628U) /**< \brief (XDMAC) Channel Next Descriptor Address Register (chid = 23) */ - #define REG_XDMAC_CNDC23 (*(__IO uint32_t*)0x4007862CU) /**< \brief (XDMAC) Channel Next Descriptor Control Register (chid = 23) */ - #define REG_XDMAC_CUBC23 (*(__IO uint32_t*)0x40078630U) /**< \brief (XDMAC) Channel Microblock Control Register (chid = 23) */ - #define REG_XDMAC_CBC23 (*(__IO uint32_t*)0x40078634U) /**< \brief (XDMAC) Channel Block Control Register (chid = 23) */ - #define REG_XDMAC_CC23 (*(__IO uint32_t*)0x40078638U) /**< \brief (XDMAC) Channel Configuration Register (chid = 23) */ - #define REG_XDMAC_CDS_MSP23 (*(__IO uint32_t*)0x4007863CU) /**< \brief (XDMAC) Channel Data Stride Memory Set Pattern (chid = 23) */ - #define REG_XDMAC_CSUS23 (*(__IO uint32_t*)0x40078640U) /**< \brief (XDMAC) Channel Source Microblock Stride (chid = 23) */ - #define REG_XDMAC_CDUS23 (*(__IO uint32_t*)0x40078644U) /**< \brief (XDMAC) Channel Destination Microblock Stride (chid = 23) */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ - -#endif /* _SAMS70_XDMAC_INSTANCE_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h deleted file mode 100644 index 786bdc6..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j19.h +++ /dev/null @@ -1,418 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J19_PIO_ -#define _SAMS70J19_PIO_ - -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA24_IDX 24 -#define PIO_PA27_IDX 27 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70J19_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h deleted file mode 100644 index 77b1fb3..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j20.h +++ /dev/null @@ -1,422 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J20_PIO_ -#define _SAMS70J20_PIO_ - -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA24_IDX 24 -#define PIO_PA27_IDX 27 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70J20_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h deleted file mode 100644 index eac07be..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70j21.h +++ /dev/null @@ -1,422 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J21_PIO_ -#define _SAMS70J21_PIO_ - -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA24_IDX 24 -#define PIO_PA27_IDX 27 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70J21_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h deleted file mode 100644 index fc6b03a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n19.h +++ /dev/null @@ -1,479 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N19_PIO_ -#define _SAMS70N19_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70N19_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h deleted file mode 100644 index 844f1f7..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n20.h +++ /dev/null @@ -1,475 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N20_PIO_ -#define _SAMS70N20_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70N20_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h deleted file mode 100644 index 1e1d83c..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70n21.h +++ /dev/null @@ -1,475 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N21_PIO_ -#define _SAMS70N21_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 - -#endif /* _SAMS70N21_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h deleted file mode 100644 index d59cbc3..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q19.h +++ /dev/null @@ -1,652 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q19_PIO_ -#define _SAMS70Q19_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA6 (1u << 6) /**< \brief Pin Controlled by PA6 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA29 (1u << 29) /**< \brief Pin Controlled by PA29 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PC0 (1u << 0) /**< \brief Pin Controlled by PC0 */ -#define PIO_PC1 (1u << 1) /**< \brief Pin Controlled by PC1 */ -#define PIO_PC2 (1u << 2) /**< \brief Pin Controlled by PC2 */ -#define PIO_PC3 (1u << 3) /**< \brief Pin Controlled by PC3 */ -#define PIO_PC4 (1u << 4) /**< \brief Pin Controlled by PC4 */ -#define PIO_PC5 (1u << 5) /**< \brief Pin Controlled by PC5 */ -#define PIO_PC6 (1u << 6) /**< \brief Pin Controlled by PC6 */ -#define PIO_PC7 (1u << 7) /**< \brief Pin Controlled by PC7 */ -#define PIO_PC8 (1u << 8) /**< \brief Pin Controlled by PC8 */ -#define PIO_PC9 (1u << 9) /**< \brief Pin Controlled by PC9 */ -#define PIO_PC10 (1u << 10) /**< \brief Pin Controlled by PC10 */ -#define PIO_PC11 (1u << 11) /**< \brief Pin Controlled by PC11 */ -#define PIO_PC12 (1u << 12) /**< \brief Pin Controlled by PC12 */ -#define PIO_PC13 (1u << 13) /**< \brief Pin Controlled by PC13 */ -#define PIO_PC14 (1u << 14) /**< \brief Pin Controlled by PC14 */ -#define PIO_PC15 (1u << 15) /**< \brief Pin Controlled by PC15 */ -#define PIO_PC16 (1u << 16) /**< \brief Pin Controlled by PC16 */ -#define PIO_PC17 (1u << 17) /**< \brief Pin Controlled by PC17 */ -#define PIO_PC18 (1u << 18) /**< \brief Pin Controlled by PC18 */ -#define PIO_PC19 (1u << 19) /**< \brief Pin Controlled by PC19 */ -#define PIO_PC20 (1u << 20) /**< \brief Pin Controlled by PC20 */ -#define PIO_PC21 (1u << 21) /**< \brief Pin Controlled by PC21 */ -#define PIO_PC22 (1u << 22) /**< \brief Pin Controlled by PC22 */ -#define PIO_PC23 (1u << 23) /**< \brief Pin Controlled by PC23 */ -#define PIO_PC24 (1u << 24) /**< \brief Pin Controlled by PC24 */ -#define PIO_PC25 (1u << 25) /**< \brief Pin Controlled by PC25 */ -#define PIO_PC26 (1u << 26) /**< \brief Pin Controlled by PC26 */ -#define PIO_PC27 (1u << 27) /**< \brief Pin Controlled by PC27 */ -#define PIO_PC28 (1u << 28) /**< \brief Pin Controlled by PC28 */ -#define PIO_PC29 (1u << 29) /**< \brief Pin Controlled by PC29 */ -#define PIO_PC30 (1u << 30) /**< \brief Pin Controlled by PC30 */ -#define PIO_PC31 (1u << 31) /**< \brief Pin Controlled by PC31 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD23 (1u << 23) /**< \brief Pin Controlled by PD23 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD29 (1u << 29) /**< \brief Pin Controlled by PD29 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -#define PIO_PE0 (1u << 0) /**< \brief Pin Controlled by PE0 */ -#define PIO_PE1 (1u << 1) /**< \brief Pin Controlled by PE1 */ -#define PIO_PE2 (1u << 2) /**< \brief Pin Controlled by PE2 */ -#define PIO_PE3 (1u << 3) /**< \brief Pin Controlled by PE3 */ -#define PIO_PE4 (1u << 4) /**< \brief Pin Controlled by PE4 */ -#define PIO_PE5 (1u << 5) /**< \brief Pin Controlled by PE5 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for EBI peripheral ========== */ -#define PIO_PC18A_A0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC18A_NBS0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC19A_A1 (1u << 19) /**< \brief Ebi signal: A1 */ -#define PIO_PC28A_A10 (1u << 28) /**< \brief Ebi signal: A10 */ -#define PIO_PC29A_A11 (1u << 29) /**< \brief Ebi signal: A11 */ -#define PIO_PC30A_A12 (1u << 30) /**< \brief Ebi signal: A12 */ -#define PIO_PC31A_A13 (1u << 31) /**< \brief Ebi signal: A13 */ -#define PIO_PA18C_A14 (1u << 18) /**< \brief Ebi signal: A14 */ -#define PIO_PA19C_A15 (1u << 19) /**< \brief Ebi signal: A15 */ -#define PIO_PA20C_A16 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA20C_BA0 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA0C_A17 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA0C_BA1 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA1C_A18 (1u << 1) /**< \brief Ebi signal: A18 */ -#define PIO_PA23C_A19 (1u << 23) /**< \brief Ebi signal: A19 */ -#define PIO_PC20A_A2 (1u << 20) /**< \brief Ebi signal: A2 */ -#define PIO_PA24C_A20 (1u << 24) /**< \brief Ebi signal: A20 */ -#define PIO_PC16A_A21 (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC16A_NANDALE (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC17A_A22 (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PC17A_NANDCLE (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PA25C_A23 (1u << 25) /**< \brief Ebi signal: A23 */ -#define PIO_PC21A_A3 (1u << 21) /**< \brief Ebi signal: A3 */ -#define PIO_PC22A_A4 (1u << 22) /**< \brief Ebi signal: A4 */ -#define PIO_PC23A_A5 (1u << 23) /**< \brief Ebi signal: A5 */ -#define PIO_PC24A_A6 (1u << 24) /**< \brief Ebi signal: A6 */ -#define PIO_PC25A_A7 (1u << 25) /**< \brief Ebi signal: A7 */ -#define PIO_PC26A_A8 (1u << 26) /**< \brief Ebi signal: A8 */ -#define PIO_PC27A_A9 (1u << 27) /**< \brief Ebi signal: A9 */ -#define PIO_PD17C_CAS (1u << 17) /**< \brief Ebi signal: CAS */ -#define PIO_PC0A_D0 (1u << 0) /**< \brief Ebi signal: D0 */ -#define PIO_PC1A_D1 (1u << 1) /**< \brief Ebi signal: D1 */ -#define PIO_PE2A_D10 (1u << 2) /**< \brief Ebi signal: D10 */ -#define PIO_PE3A_D11 (1u << 3) /**< \brief Ebi signal: D11 */ -#define PIO_PE4A_D12 (1u << 4) /**< \brief Ebi signal: D12 */ -#define PIO_PE5A_D13 (1u << 5) /**< \brief Ebi signal: D13 */ -#define PIO_PA15A_D14 (1u << 15) /**< \brief Ebi signal: D14 */ -#define PIO_PA16A_D15 (1u << 16) /**< \brief Ebi signal: D15 */ -#define PIO_PC2A_D2 (1u << 2) /**< \brief Ebi signal: D2 */ -#define PIO_PC3A_D3 (1u << 3) /**< \brief Ebi signal: D3 */ -#define PIO_PC4A_D4 (1u << 4) /**< \brief Ebi signal: D4 */ -#define PIO_PC5A_D5 (1u << 5) /**< \brief Ebi signal: D5 */ -#define PIO_PC6A_D6 (1u << 6) /**< \brief Ebi signal: D6 */ -#define PIO_PC7A_D7 (1u << 7) /**< \brief Ebi signal: D7 */ -#define PIO_PE0A_D8 (1u << 0) /**< \brief Ebi signal: D8 */ -#define PIO_PE1A_D9 (1u << 1) /**< \brief Ebi signal: D9 */ -#define PIO_PC9A_NANDOE (1u << 9) /**< \brief Ebi signal: NANDOE */ -#define PIO_PC10A_NANDWE (1u << 10) /**< \brief Ebi signal: NANDWE */ -#define PIO_PC14A_NCS0 (1u << 14) /**< \brief Ebi signal: NCS0 */ -#define PIO_PC15A_NCS1 (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PC15A_SDCS (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_NCS1 (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_SDCS (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PA22C_NCS2 (1u << 22) /**< \brief Ebi signal: NCS2 */ -#define PIO_PC12A_NCS3 (1u << 12) /**< \brief Ebi signal: NCS3 */ -#define PIO_PD19A_NCS3 (1u << 19) /**< \brief Ebi signal: NCS3 */ -#define PIO_PC11A_NRD (1u << 11) /**< \brief Ebi signal: NRD */ -#define PIO_PC13A_NWAIT (1u << 13) /**< \brief Ebi signal: NWAIT */ -#define PIO_PC8A_NWR0 (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PC8A_NWE (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PD15C_NWR1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD15C_NBS1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD16C_RAS (1u << 16) /**< \brief Ebi signal: RAS */ -#define PIO_PC13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD23C_SDCK (1u << 23) /**< \brief Ebi signal: SDCK */ -#define PIO_PD14C_SDCKE (1u << 14) /**< \brief Ebi signal: SDCKE */ -#define PIO_PD29C_SDWE (1u << 29) /**< \brief Ebi signal: SDWE */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC1 peripheral ========== */ -#define PIO_PC25B_TCLK3 (1u << 25) /**< \brief Tc1 signal: TCLK3 */ -#define PIO_PC28B_TCLK4 (1u << 28) /**< \brief Tc1 signal: TCLK4 */ -#define PIO_PC31B_TCLK5 (1u << 31) /**< \brief Tc1 signal: TCLK5 */ -#define PIO_PC23B_TIOA3 (1u << 23) /**< \brief Tc1 signal: TIOA3 */ -#define PIO_PC26B_TIOA4 (1u << 26) /**< \brief Tc1 signal: TIOA4 */ -#define PIO_PC29B_TIOA5 (1u << 29) /**< \brief Tc1 signal: TIOA5 */ -#define PIO_PC24B_TIOB3 (1u << 24) /**< \brief Tc1 signal: TIOB3 */ -#define PIO_PC27B_TIOB4 (1u << 27) /**< \brief Tc1 signal: TIOB4 */ -#define PIO_PC30B_TIOB5 (1u << 30) /**< \brief Tc1 signal: TIOB5 */ -/* ========== Pio definition for TC2 peripheral ========== */ -#define PIO_PC7B_TCLK6 (1u << 7) /**< \brief Tc2 signal: TCLK6 */ -#define PIO_PC10B_TCLK7 (1u << 10) /**< \brief Tc2 signal: TCLK7 */ -#define PIO_PC14B_TCLK8 (1u << 14) /**< \brief Tc2 signal: TCLK8 */ -#define PIO_PC5B_TIOA6 (1u << 5) /**< \brief Tc2 signal: TIOA6 */ -#define PIO_PC8B_TIOA7 (1u << 8) /**< \brief Tc2 signal: TIOA7 */ -#define PIO_PC11B_TIOA8 (1u << 11) /**< \brief Tc2 signal: TIOA8 */ -#define PIO_PC6B_TIOB6 (1u << 6) /**< \brief Tc2 signal: TIOB6 */ -#define PIO_PC9B_TIOB7 (1u << 9) /**< \brief Tc2 signal: TIOB7 */ -#define PIO_PC12B_TIOB8 (1u << 12) /**< \brief Tc2 signal: TIOB8 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA6_IDX 6 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA29_IDX 29 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PC0_IDX 64 -#define PIO_PC1_IDX 65 -#define PIO_PC2_IDX 66 -#define PIO_PC3_IDX 67 -#define PIO_PC4_IDX 68 -#define PIO_PC5_IDX 69 -#define PIO_PC6_IDX 70 -#define PIO_PC7_IDX 71 -#define PIO_PC8_IDX 72 -#define PIO_PC9_IDX 73 -#define PIO_PC10_IDX 74 -#define PIO_PC11_IDX 75 -#define PIO_PC12_IDX 76 -#define PIO_PC13_IDX 77 -#define PIO_PC14_IDX 78 -#define PIO_PC15_IDX 79 -#define PIO_PC16_IDX 80 -#define PIO_PC17_IDX 81 -#define PIO_PC18_IDX 82 -#define PIO_PC19_IDX 83 -#define PIO_PC20_IDX 84 -#define PIO_PC21_IDX 85 -#define PIO_PC22_IDX 86 -#define PIO_PC23_IDX 87 -#define PIO_PC24_IDX 88 -#define PIO_PC25_IDX 89 -#define PIO_PC26_IDX 90 -#define PIO_PC27_IDX 91 -#define PIO_PC28_IDX 92 -#define PIO_PC29_IDX 93 -#define PIO_PC30_IDX 94 -#define PIO_PC31_IDX 95 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD23_IDX 119 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD29_IDX 125 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 -#define PIO_PE0_IDX 128 -#define PIO_PE1_IDX 129 -#define PIO_PE2_IDX 130 -#define PIO_PE3_IDX 131 -#define PIO_PE4_IDX 132 -#define PIO_PE5_IDX 133 - -#endif /* _SAMS70Q19_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h deleted file mode 100644 index 38e6038..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q20.h +++ /dev/null @@ -1,652 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q20_PIO_ -#define _SAMS70Q20_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA6 (1u << 6) /**< \brief Pin Controlled by PA6 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA29 (1u << 29) /**< \brief Pin Controlled by PA29 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PC0 (1u << 0) /**< \brief Pin Controlled by PC0 */ -#define PIO_PC1 (1u << 1) /**< \brief Pin Controlled by PC1 */ -#define PIO_PC2 (1u << 2) /**< \brief Pin Controlled by PC2 */ -#define PIO_PC3 (1u << 3) /**< \brief Pin Controlled by PC3 */ -#define PIO_PC4 (1u << 4) /**< \brief Pin Controlled by PC4 */ -#define PIO_PC5 (1u << 5) /**< \brief Pin Controlled by PC5 */ -#define PIO_PC6 (1u << 6) /**< \brief Pin Controlled by PC6 */ -#define PIO_PC7 (1u << 7) /**< \brief Pin Controlled by PC7 */ -#define PIO_PC8 (1u << 8) /**< \brief Pin Controlled by PC8 */ -#define PIO_PC9 (1u << 9) /**< \brief Pin Controlled by PC9 */ -#define PIO_PC10 (1u << 10) /**< \brief Pin Controlled by PC10 */ -#define PIO_PC11 (1u << 11) /**< \brief Pin Controlled by PC11 */ -#define PIO_PC12 (1u << 12) /**< \brief Pin Controlled by PC12 */ -#define PIO_PC13 (1u << 13) /**< \brief Pin Controlled by PC13 */ -#define PIO_PC14 (1u << 14) /**< \brief Pin Controlled by PC14 */ -#define PIO_PC15 (1u << 15) /**< \brief Pin Controlled by PC15 */ -#define PIO_PC16 (1u << 16) /**< \brief Pin Controlled by PC16 */ -#define PIO_PC17 (1u << 17) /**< \brief Pin Controlled by PC17 */ -#define PIO_PC18 (1u << 18) /**< \brief Pin Controlled by PC18 */ -#define PIO_PC19 (1u << 19) /**< \brief Pin Controlled by PC19 */ -#define PIO_PC20 (1u << 20) /**< \brief Pin Controlled by PC20 */ -#define PIO_PC21 (1u << 21) /**< \brief Pin Controlled by PC21 */ -#define PIO_PC22 (1u << 22) /**< \brief Pin Controlled by PC22 */ -#define PIO_PC23 (1u << 23) /**< \brief Pin Controlled by PC23 */ -#define PIO_PC24 (1u << 24) /**< \brief Pin Controlled by PC24 */ -#define PIO_PC25 (1u << 25) /**< \brief Pin Controlled by PC25 */ -#define PIO_PC26 (1u << 26) /**< \brief Pin Controlled by PC26 */ -#define PIO_PC27 (1u << 27) /**< \brief Pin Controlled by PC27 */ -#define PIO_PC28 (1u << 28) /**< \brief Pin Controlled by PC28 */ -#define PIO_PC29 (1u << 29) /**< \brief Pin Controlled by PC29 */ -#define PIO_PC30 (1u << 30) /**< \brief Pin Controlled by PC30 */ -#define PIO_PC31 (1u << 31) /**< \brief Pin Controlled by PC31 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD23 (1u << 23) /**< \brief Pin Controlled by PD23 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD29 (1u << 29) /**< \brief Pin Controlled by PD29 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -#define PIO_PE0 (1u << 0) /**< \brief Pin Controlled by PE0 */ -#define PIO_PE1 (1u << 1) /**< \brief Pin Controlled by PE1 */ -#define PIO_PE2 (1u << 2) /**< \brief Pin Controlled by PE2 */ -#define PIO_PE3 (1u << 3) /**< \brief Pin Controlled by PE3 */ -#define PIO_PE4 (1u << 4) /**< \brief Pin Controlled by PE4 */ -#define PIO_PE5 (1u << 5) /**< \brief Pin Controlled by PE5 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for EBI peripheral ========== */ -#define PIO_PC18A_A0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC18A_NBS0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC19A_A1 (1u << 19) /**< \brief Ebi signal: A1 */ -#define PIO_PC28A_A10 (1u << 28) /**< \brief Ebi signal: A10 */ -#define PIO_PC29A_A11 (1u << 29) /**< \brief Ebi signal: A11 */ -#define PIO_PC30A_A12 (1u << 30) /**< \brief Ebi signal: A12 */ -#define PIO_PC31A_A13 (1u << 31) /**< \brief Ebi signal: A13 */ -#define PIO_PA18C_A14 (1u << 18) /**< \brief Ebi signal: A14 */ -#define PIO_PA19C_A15 (1u << 19) /**< \brief Ebi signal: A15 */ -#define PIO_PA20C_A16 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA20C_BA0 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA0C_A17 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA0C_BA1 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA1C_A18 (1u << 1) /**< \brief Ebi signal: A18 */ -#define PIO_PA23C_A19 (1u << 23) /**< \brief Ebi signal: A19 */ -#define PIO_PC20A_A2 (1u << 20) /**< \brief Ebi signal: A2 */ -#define PIO_PA24C_A20 (1u << 24) /**< \brief Ebi signal: A20 */ -#define PIO_PC16A_A21 (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC16A_NANDALE (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC17A_A22 (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PC17A_NANDCLE (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PA25C_A23 (1u << 25) /**< \brief Ebi signal: A23 */ -#define PIO_PC21A_A3 (1u << 21) /**< \brief Ebi signal: A3 */ -#define PIO_PC22A_A4 (1u << 22) /**< \brief Ebi signal: A4 */ -#define PIO_PC23A_A5 (1u << 23) /**< \brief Ebi signal: A5 */ -#define PIO_PC24A_A6 (1u << 24) /**< \brief Ebi signal: A6 */ -#define PIO_PC25A_A7 (1u << 25) /**< \brief Ebi signal: A7 */ -#define PIO_PC26A_A8 (1u << 26) /**< \brief Ebi signal: A8 */ -#define PIO_PC27A_A9 (1u << 27) /**< \brief Ebi signal: A9 */ -#define PIO_PD17C_CAS (1u << 17) /**< \brief Ebi signal: CAS */ -#define PIO_PC0A_D0 (1u << 0) /**< \brief Ebi signal: D0 */ -#define PIO_PC1A_D1 (1u << 1) /**< \brief Ebi signal: D1 */ -#define PIO_PE2A_D10 (1u << 2) /**< \brief Ebi signal: D10 */ -#define PIO_PE3A_D11 (1u << 3) /**< \brief Ebi signal: D11 */ -#define PIO_PE4A_D12 (1u << 4) /**< \brief Ebi signal: D12 */ -#define PIO_PE5A_D13 (1u << 5) /**< \brief Ebi signal: D13 */ -#define PIO_PA15A_D14 (1u << 15) /**< \brief Ebi signal: D14 */ -#define PIO_PA16A_D15 (1u << 16) /**< \brief Ebi signal: D15 */ -#define PIO_PC2A_D2 (1u << 2) /**< \brief Ebi signal: D2 */ -#define PIO_PC3A_D3 (1u << 3) /**< \brief Ebi signal: D3 */ -#define PIO_PC4A_D4 (1u << 4) /**< \brief Ebi signal: D4 */ -#define PIO_PC5A_D5 (1u << 5) /**< \brief Ebi signal: D5 */ -#define PIO_PC6A_D6 (1u << 6) /**< \brief Ebi signal: D6 */ -#define PIO_PC7A_D7 (1u << 7) /**< \brief Ebi signal: D7 */ -#define PIO_PE0A_D8 (1u << 0) /**< \brief Ebi signal: D8 */ -#define PIO_PE1A_D9 (1u << 1) /**< \brief Ebi signal: D9 */ -#define PIO_PC9A_NANDOE (1u << 9) /**< \brief Ebi signal: NANDOE */ -#define PIO_PC10A_NANDWE (1u << 10) /**< \brief Ebi signal: NANDWE */ -#define PIO_PC14A_NCS0 (1u << 14) /**< \brief Ebi signal: NCS0 */ -#define PIO_PC15A_NCS1 (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PC15A_SDCS (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_NCS1 (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_SDCS (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PA22C_NCS2 (1u << 22) /**< \brief Ebi signal: NCS2 */ -#define PIO_PC12A_NCS3 (1u << 12) /**< \brief Ebi signal: NCS3 */ -#define PIO_PD19A_NCS3 (1u << 19) /**< \brief Ebi signal: NCS3 */ -#define PIO_PC11A_NRD (1u << 11) /**< \brief Ebi signal: NRD */ -#define PIO_PC13A_NWAIT (1u << 13) /**< \brief Ebi signal: NWAIT */ -#define PIO_PC8A_NWR0 (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PC8A_NWE (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PD15C_NWR1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD15C_NBS1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD16C_RAS (1u << 16) /**< \brief Ebi signal: RAS */ -#define PIO_PC13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD23C_SDCK (1u << 23) /**< \brief Ebi signal: SDCK */ -#define PIO_PD14C_SDCKE (1u << 14) /**< \brief Ebi signal: SDCKE */ -#define PIO_PD29C_SDWE (1u << 29) /**< \brief Ebi signal: SDWE */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC1 peripheral ========== */ -#define PIO_PC25B_TCLK3 (1u << 25) /**< \brief Tc1 signal: TCLK3 */ -#define PIO_PC28B_TCLK4 (1u << 28) /**< \brief Tc1 signal: TCLK4 */ -#define PIO_PC31B_TCLK5 (1u << 31) /**< \brief Tc1 signal: TCLK5 */ -#define PIO_PC23B_TIOA3 (1u << 23) /**< \brief Tc1 signal: TIOA3 */ -#define PIO_PC26B_TIOA4 (1u << 26) /**< \brief Tc1 signal: TIOA4 */ -#define PIO_PC29B_TIOA5 (1u << 29) /**< \brief Tc1 signal: TIOA5 */ -#define PIO_PC24B_TIOB3 (1u << 24) /**< \brief Tc1 signal: TIOB3 */ -#define PIO_PC27B_TIOB4 (1u << 27) /**< \brief Tc1 signal: TIOB4 */ -#define PIO_PC30B_TIOB5 (1u << 30) /**< \brief Tc1 signal: TIOB5 */ -/* ========== Pio definition for TC2 peripheral ========== */ -#define PIO_PC7B_TCLK6 (1u << 7) /**< \brief Tc2 signal: TCLK6 */ -#define PIO_PC10B_TCLK7 (1u << 10) /**< \brief Tc2 signal: TCLK7 */ -#define PIO_PC14B_TCLK8 (1u << 14) /**< \brief Tc2 signal: TCLK8 */ -#define PIO_PC5B_TIOA6 (1u << 5) /**< \brief Tc2 signal: TIOA6 */ -#define PIO_PC8B_TIOA7 (1u << 8) /**< \brief Tc2 signal: TIOA7 */ -#define PIO_PC11B_TIOA8 (1u << 11) /**< \brief Tc2 signal: TIOA8 */ -#define PIO_PC6B_TIOB6 (1u << 6) /**< \brief Tc2 signal: TIOB6 */ -#define PIO_PC9B_TIOB7 (1u << 9) /**< \brief Tc2 signal: TIOB7 */ -#define PIO_PC12B_TIOB8 (1u << 12) /**< \brief Tc2 signal: TIOB8 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA6_IDX 6 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA29_IDX 29 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PC0_IDX 64 -#define PIO_PC1_IDX 65 -#define PIO_PC2_IDX 66 -#define PIO_PC3_IDX 67 -#define PIO_PC4_IDX 68 -#define PIO_PC5_IDX 69 -#define PIO_PC6_IDX 70 -#define PIO_PC7_IDX 71 -#define PIO_PC8_IDX 72 -#define PIO_PC9_IDX 73 -#define PIO_PC10_IDX 74 -#define PIO_PC11_IDX 75 -#define PIO_PC12_IDX 76 -#define PIO_PC13_IDX 77 -#define PIO_PC14_IDX 78 -#define PIO_PC15_IDX 79 -#define PIO_PC16_IDX 80 -#define PIO_PC17_IDX 81 -#define PIO_PC18_IDX 82 -#define PIO_PC19_IDX 83 -#define PIO_PC20_IDX 84 -#define PIO_PC21_IDX 85 -#define PIO_PC22_IDX 86 -#define PIO_PC23_IDX 87 -#define PIO_PC24_IDX 88 -#define PIO_PC25_IDX 89 -#define PIO_PC26_IDX 90 -#define PIO_PC27_IDX 91 -#define PIO_PC28_IDX 92 -#define PIO_PC29_IDX 93 -#define PIO_PC30_IDX 94 -#define PIO_PC31_IDX 95 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD23_IDX 119 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD29_IDX 125 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 -#define PIO_PE0_IDX 128 -#define PIO_PE1_IDX 129 -#define PIO_PE2_IDX 130 -#define PIO_PE3_IDX 131 -#define PIO_PE4_IDX 132 -#define PIO_PE5_IDX 133 - -#endif /* _SAMS70Q20_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h deleted file mode 100644 index 25cb978..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/pio/sams70q21.h +++ /dev/null @@ -1,652 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q21_PIO_ -#define _SAMS70Q21_PIO_ - -#define PIO_PA0 (1u << 0) /**< \brief Pin Controlled by PA0 */ -#define PIO_PA1 (1u << 1) /**< \brief Pin Controlled by PA1 */ -#define PIO_PA2 (1u << 2) /**< \brief Pin Controlled by PA2 */ -#define PIO_PA3 (1u << 3) /**< \brief Pin Controlled by PA3 */ -#define PIO_PA4 (1u << 4) /**< \brief Pin Controlled by PA4 */ -#define PIO_PA5 (1u << 5) /**< \brief Pin Controlled by PA5 */ -#define PIO_PA6 (1u << 6) /**< \brief Pin Controlled by PA6 */ -#define PIO_PA7 (1u << 7) /**< \brief Pin Controlled by PA7 */ -#define PIO_PA8 (1u << 8) /**< \brief Pin Controlled by PA8 */ -#define PIO_PA9 (1u << 9) /**< \brief Pin Controlled by PA9 */ -#define PIO_PA10 (1u << 10) /**< \brief Pin Controlled by PA10 */ -#define PIO_PA11 (1u << 11) /**< \brief Pin Controlled by PA11 */ -#define PIO_PA12 (1u << 12) /**< \brief Pin Controlled by PA12 */ -#define PIO_PA13 (1u << 13) /**< \brief Pin Controlled by PA13 */ -#define PIO_PA14 (1u << 14) /**< \brief Pin Controlled by PA14 */ -#define PIO_PA15 (1u << 15) /**< \brief Pin Controlled by PA15 */ -#define PIO_PA16 (1u << 16) /**< \brief Pin Controlled by PA16 */ -#define PIO_PA17 (1u << 17) /**< \brief Pin Controlled by PA17 */ -#define PIO_PA18 (1u << 18) /**< \brief Pin Controlled by PA18 */ -#define PIO_PA19 (1u << 19) /**< \brief Pin Controlled by PA19 */ -#define PIO_PA20 (1u << 20) /**< \brief Pin Controlled by PA20 */ -#define PIO_PA21 (1u << 21) /**< \brief Pin Controlled by PA21 */ -#define PIO_PA22 (1u << 22) /**< \brief Pin Controlled by PA22 */ -#define PIO_PA23 (1u << 23) /**< \brief Pin Controlled by PA23 */ -#define PIO_PA24 (1u << 24) /**< \brief Pin Controlled by PA24 */ -#define PIO_PA25 (1u << 25) /**< \brief Pin Controlled by PA25 */ -#define PIO_PA26 (1u << 26) /**< \brief Pin Controlled by PA26 */ -#define PIO_PA27 (1u << 27) /**< \brief Pin Controlled by PA27 */ -#define PIO_PA28 (1u << 28) /**< \brief Pin Controlled by PA28 */ -#define PIO_PA29 (1u << 29) /**< \brief Pin Controlled by PA29 */ -#define PIO_PA30 (1u << 30) /**< \brief Pin Controlled by PA30 */ -#define PIO_PA31 (1u << 31) /**< \brief Pin Controlled by PA31 */ -#define PIO_PB0 (1u << 0) /**< \brief Pin Controlled by PB0 */ -#define PIO_PB1 (1u << 1) /**< \brief Pin Controlled by PB1 */ -#define PIO_PB2 (1u << 2) /**< \brief Pin Controlled by PB2 */ -#define PIO_PB3 (1u << 3) /**< \brief Pin Controlled by PB3 */ -#define PIO_PB4 (1u << 4) /**< \brief Pin Controlled by PB4 */ -#define PIO_PB5 (1u << 5) /**< \brief Pin Controlled by PB5 */ -#define PIO_PB6 (1u << 6) /**< \brief Pin Controlled by PB6 */ -#define PIO_PB7 (1u << 7) /**< \brief Pin Controlled by PB7 */ -#define PIO_PB8 (1u << 8) /**< \brief Pin Controlled by PB8 */ -#define PIO_PB9 (1u << 9) /**< \brief Pin Controlled by PB9 */ -#define PIO_PB12 (1u << 12) /**< \brief Pin Controlled by PB12 */ -#define PIO_PB13 (1u << 13) /**< \brief Pin Controlled by PB13 */ -#define PIO_PC0 (1u << 0) /**< \brief Pin Controlled by PC0 */ -#define PIO_PC1 (1u << 1) /**< \brief Pin Controlled by PC1 */ -#define PIO_PC2 (1u << 2) /**< \brief Pin Controlled by PC2 */ -#define PIO_PC3 (1u << 3) /**< \brief Pin Controlled by PC3 */ -#define PIO_PC4 (1u << 4) /**< \brief Pin Controlled by PC4 */ -#define PIO_PC5 (1u << 5) /**< \brief Pin Controlled by PC5 */ -#define PIO_PC6 (1u << 6) /**< \brief Pin Controlled by PC6 */ -#define PIO_PC7 (1u << 7) /**< \brief Pin Controlled by PC7 */ -#define PIO_PC8 (1u << 8) /**< \brief Pin Controlled by PC8 */ -#define PIO_PC9 (1u << 9) /**< \brief Pin Controlled by PC9 */ -#define PIO_PC10 (1u << 10) /**< \brief Pin Controlled by PC10 */ -#define PIO_PC11 (1u << 11) /**< \brief Pin Controlled by PC11 */ -#define PIO_PC12 (1u << 12) /**< \brief Pin Controlled by PC12 */ -#define PIO_PC13 (1u << 13) /**< \brief Pin Controlled by PC13 */ -#define PIO_PC14 (1u << 14) /**< \brief Pin Controlled by PC14 */ -#define PIO_PC15 (1u << 15) /**< \brief Pin Controlled by PC15 */ -#define PIO_PC16 (1u << 16) /**< \brief Pin Controlled by PC16 */ -#define PIO_PC17 (1u << 17) /**< \brief Pin Controlled by PC17 */ -#define PIO_PC18 (1u << 18) /**< \brief Pin Controlled by PC18 */ -#define PIO_PC19 (1u << 19) /**< \brief Pin Controlled by PC19 */ -#define PIO_PC20 (1u << 20) /**< \brief Pin Controlled by PC20 */ -#define PIO_PC21 (1u << 21) /**< \brief Pin Controlled by PC21 */ -#define PIO_PC22 (1u << 22) /**< \brief Pin Controlled by PC22 */ -#define PIO_PC23 (1u << 23) /**< \brief Pin Controlled by PC23 */ -#define PIO_PC24 (1u << 24) /**< \brief Pin Controlled by PC24 */ -#define PIO_PC25 (1u << 25) /**< \brief Pin Controlled by PC25 */ -#define PIO_PC26 (1u << 26) /**< \brief Pin Controlled by PC26 */ -#define PIO_PC27 (1u << 27) /**< \brief Pin Controlled by PC27 */ -#define PIO_PC28 (1u << 28) /**< \brief Pin Controlled by PC28 */ -#define PIO_PC29 (1u << 29) /**< \brief Pin Controlled by PC29 */ -#define PIO_PC30 (1u << 30) /**< \brief Pin Controlled by PC30 */ -#define PIO_PC31 (1u << 31) /**< \brief Pin Controlled by PC31 */ -#define PIO_PD0 (1u << 0) /**< \brief Pin Controlled by PD0 */ -#define PIO_PD1 (1u << 1) /**< \brief Pin Controlled by PD1 */ -#define PIO_PD2 (1u << 2) /**< \brief Pin Controlled by PD2 */ -#define PIO_PD3 (1u << 3) /**< \brief Pin Controlled by PD3 */ -#define PIO_PD4 (1u << 4) /**< \brief Pin Controlled by PD4 */ -#define PIO_PD5 (1u << 5) /**< \brief Pin Controlled by PD5 */ -#define PIO_PD6 (1u << 6) /**< \brief Pin Controlled by PD6 */ -#define PIO_PD7 (1u << 7) /**< \brief Pin Controlled by PD7 */ -#define PIO_PD8 (1u << 8) /**< \brief Pin Controlled by PD8 */ -#define PIO_PD9 (1u << 9) /**< \brief Pin Controlled by PD9 */ -#define PIO_PD10 (1u << 10) /**< \brief Pin Controlled by PD10 */ -#define PIO_PD11 (1u << 11) /**< \brief Pin Controlled by PD11 */ -#define PIO_PD12 (1u << 12) /**< \brief Pin Controlled by PD12 */ -#define PIO_PD13 (1u << 13) /**< \brief Pin Controlled by PD13 */ -#define PIO_PD14 (1u << 14) /**< \brief Pin Controlled by PD14 */ -#define PIO_PD15 (1u << 15) /**< \brief Pin Controlled by PD15 */ -#define PIO_PD16 (1u << 16) /**< \brief Pin Controlled by PD16 */ -#define PIO_PD17 (1u << 17) /**< \brief Pin Controlled by PD17 */ -#define PIO_PD18 (1u << 18) /**< \brief Pin Controlled by PD18 */ -#define PIO_PD19 (1u << 19) /**< \brief Pin Controlled by PD19 */ -#define PIO_PD20 (1u << 20) /**< \brief Pin Controlled by PD20 */ -#define PIO_PD21 (1u << 21) /**< \brief Pin Controlled by PD21 */ -#define PIO_PD22 (1u << 22) /**< \brief Pin Controlled by PD22 */ -#define PIO_PD23 (1u << 23) /**< \brief Pin Controlled by PD23 */ -#define PIO_PD24 (1u << 24) /**< \brief Pin Controlled by PD24 */ -#define PIO_PD25 (1u << 25) /**< \brief Pin Controlled by PD25 */ -#define PIO_PD26 (1u << 26) /**< \brief Pin Controlled by PD26 */ -#define PIO_PD27 (1u << 27) /**< \brief Pin Controlled by PD27 */ -#define PIO_PD28 (1u << 28) /**< \brief Pin Controlled by PD28 */ -#define PIO_PD29 (1u << 29) /**< \brief Pin Controlled by PD29 */ -#define PIO_PD30 (1u << 30) /**< \brief Pin Controlled by PD30 */ -#define PIO_PD31 (1u << 31) /**< \brief Pin Controlled by PD31 */ -#define PIO_PE0 (1u << 0) /**< \brief Pin Controlled by PE0 */ -#define PIO_PE1 (1u << 1) /**< \brief Pin Controlled by PE1 */ -#define PIO_PE2 (1u << 2) /**< \brief Pin Controlled by PE2 */ -#define PIO_PE3 (1u << 3) /**< \brief Pin Controlled by PE3 */ -#define PIO_PE4 (1u << 4) /**< \brief Pin Controlled by PE4 */ -#define PIO_PE5 (1u << 5) /**< \brief Pin Controlled by PE5 */ -/* ========== Pio definition for AFEC0 peripheral ========== */ -#define PIO_PD30X1_AFE0_AD0 (1u << 30) /**< \brief Afec0 signal: AFE0_AD0 */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Afec0 signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PB0X1_AFE0_AD10 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB0X1_RTCOUT0 (1u << 0) /**< \brief Afec0 signal: AFE0_AD10/RTCOUT0 */ -#define PIO_PB3X1_AFE0_AD2 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PB3X1_WKUP12 (1u << 3) /**< \brief Afec0 signal: AFE0_AD2/WKUP12 */ -#define PIO_PE5X1_AFE0_AD3 (1u << 5) /**< \brief Afec0 signal: AFE0_AD3 */ -#define PIO_PE4X1_AFE0_AD4 (1u << 4) /**< \brief Afec0 signal: AFE0_AD4 */ -#define PIO_PB2X1_AFE0_AD5 (1u << 2) /**< \brief Afec0 signal: AFE0_AD5 */ -#define PIO_PA17X1_AFE0_AD6 (1u << 17) /**< \brief Afec0 signal: AFE0_AD6 */ -#define PIO_PA18X1_AFE0_AD7 (1u << 18) /**< \brief Afec0 signal: AFE0_AD7 */ -#define PIO_PA19X1_AFE0_AD8 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA19X1_WKUP9 (1u << 19) /**< \brief Afec0 signal: AFE0_AD8/WKUP9 */ -#define PIO_PA20X1_AFE0_AD9 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA20X1_WKUP10 (1u << 20) /**< \brief Afec0 signal: AFE0_AD9/WKUP10 */ -#define PIO_PA8B_AFE0_ADTRG (1u << 8) /**< \brief Afec0 signal: AFE0_ADTRG */ -/* ========== Pio definition for AFEC1 peripheral ========== */ -#define PIO_PB1X1_AFE1_AD0 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PB1X1_RTCOUT1 (1u << 1) /**< \brief Afec1 signal: AFE1_AD0/RTCOUT1 */ -#define PIO_PC13X1_AFE1_AD1 (1u << 13) /**< \brief Afec1 signal: AFE1_AD1 */ -#define PIO_PE3X1_AFE1_AD10 (1u << 3) /**< \brief Afec1 signal: AFE1_AD10 */ -#define PIO_PE0X1_AFE1_AD11 (1u << 0) /**< \brief Afec1 signal: AFE1_AD11 */ -#define PIO_PC15X1_AFE1_AD2 (1u << 15) /**< \brief Afec1 signal: AFE1_AD2 */ -#define PIO_PC12X1_AFE1_AD3 (1u << 12) /**< \brief Afec1 signal: AFE1_AD3 */ -#define PIO_PC29X1_AFE1_AD4 (1u << 29) /**< \brief Afec1 signal: AFE1_AD4 */ -#define PIO_PC30X1_AFE1_AD5 (1u << 30) /**< \brief Afec1 signal: AFE1_AD5 */ -#define PIO_PC31X1_AFE1_AD6 (1u << 31) /**< \brief Afec1 signal: AFE1_AD6 */ -#define PIO_PC26X1_AFE1_AD7 (1u << 26) /**< \brief Afec1 signal: AFE1_AD7 */ -#define PIO_PC27X1_AFE1_AD8 (1u << 27) /**< \brief Afec1 signal: AFE1_AD8 */ -#define PIO_PC0X1_AFE1_AD9 (1u << 0) /**< \brief Afec1 signal: AFE1_AD9 */ -#define PIO_PD9C_AFE1_ADTRG (1u << 9) /**< \brief Afec1 signal: AFE1_ADTRG */ -/* ========== Pio definition for ARM peripheral ========== */ -#define PIO_PB7X1_SWCLK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB7X1_TCK (1u << 7) /**< \brief Arm signal: SWCLK/TCK */ -#define PIO_PB6X1_SWDIO (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB6X1_TMS (1u << 6) /**< \brief Arm signal: SWDIO/TMS */ -#define PIO_PB4X1_TDI (1u << 4) /**< \brief Arm signal: TDI */ -#define PIO_PB5X1_TDO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_TRACESWO (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -#define PIO_PB5X1_WKUP13 (1u << 5) /**< \brief Arm signal: TDO/TRACESWO/WKUP13 */ -/* ========== Pio definition for DACC peripheral ========== */ -#define PIO_PB13X1_DAC0 (1u << 13) /**< \brief Dacc signal: DAC0 */ -#define PIO_PD0X1_DAC1 (1u << 0) /**< \brief Dacc signal: DAC1 */ -#define PIO_PA2C_DATRG (1u << 2) /**< \brief Dacc signal: DATRG */ -/* ========== Pio definition for EBI peripheral ========== */ -#define PIO_PC18A_A0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC18A_NBS0 (1u << 18) /**< \brief Ebi signal: A0/NBS0 */ -#define PIO_PC19A_A1 (1u << 19) /**< \brief Ebi signal: A1 */ -#define PIO_PC28A_A10 (1u << 28) /**< \brief Ebi signal: A10 */ -#define PIO_PC29A_A11 (1u << 29) /**< \brief Ebi signal: A11 */ -#define PIO_PC30A_A12 (1u << 30) /**< \brief Ebi signal: A12 */ -#define PIO_PC31A_A13 (1u << 31) /**< \brief Ebi signal: A13 */ -#define PIO_PA18C_A14 (1u << 18) /**< \brief Ebi signal: A14 */ -#define PIO_PA19C_A15 (1u << 19) /**< \brief Ebi signal: A15 */ -#define PIO_PA20C_A16 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA20C_BA0 (1u << 20) /**< \brief Ebi signal: A16/BA0 */ -#define PIO_PA0C_A17 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA0C_BA1 (1u << 0) /**< \brief Ebi signal: A17/BA1 */ -#define PIO_PA1C_A18 (1u << 1) /**< \brief Ebi signal: A18 */ -#define PIO_PA23C_A19 (1u << 23) /**< \brief Ebi signal: A19 */ -#define PIO_PC20A_A2 (1u << 20) /**< \brief Ebi signal: A2 */ -#define PIO_PA24C_A20 (1u << 24) /**< \brief Ebi signal: A20 */ -#define PIO_PC16A_A21 (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC16A_NANDALE (1u << 16) /**< \brief Ebi signal: A21/NANDALE */ -#define PIO_PC17A_A22 (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PC17A_NANDCLE (1u << 17) /**< \brief Ebi signal: A22/NANDCLE */ -#define PIO_PA25C_A23 (1u << 25) /**< \brief Ebi signal: A23 */ -#define PIO_PC21A_A3 (1u << 21) /**< \brief Ebi signal: A3 */ -#define PIO_PC22A_A4 (1u << 22) /**< \brief Ebi signal: A4 */ -#define PIO_PC23A_A5 (1u << 23) /**< \brief Ebi signal: A5 */ -#define PIO_PC24A_A6 (1u << 24) /**< \brief Ebi signal: A6 */ -#define PIO_PC25A_A7 (1u << 25) /**< \brief Ebi signal: A7 */ -#define PIO_PC26A_A8 (1u << 26) /**< \brief Ebi signal: A8 */ -#define PIO_PC27A_A9 (1u << 27) /**< \brief Ebi signal: A9 */ -#define PIO_PD17C_CAS (1u << 17) /**< \brief Ebi signal: CAS */ -#define PIO_PC0A_D0 (1u << 0) /**< \brief Ebi signal: D0 */ -#define PIO_PC1A_D1 (1u << 1) /**< \brief Ebi signal: D1 */ -#define PIO_PE2A_D10 (1u << 2) /**< \brief Ebi signal: D10 */ -#define PIO_PE3A_D11 (1u << 3) /**< \brief Ebi signal: D11 */ -#define PIO_PE4A_D12 (1u << 4) /**< \brief Ebi signal: D12 */ -#define PIO_PE5A_D13 (1u << 5) /**< \brief Ebi signal: D13 */ -#define PIO_PA15A_D14 (1u << 15) /**< \brief Ebi signal: D14 */ -#define PIO_PA16A_D15 (1u << 16) /**< \brief Ebi signal: D15 */ -#define PIO_PC2A_D2 (1u << 2) /**< \brief Ebi signal: D2 */ -#define PIO_PC3A_D3 (1u << 3) /**< \brief Ebi signal: D3 */ -#define PIO_PC4A_D4 (1u << 4) /**< \brief Ebi signal: D4 */ -#define PIO_PC5A_D5 (1u << 5) /**< \brief Ebi signal: D5 */ -#define PIO_PC6A_D6 (1u << 6) /**< \brief Ebi signal: D6 */ -#define PIO_PC7A_D7 (1u << 7) /**< \brief Ebi signal: D7 */ -#define PIO_PE0A_D8 (1u << 0) /**< \brief Ebi signal: D8 */ -#define PIO_PE1A_D9 (1u << 1) /**< \brief Ebi signal: D9 */ -#define PIO_PC9A_NANDOE (1u << 9) /**< \brief Ebi signal: NANDOE */ -#define PIO_PC10A_NANDWE (1u << 10) /**< \brief Ebi signal: NANDWE */ -#define PIO_PC14A_NCS0 (1u << 14) /**< \brief Ebi signal: NCS0 */ -#define PIO_PC15A_NCS1 (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PC15A_SDCS (1u << 15) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_NCS1 (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PD18A_SDCS (1u << 18) /**< \brief Ebi signal: NCS1/SDCS */ -#define PIO_PA22C_NCS2 (1u << 22) /**< \brief Ebi signal: NCS2 */ -#define PIO_PC12A_NCS3 (1u << 12) /**< \brief Ebi signal: NCS3 */ -#define PIO_PD19A_NCS3 (1u << 19) /**< \brief Ebi signal: NCS3 */ -#define PIO_PC11A_NRD (1u << 11) /**< \brief Ebi signal: NRD */ -#define PIO_PC13A_NWAIT (1u << 13) /**< \brief Ebi signal: NWAIT */ -#define PIO_PC8A_NWR0 (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PC8A_NWE (1u << 8) /**< \brief Ebi signal: NWR0/NWE */ -#define PIO_PD15C_NWR1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD15C_NBS1 (1u << 15) /**< \brief Ebi signal: NWR1/NBS1 */ -#define PIO_PD16C_RAS (1u << 16) /**< \brief Ebi signal: RAS */ -#define PIO_PC13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD13C_SDA10 (1u << 13) /**< \brief Ebi signal: SDA10 */ -#define PIO_PD23C_SDCK (1u << 23) /**< \brief Ebi signal: SDCK */ -#define PIO_PD14C_SDCKE (1u << 14) /**< \brief Ebi signal: SDCKE */ -#define PIO_PD29C_SDWE (1u << 29) /**< \brief Ebi signal: SDWE */ -/* ========== Pio definition for HSMCI peripheral ========== */ -#define PIO_PA28C_MCCDA (1u << 28) /**< \brief Hsmci signal: MCCDA */ -#define PIO_PA25D_MCCK (1u << 25) /**< \brief Hsmci signal: MCCK */ -#define PIO_PA30C_MCDA0 (1u << 30) /**< \brief Hsmci signal: MCDA0 */ -#define PIO_PA31C_MCDA1 (1u << 31) /**< \brief Hsmci signal: MCDA1 */ -#define PIO_PA26C_MCDA2 (1u << 26) /**< \brief Hsmci signal: MCDA2 */ -#define PIO_PA27C_MCDA3 (1u << 27) /**< \brief Hsmci signal: MCDA3 */ -/* ========== Pio definition for ISI peripheral ========== */ -#define PIO_PD22D_ISI_D0 (1u << 22) /**< \brief Isi signal: ISI_D0 */ -#define PIO_PD21D_ISI_D1 (1u << 21) /**< \brief Isi signal: ISI_D1 */ -#define PIO_PD30D_ISI_D10 (1u << 30) /**< \brief Isi signal: ISI_D10 */ -#define PIO_PD31D_ISI_D11 (1u << 31) /**< \brief Isi signal: ISI_D11 */ -#define PIO_PB3D_ISI_D2 (1u << 3) /**< \brief Isi signal: ISI_D2 */ -#define PIO_PA9B_ISI_D3 (1u << 9) /**< \brief Isi signal: ISI_D3 */ -#define PIO_PA5B_ISI_D4 (1u << 5) /**< \brief Isi signal: ISI_D4 */ -#define PIO_PD11D_ISI_D5 (1u << 11) /**< \brief Isi signal: ISI_D5 */ -#define PIO_PD12D_ISI_D6 (1u << 12) /**< \brief Isi signal: ISI_D6 */ -#define PIO_PA27D_ISI_D7 (1u << 27) /**< \brief Isi signal: ISI_D7 */ -#define PIO_PD27D_ISI_D8 (1u << 27) /**< \brief Isi signal: ISI_D8 */ -#define PIO_PD28D_ISI_D9 (1u << 28) /**< \brief Isi signal: ISI_D9 */ -#define PIO_PD24D_ISI_HSYNC (1u << 24) /**< \brief Isi signal: ISI_HSYNC */ -#define PIO_PA24D_ISI_PCK (1u << 24) /**< \brief Isi signal: ISI_PCK */ -#define PIO_PD25D_ISI_VSYNC (1u << 25) /**< \brief Isi signal: ISI_VSYNC */ -/* ========== Pio definition for PIOA peripheral ========== */ -#define PIO_PA21X1_AFE0_AD1 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA21X1_PIODCEN2 (1u << 21) /**< \brief Pioa signal: AFE0_AD1/PIODCEN2 */ -#define PIO_PA3X1_PIODC0 (1u << 3) /**< \brief Pioa signal: PIODC0 */ -#define PIO_PA10X1_PIODC4 (1u << 10) /**< \brief Pioa signal: PIODC4 */ -#define PIO_PA12X1_PIODC6 (1u << 12) /**< \brief Pioa signal: PIODC6 */ -#define PIO_PA13X1_PIODC7 (1u << 13) /**< \brief Pioa signal: PIODC7 */ -#define PIO_PA22X1_PIODCCLK (1u << 22) /**< \brief Pioa signal: PIODCCLK */ -#define PIO_PA4X1_WKUP3 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA4X1_PIODC1 (1u << 4) /**< \brief Pioa signal: WKUP3/PIODC1 */ -#define PIO_PA5X1_WKUP4 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA5X1_PIODC2 (1u << 5) /**< \brief Pioa signal: WKUP4/PIODC2 */ -#define PIO_PA9X1_WKUP6 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA9X1_PIODC3 (1u << 9) /**< \brief Pioa signal: WKUP6/PIODC3 */ -#define PIO_PA11X1_WKUP7 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA11X1_PIODC5 (1u << 11) /**< \brief Pioa signal: WKUP7/PIODC5 */ -#define PIO_PA14X1_WKUP8 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -#define PIO_PA14X1_PIODCEN1 (1u << 14) /**< \brief Pioa signal: WKUP8/PIODCEN1 */ -/* ========== Pio definition for PMC peripheral ========== */ -#define PIO_PA6B_PCK0 (1u << 6) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB12D_PCK0 (1u << 12) /**< \brief Pmc signal: PCK0 */ -#define PIO_PB13B_PCK0 (1u << 13) /**< \brief Pmc signal: PCK0 */ -#define PIO_PA17B_PCK1 (1u << 17) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA21B_PCK1 (1u << 21) /**< \brief Pmc signal: PCK1 */ -#define PIO_PA3C_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA18B_PCK2 (1u << 18) /**< \brief Pmc signal: PCK2 */ -#define PIO_PA31B_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -#define PIO_PB3B_PCK2 (1u << 3) /**< \brief Pmc signal: PCK2 */ -#define PIO_PD31C_PCK2 (1u << 31) /**< \brief Pmc signal: PCK2 */ -/* ========== Pio definition for PWM0 peripheral ========== */ -#define PIO_PA10B_PWMC0_PWMEXTRG0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG0 */ -#define PIO_PA22B_PWMC0_PWMEXTRG1 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMEXTRG1 */ -#define PIO_PA9C_PWMC0_PWMFI0 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI0 */ -#define PIO_PD8B_PWMC0_PWMFI1 (1u << 8) /**< \brief Pwm0 signal: PWMC0_PWMFI1 */ -#define PIO_PD9B_PWMC0_PWMFI2 (1u << 9) /**< \brief Pwm0 signal: PWMC0_PWMFI2 */ -#define PIO_PA0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA23B_PWMC0_PWMH0 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PB0A_PWMC0_PWMH0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD11B_PWMC0_PWMH0 (1u << 11) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PD20A_PWMC0_PWMH0 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWMH0 */ -#define PIO_PA2A_PWMC0_PWMH1 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA12B_PWMC0_PWMH1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA24B_PWMC0_PWMH1 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PB1A_PWMC0_PWMH1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PD21A_PWMC0_PWMH1 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH1 */ -#define PIO_PA13B_PWMC0_PWMH2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA25B_PWMC0_PWMH2 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PB4B_PWMC0_PWMH2 (1u << 4) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PC19B_PWMC0_PWMH2 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PD22A_PWMC0_PWMH2 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWMH2 */ -#define PIO_PA7B_PWMC0_PWMH3 (1u << 7) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA14B_PWMC0_PWMH3 (1u << 14) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA17C_PWMC0_PWMH3 (1u << 17) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC13B_PWMC0_PWMH3 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PC21B_PWMC0_PWMH3 (1u << 21) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PD23A_PWMC0_PWMH3 (1u << 23) /**< \brief Pwm0 signal: PWMC0_PWMH3 */ -#define PIO_PA1A_PWMC0_PWML0 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA19B_PWMC0_PWML0 (1u << 19) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PB5B_PWMC0_PWML0 (1u << 5) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PC0B_PWMC0_PWML0 (1u << 0) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD10B_PWMC0_PWML0 (1u << 10) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PD24A_PWMC0_PWML0 (1u << 24) /**< \brief Pwm0 signal: PWMC0_PWML0 */ -#define PIO_PA20B_PWMC0_PWML1 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PB12A_PWMC0_PWML1 (1u << 12) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC1B_PWMC0_PWML1 (1u << 1) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PC18B_PWMC0_PWML1 (1u << 18) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PD25A_PWMC0_PWML1 (1u << 25) /**< \brief Pwm0 signal: PWMC0_PWML1 */ -#define PIO_PA16C_PWMC0_PWML2 (1u << 16) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA30A_PWMC0_PWML2 (1u << 30) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PB13A_PWMC0_PWML2 (1u << 13) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC2B_PWMC0_PWML2 (1u << 2) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PC20B_PWMC0_PWML2 (1u << 20) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PD26A_PWMC0_PWML2 (1u << 26) /**< \brief Pwm0 signal: PWMC0_PWML2 */ -#define PIO_PA15C_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC3B_PWMC0_PWML3 (1u << 3) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC15B_PWMC0_PWML3 (1u << 15) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PC22B_PWMC0_PWML3 (1u << 22) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -#define PIO_PD27A_PWMC0_PWML3 (1u << 27) /**< \brief Pwm0 signal: PWMC0_PWML3 */ -/* ========== Pio definition for PWM1 peripheral ========== */ -#define PIO_PA30B_PWMC1_PWMEXTRG0 (1u << 30) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG0 */ -#define PIO_PA18A_PWMC1_PWMEXTRG1 (1u << 18) /**< \brief Pwm1 signal: PWMC1_PWMEXTRG1 */ -#define PIO_PA21C_PWMC1_PWMFI0 (1u << 21) /**< \brief Pwm1 signal: PWMC1_PWMFI0 */ -#define PIO_PA26D_PWMC1_PWMFI1 (1u << 26) /**< \brief Pwm1 signal: PWMC1_PWMFI1 */ -#define PIO_PA28D_PWMC1_PWMFI2 (1u << 28) /**< \brief Pwm1 signal: PWMC1_PWMFI2 */ -#define PIO_PA12C_PWMC1_PWMH0 (1u << 12) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PD1B_PWMC1_PWMH0 (1u << 1) /**< \brief Pwm1 signal: PWMC1_PWMH0 */ -#define PIO_PA14C_PWMC1_PWMH1 (1u << 14) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PD3B_PWMC1_PWMH1 (1u << 3) /**< \brief Pwm1 signal: PWMC1_PWMH1 */ -#define PIO_PA31D_PWMC1_PWMH2 (1u << 31) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PD5B_PWMC1_PWMH2 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWMH2 */ -#define PIO_PA8A_PWMC1_PWMH3 (1u << 8) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PD7B_PWMC1_PWMH3 (1u << 7) /**< \brief Pwm1 signal: PWMC1_PWMH3 */ -#define PIO_PA11C_PWMC1_PWML0 (1u << 11) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PD0B_PWMC1_PWML0 (1u << 0) /**< \brief Pwm1 signal: PWMC1_PWML0 */ -#define PIO_PA13C_PWMC1_PWML1 (1u << 13) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PD2B_PWMC1_PWML1 (1u << 2) /**< \brief Pwm1 signal: PWMC1_PWML1 */ -#define PIO_PA23D_PWMC1_PWML2 (1u << 23) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PD4B_PWMC1_PWML2 (1u << 4) /**< \brief Pwm1 signal: PWMC1_PWML2 */ -#define PIO_PA5A_PWMC1_PWML3 (1u << 5) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -#define PIO_PD6B_PWMC1_PWML3 (1u << 6) /**< \brief Pwm1 signal: PWMC1_PWML3 */ -/* ========== Pio definition for QSPI peripheral ========== */ -#define PIO_PA11A_QCS (1u << 11) /**< \brief Qspi signal: QCS */ -#define PIO_PA13A_QIO0 (1u << 13) /**< \brief Qspi signal: QIO0 */ -#define PIO_PA12A_QIO1 (1u << 12) /**< \brief Qspi signal: QIO1 */ -#define PIO_PA17A_QIO2 (1u << 17) /**< \brief Qspi signal: QIO2 */ -#define PIO_PD31A_QIO3 (1u << 31) /**< \brief Qspi signal: QIO3 */ -#define PIO_PA14A_QSCK (1u << 14) /**< \brief Qspi signal: QSCK */ -/* ========== Pio definition for SPI0 peripheral ========== */ -#define PIO_PD20B_SPI0_MISO (1u << 20) /**< \brief Spi0 signal: SPI0_MISO */ -#define PIO_PD21B_SPI0_MOSI (1u << 21) /**< \brief Spi0 signal: SPI0_MOSI */ -#define PIO_PB2D_SPI0_NPCS0 (1u << 2) /**< \brief Spi0 signal: SPI0_NPCS0 */ -#define PIO_PA31A_SPI0_NPCS1 (1u << 31) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD25B_SPI0_NPCS1 (1u << 25) /**< \brief Spi0 signal: SPI0_NPCS1 */ -#define PIO_PD12C_SPI0_NPCS2 (1u << 12) /**< \brief Spi0 signal: SPI0_NPCS2 */ -#define PIO_PD27B_SPI0_NPCS3 (1u << 27) /**< \brief Spi0 signal: SPI0_NPCS3 */ -#define PIO_PD22B_SPI0_SPCK (1u << 22) /**< \brief Spi0 signal: SPI0_SPCK */ -/* ========== Pio definition for SPI1 peripheral ========== */ -#define PIO_PC26C_SPI1_MISO (1u << 26) /**< \brief Spi1 signal: SPI1_MISO */ -#define PIO_PC27C_SPI1_MOSI (1u << 27) /**< \brief Spi1 signal: SPI1_MOSI */ -#define PIO_PC25C_SPI1_NPCS0 (1u << 25) /**< \brief Spi1 signal: SPI1_NPCS0 */ -#define PIO_PC28C_SPI1_NPCS1 (1u << 28) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PD0C_SPI1_NPCS1 (1u << 0) /**< \brief Spi1 signal: SPI1_NPCS1 */ -#define PIO_PC29C_SPI1_NPCS2 (1u << 29) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PD1C_SPI1_NPCS2 (1u << 1) /**< \brief Spi1 signal: SPI1_NPCS2 */ -#define PIO_PC30C_SPI1_NPCS3 (1u << 30) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PD2C_SPI1_NPCS3 (1u << 2) /**< \brief Spi1 signal: SPI1_NPCS3 */ -#define PIO_PC24C_SPI1_SPCK (1u << 24) /**< \brief Spi1 signal: SPI1_SPCK */ -/* ========== Pio definition for SSC peripheral ========== */ -#define PIO_PA10C_RD (1u << 10) /**< \brief Ssc signal: RD */ -#define PIO_PD24B_RF (1u << 24) /**< \brief Ssc signal: RF */ -#define PIO_PA22A_RK (1u << 22) /**< \brief Ssc signal: RK */ -#define PIO_PB5D_TD (1u << 5) /**< \brief Ssc signal: TD */ -#define PIO_PD10C_TD (1u << 10) /**< \brief Ssc signal: TD */ -#define PIO_PD26B_TD (1u << 26) /**< \brief Ssc signal: TD */ -#define PIO_PB0D_TF (1u << 0) /**< \brief Ssc signal: TF */ -#define PIO_PB1D_TK (1u << 1) /**< \brief Ssc signal: TK */ -/* ========== Pio definition for TC0 peripheral ========== */ -#define PIO_PA4B_TCLK0 (1u << 4) /**< \brief Tc0 signal: TCLK0 */ -#define PIO_PA28B_TCLK1 (1u << 28) /**< \brief Tc0 signal: TCLK1 */ -#define PIO_PA29B_TCLK2 (1u << 29) /**< \brief Tc0 signal: TCLK2 */ -#define PIO_PA0B_TIOA0 (1u << 0) /**< \brief Tc0 signal: TIOA0 */ -#define PIO_PA15B_TIOA1 (1u << 15) /**< \brief Tc0 signal: TIOA1 */ -#define PIO_PA26B_TIOA2 (1u << 26) /**< \brief Tc0 signal: TIOA2 */ -#define PIO_PA1B_TIOB0 (1u << 1) /**< \brief Tc0 signal: TIOB0 */ -#define PIO_PA16B_TIOB1 (1u << 16) /**< \brief Tc0 signal: TIOB1 */ -#define PIO_PA27B_TIOB2 (1u << 27) /**< \brief Tc0 signal: TIOB2 */ -/* ========== Pio definition for TC1 peripheral ========== */ -#define PIO_PC25B_TCLK3 (1u << 25) /**< \brief Tc1 signal: TCLK3 */ -#define PIO_PC28B_TCLK4 (1u << 28) /**< \brief Tc1 signal: TCLK4 */ -#define PIO_PC31B_TCLK5 (1u << 31) /**< \brief Tc1 signal: TCLK5 */ -#define PIO_PC23B_TIOA3 (1u << 23) /**< \brief Tc1 signal: TIOA3 */ -#define PIO_PC26B_TIOA4 (1u << 26) /**< \brief Tc1 signal: TIOA4 */ -#define PIO_PC29B_TIOA5 (1u << 29) /**< \brief Tc1 signal: TIOA5 */ -#define PIO_PC24B_TIOB3 (1u << 24) /**< \brief Tc1 signal: TIOB3 */ -#define PIO_PC27B_TIOB4 (1u << 27) /**< \brief Tc1 signal: TIOB4 */ -#define PIO_PC30B_TIOB5 (1u << 30) /**< \brief Tc1 signal: TIOB5 */ -/* ========== Pio definition for TC2 peripheral ========== */ -#define PIO_PC7B_TCLK6 (1u << 7) /**< \brief Tc2 signal: TCLK6 */ -#define PIO_PC10B_TCLK7 (1u << 10) /**< \brief Tc2 signal: TCLK7 */ -#define PIO_PC14B_TCLK8 (1u << 14) /**< \brief Tc2 signal: TCLK8 */ -#define PIO_PC5B_TIOA6 (1u << 5) /**< \brief Tc2 signal: TIOA6 */ -#define PIO_PC8B_TIOA7 (1u << 8) /**< \brief Tc2 signal: TIOA7 */ -#define PIO_PC11B_TIOA8 (1u << 11) /**< \brief Tc2 signal: TIOA8 */ -#define PIO_PC6B_TIOB6 (1u << 6) /**< \brief Tc2 signal: TIOB6 */ -#define PIO_PC9B_TIOB7 (1u << 9) /**< \brief Tc2 signal: TIOB7 */ -#define PIO_PC12B_TIOB8 (1u << 12) /**< \brief Tc2 signal: TIOB8 */ -/* ========== Pio definition for TC3 peripheral ========== */ -#define PIO_PE5B_TCLK10 (1u << 5) /**< \brief Tc3 signal: TCLK10 */ -#define PIO_PD24C_TCLK11 (1u << 24) /**< \brief Tc3 signal: TCLK11 */ -#define PIO_PE2B_TCLK9 (1u << 2) /**< \brief Tc3 signal: TCLK9 */ -#define PIO_PE3B_TIOA10 (1u << 3) /**< \brief Tc3 signal: TIOA10 */ -#define PIO_PD21C_TIOA11 (1u << 21) /**< \brief Tc3 signal: TIOA11 */ -#define PIO_PE0B_TIOA9 (1u << 0) /**< \brief Tc3 signal: TIOA9 */ -#define PIO_PE4B_TIOB10 (1u << 4) /**< \brief Tc3 signal: TIOB10 */ -#define PIO_PD22C_TIOB11 (1u << 22) /**< \brief Tc3 signal: TIOB11 */ -#define PIO_PE1B_TIOB9 (1u << 1) /**< \brief Tc3 signal: TIOB9 */ -/* ========== Pio definition for TWIHS0 peripheral ========== */ -#define PIO_PA4A_TWCK0 (1u << 4) /**< \brief Twihs0 signal: TWCK0 */ -#define PIO_PA3A_TWD0 (1u << 3) /**< \brief Twihs0 signal: TWD0 */ -/* ========== Pio definition for TWIHS1 peripheral ========== */ -#define PIO_PB5A_TWCK1 (1u << 5) /**< \brief Twihs1 signal: TWCK1 */ -#define PIO_PB4A_TWD1 (1u << 4) /**< \brief Twihs1 signal: TWD1 */ -/* ========== Pio definition for TWIHS2 peripheral ========== */ -#define PIO_PD28C_TWCK2 (1u << 28) /**< \brief Twihs2 signal: TWCK2 */ -#define PIO_PD27C_TWD2 (1u << 27) /**< \brief Twihs2 signal: TWD2 */ -/* ========== Pio definition for UART0 peripheral ========== */ -#define PIO_PA9A_URXD0 (1u << 9) /**< \brief Uart0 signal: URXD0 */ -#define PIO_PA10A_UTXD0 (1u << 10) /**< \brief Uart0 signal: UTXD0 */ -/* ========== Pio definition for UART1 peripheral ========== */ -#define PIO_PA5C_URXD1 (1u << 5) /**< \brief Uart1 signal: URXD1 */ -#define PIO_PA4C_UTXD1 (1u << 4) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PA6C_UTXD1 (1u << 6) /**< \brief Uart1 signal: UTXD1 */ -#define PIO_PD26D_UTXD1 (1u << 26) /**< \brief Uart1 signal: UTXD1 */ -/* ========== Pio definition for UART2 peripheral ========== */ -#define PIO_PD25C_URXD2 (1u << 25) /**< \brief Uart2 signal: URXD2 */ -#define PIO_PD26C_UTXD2 (1u << 26) /**< \brief Uart2 signal: UTXD2 */ -/* ========== Pio definition for UART3 peripheral ========== */ -#define PIO_PD28A_URXD3 (1u << 28) /**< \brief Uart3 signal: URXD3 */ -#define PIO_PD30A_UTXD3 (1u << 30) /**< \brief Uart3 signal: UTXD3 */ -#define PIO_PD31B_UTXD3 (1u << 31) /**< \brief Uart3 signal: UTXD3 */ -/* ========== Pio definition for UART4 peripheral ========== */ -#define PIO_PD18C_URXD4 (1u << 18) /**< \brief Uart4 signal: URXD4 */ -#define PIO_PD3C_UTXD4 (1u << 3) /**< \brief Uart4 signal: UTXD4 */ -#define PIO_PD19C_UTXD4 (1u << 19) /**< \brief Uart4 signal: UTXD4 */ -/* ========== Pio definition for USART0 peripheral ========== */ -#define PIO_PB2C_CTS0 (1u << 2) /**< \brief Usart0 signal: CTS0 */ -#define PIO_PD0D_DCD0 (1u << 0) /**< \brief Usart0 signal: DCD0 */ -#define PIO_PD2D_DSR0 (1u << 2) /**< \brief Usart0 signal: DSR0 */ -#define PIO_PD1D_DTR0 (1u << 1) /**< \brief Usart0 signal: DTR0 */ -#define PIO_PD3D_RI0 (1u << 3) /**< \brief Usart0 signal: RI0 */ -#define PIO_PB3C_RTS0 (1u << 3) /**< \brief Usart0 signal: RTS0 */ -#define PIO_PB0C_RXD0 (1u << 0) /**< \brief Usart0 signal: RXD0 */ -#define PIO_PB13C_SCK0 (1u << 13) /**< \brief Usart0 signal: SCK0 */ -#define PIO_PB1C_TXD0 (1u << 1) /**< \brief Usart0 signal: TXD0 */ -/* ========== Pio definition for USART1 peripheral ========== */ -#define PIO_PA25A_CTS1 (1u << 25) /**< \brief Usart1 signal: CTS1 */ -#define PIO_PA26A_DCD1 (1u << 26) /**< \brief Usart1 signal: DCD1 */ -#define PIO_PA28A_DSR1 (1u << 28) /**< \brief Usart1 signal: DSR1 */ -#define PIO_PA27A_DTR1 (1u << 27) /**< \brief Usart1 signal: DTR1 */ -#define PIO_PA3B_LONCOL1 (1u << 3) /**< \brief Usart1 signal: LONCOL1 */ -#define PIO_PA29A_RI1 (1u << 29) /**< \brief Usart1 signal: RI1 */ -#define PIO_PA24A_RTS1 (1u << 24) /**< \brief Usart1 signal: RTS1 */ -#define PIO_PA21A_RXD1 (1u << 21) /**< \brief Usart1 signal: RXD1 */ -#define PIO_PA23A_SCK1 (1u << 23) /**< \brief Usart1 signal: SCK1 */ -#define PIO_PB4D_TXD1 (1u << 4) /**< \brief Usart1 signal: TXD1 */ -/* ========== Pio definition for USART2 peripheral ========== */ -#define PIO_PD19B_CTS2 (1u << 19) /**< \brief Usart2 signal: CTS2 */ -#define PIO_PD4D_DCD2 (1u << 4) /**< \brief Usart2 signal: DCD2 */ -#define PIO_PD6D_DSR2 (1u << 6) /**< \brief Usart2 signal: DSR2 */ -#define PIO_PD5D_DTR2 (1u << 5) /**< \brief Usart2 signal: DTR2 */ -#define PIO_PD7D_RI2 (1u << 7) /**< \brief Usart2 signal: RI2 */ -#define PIO_PD18B_RTS2 (1u << 18) /**< \brief Usart2 signal: RTS2 */ -#define PIO_PD15B_RXD2 (1u << 15) /**< \brief Usart2 signal: RXD2 */ -#define PIO_PD17B_SCK2 (1u << 17) /**< \brief Usart2 signal: SCK2 */ -#define PIO_PD16B_TXD2 (1u << 16) /**< \brief Usart2 signal: TXD2 */ -/* ========== Pio indexes ========== */ -#define PIO_PA0_IDX 0 -#define PIO_PA1_IDX 1 -#define PIO_PA2_IDX 2 -#define PIO_PA3_IDX 3 -#define PIO_PA4_IDX 4 -#define PIO_PA5_IDX 5 -#define PIO_PA6_IDX 6 -#define PIO_PA7_IDX 7 -#define PIO_PA8_IDX 8 -#define PIO_PA9_IDX 9 -#define PIO_PA10_IDX 10 -#define PIO_PA11_IDX 11 -#define PIO_PA12_IDX 12 -#define PIO_PA13_IDX 13 -#define PIO_PA14_IDX 14 -#define PIO_PA15_IDX 15 -#define PIO_PA16_IDX 16 -#define PIO_PA17_IDX 17 -#define PIO_PA18_IDX 18 -#define PIO_PA19_IDX 19 -#define PIO_PA20_IDX 20 -#define PIO_PA21_IDX 21 -#define PIO_PA22_IDX 22 -#define PIO_PA23_IDX 23 -#define PIO_PA24_IDX 24 -#define PIO_PA25_IDX 25 -#define PIO_PA26_IDX 26 -#define PIO_PA27_IDX 27 -#define PIO_PA28_IDX 28 -#define PIO_PA29_IDX 29 -#define PIO_PA30_IDX 30 -#define PIO_PA31_IDX 31 -#define PIO_PB0_IDX 32 -#define PIO_PB1_IDX 33 -#define PIO_PB2_IDX 34 -#define PIO_PB3_IDX 35 -#define PIO_PB4_IDX 36 -#define PIO_PB5_IDX 37 -#define PIO_PB6_IDX 38 -#define PIO_PB7_IDX 39 -#define PIO_PB8_IDX 40 -#define PIO_PB9_IDX 41 -#define PIO_PB12_IDX 44 -#define PIO_PB13_IDX 45 -#define PIO_PC0_IDX 64 -#define PIO_PC1_IDX 65 -#define PIO_PC2_IDX 66 -#define PIO_PC3_IDX 67 -#define PIO_PC4_IDX 68 -#define PIO_PC5_IDX 69 -#define PIO_PC6_IDX 70 -#define PIO_PC7_IDX 71 -#define PIO_PC8_IDX 72 -#define PIO_PC9_IDX 73 -#define PIO_PC10_IDX 74 -#define PIO_PC11_IDX 75 -#define PIO_PC12_IDX 76 -#define PIO_PC13_IDX 77 -#define PIO_PC14_IDX 78 -#define PIO_PC15_IDX 79 -#define PIO_PC16_IDX 80 -#define PIO_PC17_IDX 81 -#define PIO_PC18_IDX 82 -#define PIO_PC19_IDX 83 -#define PIO_PC20_IDX 84 -#define PIO_PC21_IDX 85 -#define PIO_PC22_IDX 86 -#define PIO_PC23_IDX 87 -#define PIO_PC24_IDX 88 -#define PIO_PC25_IDX 89 -#define PIO_PC26_IDX 90 -#define PIO_PC27_IDX 91 -#define PIO_PC28_IDX 92 -#define PIO_PC29_IDX 93 -#define PIO_PC30_IDX 94 -#define PIO_PC31_IDX 95 -#define PIO_PD0_IDX 96 -#define PIO_PD1_IDX 97 -#define PIO_PD2_IDX 98 -#define PIO_PD3_IDX 99 -#define PIO_PD4_IDX 100 -#define PIO_PD5_IDX 101 -#define PIO_PD6_IDX 102 -#define PIO_PD7_IDX 103 -#define PIO_PD8_IDX 104 -#define PIO_PD9_IDX 105 -#define PIO_PD10_IDX 106 -#define PIO_PD11_IDX 107 -#define PIO_PD12_IDX 108 -#define PIO_PD13_IDX 109 -#define PIO_PD14_IDX 110 -#define PIO_PD15_IDX 111 -#define PIO_PD16_IDX 112 -#define PIO_PD17_IDX 113 -#define PIO_PD18_IDX 114 -#define PIO_PD19_IDX 115 -#define PIO_PD20_IDX 116 -#define PIO_PD21_IDX 117 -#define PIO_PD22_IDX 118 -#define PIO_PD23_IDX 119 -#define PIO_PD24_IDX 120 -#define PIO_PD25_IDX 121 -#define PIO_PD26_IDX 122 -#define PIO_PD27_IDX 123 -#define PIO_PD28_IDX 124 -#define PIO_PD29_IDX 125 -#define PIO_PD30_IDX 126 -#define PIO_PD31_IDX 127 -#define PIO_PE0_IDX 128 -#define PIO_PE1_IDX 129 -#define PIO_PE2_IDX 130 -#define PIO_PE3_IDX 131 -#define PIO_PE4_IDX 132 -#define PIO_PE5_IDX 133 - -#endif /* _SAMS70Q21_PIO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70.h deleted file mode 100644 index aca1034..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70.h +++ /dev/null @@ -1,69 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ -#ifndef _SAMS70_ -#define _SAMS70_ - -#if defined (__SAMS70J19__) -#include "sams70j19.h" -#elif defined (__SAMS70J20__) -#include "sams70j20.h" -#elif defined (__SAMS70J21__) -#include "sams70j21.h" -#elif defined (__SAMS70N19__) -#include "sams70n19.h" -#elif defined (__SAMS70N20__) -#include "sams70n20.h" -#elif defined (__SAMS70N21__) -#include "sams70n21.h" -#elif defined (__SAMS70Q19__) -#include "sams70q19.h" -#elif defined (__SAMS70Q20__) -#include "sams70q20.h" -#elif defined (__SAMS70Q21__) -#include "sams70q21.h" -#else - #error Library does not support the specified device. -#endif - -#endif /* _SAMS70_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h deleted file mode 100644 index f4edaa2..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j19.h +++ /dev/null @@ -1,618 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J19_ -#define _SAMS70J19_ - -/** \addtogroup SAMS70J19_definitions SAMS70J19 definitions - This file defines all structures and symbols for SAMS70J19: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70J19 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70J19 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70J19 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70J19 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70J19 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70J19 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70J19 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70J19 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70J19 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70J19 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70J19 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70J19 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70J19 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70J19 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70J19 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70J19 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70J19 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70J19 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70J19 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70J19 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70J19 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70J19 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70J19 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70J19 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70J19 Analog Front End 0 (AFEC0) */ - PWM0_IRQn = 31, /**< 31 SAMS70J19 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70J19 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70J19 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70J19 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70J19 Analog Front End 1 (AFEC1) */ - SPI1_IRQn = 42, /**< 42 SAMS70J19 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70J19 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70J19 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70J19 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70J19 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70J19 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70J19 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70J19 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70J19 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70J19 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70J19 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70J19 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70J19 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70J19 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pvReserved30; - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pvReserved41; - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70J19 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70J19 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70J19 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70J19 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70J19 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70J19 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70J19 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70J19 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70J19 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J19_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70j19.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x80000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (1024u) -#define IFLASH_NB_OF_LOCK_BITS (32u) -#define IRAM_SIZE (0x40000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA11D0A00UL) -#define CHIP_EXID (0x00000000UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70J19 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70J19_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h deleted file mode 100644 index e2fd998..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j20.h +++ /dev/null @@ -1,625 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J20_ -#define _SAMS70J20_ - -/** \addtogroup SAMS70J20_definitions SAMS70J20 definitions - This file defines all structures and symbols for SAMS70J20: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70J20 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70J20 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70J20 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70J20 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70J20 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70J20 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70J20 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70J20 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70J20 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70J20 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70J20 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70J20 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70J20 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70J20 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70J20 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70J20 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70J20 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70J20 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70J20 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70J20 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70J20 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70J20 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70J20 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70J20 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70J20 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70J20 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70J20 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70J20 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70J20 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70J20 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70J20 Analog Front End 1 (AFEC1) */ - SPI1_IRQn = 42, /**< 42 SAMS70J20 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70J20 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70J20 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70J20 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70J20 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70J20 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70J20 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70J20 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70J20 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70J20 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70J20 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70J20 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70J20 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70J20 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pvReserved41; - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70J20 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70J20 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70J20 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70J20 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70J20 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70J20 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70J20 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70J20 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70J20 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J20_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70j20.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x100000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (2048u) -#define IFLASH_NB_OF_LOCK_BITS (64u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120C00UL) -#define CHIP_EXID (0x00000000UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70J20 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70J20_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h deleted file mode 100644 index b554f03..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70j21.h +++ /dev/null @@ -1,625 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70J21_ -#define _SAMS70J21_ - -/** \addtogroup SAMS70J21_definitions SAMS70J21 definitions - This file defines all structures and symbols for SAMS70J21: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70J21 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70J21 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70J21 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70J21 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70J21 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70J21 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70J21 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70J21 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70J21 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70J21 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70J21 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70J21 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70J21 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70J21 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70J21 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70J21 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70J21 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70J21 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70J21 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70J21 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70J21 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70J21 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70J21 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70J21 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70J21 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70J21 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70J21 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70J21 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70J21 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70J21 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70J21 Analog Front End 1 (AFEC1) */ - SPI1_IRQn = 42, /**< 42 SAMS70J21 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70J21 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70J21 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70J21 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70J21 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70J21 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70J21 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70J21 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70J21 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70J21 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70J21 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70J21 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70J21 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70J21 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pvReserved41; - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70J21 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70J21 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70J21 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70J21 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70J21 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70J21 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70J21 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70J21 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70J21 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70J21_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70j21.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x200000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (4096u) -#define IFLASH_NB_OF_LOCK_BITS (128u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120E00UL) -#define CHIP_EXID (0x00000000UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70J21 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70J21_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h deleted file mode 100644 index 1957933..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n19.h +++ /dev/null @@ -1,631 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N19_ -#define _SAMS70N19_ - -/** \addtogroup SAMS70N19_definitions SAMS70N19 definitions - This file defines all structures and symbols for SAMS70N19: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70N19 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70N19 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70N19 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70N19 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70N19 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70N19 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70N19 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70N19 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70N19 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70N19 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70N19 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70N19 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70N19 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70N19 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70N19 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70N19 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70N19 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70N19 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70N19 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70N19 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70N19 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70N19 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70N19 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70N19 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70N19 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70N19 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70N19 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70N19 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70N19 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70N19 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70N19 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70N19 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70N19 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70N19 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70N19 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70N19 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70N19 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70N19 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70N19 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70N19 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70N19 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70N19 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70N19 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70N19 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70N19 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70N19 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70N19 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70N19 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70N19 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70N19 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70N19 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70N19 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70N19 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70N19 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70N19 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N19_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70n19.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x80000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (1024u) -#define IFLASH_NB_OF_LOCK_BITS (32u) -#define IRAM_SIZE (0x40000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA11D0A00UL) -#define CHIP_EXID (0x00000001UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70N19 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70N19_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h deleted file mode 100644 index fabfc0c..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n20.h +++ /dev/null @@ -1,624 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N20_ -#define _SAMS70N20_ - -/** \addtogroup SAMS70N20_definitions SAMS70N20 definitions - This file defines all structures and symbols for SAMS70N20: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70N20 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70N20 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70N20 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70N20 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70N20 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70N20 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70N20 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70N20 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70N20 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70N20 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70N20 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70N20 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70N20 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70N20 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70N20 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70N20 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70N20 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70N20 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70N20 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70N20 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70N20 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70N20 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70N20 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70N20 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70N20 Analog Front End 0 (AFEC0) */ - PWM0_IRQn = 31, /**< 31 SAMS70N20 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70N20 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70N20 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70N20 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70N20 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70N20 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70N20 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70N20 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70N20 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70N20 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70N20 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70N20 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70N20 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70N20 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70N20 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70N20 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70N20 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70N20 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70N20 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70N20 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pvReserved30; - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70N20 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70N20 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70N20 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70N20 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70N20 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70N20 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70N20 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70N20 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70N20 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N20_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70n20.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x100000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (2048u) -#define IFLASH_NB_OF_LOCK_BITS (64u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120C00UL) -#define CHIP_EXID (0x00000001UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70N20 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70N20_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h deleted file mode 100644 index 2e98fd9..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70n21.h +++ /dev/null @@ -1,624 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70N21_ -#define _SAMS70N21_ - -/** \addtogroup SAMS70N21_definitions SAMS70N21 definitions - This file defines all structures and symbols for SAMS70N21: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70N21 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70N21 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70N21 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70N21 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70N21 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70N21 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70N21 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70N21 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70N21 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70N21 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70N21 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70N21 Parallel I/O Controller B (PIOB) */ - USART0_IRQn = 13, /**< 13 SAMS70N21 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70N21 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70N21 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70N21 Parallel I/O Controller D (PIOD) */ - HSMCI_IRQn = 18, /**< 18 SAMS70N21 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70N21 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70N21 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70N21 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70N21 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70N21 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70N21 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70N21 Timer/Counter 2 (TC2) */ - AFEC0_IRQn = 29, /**< 29 SAMS70N21 Analog Front End 0 (AFEC0) */ - PWM0_IRQn = 31, /**< 31 SAMS70N21 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70N21 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70N21 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70N21 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70N21 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70N21 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70N21 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70N21 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70N21 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70N21 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70N21 UART 4 (UART4) */ - TC9_IRQn = 50, /**< 50 SAMS70N21 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70N21 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70N21 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70N21 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70N21 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70N21 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70N21 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70N21 Pulse Width Modulation 1 (PWM1) */ - RSWDT_IRQn = 63, /**< 63 SAMS70N21 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pvReserved12; - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pvReserved17; - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pvReserved26; - void* pvReserved27; - void* pvReserved28; - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pvReserved30; - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pvReserved47; - void* pvReserved48; - void* pvReserved49; - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pvReserved62; - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOD_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70N21 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70N21 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70N21 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70N21 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70N21 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70N21 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70N21 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70N21 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70N21 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/piod.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70N21_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70n21.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x200000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (4096u) -#define IFLASH_NB_OF_LOCK_BITS (128u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120E00UL) -#define CHIP_EXID (0x00000001UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70N21 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70N21_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h deleted file mode 100644 index ef33389..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q19.h +++ /dev/null @@ -1,679 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q19_ -#define _SAMS70Q19_ - -/** \addtogroup SAMS70Q19_definitions SAMS70Q19 definitions - This file defines all structures and symbols for SAMS70Q19: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70Q19 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70Q19 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70Q19 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70Q19 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70Q19 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70Q19 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70Q19 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70Q19 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70Q19 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70Q19 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70Q19 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70Q19 Parallel I/O Controller B (PIOB) */ - PIOC_IRQn = 12, /**< 12 SAMS70Q19 Parallel I/O Controller C (PIOC) */ - USART0_IRQn = 13, /**< 13 SAMS70Q19 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70Q19 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70Q19 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70Q19 Parallel I/O Controller D (PIOD) */ - PIOE_IRQn = 17, /**< 17 SAMS70Q19 Parallel I/O Controller E (PIOE) */ - HSMCI_IRQn = 18, /**< 18 SAMS70Q19 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70Q19 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70Q19 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70Q19 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70Q19 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70Q19 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70Q19 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70Q19 Timer/Counter 2 (TC2) */ - TC3_IRQn = 26, /**< 26 SAMS70Q19 Timer/Counter 3 (TC3) */ - TC4_IRQn = 27, /**< 27 SAMS70Q19 Timer/Counter 4 (TC4) */ - TC5_IRQn = 28, /**< 28 SAMS70Q19 Timer/Counter 5 (TC5) */ - AFEC0_IRQn = 29, /**< 29 SAMS70Q19 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70Q19 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70Q19 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70Q19 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70Q19 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70Q19 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70Q19 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70Q19 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70Q19 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70Q19 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70Q19 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70Q19 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70Q19 UART 4 (UART4) */ - TC6_IRQn = 47, /**< 47 SAMS70Q19 Timer/Counter 6 (TC6) */ - TC7_IRQn = 48, /**< 48 SAMS70Q19 Timer/Counter 7 (TC7) */ - TC8_IRQn = 49, /**< 49 SAMS70Q19 Timer/Counter 8 (TC8) */ - TC9_IRQn = 50, /**< 50 SAMS70Q19 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70Q19 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70Q19 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70Q19 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70Q19 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70Q19 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70Q19 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70Q19 Pulse Width Modulation 1 (PWM1) */ - SDRAMC_IRQn = 62, /**< 62 SAMS70Q19 SDRAM Controller (SDRAMC) */ - RSWDT_IRQn = 63, /**< 63 SAMS70Q19 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pfnPIOC_Handler; /* 12 Parallel I/O Controller C */ - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pfnPIOE_Handler; /* 17 Parallel I/O Controller E */ - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pfnTC3_Handler; /* 26 Timer/Counter 3 */ - void* pfnTC4_Handler; /* 27 Timer/Counter 4 */ - void* pfnTC5_Handler; /* 28 Timer/Counter 5 */ - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pfnTC6_Handler; /* 47 Timer/Counter 6 */ - void* pfnTC7_Handler; /* 48 Timer/Counter 7 */ - void* pfnTC8_Handler; /* 49 Timer/Counter 8 */ - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pfnSDRAMC_Handler; /* 62 SDRAM Controller */ - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOC_Handler ( void ); -void PIOD_Handler ( void ); -void PIOE_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SDRAMC_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void TC8_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70Q19 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70Q19 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70Q19 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70Q19 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70Q19 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70Q19 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70Q19 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70Q19 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70Q19 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/sdramc.h" -#include "component/smc.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/smc.h" -#include "instance/sdramc.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/pioc.h" -#include "instance/piod.h" -#include "instance/pioe.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_SMC ( 9) /**< \brief Static Memory Controller (SMC) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_PIOC (12) /**< \brief Parallel I/O Controller C (PIOC) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_PIOE (17) /**< \brief Parallel I/O Controller E (PIOE) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_TC3 (26) /**< \brief Timer/Counter 3 (TC3) */ -#define ID_TC4 (27) /**< \brief Timer/Counter 4 (TC4) */ -#define ID_TC5 (28) /**< \brief Timer/Counter 5 (TC5) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC6 (47) /**< \brief Timer/Counter 6 (TC6) */ -#define ID_TC7 (48) /**< \brief Timer/Counter 7 (TC7) */ -#define ID_TC8 (49) /**< \brief Timer/Counter 8 (TC8) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_SDRAMC (62) /**< \brief SDRAM Controller (SDRAMC) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 (0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 (0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC (0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC (0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC (0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE (0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 ((Tc *)0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 ((Tc *)0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC ((Smc *)0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC ((Sdramc *)0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC ((Pio *)0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE ((Pio *)0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q19_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70q19.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x80000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (1024u) -#define IFLASH_NB_OF_LOCK_BITS (32u) -#define IRAM_SIZE (0x40000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA11D0A00UL) -#define CHIP_EXID (0x00000002UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70Q19 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70Q19_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h deleted file mode 100644 index bfadf15..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q20.h +++ /dev/null @@ -1,679 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q20_ -#define _SAMS70Q20_ - -/** \addtogroup SAMS70Q20_definitions SAMS70Q20 definitions - This file defines all structures and symbols for SAMS70Q20: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70Q20 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70Q20 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70Q20 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70Q20 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70Q20 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70Q20 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70Q20 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70Q20 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70Q20 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70Q20 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70Q20 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70Q20 Parallel I/O Controller B (PIOB) */ - PIOC_IRQn = 12, /**< 12 SAMS70Q20 Parallel I/O Controller C (PIOC) */ - USART0_IRQn = 13, /**< 13 SAMS70Q20 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70Q20 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70Q20 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70Q20 Parallel I/O Controller D (PIOD) */ - PIOE_IRQn = 17, /**< 17 SAMS70Q20 Parallel I/O Controller E (PIOE) */ - HSMCI_IRQn = 18, /**< 18 SAMS70Q20 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70Q20 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70Q20 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70Q20 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70Q20 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70Q20 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70Q20 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70Q20 Timer/Counter 2 (TC2) */ - TC3_IRQn = 26, /**< 26 SAMS70Q20 Timer/Counter 3 (TC3) */ - TC4_IRQn = 27, /**< 27 SAMS70Q20 Timer/Counter 4 (TC4) */ - TC5_IRQn = 28, /**< 28 SAMS70Q20 Timer/Counter 5 (TC5) */ - AFEC0_IRQn = 29, /**< 29 SAMS70Q20 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70Q20 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70Q20 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70Q20 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70Q20 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70Q20 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70Q20 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70Q20 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70Q20 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70Q20 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70Q20 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70Q20 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70Q20 UART 4 (UART4) */ - TC6_IRQn = 47, /**< 47 SAMS70Q20 Timer/Counter 6 (TC6) */ - TC7_IRQn = 48, /**< 48 SAMS70Q20 Timer/Counter 7 (TC7) */ - TC8_IRQn = 49, /**< 49 SAMS70Q20 Timer/Counter 8 (TC8) */ - TC9_IRQn = 50, /**< 50 SAMS70Q20 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70Q20 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70Q20 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70Q20 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70Q20 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70Q20 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70Q20 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70Q20 Pulse Width Modulation 1 (PWM1) */ - SDRAMC_IRQn = 62, /**< 62 SAMS70Q20 SDRAM Controller (SDRAMC) */ - RSWDT_IRQn = 63, /**< 63 SAMS70Q20 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pfnPIOC_Handler; /* 12 Parallel I/O Controller C */ - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pfnPIOE_Handler; /* 17 Parallel I/O Controller E */ - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pfnTC3_Handler; /* 26 Timer/Counter 3 */ - void* pfnTC4_Handler; /* 27 Timer/Counter 4 */ - void* pfnTC5_Handler; /* 28 Timer/Counter 5 */ - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pfnTC6_Handler; /* 47 Timer/Counter 6 */ - void* pfnTC7_Handler; /* 48 Timer/Counter 7 */ - void* pfnTC8_Handler; /* 49 Timer/Counter 8 */ - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pfnSDRAMC_Handler; /* 62 SDRAM Controller */ - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOC_Handler ( void ); -void PIOD_Handler ( void ); -void PIOE_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SDRAMC_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void TC8_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70Q20 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70Q20 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70Q20 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70Q20 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70Q20 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70Q20 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70Q20 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70Q20 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70Q20 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/sdramc.h" -#include "component/smc.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/smc.h" -#include "instance/sdramc.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/pioc.h" -#include "instance/piod.h" -#include "instance/pioe.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_SMC ( 9) /**< \brief Static Memory Controller (SMC) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_PIOC (12) /**< \brief Parallel I/O Controller C (PIOC) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_PIOE (17) /**< \brief Parallel I/O Controller E (PIOE) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_TC3 (26) /**< \brief Timer/Counter 3 (TC3) */ -#define ID_TC4 (27) /**< \brief Timer/Counter 4 (TC4) */ -#define ID_TC5 (28) /**< \brief Timer/Counter 5 (TC5) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC6 (47) /**< \brief Timer/Counter 6 (TC6) */ -#define ID_TC7 (48) /**< \brief Timer/Counter 7 (TC7) */ -#define ID_TC8 (49) /**< \brief Timer/Counter 8 (TC8) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_SDRAMC (62) /**< \brief SDRAM Controller (SDRAMC) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 (0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 (0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC (0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC (0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC (0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE (0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 ((Tc *)0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 ((Tc *)0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC ((Smc *)0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC ((Sdramc *)0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC ((Pio *)0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE ((Pio *)0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q20_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70q20.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x100000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (2048u) -#define IFLASH_NB_OF_LOCK_BITS (64u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120C00UL) -#define CHIP_EXID (0x00000002UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70Q20 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70Q20_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h deleted file mode 100644 index 10bb674..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/include/sams70q21.h +++ /dev/null @@ -1,679 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAMS70Q21_ -#define _SAMS70Q21_ - -/** \addtogroup SAMS70Q21_definitions SAMS70Q21 definitions - This file defines all structures and symbols for SAMS70Q21: - - registers and bitfields - - peripheral base address - - peripheral ID - - PIO definitions -*/ -/*@{*/ - -#ifdef __cplusplus - extern "C" { -#endif - -#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#include <stdint.h> -#endif - -/* ************************************************************************** */ -/* CMSIS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_cmsis CMSIS Definitions */ -/*@{*/ - -/**< Interrupt Number Definition */ -typedef enum IRQn -{ -/****** Cortex-M7 Processor Exceptions Numbers ******************************/ - NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ - HardFault_IRQn = -13, /**< 3 HardFault Interrupt */ - MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */ - BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */ - SVCall_IRQn = -5, /**< 11 Cortex-M7 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /**< 12 Cortex-M7 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /**< 14 Cortex-M7 Pend SV Interrupt */ - SysTick_IRQn = -1, /**< 15 Cortex-M7 System Tick Interrupt */ -/****** SAMS70Q21 specific Interrupt Numbers *********************************/ - - SUPC_IRQn = 0, /**< 0 SAMS70Q21 Supply Controller (SUPC) */ - RSTC_IRQn = 1, /**< 1 SAMS70Q21 Reset Controller (RSTC) */ - RTC_IRQn = 2, /**< 2 SAMS70Q21 Real Time Clock (RTC) */ - RTT_IRQn = 3, /**< 3 SAMS70Q21 Real Time Timer (RTT) */ - WDT_IRQn = 4, /**< 4 SAMS70Q21 Watchdog Timer (WDT) */ - PMC_IRQn = 5, /**< 5 SAMS70Q21 Power Management Controller (PMC) */ - EFC_IRQn = 6, /**< 6 SAMS70Q21 Enhanced Embedded Flash Controller (EFC) */ - UART0_IRQn = 7, /**< 7 SAMS70Q21 UART 0 (UART0) */ - UART1_IRQn = 8, /**< 8 SAMS70Q21 UART 1 (UART1) */ - PIOA_IRQn = 10, /**< 10 SAMS70Q21 Parallel I/O Controller A (PIOA) */ - PIOB_IRQn = 11, /**< 11 SAMS70Q21 Parallel I/O Controller B (PIOB) */ - PIOC_IRQn = 12, /**< 12 SAMS70Q21 Parallel I/O Controller C (PIOC) */ - USART0_IRQn = 13, /**< 13 SAMS70Q21 USART 0 (USART0) */ - USART1_IRQn = 14, /**< 14 SAMS70Q21 USART 1 (USART1) */ - USART2_IRQn = 15, /**< 15 SAMS70Q21 USART 2 (USART2) */ - PIOD_IRQn = 16, /**< 16 SAMS70Q21 Parallel I/O Controller D (PIOD) */ - PIOE_IRQn = 17, /**< 17 SAMS70Q21 Parallel I/O Controller E (PIOE) */ - HSMCI_IRQn = 18, /**< 18 SAMS70Q21 Multimedia Card Interface (HSMCI) */ - TWIHS0_IRQn = 19, /**< 19 SAMS70Q21 Two Wire Interface 0 HS (TWIHS0) */ - TWIHS1_IRQn = 20, /**< 20 SAMS70Q21 Two Wire Interface 1 HS (TWIHS1) */ - SPI0_IRQn = 21, /**< 21 SAMS70Q21 Serial Peripheral Interface 0 (SPI0) */ - SSC_IRQn = 22, /**< 22 SAMS70Q21 Synchronous Serial Controller (SSC) */ - TC0_IRQn = 23, /**< 23 SAMS70Q21 Timer/Counter 0 (TC0) */ - TC1_IRQn = 24, /**< 24 SAMS70Q21 Timer/Counter 1 (TC1) */ - TC2_IRQn = 25, /**< 25 SAMS70Q21 Timer/Counter 2 (TC2) */ - TC3_IRQn = 26, /**< 26 SAMS70Q21 Timer/Counter 3 (TC3) */ - TC4_IRQn = 27, /**< 27 SAMS70Q21 Timer/Counter 4 (TC4) */ - TC5_IRQn = 28, /**< 28 SAMS70Q21 Timer/Counter 5 (TC5) */ - AFEC0_IRQn = 29, /**< 29 SAMS70Q21 Analog Front End 0 (AFEC0) */ - DACC_IRQn = 30, /**< 30 SAMS70Q21 Digital To Analog Converter (DACC) */ - PWM0_IRQn = 31, /**< 31 SAMS70Q21 Pulse Width Modulation 0 (PWM0) */ - ICM_IRQn = 32, /**< 32 SAMS70Q21 Integrity Check Monitor (ICM) */ - ACC_IRQn = 33, /**< 33 SAMS70Q21 Analog Comparator (ACC) */ - USBHS_IRQn = 34, /**< 34 SAMS70Q21 USB Host / Device Controller (USBHS) */ - AFEC1_IRQn = 40, /**< 40 SAMS70Q21 Analog Front End 1 (AFEC1) */ - TWIHS2_IRQn = 41, /**< 41 SAMS70Q21 Two Wire Interface 2 HS (TWIHS2) */ - SPI1_IRQn = 42, /**< 42 SAMS70Q21 Serial Peripheral Interface 1 (SPI1) */ - QSPI_IRQn = 43, /**< 43 SAMS70Q21 Quad I/O Serial Peripheral Interface (QSPI) */ - UART2_IRQn = 44, /**< 44 SAMS70Q21 UART 2 (UART2) */ - UART3_IRQn = 45, /**< 45 SAMS70Q21 UART 3 (UART3) */ - UART4_IRQn = 46, /**< 46 SAMS70Q21 UART 4 (UART4) */ - TC6_IRQn = 47, /**< 47 SAMS70Q21 Timer/Counter 6 (TC6) */ - TC7_IRQn = 48, /**< 48 SAMS70Q21 Timer/Counter 7 (TC7) */ - TC8_IRQn = 49, /**< 49 SAMS70Q21 Timer/Counter 8 (TC8) */ - TC9_IRQn = 50, /**< 50 SAMS70Q21 Timer/Counter 9 (TC9) */ - TC10_IRQn = 51, /**< 51 SAMS70Q21 Timer/Counter 10 (TC10) */ - TC11_IRQn = 52, /**< 52 SAMS70Q21 Timer/Counter 11 (TC11) */ - AES_IRQn = 56, /**< 56 SAMS70Q21 AES (AES) */ - TRNG_IRQn = 57, /**< 57 SAMS70Q21 True Random Generator (TRNG) */ - XDMAC_IRQn = 58, /**< 58 SAMS70Q21 DMA (XDMAC) */ - ISI_IRQn = 59, /**< 59 SAMS70Q21 Camera Interface (ISI) */ - PWM1_IRQn = 60, /**< 60 SAMS70Q21 Pulse Width Modulation 1 (PWM1) */ - SDRAMC_IRQn = 62, /**< 62 SAMS70Q21 SDRAM Controller (SDRAMC) */ - RSWDT_IRQn = 63, /**< 63 SAMS70Q21 Reinforced Secure Watchdog Timer (RSWDT) */ - - PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */ -} IRQn_Type; - -typedef struct _DeviceVectors -{ - /* Stack pointer */ - void* pvStack; - - /* Cortex-M handlers */ - void* pfnReset_Handler; - void* pfnNMI_Handler; - void* pfnHardFault_Handler; - void* pfnMemManage_Handler; - void* pfnBusFault_Handler; - void* pfnUsageFault_Handler; - void* pfnReserved1_Handler; - void* pfnReserved2_Handler; - void* pfnReserved3_Handler; - void* pfnReserved4_Handler; - void* pfnSVC_Handler; - void* pfnDebugMon_Handler; - void* pfnReserved5_Handler; - void* pfnPendSV_Handler; - void* pfnSysTick_Handler; - - /* Peripheral handlers */ - void* pfnSUPC_Handler; /* 0 Supply Controller */ - void* pfnRSTC_Handler; /* 1 Reset Controller */ - void* pfnRTC_Handler; /* 2 Real Time Clock */ - void* pfnRTT_Handler; /* 3 Real Time Timer */ - void* pfnWDT_Handler; /* 4 Watchdog Timer */ - void* pfnPMC_Handler; /* 5 Power Management Controller */ - void* pfnEFC_Handler; /* 6 Enhanced Embedded Flash Controller */ - void* pfnUART0_Handler; /* 7 UART 0 */ - void* pfnUART1_Handler; /* 8 UART 1 */ - void* pvReserved9; - void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A */ - void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ - void* pfnPIOC_Handler; /* 12 Parallel I/O Controller C */ - void* pfnUSART0_Handler; /* 13 USART 0 */ - void* pfnUSART1_Handler; /* 14 USART 1 */ - void* pfnUSART2_Handler; /* 15 USART 2 */ - void* pfnPIOD_Handler; /* 16 Parallel I/O Controller D */ - void* pfnPIOE_Handler; /* 17 Parallel I/O Controller E */ - void* pfnHSMCI_Handler; /* 18 Multimedia Card Interface */ - void* pfnTWIHS0_Handler; /* 19 Two Wire Interface 0 HS */ - void* pfnTWIHS1_Handler; /* 20 Two Wire Interface 1 HS */ - void* pfnSPI0_Handler; /* 21 Serial Peripheral Interface 0 */ - void* pfnSSC_Handler; /* 22 Synchronous Serial Controller */ - void* pfnTC0_Handler; /* 23 Timer/Counter 0 */ - void* pfnTC1_Handler; /* 24 Timer/Counter 1 */ - void* pfnTC2_Handler; /* 25 Timer/Counter 2 */ - void* pfnTC3_Handler; /* 26 Timer/Counter 3 */ - void* pfnTC4_Handler; /* 27 Timer/Counter 4 */ - void* pfnTC5_Handler; /* 28 Timer/Counter 5 */ - void* pfnAFEC0_Handler; /* 29 Analog Front End 0 */ - void* pfnDACC_Handler; /* 30 Digital To Analog Converter */ - void* pfnPWM0_Handler; /* 31 Pulse Width Modulation 0 */ - void* pfnICM_Handler; /* 32 Integrity Check Monitor */ - void* pfnACC_Handler; /* 33 Analog Comparator */ - void* pfnUSBHS_Handler; /* 34 USB Host / Device Controller */ - void* pvReserved35; - void* pvReserved36; - void* pvReserved37; - void* pvReserved38; - void* pvReserved39; - void* pfnAFEC1_Handler; /* 40 Analog Front End 1 */ - void* pfnTWIHS2_Handler; /* 41 Two Wire Interface 2 HS */ - void* pfnSPI1_Handler; /* 42 Serial Peripheral Interface 1 */ - void* pfnQSPI_Handler; /* 43 Quad I/O Serial Peripheral Interface */ - void* pfnUART2_Handler; /* 44 UART 2 */ - void* pfnUART3_Handler; /* 45 UART 3 */ - void* pfnUART4_Handler; /* 46 UART 4 */ - void* pfnTC6_Handler; /* 47 Timer/Counter 6 */ - void* pfnTC7_Handler; /* 48 Timer/Counter 7 */ - void* pfnTC8_Handler; /* 49 Timer/Counter 8 */ - void* pfnTC9_Handler; /* 50 Timer/Counter 9 */ - void* pfnTC10_Handler; /* 51 Timer/Counter 10 */ - void* pfnTC11_Handler; /* 52 Timer/Counter 11 */ - void* pvReserved53; - void* pvReserved54; - void* pvReserved55; - void* pfnAES_Handler; /* 56 AES */ - void* pfnTRNG_Handler; /* 57 True Random Generator */ - void* pfnXDMAC_Handler; /* 58 DMA */ - void* pfnISI_Handler; /* 59 Camera Interface */ - void* pfnPWM1_Handler; /* 60 Pulse Width Modulation 1 */ - void* pvReserved61; - void* pfnSDRAMC_Handler; /* 62 SDRAM Controller */ - void* pfnRSWDT_Handler; /* 63 Reinforced Secure Watchdog Timer */ -} DeviceVectors; - -/* Cortex-M7 core handlers */ -void Reset_Handler ( void ); -void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void MemManage_Handler ( void ); -void BusFault_Handler ( void ); -void UsageFault_Handler ( void ); -void SVC_Handler ( void ); -void DebugMon_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); - -/* Peripherals handlers */ -void ACC_Handler ( void ); -void AES_Handler ( void ); -void AFEC0_Handler ( void ); -void AFEC1_Handler ( void ); -void DACC_Handler ( void ); -void EFC_Handler ( void ); -void HSMCI_Handler ( void ); -void ICM_Handler ( void ); -void ISI_Handler ( void ); -void PIOA_Handler ( void ); -void PIOB_Handler ( void ); -void PIOC_Handler ( void ); -void PIOD_Handler ( void ); -void PIOE_Handler ( void ); -void PMC_Handler ( void ); -void PWM0_Handler ( void ); -void PWM1_Handler ( void ); -void QSPI_Handler ( void ); -void RSTC_Handler ( void ); -void RSWDT_Handler ( void ); -void RTC_Handler ( void ); -void RTT_Handler ( void ); -void SDRAMC_Handler ( void ); -void SPI0_Handler ( void ); -void SPI1_Handler ( void ); -void SSC_Handler ( void ); -void SUPC_Handler ( void ); -void TC0_Handler ( void ); -void TC1_Handler ( void ); -void TC2_Handler ( void ); -void TC3_Handler ( void ); -void TC4_Handler ( void ); -void TC5_Handler ( void ); -void TC6_Handler ( void ); -void TC7_Handler ( void ); -void TC8_Handler ( void ); -void TC9_Handler ( void ); -void TC10_Handler ( void ); -void TC11_Handler ( void ); -void TRNG_Handler ( void ); -void TWIHS0_Handler ( void ); -void TWIHS1_Handler ( void ); -void TWIHS2_Handler ( void ); -void UART0_Handler ( void ); -void UART1_Handler ( void ); -void UART2_Handler ( void ); -void UART3_Handler ( void ); -void UART4_Handler ( void ); -void USART0_Handler ( void ); -void USART1_Handler ( void ); -void USART2_Handler ( void ); -void USBHS_Handler ( void ); -void WDT_Handler ( void ); -void XDMAC_Handler ( void ); - -/** - * \brief Configuration of the Cortex-M7 Processor and Core Peripherals - */ - -#define __CM7_REV 0x0000 /**< SAMS70Q21 core revision number ([15:8] revision number, [7:0] patch number) */ -#define __MPU_PRESENT 1 /**< SAMS70Q21 does provide a MPU */ -#define __NVIC_PRIO_BITS 3 /**< SAMS70Q21 uses 3 Bits for the Priority Levels */ -#define __FPU_PRESENT 1 /**< SAMS70Q21 does provide a FPU */ -#define __FPU_DP 1 /**< SAMS70Q21 Double precision FPU */ -#define __ICACHE_PRESENT 1 /**< SAMS70Q21 does provide an Instruction Cache */ -#define __DCACHE_PRESENT 1 /**< SAMS70Q21 does provide a Data Cache */ -#define __DTCM_PRESENT 1 /**< SAMS70Q21 does provide a Data TCM */ -#define __ITCM_PRESENT 1 /**< SAMS70Q21 does provide an Instruction TCM */ -#define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ - -/* - * \brief CMSIS includes - */ - -#include <core_cm7.h> -#if !defined DONT_USE_CMSIS_INIT -#include "system_sams70.h" -#endif /* DONT_USE_CMSIS_INIT */ - -/*@}*/ - -/* ************************************************************************** */ -/** SOFTWARE PERIPHERAL API DEFINITION FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_api Peripheral Software API */ -/*@{*/ - -#include "component/acc.h" -#include "component/aes.h" -#include "component/afec.h" -#include "component/chipid.h" -#include "component/dacc.h" -#include "component/efc.h" -#include "component/gpbr.h" -#include "component/hsmci.h" -#include "component/icm.h" -#include "component/isi.h" -#include "component/matrix.h" -#include "component/pio.h" -#include "component/pmc.h" -#include "component/pwm.h" -#include "component/qspi.h" -#include "component/rstc.h" -#include "component/rswdt.h" -#include "component/rtc.h" -#include "component/rtt.h" -#include "component/sdramc.h" -#include "component/smc.h" -#include "component/spi.h" -#include "component/ssc.h" -#include "component/supc.h" -#include "component/tc.h" -#include "component/trng.h" -#include "component/twihs.h" -#include "component/uart.h" -#include "component/usart.h" -#include "component/usbhs.h" -#include "component/utmi.h" -#include "component/wdt.h" -#include "component/xdmac.h" -/*@}*/ - -/* ************************************************************************** */ -/* REGISTER ACCESS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_reg Registers Access Definitions */ -/*@{*/ - -#include "instance/hsmci.h" -#include "instance/ssc.h" -#include "instance/spi0.h" -#include "instance/tc0.h" -#include "instance/tc1.h" -#include "instance/tc2.h" -#include "instance/twihs0.h" -#include "instance/twihs1.h" -#include "instance/pwm0.h" -#include "instance/usart0.h" -#include "instance/usart1.h" -#include "instance/usart2.h" -#include "instance/usbhs.h" -#include "instance/afec0.h" -#include "instance/dacc.h" -#include "instance/acc.h" -#include "instance/icm.h" -#include "instance/isi.h" -#include "instance/tc3.h" -#include "instance/spi1.h" -#include "instance/pwm1.h" -#include "instance/twihs2.h" -#include "instance/afec1.h" -#include "instance/aes.h" -#include "instance/trng.h" -#include "instance/xdmac.h" -#include "instance/qspi.h" -#include "instance/smc.h" -#include "instance/sdramc.h" -#include "instance/matrix.h" -#include "instance/utmi.h" -#include "instance/pmc.h" -#include "instance/uart0.h" -#include "instance/chipid.h" -#include "instance/uart1.h" -#include "instance/efc.h" -#include "instance/pioa.h" -#include "instance/piob.h" -#include "instance/pioc.h" -#include "instance/piod.h" -#include "instance/pioe.h" -#include "instance/rstc.h" -#include "instance/supc.h" -#include "instance/rtt.h" -#include "instance/wdt.h" -#include "instance/rtc.h" -#include "instance/gpbr.h" -#include "instance/rswdt.h" -#include "instance/uart2.h" -#include "instance/uart3.h" -#include "instance/uart4.h" -/*@}*/ - -/* ************************************************************************** */ -/* PERIPHERAL ID DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_id Peripheral Ids Definitions */ -/*@{*/ - -#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ -#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ -#define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ -#define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ -#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ -#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ -#define ID_EFC ( 6) /**< \brief Enhanced Embedded Flash Controller (EFC) */ -#define ID_UART0 ( 7) /**< \brief UART 0 (UART0) */ -#define ID_UART1 ( 8) /**< \brief UART 1 (UART1) */ -#define ID_SMC ( 9) /**< \brief Static Memory Controller (SMC) */ -#define ID_PIOA (10) /**< \brief Parallel I/O Controller A (PIOA) */ -#define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ -#define ID_PIOC (12) /**< \brief Parallel I/O Controller C (PIOC) */ -#define ID_USART0 (13) /**< \brief USART 0 (USART0) */ -#define ID_USART1 (14) /**< \brief USART 1 (USART1) */ -#define ID_USART2 (15) /**< \brief USART 2 (USART2) */ -#define ID_PIOD (16) /**< \brief Parallel I/O Controller D (PIOD) */ -#define ID_PIOE (17) /**< \brief Parallel I/O Controller E (PIOE) */ -#define ID_HSMCI (18) /**< \brief Multimedia Card Interface (HSMCI) */ -#define ID_TWIHS0 (19) /**< \brief Two Wire Interface 0 HS (TWIHS0) */ -#define ID_TWIHS1 (20) /**< \brief Two Wire Interface 1 HS (TWIHS1) */ -#define ID_SPI0 (21) /**< \brief Serial Peripheral Interface 0 (SPI0) */ -#define ID_SSC (22) /**< \brief Synchronous Serial Controller (SSC) */ -#define ID_TC0 (23) /**< \brief Timer/Counter 0 (TC0) */ -#define ID_TC1 (24) /**< \brief Timer/Counter 1 (TC1) */ -#define ID_TC2 (25) /**< \brief Timer/Counter 2 (TC2) */ -#define ID_TC3 (26) /**< \brief Timer/Counter 3 (TC3) */ -#define ID_TC4 (27) /**< \brief Timer/Counter 4 (TC4) */ -#define ID_TC5 (28) /**< \brief Timer/Counter 5 (TC5) */ -#define ID_AFEC0 (29) /**< \brief Analog Front End 0 (AFEC0) */ -#define ID_DACC (30) /**< \brief Digital To Analog Converter (DACC) */ -#define ID_PWM0 (31) /**< \brief Pulse Width Modulation 0 (PWM0) */ -#define ID_ICM (32) /**< \brief Integrity Check Monitor (ICM) */ -#define ID_ACC (33) /**< \brief Analog Comparator (ACC) */ -#define ID_USBHS (34) /**< \brief USB Host / Device Controller (USBHS) */ -#define ID_AFEC1 (40) /**< \brief Analog Front End 1 (AFEC1) */ -#define ID_TWIHS2 (41) /**< \brief Two Wire Interface 2 HS (TWIHS2) */ -#define ID_SPI1 (42) /**< \brief Serial Peripheral Interface 1 (SPI1) */ -#define ID_QSPI (43) /**< \brief Quad I/O Serial Peripheral Interface (QSPI) */ -#define ID_UART2 (44) /**< \brief UART 2 (UART2) */ -#define ID_UART3 (45) /**< \brief UART 3 (UART3) */ -#define ID_UART4 (46) /**< \brief UART 4 (UART4) */ -#define ID_TC6 (47) /**< \brief Timer/Counter 6 (TC6) */ -#define ID_TC7 (48) /**< \brief Timer/Counter 7 (TC7) */ -#define ID_TC8 (49) /**< \brief Timer/Counter 8 (TC8) */ -#define ID_TC9 (50) /**< \brief Timer/Counter 9 (TC9) */ -#define ID_TC10 (51) /**< \brief Timer/Counter 10 (TC10) */ -#define ID_TC11 (52) /**< \brief Timer/Counter 11 (TC11) */ -#define ID_AES (56) /**< \brief AES (AES) */ -#define ID_TRNG (57) /**< \brief True Random Generator (TRNG) */ -#define ID_XDMAC (58) /**< \brief DMA (XDMAC) */ -#define ID_ISI (59) /**< \brief Camera Interface (ISI) */ -#define ID_PWM1 (60) /**< \brief Pulse Width Modulation 1 (PWM1) */ -#define ID_SDRAMC (62) /**< \brief SDRAM Controller (SDRAMC) */ -#define ID_RSWDT (63) /**< \brief Reinforced Secure Watchdog Timer (RSWDT) */ - -#define ID_PERIPH_COUNT (64) /**< \brief Number of peripheral IDs */ -/*@}*/ - -/* ************************************************************************** */ -/* BASE ADDRESS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_base Peripheral Base Address Definitions */ -/*@{*/ - -#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) -#define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 (0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 (0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 (0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 (0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 (0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 (0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 (0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 (0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 (0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 (0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS (0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 (0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC (0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC (0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM (0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI (0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 (0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 (0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 (0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 (0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 (0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES (0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG (0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC (0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI (0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC (0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC (0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX (0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI (0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC (0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 (0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID (0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 (0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC (0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA (0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB (0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC (0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD (0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE (0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC (0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC (0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT (0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT (0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC (0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR (0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT (0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 (0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 (0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 (0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#else -#define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ -#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ -#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */ -#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */ -#define TC1 ((Tc *)0x40010000U) /**< \brief (TC1 ) Base Address */ -#define TC2 ((Tc *)0x40014000U) /**< \brief (TC2 ) Base Address */ -#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0) Base Address */ -#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1) Base Address */ -#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */ -#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0) Base Address */ -#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1) Base Address */ -#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2) Base Address */ -#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */ -#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */ -#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */ -#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */ -#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */ -#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */ -#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */ -#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */ -#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */ -#define TWIHS2 ((Twihs *)0x40060000U) /**< \brief (TWIHS2) Base Address */ -#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */ -#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */ -#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */ -#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */ -#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */ -#define SMC ((Smc *)0x40080000U) /**< \brief (SMC ) Base Address */ -#define SDRAMC ((Sdramc *)0x40084000U) /**< \brief (SDRAMC) Base Address */ -#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX) Base Address */ -#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */ -#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */ -#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */ -#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID) Base Address */ -#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */ -#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */ -#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */ -#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */ -#define PIOC ((Pio *)0x400E1200U) /**< \brief (PIOC ) Base Address */ -#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */ -#define PIOE ((Pio *)0x400E1600U) /**< \brief (PIOE ) Base Address */ -#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */ -#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */ -#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */ -#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */ -#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */ -#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */ -#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */ -#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */ -#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */ -#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */ -#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ -/*@}*/ - -/* ************************************************************************** */ -/* PIO DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ -/** \addtogroup SAMS70Q21_pio Peripheral Pio Definitions */ -/*@{*/ - -#include "pio/sams70q21.h" -/*@}*/ - -/* ************************************************************************** */ -/* MEMORY MAPPING DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ - -#define IFLASH_SIZE (0x200000u) -#define IFLASH_PAGE_SIZE (512u) -#define IFLASH_LOCK_REGION_SIZE (16384u) -#define IFLASH_NB_OF_PAGES (4096u) -#define IFLASH_NB_OF_LOCK_BITS (128u) -#define IRAM_SIZE (0x60000u) - -#define QSPIMEM_ADDR (0x80000000u) /**< QSPI Memory base address */ -#define AXIMX_ADDR (0xA0000000u) /**< AXI Bus Matrix base address */ -#define ITCM_ADDR (0x00000000u) /**< Instruction Tightly Coupled Memory base address */ -#define IFLASH_ADDR (0x00400000u) /**< Internal Flash base address */ -#define IROM_ADDR (0x00800000u) /**< Internal ROM base address */ -#define DTCM_ADDR (0x20000000u) /**< Data Tightly Coupled Memory base address */ -#define IRAM_ADDR (0x20400000u) /**< Internal RAM base address */ -#define EBI_CS0_ADDR (0x60000000u) /**< EBI Chip Select 0 base address */ -#define EBI_CS1_ADDR (0x61000000u) /**< EBI Chip Select 1 base address */ -#define EBI_CS2_ADDR (0x62000000u) /**< EBI Chip Select 2 base address */ -#define EBI_CS3_ADDR (0x63000000u) /**< EBI Chip Select 3 base address */ -#define SDRAM_CS_ADDR (0x70000000u) /**< SDRAM Chip Select base address */ -#define USBHS_RAM_ADDR (0xA0100000u) /**< USBHS Chip Select base address */ - -/* ************************************************************************** */ -/* MISCELLANEOUS DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ - -#define CHIP_JTAGID (0x05B3D03FUL) -#define CHIP_CIDR (0xA1120E00UL) -#define CHIP_EXID (0x00000002UL) - -/* ************************************************************************** */ -/* ELECTRICAL DEFINITIONS FOR SAMS70Q21 */ -/* ************************************************************************** */ - -/* %ATMEL_ELECTRICAL% */ - -/* Device characteristics */ -#define CHIP_FREQ_SLCK_RC_MIN (20000UL) -#define CHIP_FREQ_SLCK_RC (32000UL) -#define CHIP_FREQ_SLCK_RC_MAX (44000UL) -#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) -#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) -#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) -#define CHIP_FREQ_CPU_MAX (300000000UL) -#define CHIP_FREQ_XTAL_32K (32768UL) -#define CHIP_FREQ_XTAL_12M (12000000UL) - -/* Embedded Flash Read Wait State (for Worst-Case Conditions) */ -#define CHIP_FREQ_FWS_0 (23000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ -#define CHIP_FREQ_FWS_1 (46000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ -#define CHIP_FREQ_FWS_2 (69000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ -#define CHIP_FREQ_FWS_3 (92000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ -#define CHIP_FREQ_FWS_4 (115000000UL) /**< \brief Maximum operating frequency when FWS is 4 */ -#define CHIP_FREQ_FWS_5 (138000000UL) /**< \brief Maximum operating frequency when FWS is 5 */ -#define CHIP_FREQ_FWS_6 (150000000UL) /**< \brief Maximum operating frequency when FWS is 6 */ - -#ifdef __cplusplus -} -#endif - -/*@}*/ - -#endif /* _SAMS70Q21_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c deleted file mode 100644 index b7e19af..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/gcc/startup_sams70.c +++ /dev/null @@ -1,334 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "sams70.h" - -/* Initialize segments */ -extern uint32_t _sfixed; -extern uint32_t _efixed; -extern uint32_t _etext; -extern uint32_t _srelocate; -extern uint32_t _erelocate; -extern uint32_t _szero; -extern uint32_t _ezero; -extern uint32_t _sstack; -extern uint32_t _estack; - -/** \cond DOXYGEN_SHOULD_SKIP_THIS */ -int main(void); -/** \endcond */ - -void __libc_init_array(void); - -/* Default empty handler */ -void Dummy_Handler(void); - -/* Cortex-M7 core handlers */ -void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void MemManage_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void BusFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UsageFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void DebugMon_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); - -/* Peripherals handlers */ -void SUPC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void RSTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void RTT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void EFC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PIOA_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PIOB_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_PIOC_INSTANCE_ -void PIOC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_PIOC_INSTANCE_ */ -void USART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void USART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void USART2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PIOD_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_PIOE_INSTANCE_ -void PIOE_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_PIOE_INSTANCE_ */ -void HSMCI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TWIHS0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TWIHS1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SPI0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void SSC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_TC1_INSTANCE_ -void TC3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ -void TC4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ -void TC5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC1_INSTANCE_ */ -void AFEC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_DACC_INSTANCE_ -void DACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_DACC_INSTANCE_ */ -void PWM0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void ICM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void ACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void USBHS_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void AFEC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_TWIHS2_INSTANCE_ -void TWIHS2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TWIHS2_INSTANCE_ */ -void SPI1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void QSPI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void UART4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_TC2_INSTANCE_ -void TC6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ -void TC7_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ -void TC8_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_TC2_INSTANCE_ */ -void TC9_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC10_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TC11_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void AES_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void TRNG_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void XDMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void ISI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -void PWM1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#ifdef _SAMS70_SDRAMC_INSTANCE_ -void SDRAMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -#endif /* _SAMS70_SDRAMC_INSTANCE_ */ -void RSWDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); - -/* Exception Table */ -__attribute__ ((section(".vectors"))) -const DeviceVectors exception_table = { - - /* Configure Initial Stack Pointer, using linker-generated symbols */ - .pvStack = (void*) (&_estack), - - .pfnReset_Handler = (void*) Reset_Handler, - .pfnNMI_Handler = (void*) NMI_Handler, - .pfnHardFault_Handler = (void*) HardFault_Handler, - .pfnMemManage_Handler = (void*) MemManage_Handler, - .pfnBusFault_Handler = (void*) BusFault_Handler, - .pfnUsageFault_Handler = (void*) UsageFault_Handler, - .pfnReserved1_Handler = (void*) (0UL), /* Reserved */ - .pfnReserved2_Handler = (void*) (0UL), /* Reserved */ - .pfnReserved3_Handler = (void*) (0UL), /* Reserved */ - .pfnReserved4_Handler = (void*) (0UL), /* Reserved */ - .pfnSVC_Handler = (void*) SVC_Handler, - .pfnDebugMon_Handler = (void*) DebugMon_Handler, - .pfnReserved5_Handler = (void*) (0UL), /* Reserved */ - .pfnPendSV_Handler = (void*) PendSV_Handler, - .pfnSysTick_Handler = (void*) SysTick_Handler, - - /* Configurable interrupts */ - .pfnSUPC_Handler = (void*) SUPC_Handler, /* 0 Supply Controller */ - .pfnRSTC_Handler = (void*) RSTC_Handler, /* 1 Reset Controller */ - .pfnRTC_Handler = (void*) RTC_Handler, /* 2 Real Time Clock */ - .pfnRTT_Handler = (void*) RTT_Handler, /* 3 Real Time Timer */ - .pfnWDT_Handler = (void*) WDT_Handler, /* 4 Watchdog Timer */ - .pfnPMC_Handler = (void*) PMC_Handler, /* 5 Power Management Controller */ - .pfnEFC_Handler = (void*) EFC_Handler, /* 6 Enhanced Embedded Flash Controller */ - .pfnUART0_Handler = (void*) UART0_Handler, /* 7 UART 0 */ - .pfnUART1_Handler = (void*) UART1_Handler, /* 8 UART 1 */ - .pvReserved9 = (void*) (0UL), /* 9 Reserved */ - .pfnPIOA_Handler = (void*) PIOA_Handler, /* 10 Parallel I/O Controller A */ - .pfnPIOB_Handler = (void*) PIOB_Handler, /* 11 Parallel I/O Controller B */ -#ifdef _SAMS70_PIOC_INSTANCE_ - .pfnPIOC_Handler = (void*) PIOC_Handler, /* 12 Parallel I/O Controller C */ -#else - .pvReserved12 = (void*) (0UL), /* 12 Reserved */ -#endif /* _SAMS70_PIOC_INSTANCE_ */ - .pfnUSART0_Handler = (void*) USART0_Handler, /* 13 USART 0 */ - .pfnUSART1_Handler = (void*) USART1_Handler, /* 14 USART 1 */ - .pfnUSART2_Handler = (void*) USART2_Handler, /* 15 USART 2 */ - .pfnPIOD_Handler = (void*) PIOD_Handler, /* 16 Parallel I/O Controller D */ -#ifdef _SAMS70_PIOE_INSTANCE_ - .pfnPIOE_Handler = (void*) PIOE_Handler, /* 17 Parallel I/O Controller E */ -#else - .pvReserved17 = (void*) (0UL), /* 17 Reserved */ -#endif /* _SAMS70_PIOE_INSTANCE_ */ - .pfnHSMCI_Handler = (void*) HSMCI_Handler, /* 18 Multimedia Card Interface */ - .pfnTWIHS0_Handler = (void*) TWIHS0_Handler, /* 19 Two Wire Interface 0 HS */ - .pfnTWIHS1_Handler = (void*) TWIHS1_Handler, /* 20 Two Wire Interface 1 HS */ - .pfnSPI0_Handler = (void*) SPI0_Handler, /* 21 Serial Peripheral Interface 0 */ - .pfnSSC_Handler = (void*) SSC_Handler, /* 22 Synchronous Serial Controller */ - .pfnTC0_Handler = (void*) TC0_Handler, /* 23 Timer/Counter 0 */ - .pfnTC1_Handler = (void*) TC1_Handler, /* 24 Timer/Counter 1 */ - .pfnTC2_Handler = (void*) TC2_Handler, /* 25 Timer/Counter 2 */ -#ifdef _SAMS70_TC1_INSTANCE_ - .pfnTC3_Handler = (void*) TC3_Handler, /* 26 Timer/Counter 3 */ -#else - .pvReserved26 = (void*) (0UL), /* 26 Reserved */ -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ - .pfnTC4_Handler = (void*) TC4_Handler, /* 27 Timer/Counter 4 */ -#else - .pvReserved27 = (void*) (0UL), /* 27 Reserved */ -#endif /* _SAMS70_TC1_INSTANCE_ */ -#ifdef _SAMS70_TC1_INSTANCE_ - .pfnTC5_Handler = (void*) TC5_Handler, /* 28 Timer/Counter 5 */ -#else - .pvReserved28 = (void*) (0UL), /* 28 Reserved */ -#endif /* _SAMS70_TC1_INSTANCE_ */ - .pfnAFEC0_Handler = (void*) AFEC0_Handler, /* 29 Analog Front End 0 */ -#ifdef _SAMS70_DACC_INSTANCE_ - .pfnDACC_Handler = (void*) DACC_Handler, /* 30 Digital To Analog Converter */ -#else - .pvReserved30 = (void*) (0UL), /* 30 Reserved */ -#endif /* _SAMS70_DACC_INSTANCE_ */ - .pfnPWM0_Handler = (void*) PWM0_Handler, /* 31 Pulse Width Modulation 0 */ - .pfnICM_Handler = (void*) ICM_Handler, /* 32 Integrity Check Monitor */ - .pfnACC_Handler = (void*) ACC_Handler, /* 33 Analog Comparator */ - .pfnUSBHS_Handler = (void*) USBHS_Handler, /* 34 USB Host / Device Controller */ - .pvReserved35 = (void*) (0UL), /* 35 Reserved */ - .pvReserved36 = (void*) (0UL), /* 36 Reserved */ - .pvReserved37 = (void*) (0UL), /* 37 Reserved */ - .pvReserved38 = (void*) (0UL), /* 38 Reserved */ - .pvReserved39 = (void*) (0UL), /* 39 Reserved */ - .pfnAFEC1_Handler = (void*) AFEC1_Handler, /* 40 Analog Front End 1 */ -#ifdef _SAMS70_TWIHS2_INSTANCE_ - .pfnTWIHS2_Handler = (void*) TWIHS2_Handler, /* 41 Two Wire Interface 2 HS */ -#else - .pvReserved41 = (void*) (0UL), /* 41 Reserved */ -#endif /* _SAMS70_TWIHS2_INSTANCE_ */ - .pfnSPI1_Handler = (void*) SPI1_Handler, /* 42 Serial Peripheral Interface 1 */ - .pfnQSPI_Handler = (void*) QSPI_Handler, /* 43 Quad I/O Serial Peripheral Interface */ - .pfnUART2_Handler = (void*) UART2_Handler, /* 44 UART 2 */ - .pfnUART3_Handler = (void*) UART3_Handler, /* 45 UART 3 */ - .pfnUART4_Handler = (void*) UART4_Handler, /* 46 UART 4 */ -#ifdef _SAMS70_TC2_INSTANCE_ - .pfnTC6_Handler = (void*) TC6_Handler, /* 47 Timer/Counter 6 */ -#else - .pvReserved47 = (void*) (0UL), /* 47 Reserved */ -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ - .pfnTC7_Handler = (void*) TC7_Handler, /* 48 Timer/Counter 7 */ -#else - .pvReserved48 = (void*) (0UL), /* 48 Reserved */ -#endif /* _SAMS70_TC2_INSTANCE_ */ -#ifdef _SAMS70_TC2_INSTANCE_ - .pfnTC8_Handler = (void*) TC8_Handler, /* 49 Timer/Counter 8 */ -#else - .pvReserved49 = (void*) (0UL), /* 49 Reserved */ -#endif /* _SAMS70_TC2_INSTANCE_ */ - .pfnTC9_Handler = (void*) TC9_Handler, /* 50 Timer/Counter 9 */ - .pfnTC10_Handler = (void*) TC10_Handler, /* 51 Timer/Counter 10 */ - .pfnTC11_Handler = (void*) TC11_Handler, /* 52 Timer/Counter 11 */ - .pvReserved53 = (void*) (0UL), /* 53 Reserved */ - .pvReserved54 = (void*) (0UL), /* 54 Reserved */ - .pvReserved55 = (void*) (0UL), /* 55 Reserved */ - .pfnAES_Handler = (void*) AES_Handler, /* 56 AES */ - .pfnTRNG_Handler = (void*) TRNG_Handler, /* 57 True Random Generator */ - .pfnXDMAC_Handler = (void*) XDMAC_Handler, /* 58 DMA */ - .pfnISI_Handler = (void*) ISI_Handler, /* 59 Camera Interface */ - .pfnPWM1_Handler = (void*) PWM1_Handler, /* 60 Pulse Width Modulation 1 */ - .pvReserved61 = (void*) (0UL), /* 61 Reserved */ -#ifdef _SAMS70_SDRAMC_INSTANCE_ - .pfnSDRAMC_Handler = (void*) SDRAMC_Handler, /* 62 SDRAM Controller */ -#else - .pvReserved62 = (void*) (0UL), /* 62 Reserved */ -#endif /* _SAMS70_SDRAMC_INSTANCE_ */ - .pfnRSWDT_Handler = (void*) RSWDT_Handler /* 63 Reinforced Secure Watchdog Timer */ -}; - -/** - * \brief This is the code that gets called on processor reset. - * To initialize the device, and call the main() routine. - */ -void Reset_Handler(void) -{ - uint32_t *pSrc, *pDest; - - /* Initialize the relocate segment */ - pSrc = &_etext; - pDest = &_srelocate; - - if (pSrc != pDest) { - for (; pDest < &_erelocate;) { - *pDest++ = *pSrc++; - } - } - - /* Clear the zero segment */ - for (pDest = &_szero; pDest < &_ezero;) { - *pDest++ = 0; - } - - /* Set the vector table base address */ - pSrc = (uint32_t *) & _sfixed; - SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); - - /* Initialize the C library */ - __libc_init_array(); - - /* Branch to main function */ - main(); - - /* Infinite loop */ - while (1); -} - -/** - * \brief Default interrupt handler for unused IRQs. - */ -void Dummy_Handler(void) -{ - while (1) { - } -} diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c deleted file mode 100644 index 0f7215a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.c +++ /dev/null @@ -1,265 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include "sams70.h" - -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/* @endcond */ - -/* %ATMEL_SYSTEM% */ -/* Clock Settings (600MHz PLL VDDIO 3.3V and VDDCORE 1.2V) */ -/* Clock Settings (300MHz HCLK, 150MHz MCK)=> PRESC = 2, MDIV = 2 */ -#define SYS_BOARD_OSCOUNT (CKGR_MOR_MOSCXTST(0x8U)) -#define SYS_BOARD_PLLAR (CKGR_PLLAR_ONE | CKGR_PLLAR_MULA(0x31U) | \ - CKGR_PLLAR_PLLACOUNT(0x3fU) | CKGR_PLLAR_DIVA(0x1U)) -#define SYS_BOARD_MCKR (PMC_MCKR_PRES_CLK_2 | PMC_MCKR_CSS_PLLA_CLK | (1<<8)) - -uint32_t SystemCoreClock = CHIP_FREQ_MAINCK_RC_4MHZ; - -/** - * \brief Setup the microcontroller system. - * Initialize the System and update the SystemFrequency variable. - */ - void SystemInit( void ) -{ - /* Set FWS according to SYS_BOARD_MCKR configuration */ - EFC->EEFC_FMR = EEFC_FMR_FWS(5); - - /* Initialize main oscillator */ - if ( !(PMC->CKGR_MOR & CKGR_MOR_MOSCSEL) ) - { - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | SYS_BOARD_OSCOUNT | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN; - - while ( !(PMC->PMC_SR & PMC_SR_MOSCXTS) ) - { - } - } - - /* Switch to 3-20MHz Xtal oscillator */ - PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD | SYS_BOARD_OSCOUNT | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN | CKGR_MOR_MOSCSEL; - - while ( !(PMC->PMC_SR & PMC_SR_MOSCSELS) ) - { - } - - PMC->PMC_MCKR = (PMC->PMC_MCKR & ~(uint32_t)PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK; - - while ( !(PMC->PMC_SR & PMC_SR_MCKRDY) ) - { - } - - /* Initialize PLLA */ - PMC->CKGR_PLLAR = SYS_BOARD_PLLAR; - while ( !(PMC->PMC_SR & PMC_SR_LOCKA) ) - { - } - - /* Switch to main clock */ - PMC->PMC_MCKR = (SYS_BOARD_MCKR & ~PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK; - while ( !(PMC->PMC_SR & PMC_SR_MCKRDY) ) - { - } - - /* Switch to PLLA */ - PMC->PMC_MCKR = SYS_BOARD_MCKR; - while ( !(PMC->PMC_SR & PMC_SR_MCKRDY) ) - { - } - - SystemCoreClock = CHIP_FREQ_CPU_MAX; -} - -void SystemCoreClockUpdate( void ) -{ - /* Determine clock frequency according to clock register values */ - switch (PMC->PMC_MCKR & (uint32_t) PMC_MCKR_CSS_Msk) - { - case PMC_MCKR_CSS_SLOW_CLK: /* Slow clock */ - if ( SUPC->SUPC_SR & SUPC_SR_OSCSEL ) - { - SystemCoreClock = CHIP_FREQ_XTAL_32K; - } - else - { - SystemCoreClock = CHIP_FREQ_SLCK_RC; - } - break; - - case PMC_MCKR_CSS_MAIN_CLK: /* Main clock */ - if ( PMC->CKGR_MOR & CKGR_MOR_MOSCSEL ) - { - SystemCoreClock = CHIP_FREQ_XTAL_12M; - } - else - { - SystemCoreClock = CHIP_FREQ_MAINCK_RC_4MHZ; - - switch ( PMC->CKGR_MOR & CKGR_MOR_MOSCRCF_Msk ) - { - case CKGR_MOR_MOSCRCF_4_MHz: - break; - - case CKGR_MOR_MOSCRCF_8_MHz: - SystemCoreClock *= 2U; - break; - - case CKGR_MOR_MOSCRCF_12_MHz: - SystemCoreClock *= 3U; - break; - - default: - break; - } - } - break; - - case PMC_MCKR_CSS_PLLA_CLK: /* PLLA clock */ - if ( PMC->CKGR_MOR & CKGR_MOR_MOSCSEL ) - { - SystemCoreClock = CHIP_FREQ_XTAL_12M ; - } - else - { - SystemCoreClock = CHIP_FREQ_MAINCK_RC_4MHZ; - - switch ( PMC->CKGR_MOR & CKGR_MOR_MOSCRCF_Msk ) - { - case CKGR_MOR_MOSCRCF_4_MHz: - break; - - case CKGR_MOR_MOSCRCF_8_MHz: - SystemCoreClock *= 2U; - break; - - case CKGR_MOR_MOSCRCF_12_MHz: - SystemCoreClock *= 3U; - break; - - default: - break; - } - } - - if ( (uint32_t) (PMC->PMC_MCKR & (uint32_t) PMC_MCKR_CSS_Msk) == PMC_MCKR_CSS_PLLA_CLK ) - { - SystemCoreClock *= ((((PMC->CKGR_PLLAR) & CKGR_PLLAR_MULA_Msk) >> CKGR_PLLAR_MULA_Pos) + 1U); - SystemCoreClock /= ((((PMC->CKGR_PLLAR) & CKGR_PLLAR_DIVA_Msk) >> CKGR_PLLAR_DIVA_Pos)); - } - break; - - default: - break; - } - - if ( (PMC->PMC_MCKR & PMC_MCKR_PRES_Msk) == PMC_MCKR_PRES_CLK_3 ) - { - SystemCoreClock /= 3U; - } - else - { - SystemCoreClock >>= ((PMC->PMC_MCKR & PMC_MCKR_PRES_Msk) >> PMC_MCKR_PRES_Pos); - } -} -/** - * Initialize flash. - */ -void system_init_flash( uint32_t ul_clk ) -{ - /* Set FWS for embedded Flash access according to operating frequency */ - if ( ul_clk < CHIP_FREQ_FWS_0 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(0)|EEFC_FMR_CLOE; - } - else - { - if (ul_clk < CHIP_FREQ_FWS_1) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(1)|EEFC_FMR_CLOE; - } - else - { - if (ul_clk < CHIP_FREQ_FWS_2) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(2)|EEFC_FMR_CLOE; - } - else - { - if ( ul_clk < CHIP_FREQ_FWS_3 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(3)|EEFC_FMR_CLOE; - } - else - { - if ( ul_clk < CHIP_FREQ_FWS_4 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(4)|EEFC_FMR_CLOE; - } - else - { - if ( ul_clk < CHIP_FREQ_FWS_5 ) - { - EFC->EEFC_FMR = EEFC_FMR_FWS(5)|EEFC_FMR_CLOE; - } - else - { - EFC->EEFC_FMR = EEFC_FMR_FWS(6)|EEFC_FMR_CLOE; - } - } - } - } - } - } -} -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/* @endcond */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h deleted file mode 100644 index 3eaf055..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/cmsis/sams70/source/templates/system_sams70.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef SYSTEM_SAMS70_H_INCLUDED -#define SYSTEM_SAMS70_H_INCLUDED - -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/* @endcond */ - -#include <stdint.h> - -extern uint32_t SystemCoreClock; /* System Clock Frequency (Core Clock) */ - -/** - * @brief Setup the microcontroller system. - * Initialize the System and update the SystemCoreClock variable. - */ -void SystemInit(void); - -/** - * @brief Updates the SystemCoreClock with current core Clock - * retrieved from cpu registers. - */ -void SystemCoreClockUpdate(void); - -/** - * Initialize flash. - */ -void system_init_flash(uint32_t dw_clk); - -/* @cond 0 */ -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/* @endcond */ - -#endif /* SYSTEM_SAMS70_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/compiler.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/compiler.h deleted file mode 100644 index 201fa7e..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/compiler.h +++ /dev/null @@ -1,1199 +0,0 @@ -/** - * \file - * - * \brief Commonly used includes, types and macros. - * - * Copyright (c) 2010-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef UTILS_COMPILER_H -#define UTILS_COMPILER_H - -/** - * \defgroup group_sam_utils Compiler abstraction layer and code utilities - * - * Compiler abstraction layer and code utilities for AT91SAM. - * This module provides various abstraction layers and utilities to make code compatible between different compilers. - * - * \{ - */ -#include <stddef.h> - -#if (defined __ICCARM__) -# include <intrinsics.h> -#endif - -#include <parts.h> -#include "preprocessor.h" - -#include <io.h> - -//_____ D E C L A R A T I O N S ____________________________________________ - -#ifndef __ASSEMBLY__ // Not defined for assembling. - -#include <stdio.h> -#include <stdbool.h> -#include <stdint.h> -#include <stdlib.h> - -#ifdef __ICCARM__ -/*! \name Compiler Keywords - * - * Port of some keywords from GCC to IAR Embedded Workbench. - */ -//! @{ -#define __asm__ asm -#define __inline__ inline -#define __volatile__ -//! @} - -#endif - -#define FUNC_PTR void * -/** - * \def UNUSED - * \brief Marking \a v as a unused parameter or value. - */ -#define UNUSED(v) (void)(v) - -/** - * \def unused - * \brief Marking \a v as a unused parameter or value. - */ -#define unused(v) do { (void)(v); } while(0) - -/** - * \def barrier - * \brief Memory barrier - */ -#define barrier() __DMB() - -/** - * \brief Emit the compiler pragma \a arg. - * - * \param arg The pragma directive as it would appear after \e \#pragma - * (i.e. not stringified). - */ -#define COMPILER_PRAGMA(arg) _Pragma(#arg) - -/** - * \def COMPILER_PACK_SET(alignment) - * \brief Set maximum alignment for subsequent struct and union - * definitions to \a alignment. - */ -#define COMPILER_PACK_SET(alignment) COMPILER_PRAGMA(pack(alignment)) - -/** - * \def COMPILER_PACK_RESET() - * \brief Set default alignment for subsequent struct and union - * definitions. - */ -#define COMPILER_PACK_RESET() COMPILER_PRAGMA(pack()) - - -/** - * \brief Set aligned boundary. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define COMPILER_ALIGNED(a) __attribute__((__aligned__(a))) -#elif (defined __ICCARM__) -# define COMPILER_ALIGNED(a) COMPILER_PRAGMA(data_alignment = a) -#endif - -/** - * \brief Set word-aligned boundary. - */ -#if (defined __GNUC__) || defined(__CC_ARM) -#define COMPILER_WORD_ALIGNED __attribute__((__aligned__(4))) -#elif (defined __ICCARM__) -#define COMPILER_WORD_ALIGNED COMPILER_PRAGMA(data_alignment = 4) -#endif - -/** - * \def __always_inline - * \brief The function should always be inlined. - * - * This annotation instructs the compiler to ignore its inlining - * heuristics and inline the function no matter how big it thinks it - * becomes. - */ -#if defined(__CC_ARM) -# define __always_inline __forceinline -#elif (defined __GNUC__) -#ifdef __always_inline -# undef __always_inline -#endif -# define __always_inline inline __attribute__((__always_inline__)) -#elif (defined __ICCARM__) -# define __always_inline _Pragma("inline=forced") -#endif - -/** - * \def __no_inline - * \brief The function should not be inlined. - * - * This annotation instructs the compiler to ignore its inlining - * heuristics and not inline the function. - */ -#if defined(__CC_ARM) -# define __no_inline __attribute__((noinline)) -#elif (defined __GNUC__) -# define __no_inline __attribute__((__noinline__)) -#elif (defined __ICCARM__) -# define __no_inline _Pragma("inline=never") -#endif - -/*! \brief This macro is used to test fatal errors. - * - * The macro tests if the expression is false. If it is, a fatal error is - * detected and the application hangs up. If TEST_SUITE_DEFINE_ASSERT_MACRO - * is defined, a unit test version of the macro is used, to allow execution - * of further tests after a false expression. - * - * \param expr Expression to evaluate and supposed to be nonzero. - */ -#if defined(_ASSERT_ENABLE_) -# if defined(TEST_SUITE_DEFINE_ASSERT_MACRO) - // Assert() is defined in unit_test/suite.h -# include "unit_test/suite.h" -# else -#undef TEST_SUITE_DEFINE_ASSERT_MACRO -# define Assert(expr) \ - {\ - if (!(expr)) while (true);\ - } -# endif -#else -# define Assert(expr) ((void) 0) -#endif - -/* Define WEAK attribute */ -#if defined ( __CC_ARM ) /* Keil µVision 4 */ -# define WEAK __attribute__ ((weak)) -#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ -# define WEAK __weak -#elif defined ( __GNUC__ ) /* GCC CS3 2009q3-68 */ -# define WEAK __attribute__ ((weak)) -#endif - -/* Define NO_INIT attribute */ -#if defined ( __CC_ARM ) -# define NO_INIT __attribute__((zero_init)) -#elif defined ( __ICCARM__ ) -# define NO_INIT __no_init -#elif defined ( __GNUC__ ) -# define NO_INIT __attribute__((section(".no_init"))) -#endif - -/* Define RAMFUNC attribute */ -#if defined ( __CC_ARM ) /* Keil µVision 4 */ -# define RAMFUNC __attribute__ ((section(".ramfunc"))) -#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ -# define RAMFUNC __ramfunc -#elif defined ( __GNUC__ ) /* GCC CS3 2009q3-68 */ -# define RAMFUNC __attribute__ ((section(".ramfunc"))) -#endif - -/* Define OPTIMIZE_HIGH attribute */ -#if defined ( __CC_ARM ) /* Keil µVision 4 */ -# define OPTIMIZE_HIGH _Pragma("O3") -#elif defined ( __ICCARM__ ) /* IAR Ewarm 5.41+ */ -# define OPTIMIZE_HIGH _Pragma("optimize=high") -#elif defined ( __GNUC__ ) /* GCC CS3 2009q3-68 */ -# define OPTIMIZE_HIGH __attribute__((optimize("s"))) -#endif - -#include "interrupt.h" - -/*! \name Usual Types - */ -//! @{ -typedef unsigned char Bool; //!< Boolean. -#ifndef __cplusplus -#if !defined(__bool_true_false_are_defined) -typedef unsigned char bool; //!< Boolean. -#endif -#endif -typedef int8_t S8 ; //!< 8-bit signed integer. -typedef uint8_t U8 ; //!< 8-bit unsigned integer. -typedef int16_t S16; //!< 16-bit signed integer. -typedef uint16_t U16; //!< 16-bit unsigned integer. -typedef uint16_t le16_t; -typedef uint16_t be16_t; -typedef int32_t S32; //!< 32-bit signed integer. -typedef uint32_t U32; //!< 32-bit unsigned integer. -typedef uint32_t le32_t; -typedef uint32_t be32_t; -typedef int64_t S64; //!< 64-bit signed integer. -typedef uint64_t U64; //!< 64-bit unsigned integer. -typedef float F32; //!< 32-bit floating-point number. -typedef double F64; //!< 64-bit floating-point number. -typedef uint32_t iram_size_t; -//! @} - - -/*! \name Status Types - */ -//! @{ -typedef bool Status_bool_t; //!< Boolean status. -typedef U8 Status_t; //!< 8-bit-coded status. -//! @} - - -/*! \name Aliasing Aggregate Types - */ -//! @{ - -//! 16-bit union. -typedef union -{ - S16 s16 ; - U16 u16 ; - S8 s8 [2]; - U8 u8 [2]; -} Union16; - -//! 32-bit union. -typedef union -{ - S32 s32 ; - U32 u32 ; - S16 s16[2]; - U16 u16[2]; - S8 s8 [4]; - U8 u8 [4]; -} Union32; - -//! 64-bit union. -typedef union -{ - S64 s64 ; - U64 u64 ; - S32 s32[2]; - U32 u32[2]; - S16 s16[4]; - U16 u16[4]; - S8 s8 [8]; - U8 u8 [8]; -} Union64; - -//! Union of pointers to 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - S64 *s64ptr; - U64 *u64ptr; - S32 *s32ptr; - U32 *u32ptr; - S16 *s16ptr; - U16 *u16ptr; - S8 *s8ptr ; - U8 *u8ptr ; -} UnionPtr; - -//! Union of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - volatile S64 *s64ptr; - volatile U64 *u64ptr; - volatile S32 *s32ptr; - volatile U32 *u32ptr; - volatile S16 *s16ptr; - volatile U16 *u16ptr; - volatile S8 *s8ptr ; - volatile U8 *u8ptr ; -} UnionVPtr; - -//! Union of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - const S64 *s64ptr; - const U64 *u64ptr; - const S32 *s32ptr; - const U32 *u32ptr; - const S16 *s16ptr; - const U16 *u16ptr; - const S8 *s8ptr ; - const U8 *u8ptr ; -} UnionCPtr; - -//! Union of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef union -{ - const volatile S64 *s64ptr; - const volatile U64 *u64ptr; - const volatile S32 *s32ptr; - const volatile U32 *u32ptr; - const volatile S16 *s16ptr; - const volatile U16 *u16ptr; - const volatile S8 *s8ptr ; - const volatile U8 *u8ptr ; -} UnionCVPtr; - -//! Structure of pointers to 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - S64 *s64ptr; - U64 *u64ptr; - S32 *s32ptr; - U32 *u32ptr; - S16 *s16ptr; - U16 *u16ptr; - S8 *s8ptr ; - U8 *u8ptr ; -} StructPtr; - -//! Structure of pointers to volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - volatile S64 *s64ptr; - volatile U64 *u64ptr; - volatile S32 *s32ptr; - volatile U32 *u32ptr; - volatile S16 *s16ptr; - volatile U16 *u16ptr; - volatile S8 *s8ptr ; - volatile U8 *u8ptr ; -} StructVPtr; - -//! Structure of pointers to constant 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - const S64 *s64ptr; - const U64 *u64ptr; - const S32 *s32ptr; - const U32 *u32ptr; - const S16 *s16ptr; - const U16 *u16ptr; - const S8 *s8ptr ; - const U8 *u8ptr ; -} StructCPtr; - -//! Structure of pointers to constant volatile 64-, 32-, 16- and 8-bit unsigned integers. -typedef struct -{ - const volatile S64 *s64ptr; - const volatile U64 *u64ptr; - const volatile S32 *s32ptr; - const volatile U32 *u32ptr; - const volatile S16 *s16ptr; - const volatile U16 *u16ptr; - const volatile S8 *s8ptr ; - const volatile U8 *u8ptr ; -} StructCVPtr; - -//! @} - -#endif // #ifndef __ASSEMBLY__ - -/*! \name Usual Constants - */ -//! @{ -#define DISABLE 0 -#define ENABLE 1 -#ifndef __cplusplus -#if !defined(__bool_true_false_are_defined) -#define false 0 -#define true 1 -#endif -#endif -#define PASS 0 -#define FAIL 1 -#define LOW 0 -#define HIGH 1 -//! @} - - -#ifndef __ASSEMBLY__ // not for assembling. - -//! \name Optimization Control -//@{ - -/** - * \def likely(exp) - * \brief The expression \a exp is likely to be true - */ -#ifndef likely -# define likely(exp) (exp) -#endif - -/** - * \def unlikely(exp) - * \brief The expression \a exp is unlikely to be true - */ -#ifndef unlikely -# define unlikely(exp) (exp) -#endif - -/** - * \def is_constant(exp) - * \brief Determine if an expression evaluates to a constant value. - * - * \param exp Any expression - * - * \return true if \a exp is constant, false otherwise. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define is_constant(exp) __builtin_constant_p(exp) -#else -# define is_constant(exp) (0) -#endif - -//! @} - -/*! \name Bit-Field Handling - */ -//! @{ - -/*! \brief Reads the bits of a value specified by a given bit-mask. - * - * \param value Value to read bits from. - * \param mask Bit-mask indicating bits to read. - * - * \return Read bits. - */ -#define Rd_bits( value, mask) ((value) & (mask)) - -/*! \brief Writes the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue to write bits to. - * \param mask Bit-mask indicating bits to write. - * \param bits Bits to write. - * - * \return Resulting value with written bits. - */ -#define Wr_bits(lvalue, mask, bits) ((lvalue) = ((lvalue) & ~(mask)) |\ - ((bits ) & (mask))) - -/*! \brief Tests the bits of a value specified by a given bit-mask. - * - * \param value Value of which to test bits. - * \param mask Bit-mask indicating bits to test. - * - * \return \c 1 if at least one of the tested bits is set, else \c 0. - */ -#define Tst_bits( value, mask) (Rd_bits(value, mask) != 0) - -/*! \brief Clears the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue of which to clear bits. - * \param mask Bit-mask indicating bits to clear. - * - * \return Resulting value with cleared bits. - */ -#define Clr_bits(lvalue, mask) ((lvalue) &= ~(mask)) - -/*! \brief Sets the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue of which to set bits. - * \param mask Bit-mask indicating bits to set. - * - * \return Resulting value with set bits. - */ -#define Set_bits(lvalue, mask) ((lvalue) |= (mask)) - -/*! \brief Toggles the bits of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue of which to toggle bits. - * \param mask Bit-mask indicating bits to toggle. - * - * \return Resulting value with toggled bits. - */ -#define Tgl_bits(lvalue, mask) ((lvalue) ^= (mask)) - -/*! \brief Reads the bit-field of a value specified by a given bit-mask. - * - * \param value Value to read a bit-field from. - * \param mask Bit-mask indicating the bit-field to read. - * - * \return Read bit-field. - */ -#define Rd_bitfield( value, mask) (Rd_bits( value, mask) >> ctz(mask)) - -/*! \brief Writes the bit-field of a C lvalue specified by a given bit-mask. - * - * \param lvalue C lvalue to write a bit-field to. - * \param mask Bit-mask indicating the bit-field to write. - * \param bitfield Bit-field to write. - * - * \return Resulting value with written bit-field. - */ -#define Wr_bitfield(lvalue, mask, bitfield) (Wr_bits(lvalue, mask, (U32)(bitfield) << ctz(mask))) - -//! @} - - -/*! \name Zero-Bit Counting - * - * Under GCC, __builtin_clz and __builtin_ctz behave like macros when - * applied to constant expressions (values known at compile time), so they are - * more optimized than the use of the corresponding assembly instructions and - * they can be used as constant expressions e.g. to initialize objects having - * static storage duration, and like the corresponding assembly instructions - * when applied to non-constant expressions (values unknown at compile time), so - * they are more optimized than an assembly periphrasis. Hence, clz and ctz - * ensure a possible and optimized behavior for both constant and non-constant - * expressions. - */ -//! @{ - -/*! \brief Counts the leading zero bits of the given value considered as a 32-bit integer. - * - * \param u Value of which to count the leading zero bits. - * - * \return The count of leading zero bits in \a u. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define clz(u) ((u) ? __builtin_clz(u) : 32) -#elif (defined __ICCARM__) -# define clz(u) ((u) ? __CLZ(u) : 32) -#else -# define clz(u) (((u) == 0) ? 32 : \ - ((u) & (1ul << 31)) ? 0 : \ - ((u) & (1ul << 30)) ? 1 : \ - ((u) & (1ul << 29)) ? 2 : \ - ((u) & (1ul << 28)) ? 3 : \ - ((u) & (1ul << 27)) ? 4 : \ - ((u) & (1ul << 26)) ? 5 : \ - ((u) & (1ul << 25)) ? 6 : \ - ((u) & (1ul << 24)) ? 7 : \ - ((u) & (1ul << 23)) ? 8 : \ - ((u) & (1ul << 22)) ? 9 : \ - ((u) & (1ul << 21)) ? 10 : \ - ((u) & (1ul << 20)) ? 11 : \ - ((u) & (1ul << 19)) ? 12 : \ - ((u) & (1ul << 18)) ? 13 : \ - ((u) & (1ul << 17)) ? 14 : \ - ((u) & (1ul << 16)) ? 15 : \ - ((u) & (1ul << 15)) ? 16 : \ - ((u) & (1ul << 14)) ? 17 : \ - ((u) & (1ul << 13)) ? 18 : \ - ((u) & (1ul << 12)) ? 19 : \ - ((u) & (1ul << 11)) ? 20 : \ - ((u) & (1ul << 10)) ? 21 : \ - ((u) & (1ul << 9)) ? 22 : \ - ((u) & (1ul << 8)) ? 23 : \ - ((u) & (1ul << 7)) ? 24 : \ - ((u) & (1ul << 6)) ? 25 : \ - ((u) & (1ul << 5)) ? 26 : \ - ((u) & (1ul << 4)) ? 27 : \ - ((u) & (1ul << 3)) ? 28 : \ - ((u) & (1ul << 2)) ? 29 : \ - ((u) & (1ul << 1)) ? 30 : \ - 31) -#endif - -/*! \brief Counts the trailing zero bits of the given value considered as a 32-bit integer. - * - * \param u Value of which to count the trailing zero bits. - * - * \return The count of trailing zero bits in \a u. - */ -#if (defined __GNUC__) || (defined __CC_ARM) -# define ctz(u) ((u) ? __builtin_ctz(u) : 32) -#else -# define ctz(u) ((u) & (1ul << 0) ? 0 : \ - (u) & (1ul << 1) ? 1 : \ - (u) & (1ul << 2) ? 2 : \ - (u) & (1ul << 3) ? 3 : \ - (u) & (1ul << 4) ? 4 : \ - (u) & (1ul << 5) ? 5 : \ - (u) & (1ul << 6) ? 6 : \ - (u) & (1ul << 7) ? 7 : \ - (u) & (1ul << 8) ? 8 : \ - (u) & (1ul << 9) ? 9 : \ - (u) & (1ul << 10) ? 10 : \ - (u) & (1ul << 11) ? 11 : \ - (u) & (1ul << 12) ? 12 : \ - (u) & (1ul << 13) ? 13 : \ - (u) & (1ul << 14) ? 14 : \ - (u) & (1ul << 15) ? 15 : \ - (u) & (1ul << 16) ? 16 : \ - (u) & (1ul << 17) ? 17 : \ - (u) & (1ul << 18) ? 18 : \ - (u) & (1ul << 19) ? 19 : \ - (u) & (1ul << 20) ? 20 : \ - (u) & (1ul << 21) ? 21 : \ - (u) & (1ul << 22) ? 22 : \ - (u) & (1ul << 23) ? 23 : \ - (u) & (1ul << 24) ? 24 : \ - (u) & (1ul << 25) ? 25 : \ - (u) & (1ul << 26) ? 26 : \ - (u) & (1ul << 27) ? 27 : \ - (u) & (1ul << 28) ? 28 : \ - (u) & (1ul << 29) ? 29 : \ - (u) & (1ul << 30) ? 30 : \ - (u) & (1ul << 31) ? 31 : \ - 32) -#endif - -//! @} - - -/*! \name Bit Reversing - */ -//! @{ - -/*! \brief Reverses the bits of \a u8. - * - * \param u8 U8 of which to reverse the bits. - * - * \return Value resulting from \a u8 with reversed bits. - */ -#define bit_reverse8(u8) ((U8)(bit_reverse32((U8)(u8)) >> 24)) - -/*! \brief Reverses the bits of \a u16. - * - * \param u16 U16 of which to reverse the bits. - * - * \return Value resulting from \a u16 with reversed bits. - */ -#define bit_reverse16(u16) ((U16)(bit_reverse32((U16)(u16)) >> 16)) - -/*! \brief Reverses the bits of \a u32. - * - * \param u32 U32 of which to reverse the bits. - * - * \return Value resulting from \a u32 with reversed bits. - */ -#define bit_reverse32(u32) __RBIT(u32) - -/*! \brief Reverses the bits of \a u64. - * - * \param u64 U64 of which to reverse the bits. - * - * \return Value resulting from \a u64 with reversed bits. - */ -#define bit_reverse64(u64) ((U64)(((U64)bit_reverse32((U64)(u64) >> 32)) |\ - ((U64)bit_reverse32((U64)(u64)) << 32))) - -//! @} - - -/*! \name Alignment - */ -//! @{ - -/*! \brief Tests alignment of the number \a val with the \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return \c 1 if the number \a val is aligned with the \a n boundary, else \c 0. - */ -#define Test_align(val, n ) (!Tst_bits( val, (n) - 1 ) ) - -/*! \brief Gets alignment of the number \a val with respect to the \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return Alignment of the number \a val with respect to the \a n boundary. - */ -#define Get_align( val, n ) ( Rd_bits( val, (n) - 1 ) ) - -/*! \brief Sets alignment of the lvalue number \a lval to \a alg with respect to the \a n boundary. - * - * \param lval Input/output lvalue. - * \param n Boundary. - * \param alg Alignment. - * - * \return New value of \a lval resulting from its alignment set to \a alg with respect to the \a n boundary. - */ -#define Set_align(lval, n, alg) ( Wr_bits(lval, (n) - 1, alg) ) - -/*! \brief Aligns the number \a val with the upper \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return Value resulting from the number \a val aligned with the upper \a n boundary. - */ -#define Align_up( val, n ) (((val) + ((n) - 1)) & ~((n) - 1)) - -/*! \brief Aligns the number \a val with the lower \a n boundary. - * - * \param val Input value. - * \param n Boundary. - * - * \return Value resulting from the number \a val aligned with the lower \a n boundary. - */ -#define Align_down(val, n ) ( (val) & ~((n) - 1)) - -//! @} - - -/*! \name Mathematics - * - * The same considerations as for clz and ctz apply here but GCC does not - * provide built-in functions to access the assembly instructions abs, min and - * max and it does not produce them by itself in most cases, so two sets of - * macros are defined here: - * - Abs, Min and Max to apply to constant expressions (values known at - * compile time); - * - abs, min and max to apply to non-constant expressions (values unknown at - * compile time), abs is found in stdlib.h. - */ -//! @{ - -/*! \brief Takes the absolute value of \a a. - * - * \param a Input value. - * - * \return Absolute value of \a a. - * - * \note More optimized if only used with values known at compile time. - */ -#define Abs(a) (((a) < 0 ) ? -(a) : (a)) - -/*! \brief Takes the minimal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Minimal value of \a a and \a b. - * - * \note More optimized if only used with values known at compile time. - */ -#define Min(a, b) (((a) < (b)) ? (a) : (b)) - -/*! \brief Takes the maximal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Maximal value of \a a and \a b. - * - * \note More optimized if only used with values known at compile time. - */ -#define Max(a, b) (((a) > (b)) ? (a) : (b)) - -// abs() is already defined by stdlib.h - -/*! \brief Takes the minimal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Minimal value of \a a and \a b. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define min(a, b) Min(a, b) - -/*! \brief Takes the maximal value of \a a and \a b. - * - * \param a Input value. - * \param b Input value. - * - * \return Maximal value of \a a and \a b. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define max(a, b) Max(a, b) - -//! @} - - -/*! \brief Calls the routine at address \a addr. - * - * It generates a long call opcode. - * - * For example, `Long_call(0x80000000)' generates a software reset on a UC3 if - * it is invoked from the CPU supervisor mode. - * - * \param addr Address of the routine to call. - * - * \note It may be used as a long jump opcode in some special cases. - */ -#define Long_call(addr) ((*(void (*)(void))(addr))()) - - -/*! \name MCU Endianism Handling - * ARM is MCU little endianism. - */ -//! @{ -#define MSB(u16) (((U8 *)&(u16))[1]) //!< Most significant byte of \a u16. -#define LSB(u16) (((U8 *)&(u16))[0]) //!< Least significant byte of \a u16. - -#define MSH(u32) (((U16 *)&(u32))[1]) //!< Most significant half-word of \a u32. -#define LSH(u32) (((U16 *)&(u32))[0]) //!< Least significant half-word of \a u32. -#define MSB0W(u32) (((U8 *)&(u32))[3]) //!< Most significant byte of 1st rank of \a u32. -#define MSB1W(u32) (((U8 *)&(u32))[2]) //!< Most significant byte of 2nd rank of \a u32. -#define MSB2W(u32) (((U8 *)&(u32))[1]) //!< Most significant byte of 3rd rank of \a u32. -#define MSB3W(u32) (((U8 *)&(u32))[0]) //!< Most significant byte of 4th rank of \a u32. -#define LSB3W(u32) MSB0W(u32) //!< Least significant byte of 4th rank of \a u32. -#define LSB2W(u32) MSB1W(u32) //!< Least significant byte of 3rd rank of \a u32. -#define LSB1W(u32) MSB2W(u32) //!< Least significant byte of 2nd rank of \a u32. -#define LSB0W(u32) MSB3W(u32) //!< Least significant byte of 1st rank of \a u32. - -#define MSW(u64) (((U32 *)&(u64))[1]) //!< Most significant word of \a u64. -#define LSW(u64) (((U32 *)&(u64))[0]) //!< Least significant word of \a u64. -#define MSH0(u64) (((U16 *)&(u64))[3]) //!< Most significant half-word of 1st rank of \a u64. -#define MSH1(u64) (((U16 *)&(u64))[2]) //!< Most significant half-word of 2nd rank of \a u64. -#define MSH2(u64) (((U16 *)&(u64))[1]) //!< Most significant half-word of 3rd rank of \a u64. -#define MSH3(u64) (((U16 *)&(u64))[0]) //!< Most significant half-word of 4th rank of \a u64. -#define LSH3(u64) MSH0(u64) //!< Least significant half-word of 4th rank of \a u64. -#define LSH2(u64) MSH1(u64) //!< Least significant half-word of 3rd rank of \a u64. -#define LSH1(u64) MSH2(u64) //!< Least significant half-word of 2nd rank of \a u64. -#define LSH0(u64) MSH3(u64) //!< Least significant half-word of 1st rank of \a u64. -#define MSB0D(u64) (((U8 *)&(u64))[7]) //!< Most significant byte of 1st rank of \a u64. -#define MSB1D(u64) (((U8 *)&(u64))[6]) //!< Most significant byte of 2nd rank of \a u64. -#define MSB2D(u64) (((U8 *)&(u64))[5]) //!< Most significant byte of 3rd rank of \a u64. -#define MSB3D(u64) (((U8 *)&(u64))[4]) //!< Most significant byte of 4th rank of \a u64. -#define MSB4D(u64) (((U8 *)&(u64))[3]) //!< Most significant byte of 5th rank of \a u64. -#define MSB5D(u64) (((U8 *)&(u64))[2]) //!< Most significant byte of 6th rank of \a u64. -#define MSB6D(u64) (((U8 *)&(u64))[1]) //!< Most significant byte of 7th rank of \a u64. -#define MSB7D(u64) (((U8 *)&(u64))[0]) //!< Most significant byte of 8th rank of \a u64. -#define LSB7D(u64) MSB0D(u64) //!< Least significant byte of 8th rank of \a u64. -#define LSB6D(u64) MSB1D(u64) //!< Least significant byte of 7th rank of \a u64. -#define LSB5D(u64) MSB2D(u64) //!< Least significant byte of 6th rank of \a u64. -#define LSB4D(u64) MSB3D(u64) //!< Least significant byte of 5th rank of \a u64. -#define LSB3D(u64) MSB4D(u64) //!< Least significant byte of 4th rank of \a u64. -#define LSB2D(u64) MSB5D(u64) //!< Least significant byte of 3rd rank of \a u64. -#define LSB1D(u64) MSB6D(u64) //!< Least significant byte of 2nd rank of \a u64. -#define LSB0D(u64) MSB7D(u64) //!< Least significant byte of 1st rank of \a u64. - -#define BE16(x) swap16(x) -#define LE16(x) (x) - -#define le16_to_cpu(x) (x) -#define cpu_to_le16(x) (x) -#define LE16_TO_CPU(x) (x) -#define CPU_TO_LE16(x) (x) - -#define be16_to_cpu(x) swap16(x) -#define cpu_to_be16(x) swap16(x) -#define BE16_TO_CPU(x) swap16(x) -#define CPU_TO_BE16(x) swap16(x) - -#define le32_to_cpu(x) (x) -#define cpu_to_le32(x) (x) -#define LE32_TO_CPU(x) (x) -#define CPU_TO_LE32(x) (x) - -#define be32_to_cpu(x) swap32(x) -#define cpu_to_be32(x) swap32(x) -#define BE32_TO_CPU(x) swap32(x) -#define CPU_TO_BE32(x) swap32(x) -//! @} - - -/*! \name Endianism Conversion - * - * The same considerations as for clz and ctz apply here but GCC's - * __builtin_bswap_32 and __builtin_bswap_64 do not behave like macros when - * applied to constant expressions, so two sets of macros are defined here: - * - Swap16, Swap32 and Swap64 to apply to constant expressions (values known - * at compile time); - * - swap16, swap32 and swap64 to apply to non-constant expressions (values - * unknown at compile time). - */ -//! @{ - -/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). - * - * \param u16 U16 of which to toggle the endianism. - * - * \return Value resulting from \a u16 with toggled endianism. - * - * \note More optimized if only used with values known at compile time. - */ -#define Swap16(u16) ((U16)(((U16)(u16) >> 8) |\ - ((U16)(u16) << 8))) - -/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). - * - * \param u32 U32 of which to toggle the endianism. - * - * \return Value resulting from \a u32 with toggled endianism. - * - * \note More optimized if only used with values known at compile time. - */ -#define Swap32(u32) ((U32)(((U32)Swap16((U32)(u32) >> 16)) |\ - ((U32)Swap16((U32)(u32)) << 16))) - -/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). - * - * \param u64 U64 of which to toggle the endianism. - * - * \return Value resulting from \a u64 with toggled endianism. - * - * \note More optimized if only used with values known at compile time. - */ -#define Swap64(u64) ((U64)(((U64)Swap32((U64)(u64) >> 32)) |\ - ((U64)Swap32((U64)(u64)) << 32))) - -/*! \brief Toggles the endianism of \a u16 (by swapping its bytes). - * - * \param u16 U16 of which to toggle the endianism. - * - * \return Value resulting from \a u16 with toggled endianism. - * - * \note More optimized if only used with values unknown at compile time. - */ -#define swap16(u16) Swap16(u16) - -/*! \brief Toggles the endianism of \a u32 (by swapping its bytes). - * - * \param u32 U32 of which to toggle the endianism. - * - * \return Value resulting from \a u32 with toggled endianism. - * - * \note More optimized if only used with values unknown at compile time. - */ -#if (defined __GNUC__) -# define swap32(u32) ((U32)__builtin_bswap32((U32)(u32))) -#else -# define swap32(u32) Swap32(u32) -#endif - -/*! \brief Toggles the endianism of \a u64 (by swapping its bytes). - * - * \param u64 U64 of which to toggle the endianism. - * - * \return Value resulting from \a u64 with toggled endianism. - * - * \note More optimized if only used with values unknown at compile time. - */ -#if (defined __GNUC__) -# define swap64(u64) ((U64)__builtin_bswap64((U64)(u64))) -#else -# define swap64(u64) ((U64)(((U64)swap32((U64)(u64) >> 32)) |\ - ((U64)swap32((U64)(u64)) << 32))) -#endif - -//! @} - - -/*! \name Target Abstraction - */ -//! @{ - -#define _GLOBEXT_ extern //!< extern storage-class specifier. -#define _CONST_TYPE_ const //!< const type qualifier. -#define _MEM_TYPE_SLOW_ //!< Slow memory type. -#define _MEM_TYPE_MEDFAST_ //!< Fairly fast memory type. -#define _MEM_TYPE_FAST_ //!< Fast memory type. - -typedef U8 Byte; //!< 8-bit unsigned integer. - -#define memcmp_ram2ram memcmp //!< Target-specific memcmp of RAM to RAM. -#define memcmp_code2ram memcmp //!< Target-specific memcmp of RAM to NVRAM. -#define memcpy_ram2ram memcpy //!< Target-specific memcpy from RAM to RAM. -#define memcpy_code2ram memcpy //!< Target-specific memcpy from NVRAM to RAM. - -#define LSB0(u32) LSB0W(u32) //!< Least significant byte of 1st rank of \a u32. -#define LSB1(u32) LSB1W(u32) //!< Least significant byte of 2nd rank of \a u32. -#define LSB2(u32) LSB2W(u32) //!< Least significant byte of 3rd rank of \a u32. -#define LSB3(u32) LSB3W(u32) //!< Least significant byte of 4th rank of \a u32. -#define MSB3(u32) MSB3W(u32) //!< Most significant byte of 4th rank of \a u32. -#define MSB2(u32) MSB2W(u32) //!< Most significant byte of 3rd rank of \a u32. -#define MSB1(u32) MSB1W(u32) //!< Most significant byte of 2nd rank of \a u32. -#define MSB0(u32) MSB0W(u32) //!< Most significant byte of 1st rank of \a u32. - -//! @} - -/** - * \brief Calculate \f$ \left\lceil \frac{a}{b} \right\rceil \f$ using - * integer arithmetic. - * - * \param a An integer - * \param b Another integer - * - * \return (\a a / \a b) rounded up to the nearest integer. - */ -#define div_ceil(a, b) (((a) + (b) - 1) / (b)) - -#endif // #ifndef __ASSEMBLY__ - - -#if defined(__ICCARM__) -#define SHORTENUM __packed -#elif defined(__GNUC__) -#define SHORTENUM __attribute__((packed)) -#endif - -/* No operation */ -#if defined(__ICCARM__) -#define nop() __no_operation() -#elif defined(__GNUC__) -#define nop() (__NOP()) -#endif - -#define FLASH_DECLARE(x) const x -#define FLASH_EXTERN(x) extern const x -#define PGM_READ_BYTE(x) *(x) -#define PGM_READ_WORD(x) *(x) -#define PGM_READ_DWORD(x) *(x) -#define MEMCPY_ENDIAN memcpy -#define PGM_READ_BLOCK(dst, src, len) memcpy((dst), (src), (len)) - -/*Defines the Flash Storage for the request and response of MAC*/ -#define CMD_ID_OCTET (0) - -/* Converting of values from CPU endian to little endian. */ -#define CPU_ENDIAN_TO_LE16(x) (x) -#define CPU_ENDIAN_TO_LE32(x) (x) -#define CPU_ENDIAN_TO_LE64(x) (x) - -/* Converting of values from little endian to CPU endian. */ -#define LE16_TO_CPU_ENDIAN(x) (x) -#define LE32_TO_CPU_ENDIAN(x) (x) -#define LE64_TO_CPU_ENDIAN(x) (x) - -/* Converting of constants from little endian to CPU endian. */ -#define CLE16_TO_CPU_ENDIAN(x) (x) -#define CLE32_TO_CPU_ENDIAN(x) (x) -#define CLE64_TO_CPU_ENDIAN(x) (x) - -/* Converting of constants from CPU endian to little endian. */ -#define CCPU_ENDIAN_TO_LE16(x) (x) -#define CCPU_ENDIAN_TO_LE32(x) (x) -#define CCPU_ENDIAN_TO_LE64(x) (x) - -#define ADDR_COPY_DST_SRC_16(dst, src) ((dst) = (src)) -#define ADDR_COPY_DST_SRC_64(dst, src) ((dst) = (src)) - -/** - * @brief Converts a 64-Bit value into a 8 Byte array - * - * @param[in] value 64-Bit value - * @param[out] data Pointer to the 8 Byte array to be updated with 64-Bit value - * @ingroup apiPalApi - */ -static inline void convert_64_bit_to_byte_array(uint64_t value, uint8_t *data) -{ - uint8_t val_index = 0; - - while (val_index < 8) - { - data[val_index++] = value & 0xFF; - value = value >> 8; - } -} - -/** - * @brief Converts a 16-Bit value into a 2 Byte array - * - * @param[in] value 16-Bit value - * @param[out] data Pointer to the 2 Byte array to be updated with 16-Bit value - * @ingroup apiPalApi - */ -static inline void convert_16_bit_to_byte_array(uint16_t value, uint8_t *data) -{ - data[0] = value & 0xFF; - data[1] = (value >> 8) & 0xFF; -} - -/* Converts a 16-Bit value into a 2 Byte array */ -static inline void convert_spec_16_bit_to_byte_array(uint16_t value, uint8_t *data) -{ - data[0] = value & 0xFF; - data[1] = (value >> 8) & 0xFF; -} - -/* Converts a 16-Bit value into a 2 Byte array */ -static inline void convert_16_bit_to_byte_address(uint16_t value, uint8_t *data) -{ - data[0] = value & 0xFF; - data[1] = (value >> 8) & 0xFF; -} - -/* - * @brief Converts a 2 Byte array into a 16-Bit value - * - * @param data Specifies the pointer to the 2 Byte array - * - * @return 16-Bit value - * @ingroup apiPalApi - */ -static inline uint16_t convert_byte_array_to_16_bit(uint8_t *data) -{ - return (data[0] | ((uint16_t)data[1] << 8)); -} - -/* Converts a 8 Byte array into a 32-Bit value */ -static inline uint32_t convert_byte_array_to_32_bit(uint8_t *data) -{ - union - { - uint32_t u32; - uint8_t u8[8]; - }long_addr; - uint8_t index; - for (index = 0; index < 4; index++) - { - long_addr.u8[index] = *data++; - } - return long_addr.u32; -} - -/** - * @brief Converts a 8 Byte array into a 64-Bit value - * - * @param data Specifies the pointer to the 8 Byte array - * - * @return 64-Bit value - * @ingroup apiPalApi - */ -static inline uint64_t convert_byte_array_to_64_bit(uint8_t *data) -{ - union - { - uint64_t u64; - uint8_t u8[8]; - } long_addr; - - uint8_t val_index; - - for (val_index = 0; val_index < 8; val_index++) - { - long_addr.u8[val_index] = *data++; - } - - return long_addr.u64; -} -/** - * \} - */ - -#endif /* UTILS_COMPILER_H */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/fpu/fpu.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/fpu/fpu.h deleted file mode 100644 index 763089d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/fpu/fpu.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - * \file - * - * \brief FPU support for SAM. - * - * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _FPU_H_INCLUDED_ -#define _FPU_H_INCLUDED_ - -#include <compiler.h> - -/** Address for ARM CPACR */ -#define ADDR_CPACR 0xE000ED88 - -/** CPACR Register */ -#define REG_CPACR (*((volatile uint32_t *)ADDR_CPACR)) - -/** - * \brief Enable FPU - */ -__always_inline static void fpu_enable(void) -{ - irqflags_t flags; - flags = cpu_irq_save(); - REG_CPACR |= (0xFu << 20); - __DSB(); - __ISB(); - cpu_irq_restore(flags); -} - -/** - * \brief Disable FPU - */ -__always_inline static void fpu_disable(void) -{ - irqflags_t flags; - flags = cpu_irq_save(); - REG_CPACR &= ~(0xFu << 20); - __DSB(); - __ISB(); - cpu_irq_restore(flags); -} - -/** - * \brief Check if FPU is enabled - * - * \return Return ture if FPU is enabled, otherwise return false. - */ -__always_inline static bool fpu_is_enabled(void) -{ - return (REG_CPACR & (0xFu << 20)); -} - -#endif /* _FPU_H_INCLUDED_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/header_files/io.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/header_files/io.h deleted file mode 100644 index a79c646..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/header_files/io.h +++ /dev/null @@ -1,157 +0,0 @@ -/** - * \file - * - * \brief Arch file for SAM. - * - * This file defines common SAM series. - * - * Copyright (c) 2011-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _SAM_IO_ -#define _SAM_IO_ - -/* SAM3 family */ - -/* SAM3S series */ -#if (SAM3S) -# if (SAM3S8 || SAM3SD8) -# include "sam3s8.h" -# else -# include "sam3s.h" -# endif -#endif - -/* SAM3U series */ -#if (SAM3U) -# include "sam3u.h" -#endif - -/* SAM3N series */ -#if (SAM3N) -# include "sam3n.h" -#endif - -/* SAM3XA series */ -#if (SAM3XA) -# include "sam3xa.h" -#endif - -/* SAM4S series */ -#if (SAM4S) -# include "sam4s.h" -#endif - -/* SAM4L series */ -#if (SAM4L) -# include "sam4l.h" -#endif - -/* SAM4E series */ -#if (SAM4E) -# include "sam4e.h" -#endif - -/* SAM4N series */ -#if (SAM4N) -# include "sam4n.h" -#endif - -/* SAM4C series */ -#if (SAM4C) -# include "sam4c.h" -#endif - -/* SAM4CM series */ -#if (SAM4CM) -# if (SAM4CMP32 || SAM4CMS32) -# include "sam4cm32.h" -# else -# include "sam4cm.h" -# endif -#endif - -/* SAM4CP series */ -#if (SAM4CP) -# include "sam4cp.h" -#endif - -/* SAMG51 series */ -#if (SAMG51) -# include "samg51.h" -#endif - -/* SAMG53 series */ -#if (SAMG53) -# include "samg53.h" -#endif - -/* SAMG54 series */ -#if (SAMG54) -# include "samg54.h" -#endif - -/* SAMG55 series */ -#if (SAMG55) -# include "samg55.h" -#endif - -/* SAMV71 series */ -#if (SAMV71) -# include "samv71.h" -#endif - -/* SAMV70 series */ -#if (SAMV70) -# include "samv70.h" -#endif - -/* SAME70 series */ -#if (SAME70) -# include "same70.h" -#endif - -/* SAMS70 series */ -#if (SAMS70) -# include "sams70.h" -#endif - -#endif /* _SAM_IO_ */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld deleted file mode 100644 index cb4537d..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/linker_scripts/sams70/sams70n20/gcc/flash.ld +++ /dev/null @@ -1,174 +0,0 @@ -/** - * \file - * - * Copyright (c) 2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal FLASH on the ATSAMS70N20 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000 - ram (rwx) : ORIGIN = 0x20400000, LENGTH = 0x00060000 -} - -/* The stack size used by the application. NOTE: you need to adjust according to your application. */ -STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x2000; -__ram_end__ = ORIGIN(ram) + LENGTH(ram) - 4; - -/* The heapsize used by the application. NOTE: you need to adjust according to your application. */ -HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > rom - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > ram - - /* heap section */ - .heap (NOLOAD): - { - . = ALIGN(8); - _sheap = .; - . = . + HEAP_SIZE; - . = ALIGN(8); - _eheap = .; - } > ram - - . = ALIGN(4); - _end = . ; - _ram_end_ = ORIGIN(ram) + LENGTH(ram) -1 ; -} - diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/make/Makefile.sam.in b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/make/Makefile.sam.in deleted file mode 100644 index 23c6697..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/make/Makefile.sam.in +++ /dev/null @@ -1,496 +0,0 @@ -# List of available make goals: -# -# all Default target, builds the project -# clean Clean up the project -# rebuild Rebuild the project -# debug_flash Builds the project and debug in flash -# debug_sram Builds the project and debug in sram -# -# doc Build the documentation -# cleandoc Clean up the documentation -# rebuilddoc Rebuild the documentation -# -# \file -# -# Copyright (c) 2011 - 2013 Atmel Corporation. All rights reserved. -# -# \asf_license_start -# -# \page License -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# -# 3. The name of Atmel may not be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# 4. This software may only be redistributed and used in connection with an -# Atmel microcontroller product. -# -# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR -# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -# \asf_license_stop -# - -# Include the config.mk file from the current working path, e.g., where the -# user called make. -include config.mk - -# Tool to use to generate documentation from the source code -DOCGEN ?= doxygen - -# Look for source files relative to the top-level source directory -VPATH := $(PRJ_PATH) - -# Output target file -project_type := $(PROJECT_TYPE) - -# Output target file -ifeq ($(project_type),flash) -target := $(TARGET_FLASH) -linker_script := $(PRJ_PATH)/$(LINKER_SCRIPT_FLASH) -debug_script := $(PRJ_PATH)/$(DEBUG_SCRIPT_FLASH) -else -target := $(TARGET_SRAM) -linker_script := $(PRJ_PATH)/$(LINKER_SCRIPT_SRAM) -debug_script := $(PRJ_PATH)/$(DEBUG_SCRIPT_SRAM) -endif - -# Output project name (target name minus suffix) -project := $(basename $(target)) - -# Output target file (typically ELF or static library) -ifeq ($(suffix $(target)),.a) -target_type := lib -else -ifeq ($(suffix $(target)),.elf) -target_type := elf -else -$(error "Target type $(target_type) is not supported") -endif -endif - -# Allow override of operating system detection. The user can add OS=Linux or -# OS=Windows on the command line to explicit set the host OS. -# -# This allows to work around broken uname utility on certain systems. -ifdef OS - ifeq ($(strip $(OS)), Linux) - os_type := Linux - endif - ifeq ($(strip $(OS)), Windows) - os_type := windows32_64 - endif -endif - -os_type ?= $(strip $(shell uname)) - -ifeq ($(os_type),windows32) -os := Windows -else -ifeq ($(os_type),windows64) -os := Windows -else -ifeq ($(os_type),windows32_64) -os ?= Windows -else -ifeq ($(os_type),) -os := Windows -else -# Default to Linux style operating system. Both Cygwin and mingw are fully -# compatible (for this Makefile) with Linux. -os := Linux -endif -endif -endif -endif - -# Output documentation directory and configuration file. -docdir := ../doxygen/html -doccfg := ../doxygen/doxyfile.doxygen - -CROSS ?= arm-none-eabi- -AR := $(CROSS)ar -AS := $(CROSS)as -CC := $(CROSS)gcc -CPP := $(CROSS)gcc -E -CXX := $(CROSS)g++ -LD := $(CROSS)g++ -NM := $(CROSS)nm -OBJCOPY := $(CROSS)objcopy -OBJDUMP := $(CROSS)objdump -SIZE := $(CROSS)size -GDB := $(CROSS)gdb - -RM := rm -ifeq ($(os),Windows) -RMDIR := rmdir /S /Q -else -RMDIR := rmdir -p --ignore-fail-on-non-empty -endif - -# On Windows, we need to override the shell to force the use of cmd.exe -ifeq ($(os),Windows) -SHELL := cmd -endif - -# Strings for beautifying output -MSG_CLEAN_FILES = "RM *.o *.d" -MSG_CLEAN_DIRS = "RMDIR $(strip $(clean-dirs))" -MSG_CLEAN_DOC = "RMDIR $(docdir)" -MSG_MKDIR = "MKDIR $(dir $@)" - -MSG_INFO = "INFO " -MSG_PREBUILD = "PREBUILD $(PREBUILD_CMD)" -MSG_POSTBUILD = "POSTBUILD $(POSTBUILD_CMD)" - -MSG_ARCHIVING = "AR $@" -MSG_ASSEMBLING = "AS $@" -MSG_BINARY_IMAGE = "OBJCOPY $@" -MSG_COMPILING = "CC $@" -MSG_COMPILING_CXX = "CXX $@" -MSG_EXTENDED_LISTING = "OBJDUMP $@" -MSG_IHEX_IMAGE = "OBJCOPY $@" -MSG_LINKING = "LN $@" -MSG_PREPROCESSING = "CPP $@" -MSG_SIZE = "SIZE $@" -MSG_SYMBOL_TABLE = "NM $@" - -MSG_GENERATING_DOC = "DOXYGEN $(docdir)" - -# Don't use make's built-in rules and variables -MAKEFLAGS += -rR - -# Don't print 'Entering directory ...' -MAKEFLAGS += --no-print-directory - -# Function for reversing the order of a list -reverse = $(if $(1),$(call reverse,$(wordlist 2,$(words $(1)),$(1)))) $(firstword $(1)) - -# Hide command output by default, but allow the user to override this -# by adding V=1 on the command line. -# -# This is inspired by the Kbuild system used by the Linux kernel. -ifdef V - ifeq ("$(origin V)", "command line") - VERBOSE = $(V) - endif -endif -ifndef VERBOSE - VERBOSE = 0 -endif - -ifeq ($(VERBOSE), 1) - Q = -else - Q = @ -endif - -arflags-gnu-y := $(ARFLAGS) -asflags-gnu-y := $(ASFLAGS) -cflags-gnu-y := $(CFLAGS) -cxxflags-gnu-y := $(CXXFLAGS) -cppflags-gnu-y := $(CPPFLAGS) -cpuflags-gnu-y := -dbgflags-gnu-y := $(DBGFLAGS) -libflags-gnu-y := $(foreach LIB,$(LIBS),-l$(LIB)) -ldflags-gnu-y := $(LDFLAGS) -flashflags-gnu-y := -clean-files := -clean-dirs := - -clean-files += $(wildcard $(target) $(project).map) -clean-files += $(wildcard $(project).hex $(project).bin) -clean-files += $(wildcard $(project).lss $(project).sym) -clean-files += $(wildcard $(build)) - -# Use pipes instead of temporary files for communication between processes -cflags-gnu-y += -pipe -asflags-gnu-y += -pipe -ldflags-gnu-y += -pipe - -# Archiver flags. -arflags-gnu-y += rcs - -# Always enable warnings. And be very careful about implicit -# declarations. -cflags-gnu-y += -Wall -Wstrict-prototypes -Wmissing-prototypes -cflags-gnu-y += -Werror-implicit-function-declaration -cxxflags-gnu-y += -Wall -# IAR doesn't allow arithmetic on void pointers, so warn about that. -cflags-gnu-y += -Wpointer-arith -cxxflags-gnu-y += -Wpointer-arith - -# Preprocessor flags. -cppflags-gnu-y += $(foreach INC,$(addprefix $(PRJ_PATH)/,$(INC_PATH)),-I$(INC)) -asflags-gnu-y += $(foreach INC,$(addprefix $(PRJ_PATH)/,$(INC_PATH)),'-Wa,-I$(INC)') - -# CPU specific flags. -cpuflags-gnu-y += -mcpu=$(ARCH) -mthumb -D=__$(PART)__ - -# Dependency file flags. -depflags = -MD -MP -MQ $@ - -# Debug specific flags. -ifdef BUILD_DEBUG_LEVEL -dbgflags-gnu-y += -g$(BUILD_DEBUG_LEVEL) -else -dbgflags-gnu-y += -g3 -endif - -# Optimization specific flags. -ifdef BUILD_OPTIMIZATION -optflags-gnu-y = -O$(BUILD_OPTIMIZATION) -else -optflags-gnu-y = $(OPTIMIZATION) -endif - -# Always preprocess assembler files. -asflags-gnu-y += -x assembler-with-cpp -# Compile C files using the GNU99 standard. -cflags-gnu-y += -std=gnu99 -# Compile C++ files using the GNU++98 standard. -cxxflags-gnu-y += -std=gnu++98 - -# Don't use strict aliasing (very common in embedded applications). -cflags-gnu-y += -fno-strict-aliasing -cxxflags-gnu-y += -fno-strict-aliasing - -# Separate each function and data into its own separate section to allow -# garbage collection of unused sections. -cflags-gnu-y += -ffunction-sections -fdata-sections -cxxflags-gnu-y += -ffunction-sections -fdata-sections - -# Various cflags. -cflags-gnu-y += -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -cflags-gnu-y += -Wmain -Wparentheses -cflags-gnu-y += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -cflags-gnu-y += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -cflags-gnu-y += -Wshadow -Wbad-function-cast -Wwrite-strings -cflags-gnu-y += -Wsign-compare -Waggregate-return -cflags-gnu-y += -Wmissing-declarations -cflags-gnu-y += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -cflags-gnu-y += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -cflags-gnu-y += -Wunreachable-code -cflags-gnu-y += -Wcast-align -cflags-gnu-y += --param max-inline-insns-single=500 - -# Garbage collect unreferred sections when linking. -ldflags-gnu-y += -Wl,--gc-sections - -# Use the linker script if provided by the project. -ifneq ($(strip $(linker_script)),) -ldflags-gnu-y += -Wl,-T $(linker_script) -endif - -# Output a link map file and a cross reference table -ldflags-gnu-y += -Wl,-Map=$(project).map,--cref - -# Add library search paths relative to the top level directory. -ldflags-gnu-y += $(foreach _LIB_PATH,$(addprefix $(PRJ_PATH)/,$(LIB_PATH)),-L$(_LIB_PATH)) - -a_flags = $(cpuflags-gnu-y) $(depflags) $(cppflags-gnu-y) $(asflags-gnu-y) -D__ASSEMBLY__ -c_flags = $(cpuflags-gnu-y) $(dbgflags-gnu-y) $(depflags) $(optflags-gnu-y) $(cppflags-gnu-y) $(cflags-gnu-y) -cxx_flags= $(cpuflags-gnu-y) $(dbgflags-gnu-y) $(depflags) $(optflags-gnu-y) $(cppflags-gnu-y) $(cxxflags-gnu-y) -l_flags = -Wl,--entry=Reset_Handler -Wl,--cref $(cpuflags-gnu-y) $(optflags-gnu-y) $(ldflags-gnu-y) -ar_flags = $(arflags-gnu-y) - -# Source files list and part informations must already be included before -# running this makefile - -# If a custom build directory is specified, use it -- force trailing / in directory name. -ifdef BUILD_DIR - build-dir := $(dir $(BUILD_DIR))$(if $(notdir $(BUILD_DIR)),$(notdir $(BUILD_DIR))/) -else - build-dir = -endif - -# Create object files list from source files list. -obj-y := $(addprefix $(build-dir), $(addsuffix .o,$(basename $(CSRCS) $(ASSRCS)))) -# Create dependency files list from source files list. -dep-files := $(wildcard $(foreach f,$(obj-y),$(basename $(f)).d)) - -clean-files += $(wildcard $(obj-y)) -clean-files += $(dep-files) - -clean-dirs += $(call reverse,$(sort $(wildcard $(dir $(obj-y))))) - -# Default target. -.PHONY: all -ifeq ($(project_type),all) -all: - $(MAKE) all PROJECT_TYPE=flash - $(MAKE) all PROJECT_TYPE=sram -else -ifeq ($(target_type),lib) -all: $(target) $(project).lss $(project).sym -else -ifeq ($(target_type),elf) -all: prebuild $(target) $(project).lss $(project).sym $(project).hex $(project).bin postbuild -endif -endif -endif - -prebuild: -ifneq ($(strip $(PREBUILD_CMD)),) - @echo $(MSG_PREBUILD) - $(Q)$(PREBUILD_CMD) -endif - -postbuild: -ifneq ($(strip $(POSTBUILD_CMD)),) - @echo $(MSG_POSTBUILD) - $(Q)$(POSTBUILD_CMD) -endif - -# Clean up the project. -.PHONY: clean -clean: - @$(if $(strip $(clean-files)),echo $(MSG_CLEAN_FILES)) - $(if $(strip $(clean-files)),$(Q)$(RM) $(clean-files),) - @$(if $(strip $(clean-dirs)),echo $(MSG_CLEAN_DIRS)) -# Remove created directories, and make sure we only remove existing -# directories, since recursive rmdir might help us a bit on the way. -ifeq ($(os),Windows) - $(Q)$(if $(strip $(clean-dirs)), \ - $(RMDIR) $(strip $(subst /,\,$(clean-dirs)))) -else - $(Q)$(if $(strip $(clean-dirs)), \ - for directory in $(strip $(clean-dirs)); do \ - if [ -d "$$directory" ]; then \ - $(RMDIR) $$directory; \ - fi \ - done \ - ) -endif - -# Rebuild the project. -.PHONY: rebuild -rebuild: clean all - -# Debug the project in flash. -.PHONY: debug_flash -debug_flash: all - $(GDB) -x "$(PRJ_PATH)/$(DEBUG_SCRIPT_FLASH)" -ex "reset" -readnow -se $(TARGET_FLASH) - -# Debug the project in sram. -.PHONY: debug_sram -debug_sram: all - $(GDB) -x "$(PRJ_PATH)/$(DEBUG_SCRIPT_SRAM)" -ex "reset" -readnow -se $(TARGET_SRAM) - -.PHONY: objfiles -objfiles: $(obj-y) - -# Create object files from C source files. -$(build-dir)%.o: %.c $(MAKEFILE_PATH) config.mk - $(Q)test -d $(dir $@) || echo $(MSG_MKDIR) -ifeq ($(os),Windows) - $(Q)test -d $(patsubst %/,%,$(dir $@)) || mkdir $(subst /,\,$(dir $@)) -else - $(Q)test -d $(dir $@) || mkdir -p $(dir $@) -endif - @echo $(MSG_COMPILING) - $(Q)$(CC) $(c_flags) -c $< -o $@ - -# Create object files from C++ source files. -$(build-dir)%.o: %.cpp $(MAKEFILE_PATH) config.mk - $(Q)test -d $(dir $@) || echo $(MSG_MKDIR) -ifeq ($(os),Windows) - $(Q)test -d $(patsubst %/,%,$(dir $@)) || mkdir $(subst /,\,$(dir $@)) -else - $(Q)test -d $(dir $@) || mkdir -p $(dir $@) -endif - @echo $(MSG_COMPILING_CXX) - $(Q)$(CXX) $(cxx_flags) -c $< -o $@ - -# Preprocess and assemble: create object files from assembler source files. -$(build-dir)%.o: %.S $(MAKEFILE_PATH) config.mk - $(Q)test -d $(dir $@) || echo $(MSG_MKDIR) -ifeq ($(os),Windows) - $(Q)test -d $(patsubst %/,%,$(dir $@)) || mkdir $(subst /,\,$(dir $@)) -else - $(Q)test -d $(dir $@) || mkdir -p $(dir $@) -endif - @echo $(MSG_ASSEMBLING) - $(Q)$(CC) $(a_flags) -c $< -o $@ - -# Include all dependency files to add depedency to all header files in use. -include $(dep-files) - -ifeq ($(target_type),lib) -# Archive object files into an archive -$(target): $(MAKEFILE_PATH) config.mk $(obj-y) - @echo $(MSG_ARCHIVING) - $(Q)$(AR) $(ar_flags) $@ $(obj-y) - @echo $(MSG_SIZE) - $(Q)$(SIZE) -Bxt $@ -else -ifeq ($(target_type),elf) -# Link the object files into an ELF file. Also make sure the target is rebuilt -# if the common Makefile.sam.in or project config.mk is changed. -$(target): $(linker_script) $(MAKEFILE_PATH) config.mk $(obj-y) - @echo $(MSG_LINKING) - $(Q)$(LD) $(l_flags) $(obj-y) $(libflags-gnu-y) -o $@ - @echo $(MSG_SIZE) - $(Q)$(SIZE) -Ax $@ - $(Q)$(SIZE) -Bx $@ -endif -endif - -# Create extended function listing from target output file. -%.lss: $(target) - @echo $(MSG_EXTENDED_LISTING) - $(Q)$(OBJDUMP) -h -S $< > $@ - -# Create symbol table from target output file. -%.sym: $(target) - @echo $(MSG_SYMBOL_TABLE) - $(Q)$(NM) -n $< > $@ - -# Create Intel HEX image from ELF output file. -%.hex: $(target) - @echo $(MSG_IHEX_IMAGE) - $(Q)$(OBJCOPY) -O ihex $(flashflags-gnu-y) $< $@ - -# Create binary image from ELF output file. -%.bin: $(target) - @echo $(MSG_BINARY_IMAGE) - $(Q)$(OBJCOPY) -O binary $< $@ - -# Provide information about the detected host operating system. -.SECONDARY: info-os -info-os: - @echo $(MSG_INFO)$(os) build host detected - -# Build Doxygen generated documentation. -.PHONY: doc -doc: - @echo $(MSG_GENERATING_DOC) - $(Q)cd $(dir $(doccfg)) && $(DOCGEN) $(notdir $(doccfg)) - -# Clean Doxygen generated documentation. -.PHONY: cleandoc -cleandoc: - @$(if $(wildcard $(docdir)),echo $(MSG_CLEAN_DOC)) - $(Q)$(if $(wildcard $(docdir)),$(RM) --recursive $(docdir)) - -# Rebuild the Doxygen generated documentation. -.PHONY: rebuilddoc -rebuilddoc: cleandoc doc diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/mrepeat.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/mrepeat.h deleted file mode 100644 index 5a2017b..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/mrepeat.h +++ /dev/null @@ -1,339 +0,0 @@ -/** - * \file - * - * \brief Preprocessor macro repeating utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _MREPEAT_H_ -#define _MREPEAT_H_ - -/** - * \defgroup group_sam_utils_mrepeat Preprocessor - Macro Repeat - * - * \ingroup group_sam_utils - * - * \{ - */ - -#include "preprocessor.h" - - -//! Maximal number of repetitions supported by MREPEAT. -#define MREPEAT_LIMIT 256 - -/*! \brief Macro repeat. - * - * This macro represents a horizontal repetition construct. - * - * \param count The number of repetitious calls to macro. Valid values range from 0 to MREPEAT_LIMIT. - * \param macro A binary operation of the form macro(n, data). This macro is expanded by MREPEAT with - * the current repetition number and the auxiliary data argument. - * \param data Auxiliary data passed to macro. - * - * \return <tt>macro(0, data) macro(1, data) ... macro(count - 1, data)</tt> - */ -#define MREPEAT(count, macro, data) TPASTE2(MREPEAT, count)(macro, data) - -#define MREPEAT0( macro, data) -#define MREPEAT1( macro, data) MREPEAT0( macro, data) macro( 0, data) -#define MREPEAT2( macro, data) MREPEAT1( macro, data) macro( 1, data) -#define MREPEAT3( macro, data) MREPEAT2( macro, data) macro( 2, data) -#define MREPEAT4( macro, data) MREPEAT3( macro, data) macro( 3, data) -#define MREPEAT5( macro, data) MREPEAT4( macro, data) macro( 4, data) -#define MREPEAT6( macro, data) MREPEAT5( macro, data) macro( 5, data) -#define MREPEAT7( macro, data) MREPEAT6( macro, data) macro( 6, data) -#define MREPEAT8( macro, data) MREPEAT7( macro, data) macro( 7, data) -#define MREPEAT9( macro, data) MREPEAT8( macro, data) macro( 8, data) -#define MREPEAT10( macro, data) MREPEAT9( macro, data) macro( 9, data) -#define MREPEAT11( macro, data) MREPEAT10( macro, data) macro( 10, data) -#define MREPEAT12( macro, data) MREPEAT11( macro, data) macro( 11, data) -#define MREPEAT13( macro, data) MREPEAT12( macro, data) macro( 12, data) -#define MREPEAT14( macro, data) MREPEAT13( macro, data) macro( 13, data) -#define MREPEAT15( macro, data) MREPEAT14( macro, data) macro( 14, data) -#define MREPEAT16( macro, data) MREPEAT15( macro, data) macro( 15, data) -#define MREPEAT17( macro, data) MREPEAT16( macro, data) macro( 16, data) -#define MREPEAT18( macro, data) MREPEAT17( macro, data) macro( 17, data) -#define MREPEAT19( macro, data) MREPEAT18( macro, data) macro( 18, data) -#define MREPEAT20( macro, data) MREPEAT19( macro, data) macro( 19, data) -#define MREPEAT21( macro, data) MREPEAT20( macro, data) macro( 20, data) -#define MREPEAT22( macro, data) MREPEAT21( macro, data) macro( 21, data) -#define MREPEAT23( macro, data) MREPEAT22( macro, data) macro( 22, data) -#define MREPEAT24( macro, data) MREPEAT23( macro, data) macro( 23, data) -#define MREPEAT25( macro, data) MREPEAT24( macro, data) macro( 24, data) -#define MREPEAT26( macro, data) MREPEAT25( macro, data) macro( 25, data) -#define MREPEAT27( macro, data) MREPEAT26( macro, data) macro( 26, data) -#define MREPEAT28( macro, data) MREPEAT27( macro, data) macro( 27, data) -#define MREPEAT29( macro, data) MREPEAT28( macro, data) macro( 28, data) -#define MREPEAT30( macro, data) MREPEAT29( macro, data) macro( 29, data) -#define MREPEAT31( macro, data) MREPEAT30( macro, data) macro( 30, data) -#define MREPEAT32( macro, data) MREPEAT31( macro, data) macro( 31, data) -#define MREPEAT33( macro, data) MREPEAT32( macro, data) macro( 32, data) -#define MREPEAT34( macro, data) MREPEAT33( macro, data) macro( 33, data) -#define MREPEAT35( macro, data) MREPEAT34( macro, data) macro( 34, data) -#define MREPEAT36( macro, data) MREPEAT35( macro, data) macro( 35, data) -#define MREPEAT37( macro, data) MREPEAT36( macro, data) macro( 36, data) -#define MREPEAT38( macro, data) MREPEAT37( macro, data) macro( 37, data) -#define MREPEAT39( macro, data) MREPEAT38( macro, data) macro( 38, data) -#define MREPEAT40( macro, data) MREPEAT39( macro, data) macro( 39, data) -#define MREPEAT41( macro, data) MREPEAT40( macro, data) macro( 40, data) -#define MREPEAT42( macro, data) MREPEAT41( macro, data) macro( 41, data) -#define MREPEAT43( macro, data) MREPEAT42( macro, data) macro( 42, data) -#define MREPEAT44( macro, data) MREPEAT43( macro, data) macro( 43, data) -#define MREPEAT45( macro, data) MREPEAT44( macro, data) macro( 44, data) -#define MREPEAT46( macro, data) MREPEAT45( macro, data) macro( 45, data) -#define MREPEAT47( macro, data) MREPEAT46( macro, data) macro( 46, data) -#define MREPEAT48( macro, data) MREPEAT47( macro, data) macro( 47, data) -#define MREPEAT49( macro, data) MREPEAT48( macro, data) macro( 48, data) -#define MREPEAT50( macro, data) MREPEAT49( macro, data) macro( 49, data) -#define MREPEAT51( macro, data) MREPEAT50( macro, data) macro( 50, data) -#define MREPEAT52( macro, data) MREPEAT51( macro, data) macro( 51, data) -#define MREPEAT53( macro, data) MREPEAT52( macro, data) macro( 52, data) -#define MREPEAT54( macro, data) MREPEAT53( macro, data) macro( 53, data) -#define MREPEAT55( macro, data) MREPEAT54( macro, data) macro( 54, data) -#define MREPEAT56( macro, data) MREPEAT55( macro, data) macro( 55, data) -#define MREPEAT57( macro, data) MREPEAT56( macro, data) macro( 56, data) -#define MREPEAT58( macro, data) MREPEAT57( macro, data) macro( 57, data) -#define MREPEAT59( macro, data) MREPEAT58( macro, data) macro( 58, data) -#define MREPEAT60( macro, data) MREPEAT59( macro, data) macro( 59, data) -#define MREPEAT61( macro, data) MREPEAT60( macro, data) macro( 60, data) -#define MREPEAT62( macro, data) MREPEAT61( macro, data) macro( 61, data) -#define MREPEAT63( macro, data) MREPEAT62( macro, data) macro( 62, data) -#define MREPEAT64( macro, data) MREPEAT63( macro, data) macro( 63, data) -#define MREPEAT65( macro, data) MREPEAT64( macro, data) macro( 64, data) -#define MREPEAT66( macro, data) MREPEAT65( macro, data) macro( 65, data) -#define MREPEAT67( macro, data) MREPEAT66( macro, data) macro( 66, data) -#define MREPEAT68( macro, data) MREPEAT67( macro, data) macro( 67, data) -#define MREPEAT69( macro, data) MREPEAT68( macro, data) macro( 68, data) -#define MREPEAT70( macro, data) MREPEAT69( macro, data) macro( 69, data) -#define MREPEAT71( macro, data) MREPEAT70( macro, data) macro( 70, data) -#define MREPEAT72( macro, data) MREPEAT71( macro, data) macro( 71, data) -#define MREPEAT73( macro, data) MREPEAT72( macro, data) macro( 72, data) -#define MREPEAT74( macro, data) MREPEAT73( macro, data) macro( 73, data) -#define MREPEAT75( macro, data) MREPEAT74( macro, data) macro( 74, data) -#define MREPEAT76( macro, data) MREPEAT75( macro, data) macro( 75, data) -#define MREPEAT77( macro, data) MREPEAT76( macro, data) macro( 76, data) -#define MREPEAT78( macro, data) MREPEAT77( macro, data) macro( 77, data) -#define MREPEAT79( macro, data) MREPEAT78( macro, data) macro( 78, data) -#define MREPEAT80( macro, data) MREPEAT79( macro, data) macro( 79, data) -#define MREPEAT81( macro, data) MREPEAT80( macro, data) macro( 80, data) -#define MREPEAT82( macro, data) MREPEAT81( macro, data) macro( 81, data) -#define MREPEAT83( macro, data) MREPEAT82( macro, data) macro( 82, data) -#define MREPEAT84( macro, data) MREPEAT83( macro, data) macro( 83, data) -#define MREPEAT85( macro, data) MREPEAT84( macro, data) macro( 84, data) -#define MREPEAT86( macro, data) MREPEAT85( macro, data) macro( 85, data) -#define MREPEAT87( macro, data) MREPEAT86( macro, data) macro( 86, data) -#define MREPEAT88( macro, data) MREPEAT87( macro, data) macro( 87, data) -#define MREPEAT89( macro, data) MREPEAT88( macro, data) macro( 88, data) -#define MREPEAT90( macro, data) MREPEAT89( macro, data) macro( 89, data) -#define MREPEAT91( macro, data) MREPEAT90( macro, data) macro( 90, data) -#define MREPEAT92( macro, data) MREPEAT91( macro, data) macro( 91, data) -#define MREPEAT93( macro, data) MREPEAT92( macro, data) macro( 92, data) -#define MREPEAT94( macro, data) MREPEAT93( macro, data) macro( 93, data) -#define MREPEAT95( macro, data) MREPEAT94( macro, data) macro( 94, data) -#define MREPEAT96( macro, data) MREPEAT95( macro, data) macro( 95, data) -#define MREPEAT97( macro, data) MREPEAT96( macro, data) macro( 96, data) -#define MREPEAT98( macro, data) MREPEAT97( macro, data) macro( 97, data) -#define MREPEAT99( macro, data) MREPEAT98( macro, data) macro( 98, data) -#define MREPEAT100(macro, data) MREPEAT99( macro, data) macro( 99, data) -#define MREPEAT101(macro, data) MREPEAT100(macro, data) macro(100, data) -#define MREPEAT102(macro, data) MREPEAT101(macro, data) macro(101, data) -#define MREPEAT103(macro, data) MREPEAT102(macro, data) macro(102, data) -#define MREPEAT104(macro, data) MREPEAT103(macro, data) macro(103, data) -#define MREPEAT105(macro, data) MREPEAT104(macro, data) macro(104, data) -#define MREPEAT106(macro, data) MREPEAT105(macro, data) macro(105, data) -#define MREPEAT107(macro, data) MREPEAT106(macro, data) macro(106, data) -#define MREPEAT108(macro, data) MREPEAT107(macro, data) macro(107, data) -#define MREPEAT109(macro, data) MREPEAT108(macro, data) macro(108, data) -#define MREPEAT110(macro, data) MREPEAT109(macro, data) macro(109, data) -#define MREPEAT111(macro, data) MREPEAT110(macro, data) macro(110, data) -#define MREPEAT112(macro, data) MREPEAT111(macro, data) macro(111, data) -#define MREPEAT113(macro, data) MREPEAT112(macro, data) macro(112, data) -#define MREPEAT114(macro, data) MREPEAT113(macro, data) macro(113, data) -#define MREPEAT115(macro, data) MREPEAT114(macro, data) macro(114, data) -#define MREPEAT116(macro, data) MREPEAT115(macro, data) macro(115, data) -#define MREPEAT117(macro, data) MREPEAT116(macro, data) macro(116, data) -#define MREPEAT118(macro, data) MREPEAT117(macro, data) macro(117, data) -#define MREPEAT119(macro, data) MREPEAT118(macro, data) macro(118, data) -#define MREPEAT120(macro, data) MREPEAT119(macro, data) macro(119, data) -#define MREPEAT121(macro, data) MREPEAT120(macro, data) macro(120, data) -#define MREPEAT122(macro, data) MREPEAT121(macro, data) macro(121, data) -#define MREPEAT123(macro, data) MREPEAT122(macro, data) macro(122, data) -#define MREPEAT124(macro, data) MREPEAT123(macro, data) macro(123, data) -#define MREPEAT125(macro, data) MREPEAT124(macro, data) macro(124, data) -#define MREPEAT126(macro, data) MREPEAT125(macro, data) macro(125, data) -#define MREPEAT127(macro, data) MREPEAT126(macro, data) macro(126, data) -#define MREPEAT128(macro, data) MREPEAT127(macro, data) macro(127, data) -#define MREPEAT129(macro, data) MREPEAT128(macro, data) macro(128, data) -#define MREPEAT130(macro, data) MREPEAT129(macro, data) macro(129, data) -#define MREPEAT131(macro, data) MREPEAT130(macro, data) macro(130, data) -#define MREPEAT132(macro, data) MREPEAT131(macro, data) macro(131, data) -#define MREPEAT133(macro, data) MREPEAT132(macro, data) macro(132, data) -#define MREPEAT134(macro, data) MREPEAT133(macro, data) macro(133, data) -#define MREPEAT135(macro, data) MREPEAT134(macro, data) macro(134, data) -#define MREPEAT136(macro, data) MREPEAT135(macro, data) macro(135, data) -#define MREPEAT137(macro, data) MREPEAT136(macro, data) macro(136, data) -#define MREPEAT138(macro, data) MREPEAT137(macro, data) macro(137, data) -#define MREPEAT139(macro, data) MREPEAT138(macro, data) macro(138, data) -#define MREPEAT140(macro, data) MREPEAT139(macro, data) macro(139, data) -#define MREPEAT141(macro, data) MREPEAT140(macro, data) macro(140, data) -#define MREPEAT142(macro, data) MREPEAT141(macro, data) macro(141, data) -#define MREPEAT143(macro, data) MREPEAT142(macro, data) macro(142, data) -#define MREPEAT144(macro, data) MREPEAT143(macro, data) macro(143, data) -#define MREPEAT145(macro, data) MREPEAT144(macro, data) macro(144, data) -#define MREPEAT146(macro, data) MREPEAT145(macro, data) macro(145, data) -#define MREPEAT147(macro, data) MREPEAT146(macro, data) macro(146, data) -#define MREPEAT148(macro, data) MREPEAT147(macro, data) macro(147, data) -#define MREPEAT149(macro, data) MREPEAT148(macro, data) macro(148, data) -#define MREPEAT150(macro, data) MREPEAT149(macro, data) macro(149, data) -#define MREPEAT151(macro, data) MREPEAT150(macro, data) macro(150, data) -#define MREPEAT152(macro, data) MREPEAT151(macro, data) macro(151, data) -#define MREPEAT153(macro, data) MREPEAT152(macro, data) macro(152, data) -#define MREPEAT154(macro, data) MREPEAT153(macro, data) macro(153, data) -#define MREPEAT155(macro, data) MREPEAT154(macro, data) macro(154, data) -#define MREPEAT156(macro, data) MREPEAT155(macro, data) macro(155, data) -#define MREPEAT157(macro, data) MREPEAT156(macro, data) macro(156, data) -#define MREPEAT158(macro, data) MREPEAT157(macro, data) macro(157, data) -#define MREPEAT159(macro, data) MREPEAT158(macro, data) macro(158, data) -#define MREPEAT160(macro, data) MREPEAT159(macro, data) macro(159, data) -#define MREPEAT161(macro, data) MREPEAT160(macro, data) macro(160, data) -#define MREPEAT162(macro, data) MREPEAT161(macro, data) macro(161, data) -#define MREPEAT163(macro, data) MREPEAT162(macro, data) macro(162, data) -#define MREPEAT164(macro, data) MREPEAT163(macro, data) macro(163, data) -#define MREPEAT165(macro, data) MREPEAT164(macro, data) macro(164, data) -#define MREPEAT166(macro, data) MREPEAT165(macro, data) macro(165, data) -#define MREPEAT167(macro, data) MREPEAT166(macro, data) macro(166, data) -#define MREPEAT168(macro, data) MREPEAT167(macro, data) macro(167, data) -#define MREPEAT169(macro, data) MREPEAT168(macro, data) macro(168, data) -#define MREPEAT170(macro, data) MREPEAT169(macro, data) macro(169, data) -#define MREPEAT171(macro, data) MREPEAT170(macro, data) macro(170, data) -#define MREPEAT172(macro, data) MREPEAT171(macro, data) macro(171, data) -#define MREPEAT173(macro, data) MREPEAT172(macro, data) macro(172, data) -#define MREPEAT174(macro, data) MREPEAT173(macro, data) macro(173, data) -#define MREPEAT175(macro, data) MREPEAT174(macro, data) macro(174, data) -#define MREPEAT176(macro, data) MREPEAT175(macro, data) macro(175, data) -#define MREPEAT177(macro, data) MREPEAT176(macro, data) macro(176, data) -#define MREPEAT178(macro, data) MREPEAT177(macro, data) macro(177, data) -#define MREPEAT179(macro, data) MREPEAT178(macro, data) macro(178, data) -#define MREPEAT180(macro, data) MREPEAT179(macro, data) macro(179, data) -#define MREPEAT181(macro, data) MREPEAT180(macro, data) macro(180, data) -#define MREPEAT182(macro, data) MREPEAT181(macro, data) macro(181, data) -#define MREPEAT183(macro, data) MREPEAT182(macro, data) macro(182, data) -#define MREPEAT184(macro, data) MREPEAT183(macro, data) macro(183, data) -#define MREPEAT185(macro, data) MREPEAT184(macro, data) macro(184, data) -#define MREPEAT186(macro, data) MREPEAT185(macro, data) macro(185, data) -#define MREPEAT187(macro, data) MREPEAT186(macro, data) macro(186, data) -#define MREPEAT188(macro, data) MREPEAT187(macro, data) macro(187, data) -#define MREPEAT189(macro, data) MREPEAT188(macro, data) macro(188, data) -#define MREPEAT190(macro, data) MREPEAT189(macro, data) macro(189, data) -#define MREPEAT191(macro, data) MREPEAT190(macro, data) macro(190, data) -#define MREPEAT192(macro, data) MREPEAT191(macro, data) macro(191, data) -#define MREPEAT193(macro, data) MREPEAT192(macro, data) macro(192, data) -#define MREPEAT194(macro, data) MREPEAT193(macro, data) macro(193, data) -#define MREPEAT195(macro, data) MREPEAT194(macro, data) macro(194, data) -#define MREPEAT196(macro, data) MREPEAT195(macro, data) macro(195, data) -#define MREPEAT197(macro, data) MREPEAT196(macro, data) macro(196, data) -#define MREPEAT198(macro, data) MREPEAT197(macro, data) macro(197, data) -#define MREPEAT199(macro, data) MREPEAT198(macro, data) macro(198, data) -#define MREPEAT200(macro, data) MREPEAT199(macro, data) macro(199, data) -#define MREPEAT201(macro, data) MREPEAT200(macro, data) macro(200, data) -#define MREPEAT202(macro, data) MREPEAT201(macro, data) macro(201, data) -#define MREPEAT203(macro, data) MREPEAT202(macro, data) macro(202, data) -#define MREPEAT204(macro, data) MREPEAT203(macro, data) macro(203, data) -#define MREPEAT205(macro, data) MREPEAT204(macro, data) macro(204, data) -#define MREPEAT206(macro, data) MREPEAT205(macro, data) macro(205, data) -#define MREPEAT207(macro, data) MREPEAT206(macro, data) macro(206, data) -#define MREPEAT208(macro, data) MREPEAT207(macro, data) macro(207, data) -#define MREPEAT209(macro, data) MREPEAT208(macro, data) macro(208, data) -#define MREPEAT210(macro, data) MREPEAT209(macro, data) macro(209, data) -#define MREPEAT211(macro, data) MREPEAT210(macro, data) macro(210, data) -#define MREPEAT212(macro, data) MREPEAT211(macro, data) macro(211, data) -#define MREPEAT213(macro, data) MREPEAT212(macro, data) macro(212, data) -#define MREPEAT214(macro, data) MREPEAT213(macro, data) macro(213, data) -#define MREPEAT215(macro, data) MREPEAT214(macro, data) macro(214, data) -#define MREPEAT216(macro, data) MREPEAT215(macro, data) macro(215, data) -#define MREPEAT217(macro, data) MREPEAT216(macro, data) macro(216, data) -#define MREPEAT218(macro, data) MREPEAT217(macro, data) macro(217, data) -#define MREPEAT219(macro, data) MREPEAT218(macro, data) macro(218, data) -#define MREPEAT220(macro, data) MREPEAT219(macro, data) macro(219, data) -#define MREPEAT221(macro, data) MREPEAT220(macro, data) macro(220, data) -#define MREPEAT222(macro, data) MREPEAT221(macro, data) macro(221, data) -#define MREPEAT223(macro, data) MREPEAT222(macro, data) macro(222, data) -#define MREPEAT224(macro, data) MREPEAT223(macro, data) macro(223, data) -#define MREPEAT225(macro, data) MREPEAT224(macro, data) macro(224, data) -#define MREPEAT226(macro, data) MREPEAT225(macro, data) macro(225, data) -#define MREPEAT227(macro, data) MREPEAT226(macro, data) macro(226, data) -#define MREPEAT228(macro, data) MREPEAT227(macro, data) macro(227, data) -#define MREPEAT229(macro, data) MREPEAT228(macro, data) macro(228, data) -#define MREPEAT230(macro, data) MREPEAT229(macro, data) macro(229, data) -#define MREPEAT231(macro, data) MREPEAT230(macro, data) macro(230, data) -#define MREPEAT232(macro, data) MREPEAT231(macro, data) macro(231, data) -#define MREPEAT233(macro, data) MREPEAT232(macro, data) macro(232, data) -#define MREPEAT234(macro, data) MREPEAT233(macro, data) macro(233, data) -#define MREPEAT235(macro, data) MREPEAT234(macro, data) macro(234, data) -#define MREPEAT236(macro, data) MREPEAT235(macro, data) macro(235, data) -#define MREPEAT237(macro, data) MREPEAT236(macro, data) macro(236, data) -#define MREPEAT238(macro, data) MREPEAT237(macro, data) macro(237, data) -#define MREPEAT239(macro, data) MREPEAT238(macro, data) macro(238, data) -#define MREPEAT240(macro, data) MREPEAT239(macro, data) macro(239, data) -#define MREPEAT241(macro, data) MREPEAT240(macro, data) macro(240, data) -#define MREPEAT242(macro, data) MREPEAT241(macro, data) macro(241, data) -#define MREPEAT243(macro, data) MREPEAT242(macro, data) macro(242, data) -#define MREPEAT244(macro, data) MREPEAT243(macro, data) macro(243, data) -#define MREPEAT245(macro, data) MREPEAT244(macro, data) macro(244, data) -#define MREPEAT246(macro, data) MREPEAT245(macro, data) macro(245, data) -#define MREPEAT247(macro, data) MREPEAT246(macro, data) macro(246, data) -#define MREPEAT248(macro, data) MREPEAT247(macro, data) macro(247, data) -#define MREPEAT249(macro, data) MREPEAT248(macro, data) macro(248, data) -#define MREPEAT250(macro, data) MREPEAT249(macro, data) macro(249, data) -#define MREPEAT251(macro, data) MREPEAT250(macro, data) macro(250, data) -#define MREPEAT252(macro, data) MREPEAT251(macro, data) macro(251, data) -#define MREPEAT253(macro, data) MREPEAT252(macro, data) macro(252, data) -#define MREPEAT254(macro, data) MREPEAT253(macro, data) macro(253, data) -#define MREPEAT255(macro, data) MREPEAT254(macro, data) macro(254, data) -#define MREPEAT256(macro, data) MREPEAT255(macro, data) macro(255, data) - -/** - * \} - */ - -#endif // _MREPEAT_H_ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/preprocessor.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/preprocessor.h deleted file mode 100644 index 184c03a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/preprocessor.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * \file - * - * \brief Preprocessor utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _PREPROCESSOR_H_ -#define _PREPROCESSOR_H_ - -#include "tpaste.h" -#include "stringz.h" -#include "mrepeat.h" - - -#endif // _PREPROCESSOR_H_ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/stringz.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/stringz.h deleted file mode 100644 index b914b73..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/stringz.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * \file - * - * \brief Preprocessor stringizing utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _STRINGZ_H_ -#define _STRINGZ_H_ - -/** - * \defgroup group_sam_utils_stringz Preprocessor - Stringize - * - * \ingroup group_sam_utils - * - * \{ - */ - -/*! \brief Stringize. - * - * Stringize a preprocessing token, this token being allowed to be \#defined. - * - * May be used only within macros with the token passed as an argument if the token is \#defined. - * - * For example, writing STRINGZ(PIN) within a macro \#defined by PIN_NAME(PIN) - * and invoked as PIN_NAME(PIN0) with PIN0 \#defined as A0 is equivalent to - * writing "A0". - */ -#define STRINGZ(x) #x - -/*! \brief Absolute stringize. - * - * Stringize a preprocessing token, this token being allowed to be \#defined. - * - * No restriction of use if the token is \#defined. - * - * For example, writing ASTRINGZ(PIN0) anywhere with PIN0 \#defined as A0 is - * equivalent to writing "A0". - */ -#define ASTRINGZ(x) STRINGZ(x) - -/** - * \} - */ - -#endif // _STRINGZ_H_ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/tpaste.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/tpaste.h deleted file mode 100644 index f8ec44a..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/preprocessor/tpaste.h +++ /dev/null @@ -1,105 +0,0 @@ -/** - * \file - * - * \brief Preprocessor token pasting utils. - * - * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef _TPASTE_H_ -#define _TPASTE_H_ - -/** - * \defgroup group_sam_utils_tpaste Preprocessor - Token Paste - * - * \ingroup group_sam_utils - * - * \{ - */ - -/*! \name Token Paste - * - * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. - * - * May be used only within macros with the tokens passed as arguments if the tokens are \#defined. - * - * For example, writing TPASTE2(U, WIDTH) within a macro \#defined by - * UTYPE(WIDTH) and invoked as UTYPE(UL_WIDTH) with UL_WIDTH \#defined as 32 is - * equivalent to writing U32. - */ -//! @{ -#define TPASTE2( a, b) a##b -#define TPASTE3( a, b, c) a##b##c -#define TPASTE4( a, b, c, d) a##b##c##d -#define TPASTE5( a, b, c, d, e) a##b##c##d##e -#define TPASTE6( a, b, c, d, e, f) a##b##c##d##e##f -#define TPASTE7( a, b, c, d, e, f, g) a##b##c##d##e##f##g -#define TPASTE8( a, b, c, d, e, f, g, h) a##b##c##d##e##f##g##h -#define TPASTE9( a, b, c, d, e, f, g, h, i) a##b##c##d##e##f##g##h##i -#define TPASTE10(a, b, c, d, e, f, g, h, i, j) a##b##c##d##e##f##g##h##i##j -//! @} - -/*! \name Absolute Token Paste - * - * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. - * - * No restriction of use if the tokens are \#defined. - * - * For example, writing ATPASTE2(U, UL_WIDTH) anywhere with UL_WIDTH \#defined - * as 32 is equivalent to writing U32. - */ -//! @{ -#define ATPASTE2( a, b) TPASTE2( a, b) -#define ATPASTE3( a, b, c) TPASTE3( a, b, c) -#define ATPASTE4( a, b, c, d) TPASTE4( a, b, c, d) -#define ATPASTE5( a, b, c, d, e) TPASTE5( a, b, c, d, e) -#define ATPASTE6( a, b, c, d, e, f) TPASTE6( a, b, c, d, e, f) -#define ATPASTE7( a, b, c, d, e, f, g) TPASTE7( a, b, c, d, e, f, g) -#define ATPASTE8( a, b, c, d, e, f, g, h) TPASTE8( a, b, c, d, e, f, g, h) -#define ATPASTE9( a, b, c, d, e, f, g, h, i) TPASTE9( a, b, c, d, e, f, g, h, i) -#define ATPASTE10(a, b, c, d, e, f, g, h, i, j) TPASTE10(a, b, c, d, e, f, g, h, i, j) -//! @} - -/** - * \} - */ - -#endif // _TPASTE_H_ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/status_codes.h b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/status_codes.h deleted file mode 100644 index d5e6dd6..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/status_codes.h +++ /dev/null @@ -1,113 +0,0 @@ -/** - * \file - * - * \brief Status code definitions. - * - * This file defines various status codes returned by functions, - * indicating success or failure as well as what kind of failure. - * - * Copyright (c) 2011-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#ifndef STATUS_CODES_H_INCLUDED -#define STATUS_CODES_H_INCLUDED - -/* Note: this is a local workaround to avoid a pre-processor clash due to the - * lwIP macro ERR_TIMEOUT. */ -#if defined(__LWIP_ERR_H__) && defined(ERR_TIMEOUT) -#if (ERR_TIMEOUT != -3) - -/* Internal check to make sure that the later restore of lwIP's ERR_TIMEOUT - * macro is set to the correct value. Note that it is highly improbable that - * this value ever changes in lwIP. */ -#error ASF developers: check lwip err.h new value for ERR_TIMEOUT -#endif -#undef ERR_TIMEOUT -#endif - -/** - * Status code that may be returned by shell commands and protocol - * implementations. - * - * \note Any change to these status codes and the corresponding - * message strings is strictly forbidden. New codes can be added, - * however, but make sure that any message string tables are updated - * at the same time. - */ -enum status_code { - STATUS_OK = 0, //!< Success - STATUS_ERR_BUSY = 0x19, - STATUS_ERR_DENIED = 0x1C, - STATUS_ERR_TIMEOUT = 0x12, - ERR_IO_ERROR = -1, //!< I/O error - ERR_FLUSHED = -2, //!< Request flushed from queue - ERR_TIMEOUT = -3, //!< Operation timed out - ERR_BAD_DATA = -4, //!< Data integrity check failed - ERR_PROTOCOL = -5, //!< Protocol error - ERR_UNSUPPORTED_DEV = -6, //!< Unsupported device - ERR_NO_MEMORY = -7, //!< Insufficient memory - ERR_INVALID_ARG = -8, //!< Invalid argument - ERR_BAD_ADDRESS = -9, //!< Bad address - ERR_BUSY = -10, //!< Resource is busy - ERR_BAD_FORMAT = -11, //!< Data format not recognized - ERR_NO_TIMER = -12, //!< No timer available - ERR_TIMER_ALREADY_RUNNING = -13, //!< Timer already running - ERR_TIMER_NOT_RUNNING = -14, //!< Timer not running - ERR_ABORTED = -15, //!< Operation aborted by user - /** - * \brief Operation in progress - * - * This status code is for driver-internal use when an operation - * is currently being performed. - * - * \note Drivers should never return this status code to any - * callers. It is strictly for internal use. - */ - OPERATION_IN_PROGRESS = -128, -}; - -typedef enum status_code status_code_t; - -#if defined(__LWIP_ERR_H__) -#define ERR_TIMEOUT -3 -#endif - -#endif /* STATUS_CODES_H_INCLUDED */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/syscalls/gcc/syscalls.c b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/syscalls/gcc/syscalls.c deleted file mode 100644 index 9ec9d7e..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/sam/utils/syscalls/gcc/syscalls.c +++ /dev/null @@ -1,144 +0,0 @@ -/** - * \file - * - * \brief Syscalls for SAM (GCC). - * - * Copyright (c) 2011-2016 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -/* - * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> - */ - -#include <stdio.h> -#include <stdarg.h> -#include <sys/types.h> -#include <sys/stat.h> - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -extern "C" { -#endif -/**INDENT-ON**/ -/// @endcond - -#undef errno -extern int errno; -extern int _end; -extern int __ram_end__; - -extern caddr_t _sbrk(int incr); -extern int link(char *old, char *new); -extern int _close(int file); -extern int _fstat(int file, struct stat *st); -extern int _isatty(int file); -extern int _lseek(int file, int ptr, int dir); -extern void _exit(int status); -extern void _kill(int pid, int sig); -extern int _getpid(void); - -extern caddr_t _sbrk(int incr) -{ - static unsigned char *heap = NULL; - unsigned char *prev_heap; - int ramend = (int)&__ram_end__; - - if (heap == NULL) { - heap = (unsigned char *)&_end; - } - prev_heap = heap; - - if (((int)prev_heap + incr) > ramend) { - return (caddr_t) -1; - } - - heap += incr; - - return (caddr_t) prev_heap; -} - -extern int link(char *old, char *new) -{ - return -1; -} - -extern int _close(int file) -{ - return -1; -} - -extern int _fstat(int file, struct stat *st) -{ - st->st_mode = S_IFCHR; - - return 0; -} - -extern int _isatty(int file) -{ - return 1; -} - -extern int _lseek(int file, int ptr, int dir) -{ - return 0; -} - -extern void _exit(int status) -{ - asm("BKPT #0"); - for (;;); -} - -extern void _kill(int pid, int sig) -{ - return; -} - -extern int _getpid(void) -{ - return -1; -} - -/// @cond 0 -/**INDENT-OFF**/ -#ifdef __cplusplus -} -#endif -/**INDENT-ON**/ -/// @endcond diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt deleted file mode 100644 index 422f7fe..0000000 --- a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/ATMEL-disclaimer.txt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Only the CMSIS required parts for ASF are included here, go to the below - * address for the full package: - * http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php - * - * The library file thirdparty/CMSIS/Lib/GCC/libarm_cortexM4lf_math_softfp.a was generated by ATMEL, which - * is support -mfloat-abi=softfp compiler flag, and this is also the default selection for device that - * have FPU module and enabled. - * If customer want to use -mfloat-abi=hard compiler flag, the project compile/link flag and link library - * should be manual modified. The library thirdparty/CMSIS/Lib/GCC/libarm_cortexM4lf_math.a is used for - * -mfloat-abi=hard configration. - * - * __CORTEX_SC is not defined for cortex-m0+, and may cause compiler warning, so the include file - * thirdparty/CMSIS/Include/core_cmInstr.h was modified to void such warning. - * Modified from: - * #if (__CORTEX_M >= 0x03) || (__CORTEX_SC >= 300) - * to: - * #if (__CORTEX_M >= 0x03) || ((defined(__CORTEX_SC)) && (__CORTEX_SC >= 300)) - * - */ diff --git a/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf b/embedded/atsams70-tinyrouter/atsams70-tinyrouter/src/ASF/thirdparty/CMSIS/CMSIS_END_USER_LICENCE_AGREEMENT.pdf deleted file mode 100644 index b374366930b2d1b5689ff5044caba49eace6aa68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172641 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