Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions nrf_modem/include/nrf_errno.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ extern "C" {
#define NRF_ENODATA 61 /**< No message is available on the STREAM head read queue */
#define NRF_ETIME 62 /**< Stream ioctl() timeout */
#define NRF_ENOSR 63 /**< No STREAM resources */
#define NRF_ECOMM 70 /**< Communication error on send */
#define NRF_EPROTO 71 /**< Protocol error */
#define NRF_EBADMSG 77 /**< Bad message */
#define NRF_ENOSYS 88 /**< Functionality not supported */
Expand Down
6 changes: 3 additions & 3 deletions nrf_modem/include/nrf_modem.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,15 @@ extern "C" {
*/
#define NRF_MODEM_CELLULAR_SHMEM_CTRL_SIZE 0x4e8
/**
* @brief Shared memory control region size for DECT NR+ flavours.
* @brief Shared memory control region size for DECT PHY flavour.
*/
#define NRF_MODEM_DECT_SHMEM_CTRL_SIZE 0x728
#define NRF_MODEM_DECT_PHY_SHMEM_CTRL_SIZE 0x728

/** @brief Shared memory configuration in normal operation mode. */
struct nrf_modem_shmem_cfg {
/** Control memory, used for control structures.
* The size of this area is build constant, and must be equal to
* @c NRF_MODEM_CELLULAR_SHMEM_CTRL_SIZE or @c NRF_MODEM_DECT_SHMEM_CTRL_SIZE.
* @c NRF_MODEM_CELLULAR_SHMEM_CTRL_SIZE or @c NRF_MODEM_DECT_PHY_SHMEM_CTRL_SIZE.
*/
struct {
uint32_t base;
Expand Down
4 changes: 3 additions & 1 deletion nrf_modem/include/nrf_modem_dect_clock_sync.h
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,9 @@ enum nrf_modem_dect_clock_sync_pulse_direction {
* ensuring that exactly NRF_MODEM_DECT_MODEM_TIME_TICK_RATE_KHZ clock cycles occur
* between consecutive external clock pulses.
*
* Synchronization accuracy (jitter) is 0.001 ppm (parts per million).
* Reference signal tracking precision can be up to 0.05 ppm (parts per million).
* The actual tracking precision depends on the quality of the external clock source
* and environmental conditions.
*
* This operation is performed asynchronously.
* Completion of this operation is indicated by the @ref NRF_MODEM_DECT_CLOCK_SYNC_EVT_ENABLE
Expand Down
61 changes: 47 additions & 14 deletions nrf_modem/include/nrf_modem_dect_phy.h
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,8 @@ enum nrf_modem_dect_phy_rx_mode {
* @brief Continuous reception.
*
* The reception is continued automatically after PDC reception.
* Continuous reception does not support reception of physical header type 2 format 0 packets.
* Continuous reception does not support reception of physical header type 2 format 0
* packets.
*/
NRF_MODEM_DECT_PHY_RX_MODE_CONTINUOUS,
/**
Expand Down Expand Up @@ -610,9 +611,11 @@ struct nrf_modem_dect_phy_rx_params {
/**
* @brief Operation start time as modem time.
*
* If zero, the operation will be executed immediately.
* This indicates the time at which the operation becomes active on the radio. Any
* scheduling related transition latencies occur before this time.
*
* This kind of scheduling can only be done when the modem is idle.
* If zero, the operation will be executed immediately. This kind of scheduling can only be
* done when the modem is idle.
*/
uint64_t start_time;
/**
Expand Down Expand Up @@ -682,9 +685,11 @@ struct nrf_modem_dect_phy_tx_params {
/**
* @brief Operation start time as modem time.
*
* If zero, the operation will be executed immediately.
* This indicates the time at which the operation becomes active on the radio. Any
* scheduling related transition latencies occur before this time.
*
* This kind of scheduling can only be done when the modem is idle.
* If zero, the operation will be executed immediately. This kind of scheduling can only be
* done when the modem is idle.
*/
uint64_t start_time;
/**
Expand Down Expand Up @@ -736,10 +741,14 @@ struct nrf_modem_dect_phy_tx_params {
/**
* @brief Listen before talk period in modem time units.
*
* This is the required duration for the channel to be assessed as "free" or "available"
* before starting transmission. This duration is divided into as many as 64 separate
* integration periods, with each period being a multiple of the symbol duration.
* Each integration period is of equal length, up to a maximum of 7 symbols.
* This is the required time during which the channel must be assessed as “free” or
* “available” before transmission begins. The assessment is completed prior to the
* transmission start time, which is fixed and independent of the assessment duration.
*
* The duration is divided into a maximum of 64 separate integration periods, with each
* period being a multiple of the symbol duration. Each integration period is of equal
* length, up to a maximum of 7 symbols.
*
* The maximum number of integration periods is utilized. For instance, LBT durations of
* up to 64 symbols are divided into integration periods of one symbol each, and
* LBT durations of 65-128 symbols are divided into two-symbol integration periods.
Expand Down Expand Up @@ -803,9 +812,11 @@ struct nrf_modem_dect_phy_rssi_params {
/**
* @brief Operation start time as modem time.
*
* If zero, the operation will be executed immediately.
* This indicates the time at which the operation becomes active on the radio. Any
* scheduling related transition latencies occur before this time.
*
* This kind of scheduling can only be done when the modem is idle.
* If zero, the operation will be executed immediately. This kind of scheduling can only be
* done when the modem is idle.
*/
uint64_t start_time;
/**
Expand Down Expand Up @@ -878,9 +889,8 @@ struct nrf_modem_dect_phy_radio_config_params {
/**
* @brief Operation start time as modem time.
*
* If zero, the operation will be executed immediately.
*
* This kind of scheduling can only be done when the modem is idle.
* If zero, the operation will be executed immediately. This kind of scheduling can only be
* done when the modem is idle.
*/
uint64_t start_time;
/**
Expand Down Expand Up @@ -1565,6 +1575,20 @@ struct nrf_modem_dect_phy_latency_info_event {
struct nrf_modem_dect_phy_latency_info *latency_info;
};

/**
* @brief Reject event.
*/
struct nrf_modem_dect_phy_reject_event {
/**
* @brief Operation result.
*
* Can be one of the following values:
*
* - @ref NRF_MODEM_DECT_PHY_ERR_NOT_ALLOWED
*/
enum nrf_modem_dect_phy_err err;
};

enum nrf_modem_dect_phy_event_id {
/**
* @brief Event to indicate the completion of the DECT PHY stack initialization.
Expand Down Expand Up @@ -1646,6 +1670,14 @@ enum nrf_modem_dect_phy_event_id {
* @brief Event to indicate the completion of the test RF TX CW configuration.
*/
NRF_MODEM_DECT_PHY_EVT_TEST_RF_TX_CW_CONTROL_CONFIG,
/**
* @brief Event to indicate an operation was rejected.
*
* Received in response to any operation scheduled while the DECT PHY stack is not
* ready to accept it, for example, during a modem flash operation or when the
* DECT PHY interface is claimed by the DECT MAC stack.
*/
NRF_MODEM_DECT_PHY_EVT_REJECT,
};

/**
Expand Down Expand Up @@ -1684,6 +1716,7 @@ struct nrf_modem_dect_phy_event {
struct nrf_modem_dect_phy_test_rf_tx_cw_control_event test_rf_tx_cw_control;
struct nrf_modem_dect_phy_stf_control_event stf_cover_seq_control;
struct nrf_modem_dect_phy_link_config_event link_config;
struct nrf_modem_dect_phy_reject_event reject;
};
};

Expand Down
Loading
Loading