1 /* 2 * Copyright (c) 2024 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef NRFS_INTERNAL_GDFS_H 8 #define NRFS_INTERNAL_GDFS_H 9 10 #include <internal/services/nrfs_generic.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 enum __NRFS_PACKED gdfs_frequency_setting { 17 GDFS_FREQ_HIGH = 0, 18 GDFS_FREQ_MEDHIGH = 1, 19 GDFS_FREQ_MEDLOW = 2, 20 GDFS_FREQ_LOW = 3, 21 GDFS_FREQ_COUNT 22 }; 23 24 /** @brief Global Domain Frequency Scaling service request data structure. */ 25 typedef struct __NRFS_PACKED { 26 enum gdfs_frequency_setting target_freq; /** Requested frequency oppoint. */ 27 } nrfs_gdfs_req_data_t; 28 29 /** @brief Global Domain Frequency Scaling frequency change request structure. */ 30 typedef struct __NRFS_PACKED { 31 nrfs_hdr_t hdr; /**< Header of the message. */ 32 nrfs_ctx_t ctx; /**< Context of the message. */ 33 nrfs_gdfs_req_data_t data; /**< Data of the request. */ 34 } nrfs_gdfs_req_t; 35 36 /** @brief Global Domain Frequency Scaling service notification 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_gdfs_rsp_t; 41 42 #ifdef __cplusplus 43 } 44 #endif 45 46 #endif /* NRFS_INTERNAL_GDFS_H */ 47