123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080 |
- extern "C" {
- The default interrupt priority for this handler is set to 6 */
- The default interrupt priority for this handler is set to 6 */
- (1U << 17) \
- | (1U << 18) \
- | (1U << 19) \
- | (1U << 20) \
- | (1U << 21) \
- | (1U << 22) \
- | (1U << 23) \
- | (1U << 24) \
- | (1U << 25) \
- | (1U << 26) \
- | (1U << 27) \
- | (1U << 28) \
- | (1U << 29) \
- | (1U << 30) \
- | (1U << 31) \
- ))
- (1U << 4) \
- | (1U << 5) \
- ))
- enum NRF_SOC_SVCS
- {
- SD_PPI_CHANNEL_ENABLE_GET = SOC_SVC_BASE,
- SD_PPI_CHANNEL_ENABLE_SET = SOC_SVC_BASE + 1,
- SD_PPI_CHANNEL_ENABLE_CLR = SOC_SVC_BASE + 2,
- SD_PPI_CHANNEL_ASSIGN = SOC_SVC_BASE + 3,
- SD_PPI_GROUP_TASK_ENABLE = SOC_SVC_BASE + 4,
- SD_PPI_GROUP_TASK_DISABLE = SOC_SVC_BASE + 5,
- SD_PPI_GROUP_ASSIGN = SOC_SVC_BASE + 6,
- SD_PPI_GROUP_GET = SOC_SVC_BASE + 7,
- SD_FLASH_PAGE_ERASE = SOC_SVC_BASE + 8,
- SD_FLASH_WRITE = SOC_SVC_BASE + 9,
- SD_PROTECTED_REGISTER_WRITE = SOC_SVC_BASE + 11,
- SD_MUTEX_NEW = SOC_SVC_BASE_NOT_AVAILABLE,
- SD_MUTEX_ACQUIRE = SOC_SVC_BASE_NOT_AVAILABLE + 1,
- SD_MUTEX_RELEASE = SOC_SVC_BASE_NOT_AVAILABLE + 2,
- SD_RAND_APPLICATION_POOL_CAPACITY_GET = SOC_SVC_BASE_NOT_AVAILABLE + 3,
- SD_RAND_APPLICATION_BYTES_AVAILABLE_GET = SOC_SVC_BASE_NOT_AVAILABLE + 4,
- SD_RAND_APPLICATION_VECTOR_GET = SOC_SVC_BASE_NOT_AVAILABLE + 5,
- SD_POWER_MODE_SET = SOC_SVC_BASE_NOT_AVAILABLE + 6,
- SD_POWER_SYSTEM_OFF = SOC_SVC_BASE_NOT_AVAILABLE + 7,
- SD_POWER_RESET_REASON_GET = SOC_SVC_BASE_NOT_AVAILABLE + 8,
- SD_POWER_RESET_REASON_CLR = SOC_SVC_BASE_NOT_AVAILABLE + 9,
- SD_POWER_POF_ENABLE = SOC_SVC_BASE_NOT_AVAILABLE + 10,
- SD_POWER_POF_THRESHOLD_SET = SOC_SVC_BASE_NOT_AVAILABLE + 11,
- SD_POWER_POF_THRESHOLDVDDH_SET = SOC_SVC_BASE_NOT_AVAILABLE + 12,
- SD_POWER_RAM_POWER_SET = SOC_SVC_BASE_NOT_AVAILABLE + 13,
- SD_POWER_RAM_POWER_CLR = SOC_SVC_BASE_NOT_AVAILABLE + 14,
- SD_POWER_RAM_POWER_GET = SOC_SVC_BASE_NOT_AVAILABLE + 15,
- SD_POWER_GPREGRET_SET = SOC_SVC_BASE_NOT_AVAILABLE + 16,
- SD_POWER_GPREGRET_CLR = SOC_SVC_BASE_NOT_AVAILABLE + 17,
- SD_POWER_GPREGRET_GET = SOC_SVC_BASE_NOT_AVAILABLE + 18,
- SD_POWER_DCDC_MODE_SET = SOC_SVC_BASE_NOT_AVAILABLE + 19,
- SD_POWER_DCDC0_MODE_SET = SOC_SVC_BASE_NOT_AVAILABLE + 20,
- SD_APP_EVT_WAIT = SOC_SVC_BASE_NOT_AVAILABLE + 21,
- SD_CLOCK_HFCLK_REQUEST = SOC_SVC_BASE_NOT_AVAILABLE + 22,
- SD_CLOCK_HFCLK_RELEASE = SOC_SVC_BASE_NOT_AVAILABLE + 23,
- SD_CLOCK_HFCLK_IS_RUNNING = SOC_SVC_BASE_NOT_AVAILABLE + 24,
- SD_RADIO_NOTIFICATION_CFG_SET = SOC_SVC_BASE_NOT_AVAILABLE + 25,
- SD_ECB_BLOCK_ENCRYPT = SOC_SVC_BASE_NOT_AVAILABLE + 26,
- SD_ECB_BLOCKS_ENCRYPT = SOC_SVC_BASE_NOT_AVAILABLE + 27,
- SD_RADIO_SESSION_OPEN = SOC_SVC_BASE_NOT_AVAILABLE + 28,
- SD_RADIO_SESSION_CLOSE = SOC_SVC_BASE_NOT_AVAILABLE + 29,
- SD_RADIO_REQUEST = SOC_SVC_BASE_NOT_AVAILABLE + 30,
- SD_EVT_GET = SOC_SVC_BASE_NOT_AVAILABLE + 31,
- SD_TEMP_GET = SOC_SVC_BASE_NOT_AVAILABLE + 32,
- SD_POWER_USBPWRRDY_ENABLE = SOC_SVC_BASE_NOT_AVAILABLE + 33,
- SD_POWER_USBDETECTED_ENABLE = SOC_SVC_BASE_NOT_AVAILABLE + 34,
- SD_POWER_USBREMOVED_ENABLE = SOC_SVC_BASE_NOT_AVAILABLE + 35,
- SD_POWER_USBREGSTATUS_GET = SOC_SVC_BASE_NOT_AVAILABLE + 36,
- SVC_SOC_LAST = SOC_SVC_BASE_NOT_AVAILABLE + 37
- };
- enum NRF_MUTEX_VALUES
- {
- NRF_MUTEX_FREE,
- NRF_MUTEX_TAKEN
- };
- enum NRF_POWER_MODES
- {
- NRF_POWER_MODE_CONSTLAT,
- NRF_POWER_MODE_LOWPWR
- };
- enum NRF_POWER_THRESHOLDS
- {
- NRF_POWER_THRESHOLD_V17 = 4UL,
- NRF_POWER_THRESHOLD_V18,
- NRF_POWER_THRESHOLD_V19,
- NRF_POWER_THRESHOLD_V20,
- NRF_POWER_THRESHOLD_V21,
- NRF_POWER_THRESHOLD_V22,
- NRF_POWER_THRESHOLD_V23,
- NRF_POWER_THRESHOLD_V24,
- NRF_POWER_THRESHOLD_V25,
- NRF_POWER_THRESHOLD_V26,
- NRF_POWER_THRESHOLD_V27,
- NRF_POWER_THRESHOLD_V28
- };
- enum NRF_POWER_THRESHOLDVDDHS
- {
- NRF_POWER_THRESHOLDVDDH_V27,
- NRF_POWER_THRESHOLDVDDH_V28,
- NRF_POWER_THRESHOLDVDDH_V29,
- NRF_POWER_THRESHOLDVDDH_V30,
- NRF_POWER_THRESHOLDVDDH_V31,
- NRF_POWER_THRESHOLDVDDH_V32,
- NRF_POWER_THRESHOLDVDDH_V33,
- NRF_POWER_THRESHOLDVDDH_V34,
- NRF_POWER_THRESHOLDVDDH_V35,
- NRF_POWER_THRESHOLDVDDH_V36,
- NRF_POWER_THRESHOLDVDDH_V37,
- NRF_POWER_THRESHOLDVDDH_V38,
- NRF_POWER_THRESHOLDVDDH_V39,
- NRF_POWER_THRESHOLDVDDH_V40,
- NRF_POWER_THRESHOLDVDDH_V41,
- NRF_POWER_THRESHOLDVDDH_V42
- };
- enum NRF_POWER_DCDC_MODES
- {
- NRF_POWER_DCDC_DISABLE,
- NRF_POWER_DCDC_ENABLE
- };
- enum NRF_RADIO_NOTIFICATION_DISTANCES
- {
- NRF_RADIO_NOTIFICATION_DISTANCE_NONE = 0,
- NRF_RADIO_NOTIFICATION_DISTANCE_800US,
- NRF_RADIO_NOTIFICATION_DISTANCE_1740US,
- NRF_RADIO_NOTIFICATION_DISTANCE_2680US,
- NRF_RADIO_NOTIFICATION_DISTANCE_3620US,
- NRF_RADIO_NOTIFICATION_DISTANCE_4560US,
- NRF_RADIO_NOTIFICATION_DISTANCE_5500US
- };
- enum NRF_RADIO_NOTIFICATION_TYPES
- {
- NRF_RADIO_NOTIFICATION_TYPE_NONE = 0,
- NRF_RADIO_NOTIFICATION_TYPE_INT_ON_ACTIVE,
- NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE,
- NRF_RADIO_NOTIFICATION_TYPE_INT_ON_BOTH,
- };
- enum NRF_RADIO_CALLBACK_SIGNAL_TYPE
- {
- NRF_RADIO_CALLBACK_SIGNAL_TYPE_START,
- NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0,
- NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO,
- NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED,
- NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED
- };
- enum NRF_RADIO_SIGNAL_CALLBACK_ACTION
- {
- NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE,
- NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND,
- NRF_RADIO_SIGNAL_CALLBACK_ACTION_END,
- NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END
- };
- enum NRF_RADIO_HFCLK_CFG
- {
- NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED,
- NRF_RADIO_HFCLK_CFG_NO_GUARANTEE
- };
- enum NRF_RADIO_PRIORITY
- {
- NRF_RADIO_PRIORITY_HIGH,
- NRF_RADIO_PRIORITY_NORMAL,
- };
- enum NRF_RADIO_REQUEST_TYPE
- {
- NRF_RADIO_REQ_TYPE_EARLIEST,
- NRF_RADIO_REQ_TYPE_NORMAL
- };
- enum NRF_SOC_EVTS
- {
- NRF_EVT_HFCLKSTARTED,
- NRF_EVT_POWER_FAILURE_WARNING,
- NRF_EVT_FLASH_OPERATION_SUCCESS,
- NRF_EVT_FLASH_OPERATION_ERROR,
- NRF_EVT_RADIO_BLOCKED,
- NRF_EVT_RADIO_CANCELED,
- NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN,
- NRF_EVT_RADIO_SESSION_IDLE,
- NRF_EVT_RADIO_SESSION_CLOSED,
- NRF_EVT_POWER_USB_POWER_READY,
- NRF_EVT_POWER_USB_DETECTED,
- NRF_EVT_POWER_USB_REMOVED,
- NRF_EVT_NUMBER_OF_EVTS
- };
- typedef volatile uint8_t nrf_mutex_t;
- typedef struct
- {
- uint8_t hfclk;
- uint8_t priority;
- uint32_t length_us;
- uint32_t timeout_us;
- } nrf_radio_request_earliest_t;
- typedef struct
- {
- uint8_t hfclk;
- uint8_t priority;
- uint32_t distance_us;
- uint32_t length_us;
- } nrf_radio_request_normal_t;
- typedef struct
- {
- uint8_t request_type;
- union
- {
- nrf_radio_request_earliest_t earliest;
- nrf_radio_request_normal_t normal;
- } params;
- } nrf_radio_request_t;
- typedef struct
- {
- uint8_t callback_action;
- union
- {
- struct
- {
- nrf_radio_request_t * p_next;
- } request;
- struct
- {
- uint32_t length_us;
- } extend;
- } params;
- } nrf_radio_signal_callback_return_param_t;
- typedef nrf_radio_signal_callback_return_param_t * (*nrf_radio_signal_callback_t) (uint8_t signal_type);
- typedef uint8_t soc_ecb_key_t[SOC_ECB_KEY_LENGTH];
- typedef uint8_t soc_ecb_cleartext_t[SOC_ECB_CLEARTEXT_LENGTH];
- typedef uint8_t soc_ecb_ciphertext_t[SOC_ECB_CIPHERTEXT_LENGTH];
- typedef struct
- {
- soc_ecb_key_t key;
- soc_ecb_cleartext_t cleartext;
- soc_ecb_ciphertext_t ciphertext;
- } nrf_ecb_hal_data_t;
- typedef struct
- {
- soc_ecb_key_t const * p_key;
- soc_ecb_cleartext_t const * p_cleartext;
- soc_ecb_ciphertext_t * p_ciphertext;
- } nrf_ecb_hal_data_block_t;
- SVCALL(SD_MUTEX_NEW, uint32_t, sd_mutex_new(nrf_mutex_t * p_mutex));
- SVCALL(SD_MUTEX_ACQUIRE, uint32_t, sd_mutex_acquire(nrf_mutex_t * p_mutex));
- SVCALL(SD_MUTEX_RELEASE, uint32_t, sd_mutex_release(nrf_mutex_t * p_mutex));
- SVCALL(SD_RAND_APPLICATION_POOL_CAPACITY_GET, uint32_t, sd_rand_application_pool_capacity_get(uint8_t * p_pool_capacity));
- SVCALL(SD_RAND_APPLICATION_BYTES_AVAILABLE_GET, uint32_t, sd_rand_application_bytes_available_get(uint8_t * p_bytes_available));
- SVCALL(SD_RAND_APPLICATION_VECTOR_GET, uint32_t, sd_rand_application_vector_get(uint8_t * p_buff, uint8_t length));
- SVCALL(SD_POWER_RESET_REASON_GET, uint32_t, sd_power_reset_reason_get(uint32_t * p_reset_reason));
- SVCALL(SD_POWER_RESET_REASON_CLR, uint32_t, sd_power_reset_reason_clr(uint32_t reset_reason_clr_msk));
- SVCALL(SD_POWER_MODE_SET, uint32_t, sd_power_mode_set(uint8_t power_mode));
- SVCALL(SD_POWER_SYSTEM_OFF, uint32_t, sd_power_system_off(void));
- SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
- SVCALL(SD_POWER_USBPWRRDY_ENABLE, uint32_t, sd_power_usbpwrrdy_enable(uint8_t usbpwrrdy_enable));
- SVCALL(SD_POWER_USBDETECTED_ENABLE, uint32_t, sd_power_usbdetected_enable(uint8_t usbdetected_enable));
- SVCALL(SD_POWER_USBREMOVED_ENABLE, uint32_t, sd_power_usbremoved_enable(uint8_t usbremoved_enable));
- SVCALL(SD_POWER_USBREGSTATUS_GET, uint32_t, sd_power_usbregstatus_get(uint32_t * usbregstatus));
- SVCALL(SD_POWER_POF_THRESHOLD_SET, uint32_t, sd_power_pof_threshold_set(uint8_t threshold));
- SVCALL(SD_POWER_POF_THRESHOLDVDDH_SET, uint32_t, sd_power_pof_thresholdvddh_set(uint8_t threshold));
- SVCALL(SD_POWER_RAM_POWER_SET, uint32_t, sd_power_ram_power_set(uint8_t index, uint32_t ram_powerset));
- SVCALL(SD_POWER_RAM_POWER_CLR, uint32_t, sd_power_ram_power_clr(uint8_t index, uint32_t ram_powerclr));
- SVCALL(SD_POWER_RAM_POWER_GET, uint32_t, sd_power_ram_power_get(uint8_t index, uint32_t * p_ram_power));
- SVCALL(SD_POWER_GPREGRET_SET, uint32_t, sd_power_gpregret_set(uint32_t gpregret_id, uint32_t gpregret_msk));
- SVCALL(SD_POWER_GPREGRET_CLR, uint32_t, sd_power_gpregret_clr(uint32_t gpregret_id, uint32_t gpregret_msk));
- SVCALL(SD_POWER_GPREGRET_GET, uint32_t, sd_power_gpregret_get(uint32_t gpregret_id, uint32_t *p_gpregret));
- SVCALL(SD_POWER_DCDC_MODE_SET, uint32_t, sd_power_dcdc_mode_set(uint8_t dcdc_mode));
- SVCALL(SD_POWER_DCDC0_MODE_SET, uint32_t, sd_power_dcdc0_mode_set(uint8_t dcdc_mode));
- SVCALL(SD_CLOCK_HFCLK_REQUEST, uint32_t, sd_clock_hfclk_request(void));
- SVCALL(SD_CLOCK_HFCLK_RELEASE, uint32_t, sd_clock_hfclk_release(void));
- SVCALL(SD_CLOCK_HFCLK_IS_RUNNING, uint32_t, sd_clock_hfclk_is_running(uint32_t * p_is_running));
- SVCALL(SD_APP_EVT_WAIT, uint32_t, sd_app_evt_wait(void));
- SVCALL(SD_PPI_CHANNEL_ENABLE_GET, uint32_t, sd_ppi_channel_enable_get(uint32_t * p_channel_enable));
- SVCALL(SD_PPI_CHANNEL_ENABLE_SET, uint32_t, sd_ppi_channel_enable_set(uint32_t channel_enable_set_msk));
- SVCALL(SD_PPI_CHANNEL_ENABLE_CLR, uint32_t, sd_ppi_channel_enable_clr(uint32_t channel_enable_clr_msk));
- SVCALL(SD_PPI_CHANNEL_ASSIGN, uint32_t, sd_ppi_channel_assign(uint8_t channel_num, const volatile void * evt_endpoint, const volatile void * task_endpoint));
- SVCALL(SD_PPI_GROUP_TASK_ENABLE, uint32_t, sd_ppi_group_task_enable(uint8_t group_num));
- SVCALL(SD_PPI_GROUP_TASK_DISABLE, uint32_t, sd_ppi_group_task_disable(uint8_t group_num));
- SVCALL(SD_PPI_GROUP_ASSIGN, uint32_t, sd_ppi_group_assign(uint8_t group_num, uint32_t channel_msk));
- SVCALL(SD_PPI_GROUP_GET, uint32_t, sd_ppi_group_get(uint8_t group_num, uint32_t * p_channel_msk));
- SVCALL(SD_RADIO_NOTIFICATION_CFG_SET, uint32_t, sd_radio_notification_cfg_set(uint8_t type, uint8_t distance));
- SVCALL(SD_ECB_BLOCK_ENCRYPT, uint32_t, sd_ecb_block_encrypt(nrf_ecb_hal_data_t * p_ecb_data));
- SVCALL(SD_ECB_BLOCKS_ENCRYPT, uint32_t, sd_ecb_blocks_encrypt(uint8_t block_count, nrf_ecb_hal_data_block_t * p_data_blocks));
- SVCALL(SD_EVT_GET, uint32_t, sd_evt_get(uint32_t * p_evt_id));
- SVCALL(SD_TEMP_GET, uint32_t, sd_temp_get(int32_t * p_temp));
- SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * p_dst, uint32_t const * p_src, uint32_t size));
- SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number));
- SVCALL(SD_RADIO_SESSION_OPEN, uint32_t, sd_radio_session_open(nrf_radio_signal_callback_t p_radio_signal_callback));
- SVCALL(SD_RADIO_SESSION_CLOSE, uint32_t, sd_radio_session_close(void));
- SVCALL(SD_RADIO_REQUEST, uint32_t, sd_radio_request(nrf_radio_request_t const * p_request));
- SVCALL(SD_PROTECTED_REGISTER_WRITE, uint32_t, sd_protected_register_write(volatile uint32_t * p_register, uint32_t value));
- }
|