1 /*
2  * Copyright (c) 2019-2023 Arm Limited. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef __TARGET_CFG_H__
18 #define __TARGET_CFG_H__
19 
20 #include "tfm_plat_defs.h"
21 
22 #define TFM_DRIVER_STDIO    Driver_USART0
23 #define NS_DRIVER_STDIO     Driver_USART0
24 
25 /**
26  * \brief Defines the indexes of Subordinate Peripheral Protection Controller
27  *        registers.
28  */
29 typedef enum
30 {
31     PPC_SP_DO_NOT_CONFIGURE = -1,
32     PPC_SP_MAIN0 = 0,
33     PPC_SP_MAIN_EXP0 = 1,
34     PPC_SP_MAIN_EXP1 = 2,
35     PPC_SP_MAIN_EXP2 = 3,
36     PPC_SP_MAIN_EXP3 = 4,
37     PPC_SP_PERIPH0 = 5,
38     PPC_SP_PERIPH1 = 6,
39     PPC_SP_PERIPH_EXP0 = 7,
40     PPC_SP_PERIPH_EXP1 = 8,
41     PPC_SP_PERIPH_EXP2 = 9,
42     PPC_SP_PERIPH_EXP3 = 10,
43 } ppc_bank_t;
44 
45 /**
46  * \brief Enumerates all the CCA and NON-CCA debug zones for the platform.
47  */
48 enum tfm_debug_zones {
49     TFM_PLAT_NO_DEBUG = 0,
50     TFM_PLAT_CCA_ADAC_ZONE1,
51     TFM_PLAT_CCA_ADAC_ZONE2,
52     /* !!! If new zones are added, please update TFM_PLAT_LAST_CCA_ADAC_ZONE */
53     TFM_PLAT_LAST_CCA_ADAC_ZONE = TFM_PLAT_CCA_ADAC_ZONE2,
54     TFM_PLAT_NON_CCA_DEBUG_ZONE1,
55     TFM_PLAT_NON_CCA_DEBUG_ZONE2,
56     TFM_PLAT_NON_CCA_DEBUG_ZONE3,
57     TFM_PLAT_NON_CCA_DEBUG_ZONE4,
58     TFM_PLAT_MAX_NUM_DEBUG_ZONES
59 };
60 
61 /**
62  * \brief Initialize the DMA devices and channels.
63  *
64  * \return Returns values as specified by the \ref tfm_plat_err_t
65  */
66 enum tfm_plat_err_t dma_init_cfg(void);
67 
68 #endif /* __TARGET_CFG_H__ */
69