1 /* 2 * Copyright (c) 2024 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef NRFS_INTERNAL_GDPWR_H 8 #define NRFS_INTERNAL_GDPWR_H 9 10 #include <internal/services/nrfs_generic.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 /** @brief Power domain selection */ 17 typedef enum __NRFS_PACKED { 18 GDPWR_GD_FAST_ACTIVE_0, 19 GDPWR_GD_FAST_ACTIVE_1, 20 GDPWR_GD_FAST_MAIN, 21 GDPWR_GD_SLOW_ACTIVE, 22 GDPWR_GD_SLOW_MAIN 23 } gdpwr_power_domain_t; 24 25 typedef enum __NRFS_PACKED { 26 GDPWR_POWER_REQUEST_CLEAR, 27 GDPWR_POWER_REQUEST_SET 28 } gdpwr_request_type_t; 29 30 /** @brief Power domain data structure. */ 31 typedef struct __NRFS_PACKED { 32 gdpwr_power_domain_t power_domain; 33 gdpwr_request_type_t request_type; 34 } nrfs_gdpwr_power_domain_data_t; 35 36 /** @brief global domain power request structure. */ 37 typedef struct __NRFS_PACKED { 38 nrfs_hdr_t hdr; /**< Header of the message. */ 39 nrfs_ctx_t ctx; /**< Context of the message. */ 40 nrfs_gdpwr_power_domain_data_t data; /**< Data of the request. */ 41 } nrfs_gdpwr_req_t; 42 43 #ifdef __cplusplus 44 } 45 #endif 46 47 #endif /* NRFS_INTERNAL_GDPWR_H */ 48