1 /******************************************************************************* 2 * Copyright 2019-2021 Microchip FPGA Embedded Systems Solutions. 3 * 4 * SPDX-License-Identifier: MIT 5 * 6 * @file hw_apb_split.h 7 * @author Microchip-FPGA Embedded Systems Solutions 8 * 9 * 10 * Note 1: This file should not be edited. If you need to modify a parameter 11 * without going through regenerating using the MSS Configurator Libero flow 12 * or editing the associated xml file 13 * the following method is recommended: 14 15 * 1. edit the following file 16 * boards/your_board/platform_config/mpfs_hal_config/mss_sw_config.h 17 18 * 2. define the value you want to override there. 19 * (Note: There is a commented example in the platform directory) 20 21 * Note 2: The definition in mss_sw_config.h takes precedence, as 22 * mss_sw_config.h is included prior to the generated header files located in 23 * boards/your_board/fpga_design_config 24 * 25 */ 26 27 #ifndef HW_APB_SPLIT_H_ 28 #define HW_APB_SPLIT_H_ 29 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 #if !defined (LIBERO_SETTING_APB_SPLIT_VERSION) 36 /*This version incrments when change to format of this file */ 37 #define LIBERO_SETTING_APB_SPLIT_VERSION 0x00000001UL 38 /* VERSION [0:32] RW value= 0x1 */ 39 #endif 40 #if !defined (LIBERO_SETTING_MEM_CONFIGS_ENABLED) 41 /*Enabled in configurator when bit set to 1 */ 42 #define LIBERO_SETTING_MEM_CONFIGS_ENABLED 0x00000003UL 43 /* PMP [0:0] RW value= 0x1 */ 44 /* MPU [1:0] RW value= 0x1 */ 45 #endif 46 #if !defined (LIBERO_SETTING_APBBUS_CR) 47 /*AMP Mode peripheral mapping register. When the register bit is '0' the 48 peripheral is mapped into the 0x2000000 address range using AXI bus 5 from the 49 Coreplex. When the register bit is '1' the peripheral is mapped into the 50 0x28000000 address range using AXI bus 6 from the Coreplex. */ 51 #define LIBERO_SETTING_APBBUS_CR 0x0012A818UL 52 /* MMUART0 [0:1] RW value= 0x0 */ 53 /* MMUART1 [1:1] RW value= 0x0 */ 54 /* MMUART2 [2:1] RW value= 0x0 */ 55 /* MMUART3 [3:1] RW value= 0x1 */ 56 /* MMUART4 [4:1] RW value= 0x1 */ 57 /* WDOG0 [5:1] RW value= 0x0 */ 58 /* WDOG1 [6:1] RW value= 0x0 */ 59 /* WDOG2 [7:1] RW value= 0x0 */ 60 /* WDOG3 [8:1] RW value= 0x0 */ 61 /* WDOG4 [9:1] RW value= 0x0 */ 62 /* SPI0 [10:1] RW value= 0x0 */ 63 /* SPI1 [11:1] RW value= 0x1 */ 64 /* I2C0 [12:1] RW value= 0x0 */ 65 /* I2C1 [13:1] RW value= 0x1 */ 66 /* CAN0 [14:1] RW value= 0x0 */ 67 /* CAN1 [15:1] RW value= 0x1 */ 68 /* GEM0 [16:1] RW value= 0x0 */ 69 /* GEM1 [17:1] RW value= 0x1 */ 70 /* TIMER [18:1] RW value= 0x0 */ 71 /* GPIO0 [19:1] RW value= 0x0 */ 72 /* GPIO1 [20:1] RW value= 0x1 */ 73 /* GPIO2 [21:1] RW value= 0x0 */ 74 /* RTC [22:1] RW value= 0x0 */ 75 /* H2FINT [23:1] RW value= 0x0 */ 76 #endif 77 #if !defined (LIBERO_SETTING_CONTEXT_A_EN) 78 /*AMP context A. When the register bit is '0' the peripheral is not allowed 79 access from context A. */ 80 #define LIBERO_SETTING_CONTEXT_A_EN 0x4F695406UL 81 /* MMUART0 [0:1] RW value= 0x0 */ 82 /* MMUART1 [1:1] RW value= 0x1 */ 83 /* MMUART2 [2:1] RW value= 0x1 */ 84 /* MMUART3 [3:1] RW value= 0x0 */ 85 /* MMUART4 [4:1] RW value= 0x0 */ 86 /* WDOG0 [5:1] RW value= 0x0 */ 87 /* WDOG1 [6:1] RW value= 0x0 */ 88 /* WDOG2 [7:1] RW value= 0x0 */ 89 /* WDOG3 [8:1] RW value= 0x0 */ 90 /* WDOG4 [9:1] RW value= 0x0 */ 91 /* SPI0 [10:1] RW value= 0x1 */ 92 /* SPI1 [11:1] RW value= 0x0 */ 93 /* I2C0 [12:1] RW value= 0x1 */ 94 /* I2C1 [13:1] RW value= 0x0 */ 95 /* CAN0 [14:1] RW value= 0x1 */ 96 /* CAN1 [15:1] RW value= 0x0 */ 97 /* GEM0 [16:1] RW value= 0x1 */ 98 /* GEM1 [17:1] RW value= 0x0 */ 99 /* TIMER [18:1] RW value= 0x0 */ 100 /* GPIO0 [19:1] RW value= 0x1 */ 101 /* GPIO1 [20:1] RW value= 0x0 */ 102 /* GPIO2 [21:1] RW value= 0x1 */ 103 /* RTC [22:1] RW value= 0x1 */ 104 /* H2FINT [23:1] RW value= 0x0 */ 105 /* CRYPTO [24:1] RW value= 0x1 */ 106 /* USB [25:1] RW value= 0x1 */ 107 /* QSPIXIP [26:1] RW value= 0x1 */ 108 /* ATHENA [27:1] RW value= 0x1 */ 109 /* TRACE [28:1] RW value= 0x0 */ 110 /* MAILBOX_SC [29:1] RW value= 0x0 */ 111 /* EMMC [30:1] RW value= 0x1 */ 112 #endif 113 #if !defined (LIBERO_SETTING_CONTEXT_B_EN) 114 /*AMP context B. When the register bit is '0' the peripheral is not allowed 115 access from context B. */ 116 #define LIBERO_SETTING_CONTEXT_B_EN 0x0012A818UL 117 /* MMUART0 [0:1] RW value= 0x0 */ 118 /* MMUART1 [1:1] RW value= 0x0 */ 119 /* MMUART2 [2:1] RW value= 0x0 */ 120 /* MMUART3 [3:1] RW value= 0x1 */ 121 /* MMUART4 [4:1] RW value= 0x1 */ 122 /* WDOG0 [5:1] RW value= 0x0 */ 123 /* WDOG1 [6:1] RW value= 0x0 */ 124 /* WDOG2 [7:1] RW value= 0x0 */ 125 /* WDOG3 [8:1] RW value= 0x0 */ 126 /* WDOG4 [9:1] RW value= 0x0 */ 127 /* SPI0 [10:1] RW value= 0x0 */ 128 /* SPI1 [11:1] RW value= 0x1 */ 129 /* I2C0 [12:1] RW value= 0x0 */ 130 /* I2C1 [13:1] RW value= 0x1 */ 131 /* CAN0 [14:1] RW value= 0x0 */ 132 /* CAN1 [15:1] RW value= 0x1 */ 133 /* GEM0 [16:1] RW value= 0x0 */ 134 /* GEM1 [17:1] RW value= 0x1 */ 135 /* TIMER [18:1] RW value= 0x0 */ 136 /* GPIO0 [19:1] RW value= 0x0 */ 137 /* GPIO1 [20:1] RW value= 0x1 */ 138 /* GPIO2 [21:1] RW value= 0x0 */ 139 /* RTC [22:1] RW value= 0x0 */ 140 /* H2FINT [23:1] RW value= 0x0 */ 141 /* CRYPTO [24:1] RW value= 0x0 */ 142 /* USB [25:1] RW value= 0x0 */ 143 /* QSPIXIP [26:1] RW value= 0x0 */ 144 /* ATHENA [27:1] RW value= 0x0 */ 145 /* TRACE [28:1] RW value= 0x0 */ 146 /* MAILBOX_SC [29:1] RW value= 0x0 */ 147 /* EMMC [30:1] RW value= 0x0 */ 148 #endif 149 #if !defined (LIBERO_SETTING_CONTEXT_A_HART_EN) 150 /*When the register bit is '0' hart is not associated with context A. */ 151 #define LIBERO_SETTING_CONTEXT_A_HART_EN 0x00000006UL 152 /* HART0 [0:1] RW value= 0x0 */ 153 /* HART1 [1:1] RW value= 0x1 */ 154 /* HART2 [2:1] RW value= 0x1 */ 155 /* HART3 [3:1] RW value= 0x0 */ 156 /* HART4 [4:1] RW value= 0x0 */ 157 #endif 158 #if !defined (LIBERO_SETTING_CONTEXT_B_HART_EN) 159 /*When the register bit is '0' hart is not associated with context B. */ 160 #define LIBERO_SETTING_CONTEXT_B_HART_EN 0x00000018UL 161 /* HART0 [0:1] RW value= 0x0 */ 162 /* HART1 [1:1] RW value= 0x0 */ 163 /* HART2 [2:1] RW value= 0x0 */ 164 /* HART3 [3:1] RW value= 0x1 */ 165 /* HART4 [4:1] RW value= 0x1 */ 166 #endif 167 168 #ifdef __cplusplus 169 } 170 #endif 171 172 173 #endif /* #ifdef HW_APB_SPLIT_H_ */ 174 175