43 #include <sdl_types.h> 44 #include <tistdtypes.h> 47 #include <src/sdl/hw_types.h> 48 #include <src/sdl/sdlr.h> 105 volatile uint8_t Resv_32[24];
107 volatile uint8_t Resv_2052[1764];
109 volatile uint8_t Resv_2080[24];
117 volatile uint8_t Resv_2112[4];
130 #define SDL_RAT_PID (0x00000000U) 131 #define SDL_RAT_CONFIG (0x00000004U) 132 #define SDL_RAT_REGION_CTRL(REGION) (0x00000020U+((REGION)*0x10U)) 133 #define SDL_RAT_REGION_BASE(REGION) (0x00000024U+((REGION)*0x10U)) 134 #define SDL_RAT_REGION_TRANS_L(REGION) (0x00000028U+((REGION)*0x10U)) 135 #define SDL_RAT_REGION_TRANS_U(REGION) (0x0000002CU+((REGION)*0x10U)) 136 #define SDL_RAT_DESTINATION_ID (0x00000804U) 137 #define SDL_RAT_EXCEPTION_LOGGING_CONTROL (0x00000820U) 138 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0 (0x00000824U) 139 #define SDL_RAT_EXCEPTION_LOGGING_HEADER1 (0x00000828U) 140 #define SDL_RAT_EXCEPTION_LOGGING_DATA0 (0x0000082CU) 141 #define SDL_RAT_EXCEPTION_LOGGING_DATA1 (0x00000830U) 142 #define SDL_RAT_EXCEPTION_LOGGING_DATA2 (0x00000834U) 143 #define SDL_RAT_EXCEPTION_LOGGING_DATA3 (0x00000838U) 144 #define SDL_RAT_EXCEPTION_PEND_SET (0x00000840U) 145 #define SDL_RAT_EXCEPTION_PEND_CLEAR (0x00000844U) 146 #define SDL_RAT_EXCEPTION_ENABLE_SET (0x00000848U) 147 #define SDL_RAT_EXCEPTION_ENABLE_CLEAR (0x0000084CU) 148 #define SDL_RAT_EOI_REG (0x00000850U) 157 #define SDL_RAT_REGION_CTRL_EN_MASK (0x80000000U) 158 #define SDL_RAT_REGION_CTRL_EN_SHIFT (0x0000001FU) 159 #define SDL_RAT_REGION_CTRL_EN_MAX (0x00000001U) 161 #define SDL_RAT_REGION_CTRL_SIZE_MASK (0x0000003FU) 162 #define SDL_RAT_REGION_CTRL_SIZE_SHIFT (0x00000000U) 163 #define SDL_RAT_REGION_CTRL_SIZE_MAX (0x0000003FU) 167 #define SDL_RAT_REGION_BASE_BASE_MASK (0xFFFFFFFFU) 168 #define SDL_RAT_REGION_BASE_BASE_SHIFT (0x00000000U) 169 #define SDL_RAT_REGION_BASE_BASE_MAX (0xFFFFFFFFU) 173 #define SDL_RAT_REGION_TRANS_L_LOWER_MASK (0xFFFFFFFFU) 174 #define SDL_RAT_REGION_TRANS_L_LOWER_SHIFT (0x00000000U) 175 #define SDL_RAT_REGION_TRANS_L_LOWER_MAX (0xFFFFFFFFU) 179 #define SDL_RAT_REGION_TRANS_U_UPPER_MASK (0x0000FFFFU) 180 #define SDL_RAT_REGION_TRANS_U_UPPER_SHIFT (0x00000000U) 181 #define SDL_RAT_REGION_TRANS_U_UPPER_MAX (0x0000FFFFU) 185 #define SDL_RAT_PID_MINOR_MASK (0x0000003FU) 186 #define SDL_RAT_PID_MINOR_SHIFT (0x00000000U) 187 #define SDL_RAT_PID_MINOR_MAX (0x0000003FU) 189 #define SDL_RAT_PID_CUSTOM_MASK (0x000000C0U) 190 #define SDL_RAT_PID_CUSTOM_SHIFT (0x00000006U) 191 #define SDL_RAT_PID_CUSTOM_MAX (0x00000003U) 193 #define SDL_RAT_PID_MAJOR_MASK (0x00000700U) 194 #define SDL_RAT_PID_MAJOR_SHIFT (0x00000008U) 195 #define SDL_RAT_PID_MAJOR_MAX (0x00000007U) 197 #define SDL_RAT_PID_RTL_MASK (0x0000F800U) 198 #define SDL_RAT_PID_RTL_SHIFT (0x0000000BU) 199 #define SDL_RAT_PID_RTL_MAX (0x0000001FU) 201 #define SDL_RAT_PID_FUNC_MASK (0x0FFF0000U) 202 #define SDL_RAT_PID_FUNC_SHIFT (0x00000010U) 203 #define SDL_RAT_PID_FUNC_MAX (0x00000FFFU) 205 #define SDL_RAT_PID_BU_MASK (0x30000000U) 206 #define SDL_RAT_PID_BU_SHIFT (0x0000001CU) 207 #define SDL_RAT_PID_BU_MAX (0x00000003U) 209 #define SDL_RAT_PID_SCHEME_MASK (0xC0000000U) 210 #define SDL_RAT_PID_SCHEME_SHIFT (0x0000001EU) 211 #define SDL_RAT_PID_SCHEME_MAX (0x00000003U) 215 #define SDL_RAT_CONFIG_REGIONS_MASK (0x000000FFU) 216 #define SDL_RAT_CONFIG_REGIONS_SHIFT (0x00000000U) 217 #define SDL_RAT_CONFIG_REGIONS_MAX (0x000000FFU) 219 #define SDL_RAT_CONFIG_ADDRS_MASK (0x0000FF00U) 220 #define SDL_RAT_CONFIG_ADDRS_SHIFT (0x00000008U) 221 #define SDL_RAT_CONFIG_ADDRS_MAX (0x000000FFU) 223 #define SDL_RAT_CONFIG_ADDR_WIDTH_MASK (0x00FF0000U) 224 #define SDL_RAT_CONFIG_ADDR_WIDTH_SHIFT (0x00000010U) 225 #define SDL_RAT_CONFIG_ADDR_WIDTH_MAX (0x000000FFU) 229 #define SDL_RAT_DESTINATION_ID_DEST_ID_MASK (0x000000FFU) 230 #define SDL_RAT_DESTINATION_ID_DEST_ID_SHIFT (0x00000000U) 231 #define SDL_RAT_DESTINATION_ID_DEST_ID_MAX (0x000000FFU) 235 #define SDL_RAT_EXCEPTION_LOGGING_CONTROL_DISABLE_F_MASK (0x00000001U) 236 #define SDL_RAT_EXCEPTION_LOGGING_CONTROL_DISABLE_F_SHIFT (0x00000000U) 237 #define SDL_RAT_EXCEPTION_LOGGING_CONTROL_DISABLE_F_MAX (0x00000001U) 239 #define SDL_RAT_EXCEPTION_LOGGING_CONTROL_DISABLE_INTR_MASK (0x00000002U) 240 #define SDL_RAT_EXCEPTION_LOGGING_CONTROL_DISABLE_INTR_SHIFT (0x00000001U) 241 #define SDL_RAT_EXCEPTION_LOGGING_CONTROL_DISABLE_INTR_MAX (0x00000001U) 245 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_DEST_ID_MASK (0x000000FFU) 246 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_DEST_ID_SHIFT (0x00000000U) 247 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_DEST_ID_MAX (0x000000FFU) 249 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_SRC_ID_MASK (0x00FFFF00U) 250 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_SRC_ID_SHIFT (0x00000008U) 251 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_SRC_ID_MAX (0x0000FFFFU) 253 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_TYPE_F_MASK (0xFF000000U) 254 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_TYPE_F_SHIFT (0x00000018U) 255 #define SDL_RAT_EXCEPTION_LOGGING_HEADER0_TYPE_F_MAX (0x000000FFU) 259 #define SDL_RAT_EXCEPTION_LOGGING_HEADER1_CODE_MASK (0x00FF0000U) 260 #define SDL_RAT_EXCEPTION_LOGGING_HEADER1_CODE_SHIFT (0x00000010U) 261 #define SDL_RAT_EXCEPTION_LOGGING_HEADER1_CODE_MAX (0x000000FFU) 263 #define SDL_RAT_EXCEPTION_LOGGING_HEADER1_GROUP_MASK (0xFF000000U) 264 #define SDL_RAT_EXCEPTION_LOGGING_HEADER1_GROUP_SHIFT (0x00000018U) 265 #define SDL_RAT_EXCEPTION_LOGGING_HEADER1_GROUP_MAX (0x000000FFU) 269 #define SDL_RAT_EXCEPTION_LOGGING_DATA0_ADDR_L_MASK (0xFFFFFFFFU) 270 #define SDL_RAT_EXCEPTION_LOGGING_DATA0_ADDR_L_SHIFT (0x00000000U) 271 #define SDL_RAT_EXCEPTION_LOGGING_DATA0_ADDR_L_MAX (0xFFFFFFFFU) 275 #define SDL_RAT_EXCEPTION_LOGGING_DATA1_ADDR_H_MASK (0x0000FFFFU) 276 #define SDL_RAT_EXCEPTION_LOGGING_DATA1_ADDR_H_SHIFT (0x00000000U) 277 #define SDL_RAT_EXCEPTION_LOGGING_DATA1_ADDR_H_MAX (0x0000FFFFU) 281 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_PRIV_ID_MASK (0x000000FFU) 282 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_PRIV_ID_SHIFT (0x00000000U) 283 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_PRIV_ID_MAX (0x000000FFU) 285 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_SECURE_MASK (0x00000100U) 286 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_SECURE_SHIFT (0x00000008U) 287 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_SECURE_MAX (0x00000001U) 289 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_PRIV_MASK (0x00000200U) 290 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_PRIV_SHIFT (0x00000009U) 291 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_PRIV_MAX (0x00000001U) 293 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_CACHEABLE_MASK (0x00000400U) 294 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_CACHEABLE_SHIFT (0x0000000AU) 295 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_CACHEABLE_MAX (0x00000001U) 297 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_DEBUG_MASK (0x00000800U) 298 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_DEBUG_SHIFT (0x0000000BU) 299 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_DEBUG_MAX (0x00000001U) 301 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_READ_MASK (0x00001000U) 302 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_READ_SHIFT (0x0000000CU) 303 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_READ_MAX (0x00000001U) 305 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_WRITE_MASK (0x00002000U) 306 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_WRITE_SHIFT (0x0000000DU) 307 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_WRITE_MAX (0x00000001U) 309 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_ROUTEID_MASK (0x0FFF0000U) 310 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_ROUTEID_SHIFT (0x00000010U) 311 #define SDL_RAT_EXCEPTION_LOGGING_DATA2_ROUTEID_MAX (0x00000FFFU) 315 #define SDL_RAT_EXCEPTION_LOGGING_DATA3_BYTECNT_MASK (0x000003FFU) 316 #define SDL_RAT_EXCEPTION_LOGGING_DATA3_BYTECNT_SHIFT (0x00000000U) 317 #define SDL_RAT_EXCEPTION_LOGGING_DATA3_BYTECNT_MAX (0x000003FFU) 321 #define SDL_RAT_EXCEPTION_PEND_SET_PEND_SET_MASK (0x00000001U) 322 #define SDL_RAT_EXCEPTION_PEND_SET_PEND_SET_SHIFT (0x00000000U) 323 #define SDL_RAT_EXCEPTION_PEND_SET_PEND_SET_MAX (0x00000001U) 327 #define SDL_RAT_EXCEPTION_PEND_CLEAR_PEND_CLR_MASK (0x00000001U) 328 #define SDL_RAT_EXCEPTION_PEND_CLEAR_PEND_CLR_SHIFT (0x00000000U) 329 #define SDL_RAT_EXCEPTION_PEND_CLEAR_PEND_CLR_MAX (0x00000001U) 333 #define SDL_RAT_EXCEPTION_ENABLE_SET_ENABLE_SET_MASK (0x00000001U) 334 #define SDL_RAT_EXCEPTION_ENABLE_SET_ENABLE_SET_SHIFT (0x00000000U) 335 #define SDL_RAT_EXCEPTION_ENABLE_SET_ENABLE_SET_MAX (0x00000001U) 339 #define SDL_RAT_EXCEPTION_ENABLE_CLEAR_ENABLE_CLR_MASK (0x00000001U) 340 #define SDL_RAT_EXCEPTION_ENABLE_CLEAR_ENABLE_CLR_SHIFT (0x00000000U) 341 #define SDL_RAT_EXCEPTION_ENABLE_CLEAR_ENABLE_CLR_MAX (0x00000001U) 345 #define SDL_RAT_EOI_REG_EOI_WR_MASK (0x0000FFFFU) 346 #define SDL_RAT_EOI_REG_EOI_WR_SHIFT (0x00000000U) 347 #define SDL_RAT_EOI_REG_EOI_WR_MAX (0x0000FFFFU) 392 #define SDL_RAT_INTR_SRC_EXCEPTION ((uint32_t) 0U) 394 #define SDL_RAT_INTR_SRC_INVALID ((uint32_t) 1U) int32_t SDL_RAT_isRegionTranslationEnabled(const SDL_ratRegs *pRatRegs, uint32_t regionIndex)
This function returns the enable status of the specified region address translation.
volatile uint32_t EXCEPTION_PEND_CLEAR
Definition: sdl_ip_rat.h:119
int32_t SDL_RAT_setRegionTranslationEnable(SDL_ratRegs *pRatRegs, uint32_t regionIndex, bool bEnable)
bool bWrite
Definition: sdl_ip_rat.h:432
uint32_t SDL_RAT_getMaxRegions(const SDL_ratRegs *pRatRegs)
uint64_t translatedAddress
Definition: sdl_ip_rat.h:98
uint64_t sizeInBytes
Definition: sdl_ip_rat.h:96
bool bDebug
Definition: sdl_ip_rat.h:436
volatile uint32_t CTRL
Definition: sdl_ip_rat.h:79
uint32_t SDL_RAT_intrSrcTypes
Definition: sdl_ip_rat.h:390
This structure contains information required to configure an address translation region.
Definition: sdl_ip_rat.h:91
volatile uint32_t CONFIG
Definition: sdl_ip_rat.h:104
bool bRead
Definition: sdl_ip_rat.h:434
volatile uint32_t RAT_EXCEPTION_ENABLE_SET
Definition: sdl_ip_rat.h:71
uint64_t address
Definition: sdl_ip_rat.h:416
uint32_t destId
Definition: sdl_ip_rat.h:424
volatile uint32_t EXCEPTION_LOGGING_HEADER1
Definition: sdl_ip_rat.h:112
void SDL_RAT_setExceptionLoggingEnable(SDL_ratRegs *pRatRegs, bool bEnable)
volatile uint32_t RAT_BASE_k
Definition: sdl_ip_rat.h:67
uint32_t byteCnt
Definition: sdl_ip_rat.h:430
void SDL_RAT_setIntEnable(SDL_ratRegs *pRatRegs, SDL_RAT_intrSrcTypes intrSrc, bool bEnable)
uint32_t code
Definition: sdl_ip_rat.h:420
This structure contains exception status information returned by the SDL_RAT_getExceptionInfo functio...
Definition: sdl_ip_rat.h:411
volatile uint32_t EXCEPTION_LOGGING_DATA2
Definition: sdl_ip_rat.h:115
volatile uint32_t EOI_REG
Definition: sdl_ip_rat.h:122
uint32_t srcId
Definition: sdl_ip_rat.h:422
uint32_t group
Definition: sdl_ip_rat.h:418
uint32_t baseAddress
Definition: sdl_ip_rat.h:93
volatile uint32_t TRANS_U
Definition: sdl_ip_rat.h:82
volatile uint32_t EXCEPTION_LOGGING_DATA3
Definition: sdl_ip_rat.h:116
volatile uint32_t DESTINATION_ID
Definition: sdl_ip_rat.h:108
int32_t SDL_RAT_getRegionTranslationConfig(const SDL_ratRegs *pRatRegs, uint32_t regionIndex, SDL_ratTranslationCfgInfo *pTranslationCfg)
bool bPriv
Definition: sdl_ip_rat.h:440
volatile uint32_t RAT_CTRL_k
Definition: sdl_ip_rat.h:66
volatile uint32_t RAT_TRANS_U_k
Definition: sdl_ip_rat.h:69
volatile uint32_t RAT_EXCEPTION_LOGGING_CONTROL
Definition: sdl_ip_rat.h:70
uint32_t privId
Definition: sdl_ip_rat.h:428
void SDL_RAT_setExceptionLoggingIntEnable(SDL_ratRegs *pRatRegs, bool bEnable)
bool bSecure
Definition: sdl_ip_rat.h:442
volatile uint32_t EXCEPTION_LOGGING_DATA1
Definition: sdl_ip_rat.h:114
volatile uint32_t RAT_TRANS_L_k
Definition: sdl_ip_rat.h:68
volatile uint32_t BASE
Definition: sdl_ip_rat.h:80
int32_t SDL_RAT_isRegionOverlap(const SDL_ratRegs *pRatRegs, uint32_t thisRegionIndex, const SDL_ratTranslationCfgInfo *pTranslationCfg)
bool bCacheable
Definition: sdl_ip_rat.h:438
Definition: sdl_ip_rat.h:65
uint32_t routeId
Definition: sdl_ip_rat.h:426
volatile uint32_t EXCEPTION_LOGGING_CONTROL
Definition: sdl_ip_rat.h:110
volatile uint32_t EXCEPTION_ENABLE_CLEAR
Definition: sdl_ip_rat.h:121
volatile uint32_t EXCEPTION_ENABLE_SET
Definition: sdl_ip_rat.h:120
uint32_t SDL_RAT_lmo(uint64_t v)
int32_t SDL_RAT_isPowerOf2(uint64_t v)
volatile uint32_t EXCEPTION_LOGGING_DATA0
Definition: sdl_ip_rat.h:113
volatile uint32_t PID
Definition: sdl_ip_rat.h:103
Definition: sdl_ip_rat.h:102
volatile uint32_t TRANS_L
Definition: sdl_ip_rat.h:81
volatile uint32_t EXCEPTION_LOGGING_HEADER0
Definition: sdl_ip_rat.h:111
Definition: sdl_ip_rat.h:78
uint32_t type
Definition: sdl_ip_rat.h:414
int32_t SDL_RAT_validateTranslationConfig(const SDL_ratRegs *pRatRegs, uint32_t regionIndex, SDL_ratTranslationCfgInfo *pTranslationCfg)
volatile uint32_t EXCEPTION_PEND_SET
Definition: sdl_ip_rat.h:118