tree e0563806fd7e6fc3d4a821f42316b1cd3cd78727
parent 51f9d2cb9db58bd4af9ed5d0a0f6c8af48a43e06
author Mason Tran <mason@lmnotran.com> 1594784934 -0400
committer GitHub <noreply@github.com> 1594784934 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfDnymCRBK7hj4Ov3rIwAAdHIIAGqb4VwrNydRhjpSoO83JwbP
 AWfXeLqR3dqeHAE3m0BiyHdHD7NGKCPyZ/T+TycmKLIY0H3bKNya/2lsqCybUaaP
 xAldSbgjK9GzjdXzkyQW4l5lauQSxcyYiOzx6gCaD+CKuGS6h4MakRNfL94BnMTF
 mdQHz31ixA1fXca7dRMIVhlpN379s02xRNggzuIAcFaQo2tVeYYXV9Xcn6mB5XCb
 MQvROwmcgSKTR4ETRP/hDMRyG8K8tCPW/QVt8P6V0r6kxdLlGrdXZf1Kwa1zk4yt
 xdHxSxHc86YWT+Yg66Jzuu+4wSv9jO5XI7kAjKIh1RzBMab+3pqRxo9CYRADxt8=
 =aoH8
 -----END PGP SIGNATURE-----
 

[efr32] fix otPlatRadioGetRssi() for MG1, MG12, MG13 (#5238)

This fixes an issue with Channel Monitoring for the EFR32 platform
(MG1, MG12, MG13), where in, turning the radio to a new channel and
immediately gathering background RSSI information was returning
invalid results.

A further investigation with the RAIL team indicated that this issue
was occurring because the usage of `RAIL_GetRssi()` is
incorrect. While the Rail_GetRssi API functions as documented, the
problem is that the current implementation of this API returns valid
results only in certain specified radio states and does not fit the
use case for the OpenThread Channel Monitoring feature. (i.e computing
RSSI value in the RxWarm radio state).

To fix the issue, I am switching the affected platforms to the
efr32mg21 implementation for `otPlatRadioGetRssi()`, which uses
`RAIL_StartAverageRssi()` instead of
`RAIL_GetRssi()`. `RAIL_StartAverageRssi()` uses hardware to trigger
an interrupt once the RSSI is valid and should provide valid results.

This approach was added by Marven when testing DMP support with
OpenThread (https://github.com/openthread/openthread/pull/4321)