Skip to content

Commit c2dcf21

Browse files
martintvrlubos
authored andcommitted
softdevice_controller: rev 37d8cb0f3d0b9286b784cba6d240edb8c59de479
CHANGELOG.rst contains the list of changes. Signed-off-by: Martin Tverdal <[email protected]>
1 parent 8dee31a commit c2dcf21

16 files changed

+63
-57
lines changed

mpsl/CHANGELOG.rst

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ Changelog
77
:local:
88
:depth: 2
99

10-
nRF Connect SDK v2.1 branch
10+
nRF Connect SDK v2.1.4
1111
**********************
1212

13+
All the notable changes included in the |NCS| v2.1.4 release are documented in this section.
14+
1315
Changes
1416
=======
1517

16-
* On nRF53, now compatible with fix for Errata 160.
18+
* Removed calls to __WFE() for the nRF5340 SoC, to be in line with the Errata for the Anomaly 160.
1719

1820
Bug fixes
1921
=========
20-
* Fixed a rare issue which could cause an assert when requesting timeslots with type ``MPSL_TIMESLOT_REQ_TYPE_EARLIEST`` (DRGN-18555).
22+
23+
* Fixed a rare issue that could cause an assert when requesting timeslots with type ``MPSL_TIMESLOT_REQ_TYPE_EARLIEST`` (DRGN-18555).
2124
* Fixed a rare issue which could cause a scheduler assert if two roles were running (DRGN-18308).
2225

2326
nRF Connect SDK v2.1.3
@@ -27,7 +30,8 @@ All the notable changes included in the |NCS| v2.1.3 release are documented in t
2730

2831
Bug fixes
2932
=========
30-
* Fixed an issue where the scheduler could put events in the past. (DRGN-17923, DRGN-18105)
33+
34+
* Fixed an issue where the scheduler could put events in the past (DRGN-17923, DRGN-18105).
3135

3236
nRF Connect SDK v2.1.0
3337
**********************

mpsl/doc/fem.rst

Lines changed: 43 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -32,31 +32,30 @@ Simple GPIO
3232
All currently supported implementations use the PA and LNA pins for controlling the FEM.
3333
Additionally, the nRF21540 implementations use the PDN pin for powering down the FEM internal circuits, to reduce energy consumption.
3434

35-
Tx power split
35+
TX power split
3636
**************
3737

3838
When an application requests a given transmission power, it wants to achieve that power at the antenna.
3939
Usually, the application does not know all hardware components, such as RF front-end modules, on the radio signal path.
4040
To achieve a specific value of transmission power at the antenna, every FEM implementation provides a dedicated API that calculates the PA gain and SoC output power combination that results in the requested power at the antenna.
41-
It also calculates a private setting value that is applied to the FEM which is needed to achieve the calculated PA gain.
41+
It also calculates a private setting value applied to the FEM that is needed to achieve the calculated PA gain.
4242
The meaning of this private setting is specific to each FEM implementation.
4343

4444
FEM implementations with multiple PA gains available (for example, nRF21540 with MODE pin support) choose which gain to use based on hardware limitations and the requested power value.
4545
Alternatively, an external model can be used to determine the gain.
4646

47-
Tx power split using models
47+
TX power split using models
4848
===========================
4949

50-
The Tx power split can be done using a model.
51-
This can be done to allow, for example, compensation of external conditions.
52-
The model can be an external model passed to MPSL or a built-in model.
50+
You can achieve the TX power split using a model, to compensate, for example, for external conditions.
51+
The model can be either external (passed to MPSL) or built-in.
5352

54-
A built-in model is currently provided only for the nRF21540 GPIO SPI FEM implementation and it is in an experimental stage.
53+
A built-in model is currently provided only for the nRF21540 GPIO SPI FEM implementation and it is in an :ref:`experimental <nrf:software_maturity>` stage.
5554
The provided model allows for temperature, voltage, and frequency compensation.
5655

57-
The model is passed to MPSL before FEM configuration, and contains two callbacks: ``fetch`` and ``init``.
58-
After it has finished configuration, MPSL calls ``init`` to pass all the calibration and configuration data required by the specific FEM implementation to the model and to initialize the model.
59-
Each time a Tx power split is needed, MPSL calls the ``fetch`` function and passes the frequency and the requested output power to the model.
56+
The model is passed to MPSL before the FEM configuration, and contains two callbacks: ``fetch`` and ``init``.
57+
After it completes the configuration, MPSL calls ``init`` to pass all the calibration and configuration data required by the specific FEM implementation to the model and to initialize the model.
58+
Each time a TX power split is needed, MPSL calls the ``fetch`` function and passes the frequency and the requested output power to the model.
6059
The model then decides how to split this power into components, and calculates both the private setting for the specific FEM implementation and the actually achieved output power.
6160

