1 /* 2 * Copyright (c) 2023, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #ifndef __RSE_EXPANSION_REGS_H__ 9 #define __RSE_EXPANSION_REGS_H__ 10 11 #include "tfm_hal_device_header.h" 12 13 #include <stdint.h> 14 15 __PACKED_STRUCT rse_integ_t { 16 __IOM uint32_t rsecoreclk_ctrl; /* 0x000 */ 17 __IOM uint32_t rsecoreclk_div; /* 0x004 */ 18 const uint32_t reserved0[2]; 19 __IOM uint32_t rse_integration; /* 0x010*/ 20 __IOM uint32_t atu_ap; /* 0x014 */ 21 const uint32_t reserved1[1005]; 22 __IM uint32_t pidr4; /* 0xFD0 */ 23 const uint32_t reserved2[3]; 24 __IM uint32_t pidr0; /* 0xFE0 */ 25 __IM uint32_t pidr1; /* 0xFE4 */ 26 __IM uint32_t pidr2; /* 0xFE8 */ 27 __IM uint32_t pidr3; /* 0xFEC */ 28 __IM uint32_t cidr0; /* 0xFF0 */ 29 __IM uint32_t cidr1; /* 0xFF4 */ 30 __IM uint32_t cidr2; /* 0xFF8 */ 31 __IM uint32_t cidr3; /* 0xFFC */ 32 }; 33 34 /* Field definitions for RSECORECLK_CTRL register */ 35 #define RSE_INTEG_CLKCTRL_SEL_POS (0U) 36 #define RSE_INTEG_CLKCTRL_SEL_MSK (0xFFUL << RSE_INTEG_CLKCTRL_SEL_POS) 37 #define RSE_INTEG_CLKCTRL_SEL_REF (0x1UL << RSE_INTEG_CLKCTRL_SEL_POS) 38 #define RSE_INTEG_CLKCTRL_SEL_SPLL (0x2UL << RSE_INTEG_CLKCTRL_SEL_POS) 39 #define RSE_INTEG_CLKCTRL_SEL_CUR_POS (8U) 40 #define RSE_INTEG_CLKCTRL_SEL_CUR_MSK (0xFFUL << RSE_INTEG_CLKCTRL_SEL_CUR_POS) 41 #define RSE_INTEG_CLKCTRL_SEL_CUR_REF (0x1UL << RSE_INTEG_CLKCTRL_SEL_CUR_POS) 42 #define RSE_INTEG_CLKCTRL_SEL_CUR_SPLL (0x2UL << RSE_INTEG_CLKCTRL_SEL_CUR_POS) 43 44 /* Field definitions for RSECORECLK_DIV register */ 45 #define RSE_INTEG_CLKDIV_DIV_POS (0U) 46 #define RSE_INTEG_CLKDIV_DIV_MSK (0xFUL << RSE_INTEG_CLKDIV_DIV_POS) 47 #define RSE_INTEG_CLKDIV_DIV_CUR_POS (16U) 48 #define RSE_INTEG_CLKDIV_DIV_CUR_MSK (0x4UL << RSE_INTEG_CLKDIV_DIV_CUR_POS) 49 50 /* Field definitions for RSE_INTEGRATION register */ 51 #define RSE_INTEG_INTEG_SCP_RESET_POS (0U) 52 #define RSE_INTEG_INTEG_SCP_RESET_MSK (0x1UL << RSE_INTEG_INTEG_SCP_RESET_POS) 53 #define RSE_INTEG_INTEG_SCP_RESET RSE_INTEG_INTEG_SCP_RESET_MSK 54 #define RSE_INTEG_INTEG_MCP_RESET_POS (1U) 55 #define RSE_INTEG_INTEG_MCP_RESET_MSK (0x1UL << RSE_INTEG_INTEG_MCP_RESET_POS) 56 #define RSE_INTEG_INTEG_MCP_RESET RSE_INTEG_INTEG_MCP_RESET_MSK 57 #define RSE_INTEG_INTEG_SCP_RE_CLR_POS (3U) 58 #define RSE_INTEG_INTEG_SCP_RE_CLR_MSK (0x1UL << RSE_INTEG_INTEG_SCP_RE_CLR_POS) 59 #define RSE_INTEG_INTEG_SCP_RE_CLR RSE_INTEG_INTEG_SCP_RE_CLR_MSK 60 #define RSE_INTEG_INTEG_MCP_RE_CLR_POS (4U) 61 #define RSE_INTEG_INTEG_MCP_RE_CLR_MSK (0x1UL << RSE_INTEG_INTEG_MCP_RE_CLR_POS) 62 #define RSE_INTEG_INTEG_CHIP_ID_POS (8U) 63 #define RSE_INTEG_INTEG_CHIP_ID_MSK (0xFUL << RSE_INTEG_INTEG_CHIP_ID_POS) 64 #define RSE_INTEG_INTEG_MCHIP_POS (16U) 65 #define RSE_INTEG_INTEG_MCHIP_MSK (0x1UL << RSE_INTEG_INTEG_MCHIP_POS) 66 #define RSE_INTEG_INTEG_MCHIP RSE_INTEG_INTEG_MCHIP_MSK 67 #define RSE_INTEG_INTEG_SCP_SLEEP_POS (17U) 68 #define RSE_INTEG_INTEG_SCP_SLEEP_MSK (0x1UL << RSE_INTEG_INTEG_SCP_SLEEP_POS) 69 #define RSE_INTEG_INTEG_SCP_SLEEP RSE_INTEG_INTEG_SCP_SLEEP_MSK 70 #define RSE_INTEG_INTEG_MCP_SLEEP_POS (18U) 71 #define RSE_INTEG_INTEG_MCP_SLEEP_MSK (0x1UL << RSE_INTEG_INTEG_MCP_SLEEP_POS) 72 #define RSE_INTEG_INTEG_MCP_SLEEP RSE_INTEG_INTEG_MCP_SLEEP_MSK 73 74 /* Field definitions for ATU_AP register */ 75 #define RSE_INTEG_ATU_AP_SCP_ATU_POS (0U) 76 #define RSE_INTEG_ATU_AP_SCP_ATU_MSK (0x1UL << RSE_INTEG_ATU_AP_SCP_ATU_POS) 77 #define RSE_INTEG_ATU_AP_SCP_ATU RSE_INTEG_ATU_AP_SCP_ATU_MSK 78 #define RSE_INTEG_ATU_AP_MCP_ATU_POS (1U) 79 #define RSE_INTEG_ATU_AP_MCP_ATU_MSK (0x1UL << RSE_INTEG_ATU_AP_MCP_ATU_POS) 80 #define RSE_INTEG_ATU_AP_MCP_ATU RSE_INTEG_ATU_AP_MCP_ATU_MSK 81 82 #endif /* __RSE_EXPANSION_REGS_H__ */ 83