Rtos API example

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers cfstore_uvisor.h Source File

cfstore_uvisor.h

00001 /*
00002  * Copyright (c) 2013-2016, ARM Limited, All Rights Reserved
00003  * SPDX-License-Identifier: Apache-2.0
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License"); you may
00006  * not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  * http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00013  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 #ifndef __CFSTORE_UVISOR_H__
00018 #define __CFSTORE_UVISOR_H__
00019 
00020 /* target specifc ACLs */
00021 #if   defined(TARGET_LIKE_FRDM_K64F)
00022 
00023 #define CFSTORE_UVISOR_LED_ON  false
00024 #define CFSTORE_UVISOR_LED_OFF true
00025 #define CFSTORE_UVISOR_MAIN_LED LED_BLUE
00026 #define CFSTORE_UVISOR_MAIN_BTN SW2
00027 #define CFSTORE_UVISOR_MAIN_BTN_PUPD PullUp
00028 #define CFSTORE_UVISOR_MAIN_ACL(acl_list_name) \
00029     static const UvisorBoxAclItem acl_list_name[] = {     \
00030         {MCG,    sizeof(*MCG),    UVISOR_TACLDEF_PERIPH}, \
00031         {SIM,    sizeof(*SIM),    UVISOR_TACLDEF_PERIPH}, \
00032         {PORTB,  sizeof(*PORTB),  UVISOR_TACLDEF_PERIPH}, \
00033         {PORTC,  sizeof(*PORTC),  UVISOR_TACLDEF_PERIPH}, \
00034         {RTC,    sizeof(*RTC),    UVISOR_TACLDEF_PERIPH}, \
00035         {LPTMR0, sizeof(*LPTMR0), UVISOR_TACLDEF_PERIPH}, \
00036         {PIT,    sizeof(*PIT),    UVISOR_TACLDEF_PERIPH}, \
00037         {SMC,    sizeof(*SMC),    UVISOR_TACLDEF_PERIPH}, \
00038         {UART0,  sizeof(*UART0),  UVISOR_TACLDEF_PERIPH}, \
00039     }
00040 
00041 #elif defined(TARGET_LIKE_STM32F429I_DISCO)
00042 
00043 #define CFSTORE_UVISOR_LED_ON  false
00044 #define CFSTORE_UVISOR_LED_OFF true
00045 #define CFSTORE_UVISOR_MAIN_LED LED1
00046 #define CFSTORE_UVISOR_MAIN_BTN USER_BUTTON
00047 #define CFSTORE_UVISOR_MAIN_BTN_PUPD PullDown
00048 #define CFSTORE_UVISOR_MAIN_ACL(acl_list_name)                           \
00049     static const UvisorBoxAclItem acl_list_name[] = {     \
00050         {TIM2,   sizeof(*TIM2),   UVISOR_TACLDEF_PERIPH}, \
00051         {TIM5,   sizeof(*TIM5),   UVISOR_TACLDEF_PERIPH}, \
00052         {GPIOA,  sizeof(*GPIOA),  UVISOR_TACLDEF_PERIPH}, \
00053         {GPIOG,  sizeof(*GPIOG),  UVISOR_TACLDEF_PERIPH}, \
00054         /* FIXME: secure RCC/EXTI/SYSCFG/FLASH */         \
00055         {RCC,    sizeof(*RCC),    UVISOR_TACLDEF_PERIPH}, \
00056         {EXTI,   sizeof(*EXTI),   UVISOR_TACLDEF_PERIPH}, \
00057         {SYSCFG, sizeof(*SYSCFG), UVISOR_TACLDEF_PERIPH}, \
00058         {FLASH,  sizeof(*FLASH),  UVISOR_TACLDEF_PERIPH}, \
00059         {PWR,    sizeof(*PWR),    UVISOR_TACLDEF_PERIPH}, \
00060         {USART1, sizeof(*USART1), UVISOR_TACLDEF_PERIPH}, \
00061         {(void *) 0x42470000, 0x1000, UVISOR_TACLDEF_PERIPH}, \
00062     }
00063 
00064 #elif  defined(TARGET_LIKE_EFM32GG_STK) \
00065     || defined(TARGET_LIKE_EFM32LG_STK) \
00066     || defined(TARGET_LIKE_EFM32WG_STK)
00067 
00068 #define CFSTORE_UVISOR_LED_ON  false
00069 #define CFSTORE_UVISOR_LED_OFF true
00070 #define CFSTORE_UVISOR_MAIN_LED LED1
00071 #define CFSTORE_UVISOR_MAIN_BTN BTN0
00072 #define CFSTORE_UVISOR_MAIN_BTN_PUPD PullUp
00073 #define CFSTORE_UVISOR_MAIN_ACL(acl_list_name)                              \
00074     static const UvisorBoxAclItem acl_list_name[] = {        \
00075         {GPIO,      sizeof(*GPIO),   UVISOR_TACLDEF_PERIPH}, \
00076         {UART0,     sizeof(*UART0),  UVISOR_TACLDEF_PERIPH}, \
00077         {TIMER0,    sizeof(*TIMER0), UVISOR_TACLDEF_PERIPH}, \
00078         /* FIXME: Secure CMU */                              \
00079         {CMU,       sizeof(*CMU),    UVISOR_TACLDEF_PERIPH}, \
00080         {RTC,       sizeof(*RTC),    UVISOR_TACLDEF_PERIPH}, \
00081         /* FIXME: Secure MSC */                              \
00082         {MSC,       sizeof(*MSC),    UVISOR_TACLDEF_PERIPH}, \
00083         /* mbed-hal-silabs requires the DI page to be readable */  \
00084         {(void*) 0x0FE08000, 0x1000, UVISOR_TACLDEF_SECURE_CONST}, \
00085     }
00086 
00087 #elif defined(TARGET_LIKE_EFM32PG_STK)
00088 
00089 #define CFSTORE_UVISOR_LED_ON  false
00090 #define CFSTORE_UVISOR_LED_OFF true
00091 #define CFSTORE_UVISOR_MAIN_LED LED1
00092 #define CFSTORE_UVISOR_MAIN_BTN BTN0
00093 #define CFSTORE_UVISOR_MAIN_BTN_PUPD PullUp
00094 #define CFSTORE_UVISOR_MAIN_ACL(acl_list_name)                              \
00095     static const UvisorBoxAclItem acl_list_name[] = {        \
00096         {GPIO,      sizeof(*GPIO),   UVISOR_TACLDEF_PERIPH}, \
00097         {USART0,    sizeof(*USART0), UVISOR_TACLDEF_PERIPH}, \
00098         {TIMER0,    sizeof(*TIMER0), UVISOR_TACLDEF_PERIPH}, \
00099         /* FIXME: Secure CMU */                              \
00100         {CMU,       sizeof(*CMU),    UVISOR_TACLDEF_PERIPH}, \
00101         {EMU,       sizeof(*EMU),    UVISOR_TACLDEF_PERIPH}, \
00102         {RTCC,      sizeof(*RTCC),   UVISOR_TACLDEF_PERIPH}, \
00103         /* FIXME: Secure MSC */                              \
00104         {MSC,       sizeof(*MSC),    UVISOR_TACLDEF_PERIPH}, \
00105         /* mbed-hal-silabs requires the DI page to be readable */  \
00106         {(void*) 0x0FE08000, 0x1000, UVISOR_TACLDEF_SECURE_CONST}, \
00107     }
00108 
00109 #else
00110 
00111 #define CFSTORE_UVISOR_LED_ON  true
00112 #define CFSTORE_UVISOR_LED_OFF false
00113 #define CFSTORE_UVISOR_MAIN_LED NC
00114 #define CFSTORE_UVISOR_MAIN_BTN NC
00115 #define CFSTORE_UVISOR_MAIN_BTN_PUPD PullNone
00116 #define CFSTORE_UVISOR_MAIN_ACL(acl_list_name) \
00117     static const UvisorBoxAclItem acl_list_name[] = {}
00118 
00119 #endif
00120 
00121 #endif