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