53 #include "nrf_error_sdm.h"
68 #define SD_MAJOR_VERSION (5)
71 #define SD_MINOR_VERSION (0)
74 #define SD_BUGFIX_VERSION (0)
81 #define SD_VERSION (SD_MAJOR_VERSION * 1000000 + SD_MINOR_VERSION * 1000 + SD_BUGFIX_VERSION)
84 #define SDM_SVC_BASE 0x10
87 #define SDM_INFO_FIELD_INVALID (0)
91 #define SOFTDEVICE_INFO_STRUCT_OFFSET (0x2000)
95 #define SOFTDEVICE_INFO_STRUCT_ADDRESS (SOFTDEVICE_INFO_STRUCT_OFFSET + MBR_SIZE)
99 #define SD_INFO_STRUCT_SIZE_OFFSET (SOFTDEVICE_INFO_STRUCT_OFFSET)
103 #define SD_SIZE_OFFSET (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x08)
107 #define SD_FWID_OFFSET (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x0C)
111 #define SD_ID_OFFSET (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x10)
115 #define SD_VERSION_OFFSET (SOFTDEVICE_INFO_STRUCT_OFFSET + 0x14)
120 #define SD_INFO_STRUCT_SIZE_GET(baseaddr) (*((uint8_t *) ((baseaddr) + SD_INFO_STRUCT_SIZE_OFFSET)))
125 #define SD_SIZE_GET(baseaddr) (*((uint32_t *) ((baseaddr) + SD_SIZE_OFFSET)))
130 #define SD_FWID_GET(baseaddr) (*((uint16_t *) ((baseaddr) + SD_FWID_OFFSET)))
135 #define SD_ID_GET(baseaddr) ((SD_INFO_STRUCT_SIZE_GET(baseaddr) > (SD_ID_OFFSET - SOFTDEVICE_INFO_STRUCT_OFFSET)) \
136 ? (*((uint32_t *) ((baseaddr) + SD_ID_OFFSET))) : SDM_INFO_FIELD_INVALID)
141 #define SD_VERSION_GET(baseaddr) ((SD_INFO_STRUCT_SIZE_GET(baseaddr) > (SD_VERSION_OFFSET - SOFTDEVICE_INFO_STRUCT_OFFSET)) \
142 ? (*((uint32_t *) ((baseaddr) + SD_VERSION_OFFSET))) : SDM_INFO_FIELD_INVALID)
146 #define NRF_FAULT_ID_SD_RANGE_START 0x00000000
147 #define NRF_FAULT_ID_APP_RANGE_START 0x00001000
152 #define NRF_FAULT_ID_SD_ASSERT (NRF_FAULT_ID_SD_RANGE_START + 1)
153 #define NRF_FAULT_ID_APP_MEMACC (NRF_FAULT_ID_APP_RANGE_START + 1)
183 #define NRF_CLOCK_LF_ACCURACY_250_PPM (0)
184 #define NRF_CLOCK_LF_ACCURACY_500_PPM (1)
185 #define NRF_CLOCK_LF_ACCURACY_150_PPM (2)
186 #define NRF_CLOCK_LF_ACCURACY_100_PPM (3)
187 #define NRF_CLOCK_LF_ACCURACY_75_PPM (4)
188 #define NRF_CLOCK_LF_ACCURACY_50_PPM (5)
189 #define NRF_CLOCK_LF_ACCURACY_30_PPM (6)
190 #define NRF_CLOCK_LF_ACCURACY_20_PPM (7)
191 #define NRF_CLOCK_LF_ACCURACY_10_PPM (8)
192 #define NRF_CLOCK_LF_ACCURACY_5_PPM (9)
193 #define NRF_CLOCK_LF_ACCURACY_2_PPM (10)
194 #define NRF_CLOCK_LF_ACCURACY_1_PPM (11)
201 #define NRF_CLOCK_LF_SRC_RC (0)
202 #define NRF_CLOCK_LF_SRC_XTAL (1)
203 #define NRF_CLOCK_LF_SRC_SYNTH (2)
223 uint8_t rc_temp_ctiv;
337 #endif // NRF_SDM_H__