fix(PeriphDrivers): Fix MAX32690 I2C Recovery Failures for TQFN Package #1065
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a check for the
MAX32690GTK_PACKAGE_TQFN
compiler definition to work around MAX32690 Rev A2 Errata #16 (See https://www.analog.com/media/en/technical-documentation/data-sheets/max32690_a2_errata_rev2.pdf)Testing found that the
MXC_I2C_Recover
function would fail for this package, but only if the unrouted set of pins were enabled.The new definition is added to the board.mk file in the BSP for the EVKIT. In this way, BSPs that use the TQFN package can match the hardware.
As implemented in #958, the WLP package enables both sets as recommended by the errata. However, for the TQFN this seems to be problematic. The I2C "scl" status bit in the control register always indicates the pin is at logic level 0 if the unrouted GPIOs are configured.