The MBR VTOR state depends on how the application is booted.
This makes it difficult to initialize the MBR correctly since a
bug prevents the MBR from being initialized more than once.
This commit resets the MBR and SoftDevice to a known state before
initializing the MBR and setting the VTOR through the SoftDevice.
Delayed initialization can cause problems when both UARTE instances
are in use. This change causes each UART object to initialize the
underlying UARTE instance immediately.
This patch refines permission applied to characteristic and descriptors; instead of a single level of permission , each characteristic receives a permission for the read operation, one for the write operation and another one for the update operation.
As a consequence, updates are not sent if the link does not cover the update permission requirement.
Descriptors also benefits individually from read and write permission.
Certain instances of the TPM are missing some registers, updated
TPM driver handles this variation. This issue was discovered when
running the PWMOUT tests using the ci-test-shield
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
The registration process has been breaked down into several functions that register the service attribute, characteristic declaration attributes, characteristic value attributes and characteristic descriptors.
Service registration now consider all characteristics permissions: read, write and update. Permissions are also considered when updates needs to be propagated to peers.
Handling of user authorization is also a change introduced by this refactoring.
A peripheral can act as a GATT client whether it is in the peripheral role or the central role therefore it doesn't make sense to enable signing only if roles will be reversed latter.
If the the upper layer has registered a peer csrk on the pal security manager then it must remove it once the connection is closed.
This API allows the upper layer to remove the peer csrk registered earlier.
A peer may not share a valid IRK and identity address during pairing (in that case the identity address received is all zeros). When this happens, the entry must be retrieved by looking at the address used by the peer during the connection.