diff --git a/.gitignore b/.gitignore index f2e086a58a93ae8f0c60f17bb0305891aac80e1c..3acb9d4260388f53b365d296615554d99b01fc16 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +*.breadcrumb +*.junit +**/__pycache__ Local_Release/ CMSIS/Documentation/ CMSIS/RTOS2/RTX/Library/ARM/MDK/RTX_CM.uvguix.* +CMSIS/CoreValidation/Tests/build +CMSIS/CoreValidation/Tests/bootloader/build diff --git a/CMSIS/CoreValidation/Tests/RTE_Components.h b/CMSIS/CoreValidation/Tests/RTE_Components.h index 49d406981adbe424e56d3b9efb510eee2ffcd316..c1db25b8f8979c29682af8f52bb84f8fc0e305c9 100644 --- a/CMSIS/CoreValidation/Tests/RTE_Components.h +++ b/CMSIS/CoreValidation/Tests/RTE_Components.h @@ -27,6 +27,10 @@ #define CMSIS_device_header "ARMCM33_DSP_FP.h" #elif defined(ARMCM33_DSP_FP_TZ) #define CMSIS_device_header "ARMCM33_DSP_FP_TZ.h" +#elif defined(ARMCM35P) +#define CMSIS_device_header "ARMCM35P.h" +#elif defined(ARMCM35P_DSP_FP_TZ) +#define CMSIS_device_header "ARMCM35P_DSP_FP_TZ.h" #elif defined(ARMCA5) #define CMSIS_device_header "ARMCA5.h" #elif defined(ARMCA7) diff --git a/CMSIS/CoreValidation/Tests/armclang.rtebuild b/CMSIS/CoreValidation/Tests/armclang.rtebuild index f88d90175d616eaf50a67bb77b23ba6a5132517b..aed23fe7688a3b5a983b47be676decf5d732af31 100644 --- a/CMSIS/CoreValidation/Tests/armclang.rtebuild +++ b/CMSIS/CoreValidation/Tests/armclang.rtebuild @@ -104,6 +104,27 @@ targets: fpu : FPv5-SP float : hard linkscript: "config/core_m/rtebuild_ns.sct" + armcm35p: + mcpu : cortex-m35p + cpu : cortex-m35p.no_dsp + features: "+nodsp" + mfpu : none + fpu : SoftVFP + float : soft + armcm35ps: + mcpu : cortex-m35p + cpu : cortex-m35p + mfpu : fpv5-sp-d16 + fpu : FPv5-SP + float : hard + cflags : [ -mcmse ] + armcm35pns: + mcpu : cortex-m35p + cpu : cortex-m35p + mfpu : fpv5-sp-d16 + fpu : FPv5-SP + float : hard + linkscript: "config/core_m/rtebuild_ns.sct" armca: cflags : [ -xc, -std=c99, -c, --target=arm-arm-none-eabi, "-mcpu=${cpu}", "-mfpu=${fpu}", "-mfloat-abi=${float}", -marm, "${csettings}", "${cwarnings}" ] asmflags : [ -c, --target=arm-arm-none-eabi, "-mcpu=${cpu}", "-mfpu=${fpu}", "-mfloat-abi=${float}", -marm, "${csettings}", "${cwarnings}" ] diff --git a/CMSIS/CoreValidation/Tests/bootloader/RTE_Components.h b/CMSIS/CoreValidation/Tests/bootloader/RTE_Components.h index f66866b44b4cb39128c49850a2f19e50ef9d1c35..040ae61f1d64fe351948a42d041d3ba8be0fdc42 100644 --- a/CMSIS/CoreValidation/Tests/bootloader/RTE_Components.h +++ b/CMSIS/CoreValidation/Tests/bootloader/RTE_Components.h @@ -5,6 +5,8 @@ #define CMSIS_device_header "ARMCM23_TZ.h" #elif defined(ARMCM33_DSP_FP_TZ) #define CMSIS_device_header "ARMCM33_DSP_FP_TZ.h" +#elif defined(ARMCM35P_DSP_FP_TZ) +#define CMSIS_device_header "ARMCM35P_DSP_FP_TZ.h" #else #error "Unknown device selection!" #endif diff --git a/CMSIS/CoreValidation/Tests/bootloader/armclang.rtebuild b/CMSIS/CoreValidation/Tests/bootloader/armclang.rtebuild index dc561b338a24cafb3cba73f68abb0a6c0de78e75..1972788491b98f998433552bd102ce743c698a82 100644 --- a/CMSIS/CoreValidation/Tests/bootloader/armclang.rtebuild +++ b/CMSIS/CoreValidation/Tests/bootloader/armclang.rtebuild @@ -25,3 +25,8 @@ targets: fpu : fpv5-sp-d16 float : hard cflags : [ -mcmse ] + armcm35pns: + cpu : cortex-m35p + fpu : fpv5-sp-d16 + float : hard + cflags : [ -mcmse ] diff --git a/CMSIS/CoreValidation/Tests/bootloader/bootloader.rtebuild b/CMSIS/CoreValidation/Tests/bootloader/bootloader.rtebuild index cfbf2c0d682b8f95d2c5fae3aaa12f674e354317..d2b36c4ca06e49c259e869f57466e103c82ef321 100644 --- a/CMSIS/CoreValidation/Tests/bootloader/bootloader.rtebuild +++ b/CMSIS/CoreValidation/Tests/bootloader/bootloader.rtebuild @@ -18,6 +18,10 @@ targets: extends: armcm device : ARMCM33 dsuffix: "_DSP_FP_TZ" + armcm35pns: + extends: armcm + device : ARMCM35P + dsuffix: "_DSP_FP_TZ" include: - ./ - ../../../../Device/ARM/${device}/Include diff --git a/CMSIS/CoreValidation/Tests/bootloader/config/core_m/partition_ARMCM35P.h b/CMSIS/CoreValidation/Tests/bootloader/config/core_m/partition_ARMCM35P.h new file mode 100644 index 0000000000000000000000000000000000000000..efdd5ad781570ff735a00d1c84ced8e8fb4221b7 --- /dev/null +++ b/CMSIS/CoreValidation/Tests/bootloader/config/core_m/partition_ARMCM35P.h @@ -0,0 +1,1260 @@ +/**************************************************************************//** + * @file partition_ARMCM35P.h + * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM35P + * @version V5.4.1 + * @date 03. September 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef PARTITION_ARMCM35P_H +#define PARTITION_ARMCM35P_H + +/* +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +*/ + +/* +// <e>Initialize Security Attribution Unit (SAU) CTRL register +*/ +#define SAU_INIT_CTRL 1 + +/* +// <q> Enable SAU +// <i> Value for SAU->CTRL register bit ENABLE +*/ +#define SAU_INIT_CTRL_ENABLE 1 + +/* +// <o> When SAU is disabled +// <0=> All Memory is Secure +// <1=> All Memory is Non-Secure +// <i> Value for SAU->CTRL register bit ALLNS +// <i> When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. +*/ +#define SAU_INIT_CTRL_ALLNS 0 + +/* +// </e> +*/ + +/* +// <h>Initialize Security Attribution Unit (SAU) Address Regions +// <i>SAU configuration specifies regions to be one of: +// <i> - Secure and Non-Secure Callable +// <i> - Non-Secure +// <i>Note: All memory regions not configured by SAU are Secure +*/ +#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ + +/* +// <e>Initialize SAU Region 0 +// <i> Setup SAU Region 0 memory attributes +*/ +#define SAU_INIT_REGION0 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC0 1 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 1 +// <i> Setup SAU Region 1 memory attributes +*/ +#define SAU_INIT_REGION1 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START1 0x00200000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END1 0x003FFFFF + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC1 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 2 +// <i> Setup SAU Region 2 memory attributes +*/ +#define SAU_INIT_REGION2 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START2 0x20200000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END2 0x203FFFFF + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC2 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 3 +// <i> Setup SAU Region 3 memory attributes +*/ +#define SAU_INIT_REGION3 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START3 0x40000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END3 0x40040000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC3 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 4 +// <i> Setup SAU Region 4 memory attributes +*/ +#define SAU_INIT_REGION4 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC4 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 5 +// <i> Setup SAU Region 5 memory attributes +*/ +#define SAU_INIT_REGION5 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START5 0x00000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END5 0x00000000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC5 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 6 +// <i> Setup SAU Region 6 memory attributes +*/ +#define SAU_INIT_REGION6 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START6 0x00000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END6 0x00000000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC6 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 7 +// <i> Setup SAU Region 7 memory attributes +*/ +#define SAU_INIT_REGION7 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START7 0x00000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END7 0x00000000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC7 0 +/* +// </e> +*/ + +/* +// </h> +*/ + +/* +// <e>Setup behaviour of Sleep and Exception Handling +*/ +#define SCB_CSR_AIRCR_INIT 1 + +/* +// <o> Deep Sleep can be enabled by +// <0=>Secure and Non-Secure state +// <1=>Secure state only +// <i> Value for SCB->CSR register bit DEEPSLEEPS +*/ +#define SCB_CSR_DEEPSLEEPS_VAL 1 + +/* +// <o>System reset request accessible from +// <0=> Secure and Non-Secure state +// <1=> Secure state only +// <i> Value for SCB->AIRCR register bit SYSRESETREQS +*/ +#define SCB_AIRCR_SYSRESETREQS_VAL 1 + +/* +// <o>Priority of Non-Secure exceptions is +// <0=> Not altered +// <1=> Lowered to 0x80-0xFF +// <i> Value for SCB->AIRCR register bit PRIS +*/ +#define SCB_AIRCR_PRIS_VAL 1 + +/* +// <o>BusFault, HardFault, and NMI target +// <0=> Secure state +// <1=> Non-Secure state +// <i> Value for SCB->AIRCR register bit BFHFNMINS +*/ +#define SCB_AIRCR_BFHFNMINS_VAL 0 + +/* +// </e> +*/ + +/* +// <e>Setup behaviour of Floating Point Unit +*/ +#define TZ_FPU_NS_USAGE 1 + +/* +// <o>Floating Point Unit usage +// <0=> Secure state only +// <3=> Secure and Non-Secure state +// <i> Value for SCB->NSACR register bits CP10, CP11 +*/ +#define SCB_NSACR_CP10_11_VAL 3 + +/* +// <o>Treat floating-point registers as Secure +// <0=> Disabled +// <1=> Enabled +// <i> Value for FPU->FPCCR register bit TS +*/ +#define FPU_FPCCR_TS_VAL 0 + +/* +// <o>Clear on return (CLRONRET) accessibility +// <0=> Secure and Non-Secure state +// <1=> Secure state only +// <i> Value for FPU->FPCCR register bit CLRONRETS +*/ +#define FPU_FPCCR_CLRONRETS_VAL 0 + +/* +// <o>Clear floating-point caller saved registers on exception return +// <0=> Disabled +// <1=> Enabled +// <i> Value for FPU->FPCCR register bit CLRONRET +*/ +#define FPU_FPCCR_CLRONRET_VAL 1 + +/* +// </e> +*/ + +/* +// <h>Setup Interrupt Target +*/ + +/* +// <e>Initialize ITNS 0 (Interrupts 0..31) +*/ +#define NVIC_INIT_ITNS0 1 + +/* +// Interrupts 0..31 +// <o.0> Interrupt 0 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 1 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 2 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 3 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 4 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 5 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 6 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 7 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 8 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 9 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 10 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 11 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 12 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 13 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 14 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 15 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 16 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 17 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 18 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 19 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 20 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 21 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 22 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 23 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 24 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 25 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 26 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 27 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 28 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 29 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 30 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 31 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS0_VAL 0x0000122B + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 1 (Interrupts 32..63) +*/ +#define NVIC_INIT_ITNS1 1 + +/* +// Interrupts 32..63 +// <o.0> Interrupt 32 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 33 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 34 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 35 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 36 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 37 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 38 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 39 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 40 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 41 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 42 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 43 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 44 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 45 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 46 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 47 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 48 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 49 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 50 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 51 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 52 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 53 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 54 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 55 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 56 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 57 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 58 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 59 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 60 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 61 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 62 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 63 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS1_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 2 (Interrupts 64..95) +*/ +#define NVIC_INIT_ITNS2 0 + +/* +// Interrupts 64..95 +// <o.0> Interrupt 64 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 65 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 66 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 67 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 68 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 69 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 70 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 71 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 72 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 73 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 74 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 75 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 76 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 77 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 78 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 79 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 80 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 81 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 82 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 83 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 84 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 85 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 86 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 87 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 88 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 89 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 90 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 91 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 92 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 93 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 94 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 95 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS2_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 3 (Interrupts 96..127) +*/ +#define NVIC_INIT_ITNS3 0 + +/* +// Interrupts 96..127 +// <o.0> Interrupt 96 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 97 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 98 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 99 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 100 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 101 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 102 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 103 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 104 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 105 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 106 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 107 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 108 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 109 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 110 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 111 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 112 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 113 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 114 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 115 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 116 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 117 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 118 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 119 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 120 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 121 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 122 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 123 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 124 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 125 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 126 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 127 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS3_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 4 (Interrupts 128..159) +*/ +#define NVIC_INIT_ITNS4 0 + +/* +// Interrupts 128..159 +// <o.0> Interrupt 128 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 129 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 130 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 131 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 132 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 133 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 134 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 135 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 136 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 137 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 138 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 139 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 140 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 141 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 142 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 143 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 144 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 145 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 146 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 147 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 148 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 149 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 150 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 151 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 152 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 153 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 154 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 155 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 156 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 157 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 158 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 159 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS4_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 5 (Interrupts 160..191) +*/ +#define NVIC_INIT_ITNS5 0 + +/* +// Interrupts 160..191 +// <o.0> Interrupt 160 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 161 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 162 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 163 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 164 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 165 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 166 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 167 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 168 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 169 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 170 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 171 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 172 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 173 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 174 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 175 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 176 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 177 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 178 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 179 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 180 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 181 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 182 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 183 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 184 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 185 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 186 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 187 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 188 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 189 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 190 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 191 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS5_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 6 (Interrupts 192..223) +*/ +#define NVIC_INIT_ITNS6 0 + +/* +// Interrupts 192..223 +// <o.0> Interrupt 192 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 193 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 194 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 195 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 196 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 197 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 198 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 199 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 200 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 201 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 202 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 203 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 204 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 205 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 206 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 207 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 208 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 209 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 210 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 211 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 212 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 213 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 214 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 215 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 216 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 217 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 218 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 219 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 220 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 221 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 222 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 223 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS6_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 7 (Interrupts 224..255) +*/ +#define NVIC_INIT_ITNS7 0 + +/* +// Interrupts 224..255 +// <o.0> Interrupt 224 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 225 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 226 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 227 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 228 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 229 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 230 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 231 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 232 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 233 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 234 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 235 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 236 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 237 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 238 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 239 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 240 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 241 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 242 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 243 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 244 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 245 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 246 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 247 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 248 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 249 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 250 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 251 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 252 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 253 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 254 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 255 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS7_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 8 (Interrupts 256..287) +*/ +#define NVIC_INIT_ITNS8 0 + +/* +// Interrupts 256..287 +// <o.0> Interrupt 256 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 257 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 258 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 259 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 260 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 261 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 262 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 263 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 264 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 265 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 266 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 267 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 268 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 269 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 270 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 271 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 272 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 273 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 274 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 275 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 276 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 277 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 278 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 279 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 280 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 281 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 282 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 283 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 284 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 285 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 286 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 287 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS8_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 9 (Interrupts 288..319) +*/ +#define NVIC_INIT_ITNS9 0 + +/* +// Interrupts 288..319 +// <o.0> Interrupt 288 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 289 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 290 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 291 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 292 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 293 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 294 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 295 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 296 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 297 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 298 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 299 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 300 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 301 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 302 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 303 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 304 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 305 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 306 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 307 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 308 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 309 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 310 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 311 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 312 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 313 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 314 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 315 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 316 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 317 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 318 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 319 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS9_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 10 (Interrupts 320..351) +*/ +#define NVIC_INIT_ITNS10 0 + +/* +// Interrupts 320..351 +// <o.0> Interrupt 320 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 321 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 322 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 323 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 324 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 325 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 326 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 327 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 328 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 329 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 330 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 331 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 332 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 333 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 334 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 335 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 336 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 337 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 338 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 339 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 340 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 341 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 342 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 343 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 344 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 345 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 346 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 347 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 348 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 349 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 350 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 351 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS10_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 11 (Interrupts 352..383) +*/ +#define NVIC_INIT_ITNS11 0 + +/* +// Interrupts 352..383 +// <o.0> Interrupt 352 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 353 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 354 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 355 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 356 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 357 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 358 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 359 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 360 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 361 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 362 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 363 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 364 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 365 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 366 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 367 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 368 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 369 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 370 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 371 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 372 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 373 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 374 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 375 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 376 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 377 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 378 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 379 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 380 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 381 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 382 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 383 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS11_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 12 (Interrupts 384..415) +*/ +#define NVIC_INIT_ITNS12 0 + +/* +// Interrupts 384..415 +// <o.0> Interrupt 384 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 385 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 386 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 387 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 388 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 389 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 390 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 391 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 392 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 393 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 394 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 395 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 396 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 397 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 398 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 399 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 400 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 401 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 402 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 403 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 404 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 405 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 406 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 407 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 408 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 409 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 410 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 411 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 412 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 413 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 414 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 415 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS12_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 13 (Interrupts 416..447) +*/ +#define NVIC_INIT_ITNS13 0 + +/* +// Interrupts 416..447 +// <o.0> Interrupt 416 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 417 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 418 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 419 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 420 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 421 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 422 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 423 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 424 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 425 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 426 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 427 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 428 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 429 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 430 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 431 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 432 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 433 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 434 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 435 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 436 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 437 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 438 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 439 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 440 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 441 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 442 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 443 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 444 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 445 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 446 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 447 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS13_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 14 (Interrupts 448..479) +*/ +#define NVIC_INIT_ITNS14 0 + +/* +// Interrupts 448..479 +// <o.0> Interrupt 448 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 449 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 450 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 451 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 452 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 453 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 454 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 455 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 456 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 457 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 458 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 459 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 460 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 461 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 462 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 463 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 464 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 465 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 466 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 467 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 468 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 469 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 470 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 471 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 472 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 473 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 474 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 475 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 476 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 477 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 478 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 479 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS14_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 15 (Interrupts 480..511) +*/ +#define NVIC_INIT_ITNS15 0 + +/* +// Interrupts 480..511 +// <o.0> Interrupt 480 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 481 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 482 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 483 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 484 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 485 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 486 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 487 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 488 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 489 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 490 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 491 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 492 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 493 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 494 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 495 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 496 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 497 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 498 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 499 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 500 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 501 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 502 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 503 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 504 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 505 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 506 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 507 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 508 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 509 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 510 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 511 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS15_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// </h> +*/ + + + +/* + max 128 SAU regions. + SAU regions are defined in partition.h + */ + +#define SAU_INIT_REGION(n) \ + SAU->RNR = (n & SAU_RNR_REGION_Msk); \ + SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ + SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ + ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U + +/** + \brief Setup a SAU Region + \details Writes the region information contained in SAU_Region to the + registers SAU_RNR, SAU_RBAR, and SAU_RLAR + */ +__STATIC_INLINE void TZ_SAU_Setup (void) +{ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + + #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) + SAU_INIT_REGION(0); + #endif + + #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) + SAU_INIT_REGION(1); + #endif + + #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) + SAU_INIT_REGION(2); + #endif + + #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) + SAU_INIT_REGION(3); + #endif + + #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) + SAU_INIT_REGION(4); + #endif + + #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) + SAU_INIT_REGION(5); + #endif + + #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) + SAU_INIT_REGION(6); + #endif + + #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) + SAU_INIT_REGION(7); + #endif + + /* repeat this for all possible SAU regions */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + + + #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) + SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | + ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; + #endif + + #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) + SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | + ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); + + SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | + SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | + ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | + ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | + ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | + ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); + #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ + + #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ + defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) + + SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP10_Msk)) | + ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); + + FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | + ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | + ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | + ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); + #endif + + #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) + NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; + #endif + + #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) + NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; + #endif + + #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) + NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; + #endif + + #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) + NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; + #endif + + #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) + NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; + #endif + + #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) + NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; + #endif + + #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) + NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; + #endif + + #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) + NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; + #endif + + #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) + NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; + #endif + + #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) + NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; + #endif + + #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) + NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; + #endif + + #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) + NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; + #endif + + #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) + NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; + #endif + + #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) + NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; + #endif + + #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) + NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; + #endif + + #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) + NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; + #endif + + /* repeat this for all possible ITNS elements */ + +} + +#endif /* PARTITION_ARMCM35P_H */ diff --git a/CMSIS/CoreValidation/Tests/bootloader/gcc.rtebuild b/CMSIS/CoreValidation/Tests/bootloader/gcc.rtebuild index c68387437912cd4a2b580a7893ddababa9c6f438..43b34e535fae00f37409a1df3fdc6ef13c1bdda6 100644 --- a/CMSIS/CoreValidation/Tests/bootloader/gcc.rtebuild +++ b/CMSIS/CoreValidation/Tests/bootloader/gcc.rtebuild @@ -28,3 +28,11 @@ targets: cflags : [ "-mfpu=${fpu}", -mcmse ] asmflags : [ "-mfpu=${fpu}" ] linkflags: [ "-mfpu=${fpu}" ] + armcm35pns: + arch : armv8-m.main + cpu : cortex-m33 + fpu : fpv5-sp-d16 + float : hard + cflags : [ "-mfpu=${fpu}", -mcmse ] + asmflags : [ "-mfpu=${fpu}" ] + linkflags: [ "-mfpu=${fpu}" ] diff --git a/CMSIS/CoreValidation/Tests/builder.py b/CMSIS/CoreValidation/Tests/builder.py index 1ce49c063804d580c530ef446256257c596868e0..cd6211d315269b97f68af1781ff1e79c5b6a3fd2 100644 --- a/CMSIS/CoreValidation/Tests/builder.py +++ b/CMSIS/CoreValidation/Tests/builder.py @@ -62,34 +62,41 @@ CORTEX_M = [ Device.CM33NS, Device.CM23S, Device.CM33S, + Device.CM35P, + Device.CM35PS, + Device.CM35PNS ] BOOTLOADER = [ Device.CM23NS, - Device.CM33NS + Device.CM33NS, + Device.CM35PNS ] FVP_MODELS = { - Device.CM0 : { 'cmd': "FVP_MPS2_Cortex-M0", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM0_config.txt" } }, - Device.CM0PLUS : { 'cmd': "FVP_MPS2_Cortex-M0plus", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM0plus_config.txt" } }, - Device.CM3 : { 'cmd': "FVP_MPS2_Cortex-M3", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM3_config.txt" } }, - Device.CM4 : { 'cmd': "FVP_MPS2_Cortex-M4", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM4_config.txt" } }, - Device.CM4FP : { 'cmd': "FVP_MPS2_Cortex-M4", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM4FP_config.txt" } }, - Device.CM7 : { 'cmd': "FVP_MPS2_Cortex-M7", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM7_config.txt" } }, - Device.CM7SP : { 'cmd': "FVP_MPS2_Cortex-M7", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM7SP_config.txt" } }, - Device.CM7DP : { 'cmd': "FVP_MPS2_Cortex-M7", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM7DP_config.txt" } }, - Device.CM23 : { 'cmd': "FVP_MPS2_Cortex-M23", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM23_config.txt", 'target': "cpu0" } }, - Device.CM33 : { 'cmd': "FVP_MPS2_Cortex-M33", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM33_config.txt", 'target': "cpu0" } }, - Device.CM23NS : { 'cmd': "FVP_MPS2_Cortex-M23", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM23_TZ_config.txt", 'target': "cpu0" } }, - Device.CM33NS : { 'cmd': "FVP_MPS2_Cortex-M33", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM33_DSP_FP_TZ_config.txt", 'target': "cpu0" } }, - Device.CM23S : { 'cmd': "FVP_MPS2_Cortex-M23", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM23_TZ_config.txt", 'target': "cpu0" } }, - Device.CM33S : { 'cmd': "FVP_MPS2_Cortex-M33", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM33_DSP_FP_TZ_config.txt", 'target': "cpu0" } }, - Device.CA5 : { 'cmd': "FVP_VE_Cortex-A5x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA5_config.txt" } }, - Device.CA7 : { 'cmd': "FVP_VE_Cortex-A7x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA7_config.txt" } }, - Device.CA9 : { 'cmd': "FVP_VE_Cortex-A9x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA9_config.txt" } }, - Device.CA5NEON : { 'cmd': "FVP_VE_Cortex-A5x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA5neon_config.txt" } }, - Device.CA7NEON : { 'cmd': "FVP_VE_Cortex-A7x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA7neon_config.txt" } }, - Device.CA9NEON : { 'cmd': "FVP_VE_Cortex-A9x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA9neon_config.txt" } } + Device.CM0 : { 'cmd': "FVP_MPS2_Cortex-M0", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM0_config.txt" } }, + Device.CM0PLUS : { 'cmd': "FVP_MPS2_Cortex-M0plus", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM0plus_config.txt" } }, + Device.CM3 : { 'cmd': "FVP_MPS2_Cortex-M3", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM3_config.txt" } }, + Device.CM4 : { 'cmd': "FVP_MPS2_Cortex-M4", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM4_config.txt" } }, + Device.CM4FP : { 'cmd': "FVP_MPS2_Cortex-M4", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM4FP_config.txt" } }, + Device.CM7 : { 'cmd': "FVP_MPS2_Cortex-M7", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM7_config.txt" } }, + Device.CM7SP : { 'cmd': "FVP_MPS2_Cortex-M7", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM7SP_config.txt" } }, + Device.CM7DP : { 'cmd': "FVP_MPS2_Cortex-M7", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM7DP_config.txt" } }, + Device.CM23 : { 'cmd': "FVP_MPS2_Cortex-M23", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM23_config.txt", 'target': "cpu0" } }, + Device.CM33 : { 'cmd': "FVP_MPS2_Cortex-M33", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM33_config.txt", 'target': "cpu0" } }, + Device.CM23NS : { 'cmd': "FVP_MPS2_Cortex-M23", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM23_TZ_config.txt", 'target': "cpu0" } }, + Device.CM33NS : { 'cmd': "FVP_MPS2_Cortex-M33", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM33_DSP_FP_TZ_config.txt", 'target': "cpu0" } }, + Device.CM23S : { 'cmd': "FVP_MPS2_Cortex-M23", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM23_TZ_config.txt", 'target': "cpu0" } }, + Device.CM33S : { 'cmd': "FVP_MPS2_Cortex-M33", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM33_DSP_FP_TZ_config.txt", 'target': "cpu0" } }, + Device.CM35P : { 'cmd': "FVP_MPS2_Cortex-M35P", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM35P_config.txt", 'target': "cpu0" } }, + Device.CM35PS : { 'cmd': "FVP_MPS2_Cortex-M35P", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM35P_DSP_FP_TZ_config.txt", 'target': "cpu0" } }, + Device.CM35PNS : { 'cmd': "FVP_MPS2_Cortex-M35P", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCM35P_DSP_FP_TZ_config.txt", 'target': "cpu0" } }, + Device.CA5 : { 'cmd': "FVP_VE_Cortex-A5x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA5_config.txt" } }, + Device.CA7 : { 'cmd': "FVP_VE_Cortex-A7x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA7_config.txt" } }, + Device.CA9 : { 'cmd': "FVP_VE_Cortex-A9x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA9_config.txt" } }, + Device.CA5NEON : { 'cmd': "FVP_VE_Cortex-A5x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA5neon_config.txt" } }, + Device.CA7NEON : { 'cmd': "FVP_VE_Cortex-A7x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA7neon_config.txt" } }, + Device.CA9NEON : { 'cmd': "FVP_VE_Cortex-A9x1", 'args': { 'timeout': 60, 'limit': "1000000000", 'config': "config/ARMCA9neon_config.txt" } } } def projects(step, config): diff --git a/CMSIS/CoreValidation/Tests/config/ARMCM35P_DSP_FP_TZ_config.txt b/CMSIS/CoreValidation/Tests/config/ARMCM35P_DSP_FP_TZ_config.txt new file mode 100644 index 0000000000000000000000000000000000000000..656fbb54f3b1bc1d99c51974ed9523a25dd37003 --- /dev/null +++ b/CMSIS/CoreValidation/Tests/config/ARMCM35P_DSP_FP_TZ_config.txt @@ -0,0 +1,32 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation +cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] +cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls +cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] +cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] +cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] +cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] +cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. +cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] +cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] +cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included +cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] +cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode +cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] +cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] +cpu0.SAU=0x8 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] +cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset +cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write +cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write +cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write +cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included +cpu0.SECEXT=1 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/CMSIS/CoreValidation/Tests/config/ARMCM35P_config.txt b/CMSIS/CoreValidation/Tests/config/ARMCM35P_config.txt new file mode 100644 index 0000000000000000000000000000000000000000..8fabebb9c164ddf4d0dc272a0c5187072a7b4826 --- /dev/null +++ b/CMSIS/CoreValidation/Tests/config/ARMCM35P_config.txt @@ -0,0 +1,32 @@ +# Parameters: +# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max] +#---------------------------------------------------------------------------------------------- +fvp_mps2.mps2_visualisation.disable-visualisation=1 # (bool , init-time) default = '0' : Enable/disable visualisation +cpu0.FPU=0 # (bool , init-time) default = '1' : Set whether the model has VFP support +cpu0.DSP=0 # (bool , init-time) default = '1' : Set whether the model has the DSP extension +cpu0.semihosting-enable=1 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false. +cpu0.semihosting-Thumb_SVC=0xAB # (int , init-time) default = '0xAB' : T32 SVC number for semihosting : [0x0..0xFF] +cpu0.semihosting-cmd_line="" # (string, init-time) default = '' : Command line available to semihosting SVC calls +cpu0.semihosting-heap_base=0x0 # (int , init-time) default = '0x0' : Virtual address of heap base : [0x0..0xFFFFFFFF] +cpu0.semihosting-heap_limit=0x0 # (int , init-time) default = '0x10700000' : Virtual address of top of heap : [0x0..0xFFFFFFFF] +cpu0.semihosting-stack_base=0x0 # (int , init-time) default = '0x10700000' : Virtual address of base of descending stack : [0x0..0xFFFFFFFF] +cpu0.semihosting-stack_limit=0x0 # (int , init-time) default = '0x10800000' : Virtual address of stack limit : [0x0..0xFFFFFFFF] +cpu0.semihosting-cwd="" # (string, init-time) default = '' : Base directory for semihosting file access. +cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10] +cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10] +cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included +cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8] +cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode +cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80] +cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80] +cpu0.SAU=0x0 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8] +cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset +cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set +idau.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' : +cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write +cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write +cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write +cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included +cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included +fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic +#---------------------------------------------------------------------------------------------- diff --git a/CMSIS/CoreValidation/Tests/config/core_m/partition_ARMCM35P.h b/CMSIS/CoreValidation/Tests/config/core_m/partition_ARMCM35P.h new file mode 100644 index 0000000000000000000000000000000000000000..9e11ebf825387490bae9bb3ba02b9a2db10eb543 --- /dev/null +++ b/CMSIS/CoreValidation/Tests/config/core_m/partition_ARMCM35P.h @@ -0,0 +1,1260 @@ +/**************************************************************************//** + * @file partition_ARMCM35P.h + * @brief CMSIS-CORE Initial Setup for Secure / Non-Secure Zones for ARMCM35P + * @version V5.4.1 + * @date 03. September 2018 + ******************************************************************************/ +/* + * Copyright (c) 2009-2018 Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef PARTITION_ARMCM35P_H +#define PARTITION_ARMCM35P_H + +/* +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- +*/ + +/* +// <e>Initialize Security Attribution Unit (SAU) CTRL register +*/ +#define SAU_INIT_CTRL 1 + +/* +// <q> Enable SAU +// <i> Value for SAU->CTRL register bit ENABLE +*/ +#define SAU_INIT_CTRL_ENABLE 1 + +/* +// <o> When SAU is disabled +// <0=> All Memory is Secure +// <1=> All Memory is Non-Secure +// <i> Value for SAU->CTRL register bit ALLNS +// <i> When all Memory is Non-Secure (ALLNS is 1), IDAU can override memory map configuration. +*/ +#define SAU_INIT_CTRL_ALLNS 0 + +/* +// </e> +*/ + +/* +// <h>Initialize Security Attribution Unit (SAU) Address Regions +// <i>SAU configuration specifies regions to be one of: +// <i> - Secure and Non-Secure Callable +// <i> - Non-Secure +// <i>Note: All memory regions not configured by SAU are Secure +*/ +#define SAU_REGIONS_MAX 8 /* Max. number of SAU regions */ + +/* +// <e>Initialize SAU Region 0 +// <i> Setup SAU Region 0 memory attributes +*/ +#define SAU_INIT_REGION0 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START0 0x00000000 /* start address of SAU region 0 */ + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END0 0x001FFFFF /* end address of SAU region 0 */ + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC0 1 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 1 +// <i> Setup SAU Region 1 memory attributes +*/ +#define SAU_INIT_REGION1 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START1 0x00200000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END1 0x003FFFFF + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC1 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 2 +// <i> Setup SAU Region 2 memory attributes +*/ +#define SAU_INIT_REGION2 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START2 0x20200000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END2 0x203FFFFF + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC2 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 3 +// <i> Setup SAU Region 3 memory attributes +*/ +#define SAU_INIT_REGION3 1 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START3 0x40000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END3 0x40040000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC3 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 4 +// <i> Setup SAU Region 4 memory attributes +*/ +#define SAU_INIT_REGION4 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START4 0x00000000 /* start address of SAU region 4 */ + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END4 0x00000000 /* end address of SAU region 4 */ + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC4 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 5 +// <i> Setup SAU Region 5 memory attributes +*/ +#define SAU_INIT_REGION5 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START5 0x00000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END5 0x00000000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC5 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 6 +// <i> Setup SAU Region 6 memory attributes +*/ +#define SAU_INIT_REGION6 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START6 0x00000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END6 0x00000000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC6 0 +/* +// </e> +*/ + +/* +// <e>Initialize SAU Region 7 +// <i> Setup SAU Region 7 memory attributes +*/ +#define SAU_INIT_REGION7 0 + +/* +// <o>Start Address <0-0xFFFFFFE0> +*/ +#define SAU_INIT_START7 0x00000000 + +/* +// <o>End Address <0x1F-0xFFFFFFFF> +*/ +#define SAU_INIT_END7 0x00000000 + +/* +// <o>Region is +// <0=>Non-Secure +// <1=>Secure, Non-Secure Callable +*/ +#define SAU_INIT_NSC7 0 +/* +// </e> +*/ + +/* +// </h> +*/ + +/* +// <e>Setup behaviour of Sleep and Exception Handling +*/ +#define SCB_CSR_AIRCR_INIT 1 + +/* +// <o> Deep Sleep can be enabled by +// <0=>Secure and Non-Secure state +// <1=>Secure state only +// <i> Value for SCB->CSR register bit DEEPSLEEPS +*/ +#define SCB_CSR_DEEPSLEEPS_VAL 1 + +/* +// <o>System reset request accessible from +// <0=> Secure and Non-Secure state +// <1=> Secure state only +// <i> Value for SCB->AIRCR register bit SYSRESETREQS +*/ +#define SCB_AIRCR_SYSRESETREQS_VAL 1 + +/* +// <o>Priority of Non-Secure exceptions is +// <0=> Not altered +// <1=> Lowered to 0x80-0xFF +// <i> Value for SCB->AIRCR register bit PRIS +*/ +#define SCB_AIRCR_PRIS_VAL 1 + +/* +// <o>BusFault, HardFault, and NMI target +// <0=> Secure state +// <1=> Non-Secure state +// <i> Value for SCB->AIRCR register bit BFHFNMINS +*/ +#define SCB_AIRCR_BFHFNMINS_VAL 0 + +/* +// </e> +*/ + +/* +// <e>Setup behaviour of Floating Point Unit +*/ +#define TZ_FPU_NS_USAGE 1 + +/* +// <o>Floating Point Unit usage +// <0=> Secure state only +// <3=> Secure and Non-Secure state +// <i> Value for SCB->NSACR register bits CP10, CP11 +*/ +#define SCB_NSACR_CP10_11_VAL 3 + +/* +// <o>Treat floating-point registers as Secure +// <0=> Disabled +// <1=> Enabled +// <i> Value for FPU->FPCCR register bit TS +*/ +#define FPU_FPCCR_TS_VAL 0 + +/* +// <o>Clear on return (CLRONRET) accessibility +// <0=> Secure and Non-Secure state +// <1=> Secure state only +// <i> Value for FPU->FPCCR register bit CLRONRETS +*/ +#define FPU_FPCCR_CLRONRETS_VAL 0 + +/* +// <o>Clear floating-point caller saved registers on exception return +// <0=> Disabled +// <1=> Enabled +// <i> Value for FPU->FPCCR register bit CLRONRET +*/ +#define FPU_FPCCR_CLRONRET_VAL 1 + +/* +// </e> +*/ + +/* +// <h>Setup Interrupt Target +*/ + +/* +// <e>Initialize ITNS 0 (Interrupts 0..31) +*/ +#define NVIC_INIT_ITNS0 1 + +/* +// Interrupts 0..31 +// <o.0> Interrupt 0 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 1 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 2 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 3 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 4 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 5 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 6 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 7 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 8 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 9 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 10 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 11 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 12 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 13 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 14 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 15 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 16 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 17 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 18 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 19 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 20 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 21 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 22 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 23 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 24 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 25 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 26 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 27 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 28 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 29 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 30 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 31 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS0_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 1 (Interrupts 32..63) +*/ +#define NVIC_INIT_ITNS1 1 + +/* +// Interrupts 32..63 +// <o.0> Interrupt 32 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 33 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 34 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 35 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 36 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 37 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 38 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 39 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 40 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 41 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 42 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 43 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 44 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 45 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 46 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 47 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 48 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 49 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 50 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 51 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 52 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 53 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 54 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 55 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 56 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 57 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 58 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 59 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 60 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 61 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 62 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 63 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS1_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 2 (Interrupts 64..95) +*/ +#define NVIC_INIT_ITNS2 0 + +/* +// Interrupts 64..95 +// <o.0> Interrupt 64 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 65 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 66 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 67 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 68 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 69 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 70 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 71 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 72 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 73 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 74 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 75 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 76 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 77 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 78 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 79 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 80 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 81 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 82 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 83 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 84 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 85 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 86 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 87 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 88 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 89 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 90 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 91 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 92 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 93 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 94 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 95 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS2_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 3 (Interrupts 96..127) +*/ +#define NVIC_INIT_ITNS3 0 + +/* +// Interrupts 96..127 +// <o.0> Interrupt 96 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 97 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 98 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 99 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 100 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 101 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 102 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 103 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 104 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 105 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 106 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 107 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 108 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 109 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 110 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 111 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 112 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 113 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 114 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 115 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 116 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 117 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 118 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 119 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 120 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 121 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 122 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 123 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 124 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 125 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 126 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 127 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS3_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 4 (Interrupts 128..159) +*/ +#define NVIC_INIT_ITNS4 0 + +/* +// Interrupts 128..159 +// <o.0> Interrupt 128 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 129 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 130 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 131 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 132 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 133 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 134 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 135 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 136 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 137 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 138 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 139 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 140 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 141 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 142 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 143 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 144 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 145 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 146 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 147 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 148 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 149 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 150 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 151 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 152 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 153 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 154 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 155 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 156 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 157 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 158 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 159 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS4_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 5 (Interrupts 160..191) +*/ +#define NVIC_INIT_ITNS5 0 + +/* +// Interrupts 160..191 +// <o.0> Interrupt 160 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 161 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 162 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 163 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 164 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 165 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 166 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 167 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 168 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 169 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 170 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 171 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 172 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 173 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 174 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 175 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 176 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 177 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 178 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 179 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 180 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 181 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 182 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 183 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 184 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 185 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 186 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 187 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 188 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 189 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 190 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 191 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS5_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 6 (Interrupts 192..223) +*/ +#define NVIC_INIT_ITNS6 0 + +/* +// Interrupts 192..223 +// <o.0> Interrupt 192 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 193 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 194 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 195 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 196 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 197 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 198 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 199 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 200 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 201 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 202 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 203 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 204 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 205 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 206 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 207 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 208 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 209 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 210 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 211 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 212 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 213 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 214 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 215 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 216 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 217 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 218 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 219 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 220 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 221 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 222 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 223 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS6_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 7 (Interrupts 224..255) +*/ +#define NVIC_INIT_ITNS7 0 + +/* +// Interrupts 224..255 +// <o.0> Interrupt 224 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 225 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 226 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 227 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 228 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 229 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 230 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 231 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 232 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 233 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 234 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 235 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 236 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 237 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 238 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 239 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 240 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 241 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 242 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 243 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 244 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 245 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 246 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 247 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 248 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 249 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 250 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 251 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 252 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 253 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 254 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 255 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS7_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 8 (Interrupts 256..287) +*/ +#define NVIC_INIT_ITNS8 0 + +/* +// Interrupts 256..287 +// <o.0> Interrupt 256 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 257 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 258 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 259 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 260 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 261 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 262 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 263 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 264 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 265 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 266 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 267 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 268 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 269 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 270 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 271 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 272 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 273 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 274 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 275 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 276 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 277 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 278 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 279 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 280 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 281 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 282 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 283 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 284 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 285 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 286 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 287 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS8_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 9 (Interrupts 288..319) +*/ +#define NVIC_INIT_ITNS9 0 + +/* +// Interrupts 288..319 +// <o.0> Interrupt 288 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 289 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 290 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 291 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 292 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 293 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 294 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 295 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 296 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 297 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 298 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 299 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 300 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 301 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 302 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 303 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 304 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 305 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 306 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 307 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 308 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 309 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 310 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 311 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 312 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 313 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 314 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 315 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 316 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 317 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 318 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 319 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS9_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 10 (Interrupts 320..351) +*/ +#define NVIC_INIT_ITNS10 0 + +/* +// Interrupts 320..351 +// <o.0> Interrupt 320 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 321 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 322 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 323 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 324 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 325 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 326 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 327 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 328 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 329 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 330 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 331 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 332 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 333 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 334 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 335 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 336 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 337 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 338 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 339 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 340 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 341 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 342 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 343 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 344 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 345 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 346 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 347 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 348 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 349 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 350 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 351 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS10_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 11 (Interrupts 352..383) +*/ +#define NVIC_INIT_ITNS11 0 + +/* +// Interrupts 352..383 +// <o.0> Interrupt 352 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 353 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 354 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 355 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 356 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 357 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 358 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 359 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 360 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 361 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 362 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 363 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 364 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 365 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 366 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 367 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 368 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 369 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 370 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 371 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 372 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 373 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 374 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 375 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 376 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 377 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 378 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 379 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 380 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 381 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 382 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 383 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS11_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 12 (Interrupts 384..415) +*/ +#define NVIC_INIT_ITNS12 0 + +/* +// Interrupts 384..415 +// <o.0> Interrupt 384 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 385 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 386 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 387 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 388 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 389 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 390 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 391 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 392 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 393 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 394 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 395 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 396 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 397 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 398 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 399 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 400 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 401 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 402 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 403 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 404 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 405 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 406 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 407 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 408 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 409 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 410 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 411 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 412 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 413 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 414 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 415 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS12_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 13 (Interrupts 416..447) +*/ +#define NVIC_INIT_ITNS13 0 + +/* +// Interrupts 416..447 +// <o.0> Interrupt 416 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 417 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 418 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 419 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 420 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 421 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 422 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 423 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 424 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 425 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 426 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 427 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 428 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 429 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 430 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 431 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 432 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 433 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 434 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 435 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 436 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 437 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 438 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 439 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 440 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 441 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 442 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 443 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 444 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 445 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 446 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 447 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS13_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 14 (Interrupts 448..479) +*/ +#define NVIC_INIT_ITNS14 0 + +/* +// Interrupts 448..479 +// <o.0> Interrupt 448 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 449 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 450 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 451 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 452 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 453 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 454 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 455 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 456 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 457 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 458 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 459 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 460 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 461 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 462 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 463 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 464 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 465 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 466 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 467 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 468 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 469 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 470 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 471 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 472 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 473 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 474 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 475 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 476 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 477 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 478 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 479 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS14_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// <e>Initialize ITNS 15 (Interrupts 480..511) +*/ +#define NVIC_INIT_ITNS15 0 + +/* +// Interrupts 480..511 +// <o.0> Interrupt 480 <0=> Secure state <1=> Non-Secure state +// <o.1> Interrupt 481 <0=> Secure state <1=> Non-Secure state +// <o.2> Interrupt 482 <0=> Secure state <1=> Non-Secure state +// <o.3> Interrupt 483 <0=> Secure state <1=> Non-Secure state +// <o.4> Interrupt 484 <0=> Secure state <1=> Non-Secure state +// <o.5> Interrupt 485 <0=> Secure state <1=> Non-Secure state +// <o.6> Interrupt 486 <0=> Secure state <1=> Non-Secure state +// <o.7> Interrupt 487 <0=> Secure state <1=> Non-Secure state +// <o.8> Interrupt 488 <0=> Secure state <1=> Non-Secure state +// <o.9> Interrupt 489 <0=> Secure state <1=> Non-Secure state +// <o.10> Interrupt 490 <0=> Secure state <1=> Non-Secure state +// <o.11> Interrupt 491 <0=> Secure state <1=> Non-Secure state +// <o.12> Interrupt 492 <0=> Secure state <1=> Non-Secure state +// <o.13> Interrupt 493 <0=> Secure state <1=> Non-Secure state +// <o.14> Interrupt 494 <0=> Secure state <1=> Non-Secure state +// <o.15> Interrupt 495 <0=> Secure state <1=> Non-Secure state +// <o.16> Interrupt 496 <0=> Secure state <1=> Non-Secure state +// <o.17> Interrupt 497 <0=> Secure state <1=> Non-Secure state +// <o.18> Interrupt 498 <0=> Secure state <1=> Non-Secure state +// <o.19> Interrupt 499 <0=> Secure state <1=> Non-Secure state +// <o.20> Interrupt 500 <0=> Secure state <1=> Non-Secure state +// <o.21> Interrupt 501 <0=> Secure state <1=> Non-Secure state +// <o.22> Interrupt 502 <0=> Secure state <1=> Non-Secure state +// <o.23> Interrupt 503 <0=> Secure state <1=> Non-Secure state +// <o.24> Interrupt 504 <0=> Secure state <1=> Non-Secure state +// <o.25> Interrupt 505 <0=> Secure state <1=> Non-Secure state +// <o.26> Interrupt 506 <0=> Secure state <1=> Non-Secure state +// <o.27> Interrupt 507 <0=> Secure state <1=> Non-Secure state +// <o.28> Interrupt 508 <0=> Secure state <1=> Non-Secure state +// <o.29> Interrupt 509 <0=> Secure state <1=> Non-Secure state +// <o.30> Interrupt 510 <0=> Secure state <1=> Non-Secure state +// <o.31> Interrupt 511 <0=> Secure state <1=> Non-Secure state +*/ +#define NVIC_INIT_ITNS15_VAL 0x00000000 + +/* +// </e> +*/ + +/* +// </h> +*/ + + + +/* + max 128 SAU regions. + SAU regions are defined in partition.h + */ + +#define SAU_INIT_REGION(n) \ + SAU->RNR = (n & SAU_RNR_REGION_Msk); \ + SAU->RBAR = (SAU_INIT_START##n & SAU_RBAR_BADDR_Msk); \ + SAU->RLAR = (SAU_INIT_END##n & SAU_RLAR_LADDR_Msk) | \ + ((SAU_INIT_NSC##n << SAU_RLAR_NSC_Pos) & SAU_RLAR_NSC_Msk) | 1U + +/** + \brief Setup a SAU Region + \details Writes the region information contained in SAU_Region to the + registers SAU_RNR, SAU_RBAR, and SAU_RLAR + */ +__STATIC_INLINE void TZ_SAU_Setup (void) +{ + +#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) + + #if defined (SAU_INIT_REGION0) && (SAU_INIT_REGION0 == 1U) + SAU_INIT_REGION(0); + #endif + + #if defined (SAU_INIT_REGION1) && (SAU_INIT_REGION1 == 1U) + SAU_INIT_REGION(1); + #endif + + #if defined (SAU_INIT_REGION2) && (SAU_INIT_REGION2 == 1U) + SAU_INIT_REGION(2); + #endif + + #if defined (SAU_INIT_REGION3) && (SAU_INIT_REGION3 == 1U) + SAU_INIT_REGION(3); + #endif + + #if defined (SAU_INIT_REGION4) && (SAU_INIT_REGION4 == 1U) + SAU_INIT_REGION(4); + #endif + + #if defined (SAU_INIT_REGION5) && (SAU_INIT_REGION5 == 1U) + SAU_INIT_REGION(5); + #endif + + #if defined (SAU_INIT_REGION6) && (SAU_INIT_REGION6 == 1U) + SAU_INIT_REGION(6); + #endif + + #if defined (SAU_INIT_REGION7) && (SAU_INIT_REGION7 == 1U) + SAU_INIT_REGION(7); + #endif + + /* repeat this for all possible SAU regions */ + +#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */ + + + #if defined (SAU_INIT_CTRL) && (SAU_INIT_CTRL == 1U) + SAU->CTRL = ((SAU_INIT_CTRL_ENABLE << SAU_CTRL_ENABLE_Pos) & SAU_CTRL_ENABLE_Msk) | + ((SAU_INIT_CTRL_ALLNS << SAU_CTRL_ALLNS_Pos) & SAU_CTRL_ALLNS_Msk) ; + #endif + + #if defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) + SCB->SCR = (SCB->SCR & ~(SCB_SCR_SLEEPDEEPS_Msk )) | + ((SCB_CSR_DEEPSLEEPS_VAL << SCB_SCR_SLEEPDEEPS_Pos) & SCB_SCR_SLEEPDEEPS_Msk); + + SCB->AIRCR = (SCB->AIRCR & ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_SYSRESETREQS_Msk | + SCB_AIRCR_BFHFNMINS_Msk | SCB_AIRCR_PRIS_Msk )) | + ((0x05FAU << SCB_AIRCR_VECTKEY_Pos) & SCB_AIRCR_VECTKEY_Msk) | + ((SCB_AIRCR_SYSRESETREQS_VAL << SCB_AIRCR_SYSRESETREQS_Pos) & SCB_AIRCR_SYSRESETREQS_Msk) | + ((SCB_AIRCR_PRIS_VAL << SCB_AIRCR_PRIS_Pos) & SCB_AIRCR_PRIS_Msk) | + ((SCB_AIRCR_BFHFNMINS_VAL << SCB_AIRCR_BFHFNMINS_Pos) & SCB_AIRCR_BFHFNMINS_Msk); + #endif /* defined (SCB_CSR_AIRCR_INIT) && (SCB_CSR_AIRCR_INIT == 1U) */ + + #if defined (__FPU_USED) && (__FPU_USED == 1U) && \ + defined (TZ_FPU_NS_USAGE) && (TZ_FPU_NS_USAGE == 1U) + + SCB->NSACR = (SCB->NSACR & ~(SCB_NSACR_CP10_Msk | SCB_NSACR_CP10_Msk)) | + ((SCB_NSACR_CP10_11_VAL << SCB_NSACR_CP10_Pos) & (SCB_NSACR_CP10_Msk | SCB_NSACR_CP11_Msk)); + + FPU->FPCCR = (FPU->FPCCR & ~(FPU_FPCCR_TS_Msk | FPU_FPCCR_CLRONRETS_Msk | FPU_FPCCR_CLRONRET_Msk)) | + ((FPU_FPCCR_TS_VAL << FPU_FPCCR_TS_Pos ) & FPU_FPCCR_TS_Msk ) | + ((FPU_FPCCR_CLRONRETS_VAL << FPU_FPCCR_CLRONRETS_Pos) & FPU_FPCCR_CLRONRETS_Msk) | + ((FPU_FPCCR_CLRONRET_VAL << FPU_FPCCR_CLRONRET_Pos ) & FPU_FPCCR_CLRONRET_Msk ); + #endif + + #if defined (NVIC_INIT_ITNS0) && (NVIC_INIT_ITNS0 == 1U) + NVIC->ITNS[0] = NVIC_INIT_ITNS0_VAL; + #endif + + #if defined (NVIC_INIT_ITNS1) && (NVIC_INIT_ITNS1 == 1U) + NVIC->ITNS[1] = NVIC_INIT_ITNS1_VAL; + #endif + + #if defined (NVIC_INIT_ITNS2) && (NVIC_INIT_ITNS2 == 1U) + NVIC->ITNS[2] = NVIC_INIT_ITNS2_VAL; + #endif + + #if defined (NVIC_INIT_ITNS3) && (NVIC_INIT_ITNS3 == 1U) + NVIC->ITNS[3] = NVIC_INIT_ITNS3_VAL; + #endif + + #if defined (NVIC_INIT_ITNS4) && (NVIC_INIT_ITNS4 == 1U) + NVIC->ITNS[4] = NVIC_INIT_ITNS4_VAL; + #endif + + #if defined (NVIC_INIT_ITNS5) && (NVIC_INIT_ITNS5 == 1U) + NVIC->ITNS[5] = NVIC_INIT_ITNS5_VAL; + #endif + + #if defined (NVIC_INIT_ITNS6) && (NVIC_INIT_ITNS6 == 1U) + NVIC->ITNS[6] = NVIC_INIT_ITNS6_VAL; + #endif + + #if defined (NVIC_INIT_ITNS7) && (NVIC_INIT_ITNS7 == 1U) + NVIC->ITNS[7] = NVIC_INIT_ITNS7_VAL; + #endif + + #if defined (NVIC_INIT_ITNS8) && (NVIC_INIT_ITNS8 == 1U) + NVIC->ITNS[8] = NVIC_INIT_ITNS8_VAL; + #endif + + #if defined (NVIC_INIT_ITNS9) && (NVIC_INIT_ITNS9 == 1U) + NVIC->ITNS[9] = NVIC_INIT_ITNS9_VAL; + #endif + + #if defined (NVIC_INIT_ITNS10) && (NVIC_INIT_ITNS10 == 1U) + NVIC->ITNS[10] = NVIC_INIT_ITNS10_VAL; + #endif + + #if defined (NVIC_INIT_ITNS11) && (NVIC_INIT_ITNS11 == 1U) + NVIC->ITNS[11] = NVIC_INIT_ITNS11_VAL; + #endif + + #if defined (NVIC_INIT_ITNS12) && (NVIC_INIT_ITNS12 == 1U) + NVIC->ITNS[12] = NVIC_INIT_ITNS12_VAL; + #endif + + #if defined (NVIC_INIT_ITNS13) && (NVIC_INIT_ITNS13 == 1U) + NVIC->ITNS[13] = NVIC_INIT_ITNS13_VAL; + #endif + + #if defined (NVIC_INIT_ITNS14) && (NVIC_INIT_ITNS14 == 1U) + NVIC->ITNS[14] = NVIC_INIT_ITNS14_VAL; + #endif + + #if defined (NVIC_INIT_ITNS15) && (NVIC_INIT_ITNS15 == 1U) + NVIC->ITNS[15] = NVIC_INIT_ITNS15_VAL; + #endif + + /* repeat this for all possible ITNS elements */ + +} + +#endif /* PARTITION_ARMCM35P_H */ diff --git a/CMSIS/CoreValidation/Tests/gcc.rtebuild b/CMSIS/CoreValidation/Tests/gcc.rtebuild index 8329cd2b6330f3874db7d5d2f52c3c3ff5378237..c05ac63b37a342d448049bd5eb92bdcb42988040 100644 --- a/CMSIS/CoreValidation/Tests/gcc.rtebuild +++ b/CMSIS/CoreValidation/Tests/gcc.rtebuild @@ -102,6 +102,28 @@ targets: asmflags : [ "-mfpu=${fpu}" ] linkflags: [ "-mfpu=${fpu}" ] linkscript: "config/core_m/rtebuild_ns.ld" + armcm35p: + arch : armv8-m.main + cpu : cortex-m33 + fpu : none + float : soft + armcm35ps: + arch : armv8-m.main + cpu : cortex-m33 + fpu : fpv5-sp-d16 + float : hard + cflags : [ "-mfpu=${fpu}", -mcmse ] + asmflags : [ "-mfpu=${fpu}" ] + linkflags: [ "-mfpu=${fpu}" ] + armcm35pns: + arch : armv8-m.main + cpu : cortex-m33 + fpu : fpv5-sp-d16 + float : hard + cflags : [ "-mfpu=${fpu}" ] + asmflags : [ "-mfpu=${fpu}" ] + linkflags: [ "-mfpu=${fpu}" ] + linkscript: "config/core_m/rtebuild_ns.ld" armca: csettings : [ -marm ] cflags : [ -xc, -std=gnu99, -c, "-mcpu=${cpu}", "-mfpu=${fpu}", "-mfloat-abi=${float}", "${csettings}", "${cwarnings}" ] diff --git a/CMSIS/CoreValidation/Tests/tests.rtebuild b/CMSIS/CoreValidation/Tests/tests.rtebuild index d589c0061de53028dc4e7a4c0a87617f5b522fe8..a54ed738c5378744614cb97222d128adaa5ff566 100644 --- a/CMSIS/CoreValidation/Tests/tests.rtebuild +++ b/CMSIS/CoreValidation/Tests/tests.rtebuild @@ -76,6 +76,18 @@ targets: extends: armcm_v8 device : ARMCM33 dsuffix: "_DSP_FP_TZ" + armcm35p: + extends: armcm_v8 + device : ARMCM35P + dsuffix: "" + armcm35ps: + extends: armcm_v8 + device : ARMCM35P + dsuffix: "_DSP_FP_TZ" + armcm35pns: + extends: armcm_v8 + device : ARMCM35P + dsuffix: "_DSP_FP_TZ" armca: extends : arm include: diff --git a/CMSIS/DoxyGen/Driver/src/Driver_WiFi.c b/CMSIS/DoxyGen/Driver/src/Driver_WiFi.c index bf5836af9bf5714e5653f6a177dc19c458032c2a..f43981e42c646e7f7ac50af507f4b99fac529e5f 100644 --- a/CMSIS/DoxyGen/Driver/src/Driver_WiFi.c +++ b/CMSIS/DoxyGen/Driver/src/Driver_WiFi.c @@ -3,16 +3,33 @@ \brief Driver API for WiFi (%Driver_WiFi.h) \details -<b>Block Diagram</b> +Wi-Fi is technology for radio wireless local area networking of devices. Wi-Fi compatible devices typically connect to +the Internet via a WLAN and a wireless access point (AP) also called hotspot. +Wikipedia offers more information about +the <a href="http://en.wikipedia.org/wiki/Ethernet" target="_blank"><b>WiFi</b></a>. + +<b>Driver Block Diagram</b> + +\image html WiFi.png "Block Diagram of the WiFi interface" <b>WiFi API</b> The following header files define the Application Programming Interface (API) for the WiFi interface: - \b %Driver_WiFi.h : Driver API for WiFi -The driver implementation is a typical part of the Device Family Pack (DFP) that supports the -peripherals of the microcontroller family. +The CMSIS-Driver WiFi provides access to the following interfaces: + + - \ref wifi_control_gr "Control interface": setup and control the WiFi API functions. + - \ref wifi_management_gr "Management interface": allows to configure the connection to a WiFi access point (AP). + - \ref wifi_socket_gr "Socket interface": provides the interface to an IP stack that is running on WiFi module. This IP stack handles data communication. + - \ref wifi_bypass_gr "Bypass interface": is an optional interface an allows to transfer Ethernet frames by WiFi module. Using this interface requires that the IP stack is running on microcontroller. + +The WiFi interface typically requires CMSIS-RTOS features (i.e. mutex) and is frequently implemented with a peripheral that connected to a system using a SPI or UART interface. +However there are also some microcontroller devices with on-chip WiFi interface available. + +The WiFi CMSIS-Driver implementation is therefore mostly provided as separate software pack. It is frequently implemented as wrapper to the SDK (Software Development Kit) of the +WiFi chipset. <b>Driver Functions</b> @@ -42,6 +59,20 @@ A middleware configuration setting allows connecting the middleware to a specifi The default is \token{0}, which connects a middleware to the first instance of a driver. **************************************************************************************************************************/ + +// +// Functions +// + +/** +\defgroup wifi_control_gr WiFi Control +\ingroup wifi_interface_gr +\brief Control functions for the WiFi API interface +\details +The \ref wifi_control_gr functions setup and control the WiFi API interface. +@{ +*/ + /** \struct ARM_WIFI_CAPABILITIES \details @@ -60,9 +91,17 @@ The data fields of this structure encode the capabilities implemented by this dr - \ref ARM_WIFI_Initialize *******************************************************************************************************************/ -// -// Functions -// +/** +\defgroup wifi_event WiFi Event +\ingroup wifi_control_gr +\brief Specifies WiFi events notified via \ref ARM_WIFI_SignalEvent. +\details +@{ +\def ARM_WIFI_EVENT_AP_CONNECT +\def ARM_WIFI_EVENT_AP_DISCONNECT +\def ARM_WIFI_EVENT_ETH_RX_FRAME +@} +*/ ARM_DRIVER_VERSION ARM_WIFI_GetVersion (void) { return { 0, 0 }; @@ -70,9 +109,26 @@ ARM_DRIVER_VERSION ARM_WIFI_GetVersion (void) { /** \fn ARM_DRIVER_VERSION ARM_WIFI_GetVersion (void) \details +The function \ref ARM_WIFI_GetVersion returns version information of the driver implementation in \ref ARM_DRIVER_VERSION. + +API version is the version of the CMSIS-Driver specification used to implement this driver. +Driver version is source code version of the actual driver implementation. Example: \code +extern ARM_DRIVER_WIFI Driver_WIFI0; +ARM_DRIVER_WIFI *drv_info; + +void setup_wifi (void) { + ARM_DRIVER_VERSION version; + + drv_info = &Driver_WIFI0; + version = drv_info->GetVersion (); + if (version.api < 0x10A) { // requires at minimum API version 1.10 or higher + // error handling + return; + } +} \endcode */ @@ -124,6 +180,171 @@ Example: \endcode */ +void ARM_WIFI_SignalEvent (uint32_t event, void *arg) { +} +/** +\fn void ARM_WIFI_SignalEvent (uint32_t event, void *arg) +\details +The function ARM_WIFI_SignalEvent is a callback function registered by the function ARM_WIFI_Initialize. It is called by the WiFi driver +to notify the application about WiFi Events occurred during operation. + +The parameter \em event indicates the event that occurred during driver operation. + +The parameter \arg is a pointer to additional information about the event. + +The following events can be generated: + +Parameter \em event | Description +:------------------------------------|:------------------------------------------ +\ref ARM_WIFI_EVENT_AP_CONNECT | \copybrief ARM_WIFI_EVENT_AP_CONNECT +\ref ARM_WIFI_EVENT_AP_DISCONNECT | \copybrief ARM_WIFI_EVENT_AP_DISCONNECT +\ref ARM_WIFI_EVENT_ETH_RX_FRAME | \copybrief ARM_WIFI_EVENT_ETH_RX_FRAME + + +Example: +\code +\endcode +*/ + +/** +@} //wifi_control_gr +*/ + +/** +\defgroup wifi_management_gr WiFi Management +\ingroup wifi_interface_gr +\brief Configure the connection to a WiFi access point (AP) +\details The \ref wifi_management_gr functions allows to configure the connection to a WiFi access point (AP) also called hotspot. +@{ +*/ + +/** +\defgroup WiFi_option WiFi Option Codes +\ingroup wifi_management_gr +\brief WiFi Option Codes for \ref ARM_WIFI_SetOption or \ref ARM_WIFI_GetOption function. +\details +Many parameters of the WiFi driver are configured using the \ref ARM_WIFI_SetOption or \ref ARM_WIFI_GetOption function. +@{ +\def ARM_WIFI_SSID +\sa WiFi_option +\def ARM_WIFI_BSSID +\sa WiFi_option +\def ARM_WIFI_PASS +\sa WiFi_option +\def ARM_WIFI_SECURITY +\sa WiFi_option +\def ARM_WIFI_CHANNEL +\sa WiFi_option +\def ARM_WIFI_RSSI +\sa WiFi_option +\def ARM_WIFI_TX_POWER +\sa WiFi_option +\def ARM_WIFI_MAC +\sa WiFi_option +\def ARM_WIFI_IP +\sa WiFi_option +\def ARM_WIFI_IP_SUBNET_MASK +\sa WiFi_option +\def ARM_WIFI_IP_GATEWAY +\sa WiFi_option +\def ARM_WIFI_IP_DNS1 +\sa WiFi_option +\def ARM_WIFI_IP_DNS2 +\sa WiFi_option +\def ARM_WIFI_IP_DHCP +\sa WiFi_option +\def ARM_WIFI_IP6_GLOBAL +\sa WiFi_option +\def ARM_WIFI_IP6_LINK_LOCAL +\sa WiFi_option +\def ARM_WIFI_IP6_SUBNET_PREFIX_LEN +\sa WiFi_option +\def ARM_WIFI_IP6_GATEWAY +\sa WiFi_option +\def ARM_WIFI_IP6_DNS1 +\sa WiFi_option +\def ARM_WIFI_IP6_DNS2 +\sa WiFi_option +\def ARM_WIFI_IP6_DHCP_MODE +\sa WiFi_option +\def ARM_WIFI_AP_SSID_HIDE +\sa WiFi_option +\sa WiFi_option +\def ARM_WIFI_AP_TX_POWER +\sa WiFi_option +\def ARM_WIFI_AP_MAC +\sa WiFi_option +\def ARM_WIFI_AP_IP +\sa WiFi_option +\def ARM_WIFI_AP_IP_SUBNET_MASK +\sa WiFi_option +\def ARM_WIFI_AP_IP_GATEWAY +\sa WiFi_option +\def ARM_WIFI_AP_IP_DNS1 +\sa WiFi_option +\def ARM_WIFI_AP_IP_DNS2 +\sa WiFi_option +\def ARM_WIFI_AP_IP_DHCP +\sa WiFi_option +\sa WiFi_option +\def ARM_WIFI_AP_IP_DHCP_POOL_BEGIN +\sa WiFi_option +\def ARM_WIFI_AP_IP_DHCP_POOL_END +\sa WiFi_option +\def ARM_WIFI_AP_IP_DHCP_LEASE_TIME +\sa WiFi_option +\def ARM_WIFI_AP_IP_DHCP_TABLE +\sa WiFi_option +\def ARM_WIFI_AP_IP6_GLOBAL +\sa WiFi_option +\def ARM_WIFI_AP_IP6_LINK_LOCAL +\sa WiFi_option +\def ARM_WIFI_AP_IP6_SUBNET_PREFIX_LEN +\sa WiFi_option +\def ARM_WIFI_AP_IP6_GATEWAY +\sa WiFi_option +\def ARM_WIFI_AP_IP6_DNS1 +\sa WiFi_option +\def ARM_WIFI_AP_IP6_DNS2 +\sa WiFi_option +@} +*/ + +/** +\defgroup wifi_sec_type WiFi Security Type +\ingroup wifi_management_gr +\brief Specifies WiFi security type for \ref ARM_WIFI_Connect. +\details +The WiFi security type defines that standard used to protect the wireless network from unauthorized access. +@{ +\def ARM_WIFI_SECURITY_OPEN +\sa wifi_sec_type +\def ARM_WIFI_SECURITY_WEP +\sa wifi_sec_type +\def ARM_WIFI_SECURITY_WPA +\sa wifi_sec_type +\def ARM_WIFI_SECURITY_WPA2 +\sa wifi_sec_type +\def ARM_WIFI_SECURITY_UNKNOWN +\sa wifi_sec_type +@} +*/ + +/** +\defgroup wifi_dhcp_mode WiFi DHCP Mode +\ingroup wifi_management_gr +\brief Specifies IPv6 Dynamic Host Configuration Protocol (DHCP) Mode. +\details +@{ +\def ARM_WIFI_IP6_DHCP_OFF +\sa wifi_dhcp_mode +\def ARM_WIFI_IP6_DHCP_STATELESS +\sa wifi_dhcp_mode +\def ARM_WIFI_IP6_DHCP_STATEFULL +\sa wifi_dhcp_mode +@} +*/ + int32_t ARM_WIFI_SetOption (uint32_t option, const void *data, uint32_t len) { return ARM_DRIVER_OK; } @@ -244,6 +465,18 @@ Example: \endcode */ +/** +@} +*/ + +/** +\defgroup wifi_bypass_gr WiFi Bypass +\ingroup wifi_interface_gr +\brief Transfer Ethernet frames by WiFi module. +\details The \ref wifi_bypass_gr functions are and optional interface and allow to transfer Ethernet frames by WiFi module. Using this interface requires that the IP stack is running on microcontroller. +@{ +*/ + int32_t ARM_WIFI_BypassControl (uint32_t enable) { return ARM_DRIVER_OK; } @@ -291,6 +524,112 @@ Example: \code \endcode */ +/** +@} // wifi_control_gr +*/ + +/** +\defgroup wifi_socket_gr WiFi Socket +\ingroup wifi_interface_gr +\brief Socket interface to IP stack running on WiFi module +\details The \ref wifi_socket_gr functions provide the interface to an IP stack that is running on WiFi module. This IP stack handles data communication with the network. +@{ +*/ + + +/** +\defgroup wifi_addr_family WiFi Socket Address Family definitions +\ingroup wifi_socket_gr +\brief WiFi Socket Address Family definitions. +\details +@{ +\def ARM_SOCKET_AF_INET +\def ARM_SOCKET_AF_INET6 +@} +*/ + +/** +\defgroup wifi_socket_type WiFi Socket Type definitions +\ingroup wifi_socket_gr +\brief WiFi Socket Type definitions. +\details +@{ +\def ARM_SOCKET_SOCK_STREAM +\def ARM_SOCKET_SOCK_DGRAM +@} +*/ + +/** +\defgroup wifi_protocol WiFi Socket Protocol definitions +\ingroup WiFi_socket_gr +\brief WiFi Socket Protocol definitions. +\details +@{ +\def ARM_SOCKET_IPPROTO_TCP +\def ARM_SOCKET_IPPROTO_UDP +@} +*/ + +/** +\defgroup wifi_soc_opt WiFi Socket Option definitions +\ingroup WiFi_socket_gr +\brief WiFi Socket Option definitions. +\details +@{ +\def ARM_SOCKET_IO_FIONBIO +\sa wifi_soc_opt +\def ARM_SOCKET_SO_RCVTIMEO +\sa wifi_soc_opt +\def ARM_SOCKET_SO_SNDTIMEO +\sa wifi_soc_opt +\def ARM_SOCKET_SO_KEEPALIVE +\sa wifi_soc_opt +\def ARM_SOCKET_SO_TYPE +\sa wifi_soc_opt +@} +*/ + +/** +\defgroup wifi_soc_func WiFi Socket Function return codes +\ingroup WiFi_socket_gr +\brief WiFi Socket Function return codes. +\details +@{ +\def ARM_SOCKET_ERROR +\sa wifi_soc_func +\def ARM_SOCKET_ESOCK +\sa wifi_soc_func +\def ARM_SOCKET_EINVAL +\sa wifi_soc_func +\def ARM_SOCKET_ENOTSUP +\sa wifi_soc_func +\def ARM_SOCKET_ENOMEM +\sa wifi_soc_func +\def ARM_SOCKET_EAGAIN +\sa wifi_soc_func +\def ARM_SOCKET_EINPROGRESS +\sa wifi_soc_func +\def ARM_SOCKET_ETIMEDOUT +\sa wifi_soc_func +\def ARM_SOCKET_EISCONN +\sa wifi_soc_func +\def ARM_SOCKET_ENOTCONN +\sa WiFi_soc_func +\def ARM_SOCKET_ECONNREFUSED +\sa WiFi_soc_func +\def ARM_SOCKET_ECONNRESET +\sa WiFi_soc_func +\def ARM_SOCKET_ECONNABORTED +\sa WiFi_soc_func +\def ARM_SOCKET_EALREADY +\sa WiFi_soc_func +\def ARM_SOCKET_EADDRINUSE +\sa WiFi_soc_func +\def ARM_SOCKET_EHOSTNOTFOUND +\sa WiFi_soc_func +@} +*/ + int32_t ARM_WIFI_SocketCreate (int32_t af, int32_t type, int32_t protocol) { return 0; @@ -440,7 +779,7 @@ int32_t ARM_WIFI_SocketSetOpt (int32_t socket, int32_t opt_id, const void *opt_v return 0; } /** - \fn int32_t ARM_WIFI_SocketSetOpt (int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len) +\fn int32_t ARM_WIFI_SocketSetOpt (int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len) \details Example: @@ -452,7 +791,7 @@ int32_t ARM_WIFI_SocketClose (int32_t socket) { return 0; } /** - \fn int32_t ARM_WIFI_SocketClose (int32_t socket) +\fn int32_t ARM_WIFI_SocketClose (int32_t socket) \details Example: @@ -464,7 +803,7 @@ int32_t ARM_WIFI_SocketGetHostByName (const char *name, int32_t af, uint8_t *ip, return 0; } /** - \fn int32_t ARM_WIFI_SocketGetHostByName (const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len) +\fn int32_t ARM_WIFI_SocketGetHostByName (const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len) \details Example: @@ -476,285 +815,18 @@ int32_t ARM_WIFI_Ping (const uint8_t *ip, uint32_t ip_len) { return ARM_DRIVER_OK; } /** - \fn int32_t ARM_WIFI_Ping (const uint8_t *ip, uint32_t ip_len) +\fn int32_t ARM_WIFI_Ping (const uint8_t *ip, uint32_t ip_len) \details Example: \code \endcode */ - - -void ARM_WIFI_SignalEvent (uint32_t event, void *arg) { -} /** - \fn void ARM_WIFI_SignalEvent (uint32_t event, void *arg) -\details - -Example: -\code -\endcode +@} //wifi_socket_gr */ -/** -\defgroup WiFi_option WiFi SetOption/GetOption Function Option Codes -\ingroup wifi_interface_gr -\brief Many parameters of the WiFi driver are configured using the SetOption/GetOption functions. -\details -@{ -\def ARM_WIFI_SSID -\sa WiFi_option -\def ARM_WIFI_BSSID -\sa WiFi_option -\def ARM_WIFI_PASS -\sa WiFi_option -\def ARM_WIFI_SECURITY -\sa WiFi_option -\def ARM_WIFI_CHANNEL -\sa WiFi_option -\def ARM_WIFI_RSSI -\sa WiFi_option -\def ARM_WIFI_TX_POWER -\sa WiFi_option -\def ARM_WIFI_MAC -\sa WiFi_option -\def ARM_WIFI_IP -\sa WiFi_option -\def ARM_WIFI_IP_SUBNET_MASK -\sa WiFi_option -\def ARM_WIFI_IP_GATEWAY -\sa WiFi_option -\def ARM_WIFI_IP_DNS1 -\sa WiFi_option -\def ARM_WIFI_IP_DNS2 -\sa WiFi_option -\def ARM_WIFI_IP_DHCP -\sa WiFi_option -\def ARM_WIFI_IP6_GLOBAL -\sa WiFi_option -\def ARM_WIFI_IP6_LINK_LOCAL -\sa WiFi_option -\def ARM_WIFI_IP6_SUBNET_PREFIX_LEN -\sa WiFi_option -\def ARM_WIFI_IP6_GATEWAY -\sa WiFi_option -\def ARM_WIFI_IP6_DNS1 -\sa WiFi_option -\def ARM_WIFI_IP6_DNS2 -\sa WiFi_option -\def ARM_WIFI_IP6_DHCP_MODE -\sa WiFi_option -\def ARM_WIFI_AP_SSID_HIDE -\sa WiFi_option -\sa WiFi_option -\def ARM_WIFI_AP_TX_POWER -\sa WiFi_option -\def ARM_WIFI_AP_MAC -\sa WiFi_option -\def ARM_WIFI_AP_IP -\sa WiFi_option -\def ARM_WIFI_AP_IP_SUBNET_MASK -\sa WiFi_option -\def ARM_WIFI_AP_IP_GATEWAY -\sa WiFi_option -\def ARM_WIFI_AP_IP_DNS1 -\sa WiFi_option -\def ARM_WIFI_AP_IP_DNS2 -\sa WiFi_option -\def ARM_WIFI_AP_IP_DHCP -\sa WiFi_option -\sa WiFi_option -\def ARM_WIFI_AP_IP_DHCP_POOL_BEGIN -\sa WiFi_option -\def ARM_WIFI_AP_IP_DHCP_POOL_END -\sa WiFi_option -\def ARM_WIFI_AP_IP_DHCP_LEASE_TIME -\sa WiFi_option -\def ARM_WIFI_AP_IP_DHCP_TABLE -\sa WiFi_option -\def ARM_WIFI_AP_IP6_GLOBAL -\sa WiFi_option -\def ARM_WIFI_AP_IP6_LINK_LOCAL -\sa WiFi_option -\def ARM_WIFI_AP_IP6_SUBNET_PREFIX_LEN -\sa WiFi_option -\def ARM_WIFI_AP_IP6_GATEWAY -\sa WiFi_option -\def ARM_WIFI_AP_IP6_DNS1 -\sa WiFi_option -\def ARM_WIFI_AP_IP6_DNS2 -\sa WiFi_option -*/ - -/** -\defgroup wifi_sec_type WiFi Security Type -\ingroup WiFi_option -\brief Specifies WiFi security types. -\details -@{ -\def ARM_WIFI_SECURITY_OPEN -\sa WiFi_option -\def ARM_WIFI_SECURITY_WEP -\sa WiFi_option -\def ARM_WIFI_SECURITY_WPA -\sa WiFi_option -\def ARM_WIFI_SECURITY_WPA2 -\sa WiFi_option -\def ARM_WIFI_SECURITY_UNKNOWN -\sa WiFi_option -@} -*/ - -/** -\defgroup wifi_dhcp_mode WiFi DHCP Mode -\ingroup WiFi_option -\brief Specifies IPv6 Dynamic Host Configuration Protocol (DHCP) Mode. -\details -@{ -\def ARM_WIFI_IP6_DHCP_OFF -\sa WiFi_option -\def ARM_WIFI_IP6_DHCP_STATELESS -\sa WiFi_option -\def ARM_WIFI_IP6_DHCP_STATEFULL -\sa WiFi_option -@} -*/ - -/** -\defgroup wifi_event WiFi Event -\ingroup WiFi_option -\brief Specifies WiFi events. -\details -@{ -\def ARM_WIFI_EVENT_AP_CONNECT -\sa WiFi_option -\def ARM_WIFI_EVENT_AP_DISCONNECT -\sa WiFi_option -\def ARM_WIFI_EVENT_ETH_RX_FRAME -\sa WiFi_option -@} -*/ - -/** -@} -*/ -// end group WiFi_option - -/** -\defgroup WiFi_sockets WiFi Socket codes -\ingroup wifi_interface_gr -\brief Parameters of the WiFi Sockets. -\details -@{ -*/ - -/** -\defgroup wifi_addr_family WiFi Socket Address Family definitions -\ingroup WiFi_sockets -\brief WiFi Socket Address Family definitions. -\details -@{ -\def ARM_SOCKET_AF_INET -\sa WiFi_sockets -\def ARM_SOCKET_AF_INET6 -\sa WiFi_sockets -@} -*/ - -/** -\defgroup wifi_type WiFi Socket Type definitions -\ingroup WiFi_sockets -\brief WiFi Socket Type definitions. -\details -@{ -\def ARM_SOCKET_SOCK_STREAM -\sa WiFi_sockets -\def ARM_SOCKET_SOCK_DGRAM -\sa WiFi_sockets -@} -*/ - -/** -\defgroup wifi_protocol WiFi Socket Protocol definitions -\ingroup WiFi_sockets -\brief WiFi Socket Protocol definitions. -\details -@{ -\def ARM_SOCKET_IPPROTO_TCP -\sa WiFi_sockets -\def ARM_SOCKET_IPPROTO_UDP -\sa WiFi_sockets -@} -*/ - -/** -\defgroup wifi_soc_opt WiFi Socket Option definitions -\ingroup WiFi_sockets -\brief WiFi Socket Option definitions. -\details -@{ -\def ARM_SOCKET_IO_FIONBIO -\sa WiFi_sockets -\def ARM_SOCKET_SO_RCVTIMEO -\sa WiFi_sockets -\def ARM_SOCKET_SO_SNDTIMEO -\sa WiFi_sockets -\def ARM_SOCKET_SO_KEEPALIVE -\sa WiFi_sockets -\def ARM_SOCKET_SO_TYPE -\sa WiFi_sockets -@} -*/ - -/** -\defgroup wifi_soc_func WiFi Socket Function return codes -\ingroup WiFi_sockets -\brief WiFi Socket Function return codes. -\details -@{ -\def ARM_SOCKET_ERROR -\sa WiFi_sockets -\def ARM_SOCKET_ESOCK -\sa WiFi_sockets -\def ARM_SOCKET_EINVAL -\sa WiFi_sockets -\def ARM_SOCKET_ENOTSUP -\sa WiFi_sockets -\def ARM_SOCKET_ENOMEM -\sa WiFi_sockets -\def ARM_SOCKET_EAGAIN -\sa WiFi_sockets -\def ARM_SOCKET_EINPROGRESS -\sa WiFi_sockets -\def ARM_SOCKET_ETIMEDOUT -\sa WiFi_sockets -\def ARM_SOCKET_EISCONN -\sa WiFi_sockets -\def ARM_SOCKET_ENOTCONN -\sa WiFi_sockets -\sa WiFi_sockets -\sa WiFi_sockets -\def ARM_SOCKET_ECONNREFUSED -\sa WiFi_sockets -\def ARM_SOCKET_ECONNRESET -\sa WiFi_sockets -\def ARM_SOCKET_ECONNABORTED -\sa WiFi_sockets -\def ARM_SOCKET_EALREADY -\sa WiFi_sockets -\sa WiFi_sockets -\def ARM_SOCKET_EADDRINUSE -\sa WiFi_sockets -\def ARM_SOCKET_EHOSTNOTFOUND -\sa WiFi_sockets -@} -*/ - -/** -@} -*/ -// end group WiFi_sockets /** @} diff --git a/CMSIS/DoxyGen/Driver/src/images/WiFi.png b/CMSIS/DoxyGen/Driver/src/images/WiFi.png new file mode 100644 index 0000000000000000000000000000000000000000..380c2abe2f90c47351146bea649a94057742ef1b Binary files /dev/null and b/CMSIS/DoxyGen/Driver/src/images/WiFi.png differ