6261
Configurable timings
@@ -75,20 +74,20 @@ For the nRF21540, two additional timings can also be configured:
7574
General usage
7675
*************
7776

78-
The Power Amplifier and the Low-Noise Amplifier are responsible for, respectively, transmission and reception and are configured and activated independently.
77+
The Power Amplifier and the Low-Noise Amplifier are responsible for, respectively, transmission and reception, and are configured and activated independently.
7978
The two functionalities cannot be configured and set to operate simultaneously, because they share some resources.
8079
As such, after operating with a Power Amplifier, the PA configuration must be cleared to be able to configure and use a Low-Noise Amplifier afterward, and vice versa.
8180

8281
Both amplifiers are controlled through activation and deactivation events.
8382
Two types of events are supported:
8483

8584
* A *timer event*.
86-
It is the ``COMPARE`` event of a hardware timer and it can be used for both PA/LNA activation and deactivation.
85+
It is the ``COMPARE`` event of a hardware timer and it can be used for both PA and LNA activation and deactivation.
8786
* A *generic event*.
88-
It is any other event type and it can only be used for PA/LNA deactivation.
87+
It is any other event type and it can only be used for PA and LNA deactivation.
8988

90-
To prepare a generic event, it is required that the application provides the event register.
91-
To prepare a timer event, it is required that the application provides the following:
89+
To prepare a generic event, the application must provide the event register.
90+
To prepare a timer event, the application must provide the following:
9291

9392
* The instance of the timer, which the protocol has to start by itself.
9493
* The *Compare Channels* mask, which tells the front-end module which Compare Channels of the provided Timer are free to use.
@@ -97,7 +96,7 @@ To prepare a timer event, it is required that the application provides the follo
9796

9897
Then, the module can configure the timer to activate or deactivate the FEM accordingly, taking also into account the FEM settle time.
9998

100-
See below for an example of activating the LNA for Rx operation, using the following parameters:
99+
The following example activates the LNA for an RX operation, using the following parameters:
101100

102101
* RX ramp-up time - 40 us
103102
* LNA settle time - 13 us
@@ -106,20 +105,20 @@ See below for an example of activating the LNA for Rx operation, using the follo
106105

107106
The *RX ramp-up time* is the total time scheduled by the application.
108107

109-
See below for the steps needed to properly configure LNA in this example:
108+
The steps needed to properly configure LNA in this example are the following:
110109

111-
1 The application configures the LNA to be activated by the timer event, with the start time set to 0 us and the end time set to 40 us.
112-
# The application provides the ``rx_end`` event as the LNA deactivation event.
113-
# The FEM module reads the scheduled time and sets the ``TIMER0`` compare channel to 27 us, as a result of the RX ramp-up time (40 us) minus the LNA settle time (13 us).
114-
# The application starts the RX operation.
115-
# The application starts ``TIMER0``.
110+
1. The application configures the LNA to be activated by the timer event, with the start time set to 0 us and the end time set to 40 us.
111+
#. The application provides the ``rx_end`` event as the LNA deactivation event.
112+
#. The FEM module reads the scheduled time and sets the ``TIMER0`` compare channel to 27 us, as a result of the RX ramp-up time (40 us) minus the LNA settle time (13 us).
113+
#. The application starts the RX operation.
114+
#. The application starts ``TIMER0``.
116115

117116
The following picture illustrates the timings in this scenario:
118117

119118
.. figure:: pic/FEM_timing_simple.svg
120119
:alt: Timing of LNA pin for reception
121120

122-
Timing of LNA pin for reception
121+
Timing of the LNA pin for reception
123122

124123
The following picture illustrates the calls between the application, the FEM module, and the hardware in this scenario:
125124

@@ -135,7 +134,7 @@ In the nRF21540 implementation, the PDN pin is used to power down the FEM intern
135134
The FEM can be powered down on an explicit application request.
136135
The FEM is powered back up automatically before PA or LNA are activated.
137136

138-
See below for an example of controlling LNA and PDN during Rx operation, using the following parameters:
137+
The following example controls LNA and PDN during an RX operation, using the following parameters:
139138

140139
* RX ramp-up time - 40 us
141140
* LNA settle time - 13 us
@@ -146,23 +145,23 @@ See below for an example of controlling LNA and PDN during Rx operation, using t
146145

147146
The *RX ramp-up time* is the total time scheduled by the application.
148147

149-
See below for the steps needed to properly configure LNA and PDN in this example:
148+
The steps needed to properly configure LNA and PDN in this example are the following:
150149

