1 /* 2 * Copyright (c) 2020-2022 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 __DEVICE_CFG_H__ 18 #define __DEVICE_CFG_H__ 19 20 /** 21 * \file device_cfg.h 22 * \brief Configuration file native driver re-targeting 23 * 24 * \details This file can be used to add native driver specific macro 25 * definitions to select which peripherals are available in the build. 26 * 27 * This is a default device configuration file with all peripherals enabled. 28 */ 29 30 /* Secure only peripheral configuration */ 31 32 /* ARM MPS3 IO SCC */ 33 #define MPS3_IO_S 34 #define MPS3_IO_DEV MPS3_IO_DEV_S 35 36 /* I2C_SBCon */ 37 //#define I2C0_SBCON_S 38 #define I2C0_SBCON_DEV I2C0_SBCON_DEV_S 39 40 /* I2S */ 41 #define MPS3_I2S_S 42 #define MPS3_I2S_DEV MPS3_I2S_DEV_S 43 44 /* ARM UART Controller PL011 */ 45 #define UART0_CMSDK_S 46 #define UART0_CMSDK_DEV UART0_CMSDK_DEV_S 47 #define UART1_CMSDK_S 48 #define UART1_CMSDK_DEV UART1_CMSDK_DEV_S 49 50 #define DEFAULT_UART_BAUDRATE 115200U 51 52 /* To be used as CODE and DATA sram */ 53 #define MPC_ISRAM0_S 54 #define MPC_ISRAM0_DEV MPC_ISRAM0_DEV_S 55 56 #define MPC_ISRAM1_S 57 #define MPC_ISRAM1_DEV MPC_ISRAM0_DEV_S 58 59 #define MPC_SRAM_S 60 #define MPC_SRAM_DEV MPC_SRAM_DEV_S 61 62 #define MPC_QSPI_S 63 #define MPC_QSPI_DEV MPC_QSPI_DEV_S 64 65 /** System Counter Armv8-M */ 66 #define SYSCOUNTER_CNTRL_ARMV8_M_S 67 #define SYSCOUNTER_CNTRL_ARMV8_M_DEV SYSCOUNTER_CNTRL_ARMV8_M_DEV_S 68 69 #define SYSCOUNTER_READ_ARMV8_M_S 70 #define SYSCOUNTER_READ_ARMV8_M_DEV SYSCOUNTER_READ_ARMV8_M_DEV_S 71 /** 72 * Arbitrary scaling values for test purposes 73 */ 74 #define SYSCOUNTER_ARMV8_M_DEFAULT_SCALE0_INT 1u 75 #define SYSCOUNTER_ARMV8_M_DEFAULT_SCALE0_FRACT 0u 76 #define SYSCOUNTER_ARMV8_M_DEFAULT_SCALE1_INT 1u 77 #define SYSCOUNTER_ARMV8_M_DEFAULT_SCALE1_FRACT 0u 78 79 /* System timer */ 80 #define SYSTIMER0_ARMV8_M_S 81 #define SYSTIMER0_ARMV8_M_DEV SYSTIMER0_ARMV8_M_DEV_S 82 #define SYSTIMER1_ARMV8_M_S 83 #define SYSTIMER1_ARMV8_M_DEV SYSTIMER1_ARMV8_M_DEV_S 84 #define SYSTIMER2_ARMV8_M_S 85 #define SYSTIMER2_ARMV8_M_DEV SYSTIMER2_ARMV8_M_DEV_S 86 #define SYSTIMER3_ARMV8_M_S 87 #define SYSTIMER3_ARMV8_M_DEV SYSTIMER3_ARMV8_M_DEV_S 88 89 #define SYSTIMER0_ARMV8M_DEFAULT_FREQ_HZ (25000000ul) 90 #define SYSTIMER1_ARMV8M_DEFAULT_FREQ_HZ (25000000ul) 91 #define SYSTIMER2_ARMV8M_DEFAULT_FREQ_HZ (25000000ul) 92 #define SYSTIMER3_ARMV8M_DEFAULT_FREQ_HZ (25000000ul) 93 94 /* CMSDK GPIO driver structures */ 95 #define GPIO0_CMSDK_S 96 #define GPIO0_CMSDK_DEV GPIO0_CMSDK_DEV_S 97 #define GPIO1_CMSDK_S 98 #define GPIO1_CMSDK_DEV GPIO1_CMSDK_DEV_S 99 #define GPIO2_CMSDK_S 100 #define GPIO2_CMSDK_DEV GPIO2_CMSDK_DEV_S 101 #define GPIO3_CMSDK_S 102 #define GPIO3_CMSDK_DEV GPIO3_CMSDK_DEV_S 103 104 /* System Watchdogs */ 105 #define SYSWDOG_ARMV8_M_S 106 #define SYSWDOG_ARMV8_M_DEV SYSWDOG_ARMV8_M_DEV_S 107 108 /* ARM MPC SIE 300 driver structures */ 109 #define MPC_VM0_S 110 #define MPC_VM0_DEV MPC_VM0_DEV_S 111 #define MPC_VM1_S 112 #define MPC_VM1_DEV MPC_VM1_DEV_S 113 #define MPC_SSRAM2_S 114 #define MPC_SSRAM2_DEV MPC_SSRAM2_DEV_S 115 #define MPC_SSRAM3_S 116 #define MPC_SSRAM3_DEV MPC_SSRAM3_DEV_S 117 118 /* ARM PPC driver structures */ 119 #define PPC_SSE300_MAIN0_S 120 #define PPC_SSE300_MAIN0_DEV PPC_SSE300_MAIN0_DEV_S 121 #define PPC_SSE300_MAIN_EXP0_S 122 #define PPC_SSE300_MAIN_EXP0_DEV PPC_SSE300_MAIN_EXP0_DEV_S 123 #define PPC_SSE300_MAIN_EXP1_S 124 #define PPC_SSE300_MAIN_EXP1_DEV PPC_SSE300_MAIN_EXP1_DEV_S 125 #define PPC_SSE300_MAIN_EXP2_S 126 #define PPC_SSE300_MAIN_EXP2_DEV PPC_SSE300_MAIN_EXP2_DEV_S 127 #define PPC_SSE300_MAIN_EXP3_S 128 #define PPC_SSE300_MAIN_EXP3_DEV PPC_SSE300_MAIN_EXP3_DEV_S 129 #define PPC_SSE300_PERIPH0_S 130 #define PPC_SSE300_PERIPH0_DEV PPC_SSE300_PERIPH0_DEV_S 131 #define PPC_SSE300_PERIPH1_S 132 #define PPC_SSE300_PERIPH1_DEV PPC_SSE300_PERIPH1_DEV_S 133 #define PPC_SSE300_PERIPH_EXP0_S 134 #define PPC_SSE300_PERIPH_EXP0_DEV PPC_SSE300_PERIPH_EXP0_DEV_S 135 #define PPC_SSE300_PERIPH_EXP1_S 136 #define PPC_SSE300_PERIPH_EXP1_DEV PPC_SSE300_PERIPH_EXP1_DEV_S 137 #define PPC_SSE300_PERIPH_EXP2_S 138 #define PPC_SSE300_PERIPH_EXP2_DEV PPC_SSE300_PERIPH_EXP2_DEV_S 139 #define PPC_SSE300_PERIPH_EXP3_S 140 #define PPC_SSE300_PERIPH_EXP3_DEV PPC_SSE300_PERIPH_EXP3_DEV_S 141 142 /* ARM SPI PL022 */ 143 /* Invalid device stubs are not defined */ 144 #define DEFAULT_SPI_SPEED_HZ 4000000U /* 4MHz */ 145 #define SPI1_PL022_S 146 #define SPI1_PL022_DEV SPI1_PL022_DEV_S 147 148 149 #endif /* __DEVICE_CFG_H__ */ 150