151-
* The application configures the power-down passing ``rx_end`` as the activation event.
152-
* The application configures LNA to be activated by the timer event, with the start time set to 0 us and the end time set to 40 us.
153-
* The application provides the ``rx_end`` event as the LNA deactivation event.
154-
* The FEM module reads the scheduled time and sets ``TIMER1`` compare channels to 27 us (40-13) and 9 us (27-18).
155-
* The application starts Rx operation.
156-
* The application starts ``TIMER1``.
150+
1. The application configures the power-down passing ``rx_end`` as the activation event.
151+
#. The application configures LNA to be activated by the timer event, with the start time set to 0 us and the end time set to 40 us.
152+
#. The application provides the ``rx_end`` event as the LNA deactivation event.
153+
#. The FEM module reads the scheduled time and sets ``TIMER1`` compare channels to 27 us (40-13) and 9 us (27-18).
154+
#. The application starts the RX operation.
155+
#. The application starts ``TIMER1``.
157156

158157
The following picture illustrates the timing in this scenario:
159158

160159
.. figure:: pic/FEM_timing_nRF21540.svg
161-
:alt: Timing of LNA and PDN pins for reception
160+
:alt: Timing of the LNA and PDN pins for reception
162161

163-
Timing of LNA and PDN pins for reception
162+
Timing of the LNA and PDN pins for reception
164163

165-
The following picture presents the calls between the application, the FEM module, and the hardware in this scenario:
164+
The following picture illustrates the calls between the application, the FEM module, and the hardware in this scenario:
166165

167166
.. figure:: pic/FEM_sequence_nRF21540.svg
168167
:alt: Sequence diagram of LNA and PDN control for reception
@@ -172,19 +171,22 @@ The following picture presents the calls between the application, the FEM module
172171
PA gain control
173172
===============
174173

174+
FEM implementations with multiple PA gains available can choose which gain to use.
175+
175176
PA switched gain
176177
----------------
177178

178-
Optionally, both nRF21540 implementations can control the FEM to select one of two available PA gains without the need to provide any model.
179-
To do so, the nRF21540 GPIO implementation uses MODE pin switching, while the nRF21540 GPIO SPI implementation performs appropriate SPI transfers.
179+
Both nRF21540 implementations can control the FEM to select one of two available PA gains without the need to provide any model.
180+
To do so, the nRF21540 GPIO implementation uses MODE pin switching, while the nRF21540 GPIO SPI implementation performs the appropriate SPI transfers.
180181

181182
To enable this feature for the nRF21540 GPIO implementation, the MODE pin must be enabled in the interface configuration that the application passes on initialization.
182-
For the nRF21540 GPIO SPI implementation, runtime gain control must be enabled in the interface configuration that the application passes on initialization.
183+
To enable this feature for the nRF21540 GPIO SPI implementation, runtime gain control must be enabled in the interface configuration that the application passes on initialization.
183184

184185
PA Gain control using a built-in compensation model
185186
---------------------------------------------------
186187

187-
The nRF21540 GPIO SPI implementation can be used with a built-in model.
188-
Using this model allows for compensation of external conditions like temperature, supply voltage and frequency.
189-
The model is currently in an experimental stage.
190-
To use this model, the structure containing the model callbacks needs to be acquired from MPSL by its getter function and then passed to MPSL just like all other models.
188+
The nRF21540 GPIO SPI implementation can be used with the built-in model.
189+
Using this model allows for the compensation of external conditions like temperature, supply voltage and frequency.
190+
191+
The model is currently in an :ref:`experimental <nrf:software_maturity>` stage.
192+
To use this model, MPSL's getter function must acquire the structure containing the model callbacks and then must pass it to MPSL just like all the other models.
Binary file not shown.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
description: SoftDevice Controller
2-
git_revision: e504a4912473a8b7ad5c1874bd19bfcedc8e1314
3-
ll_subversion_number: '0x2254'
2+
git_revision: 37d8cb0f3d0b9286b784cba6d240edb8c59de479
3+
ll_subversion_number: '0x2260'
44
ll_version_number: '0x0C'
5-
timestamp: '2023-03-01T06:47:56Z'
5+
timestamp: '2023-03-13T09:16:34Z'
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
description: SoftDevice Controller
2-
git_revision: e504a4912473a8b7ad5c1874bd19bfcedc8e1314
3-
ll_subversion_number: '0x1254'
2+
git_revision: 37d8cb0f3d0b9286b784cba6d240edb8c59de479
3+
ll_subversion_number: '0x1260'
44
ll_version_number: '0x0C'
5-
timestamp: '2023-03-01T06:47:59Z'
5+
timestamp: '2023-03-13T09:16:17Z'
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)