MCUXpresso SDK Changelog

AOI

[2.0.2]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.0.1]

  • Bug Fixes

    • MISRA C-2012 issue fixed: rule 10.8, 2.2.

[2.0.0]

  • Initial version.


CDOG

[2.1.3]

  • Re-design multiple instance IRQs and Clocks

  • Add fix for RESTART command errata

[2.1.2]

  • Support multiple IRQs

  • Fix default CONTROL values

[2.1.1]

  • Remove bit CONTROL[CONTROL_CTRL].

[2.1.0]

  • Rename CWT to CDOG.

[2.0.2]

  • Fix MISRA-2012 issues.

[2.0.1]

  • Fix doxygen issues.

[2.0.0]

  • Initial version.


CLOCK

[2.0.0]

  • Initial version.


MCX_CMC

[2.2.3]

  • Improvements

    • Clear SCB SCR[SLEEPDEEP] bitfield after wakeup.

[2.2.2]

  • Improvements

    • Fixed the violation of MISRA C-2012 rules.

[2.2.1]

  • Improvements

    • Updated _cmc_system_reset_interrupt_enable, _cmc_system_reset_interrupt_flag and _cmc_system_reset_sources to support new added bit field.

  • Bug Fixes

    • Fixed issue in CMC_PowerOffSRAMAllMode() and CMC_PowerOffSRAMLowPowerOnly() which overwrite reserved bit fields.

[2.2.0]

  • Improvements

    • Added feature macro “FSL_FEATURE_MCX_CMC_HAS_NO_FLASHCR_WAKE” to support some devices where FLASHCR[WAKE] is reserved.

[2.1.0]

  • Improvements

    • Added macros to support some devices(such as MCXA family) that only support one power domain.

[2.0.0]

  • Initial version.


COMMON

[2.5.0]

  • New Features

    • Added new APIs InitCriticalSectionMeasurementContext, DisableGlobalIRQEx and EnableGlobalIRQEx so that user can measure the execution time of the protected sections.

[2.4.3]

  • Improvements

    • Enable irqs that mount under irqsteer interrupt extender.

[2.4.2]

  • Improvements

    • Add the macros to convert peripheral address to secure address or non-secure address.

[2.4.1]

  • Improvements

    • Improve for the macro redefinition error when integrated with zephyr.

[2.4.0]

  • New Features

    • Added EnableIRQWithPriority, IRQ_SetPriority, and IRQ_ClearPendingIRQ for ARM.

    • Added MSDK_EnableCpuCycleCounter, MSDK_GetCpuCycleCount for ARM.

[2.3.3]

  • New Features

    • Added NETC into status group.

[2.3.2]

  • Improvements

    • Make driver aarch64 compatible

[2.3.1]

  • Bug Fixes

    • Fixed MAKE_VERSION overflow on 16-bit platforms.

[2.3.0]

  • Improvements

    • Split the driver to common part and CPU architecture related part.

[2.2.10]

  • Bug Fixes

    • Fixed the ATOMIC macros build error in cpp files.

[2.2.9]

  • Bug Fixes

    • Fixed MISRA C-2012 issue, 5.6, 5.8, 8.4, 8.5, 8.6, 10.1, 10.4, 17.7, 21.3.

    • Fixed SDK_Malloc issue that not allocate memory with required size.

[2.2.8]

  • Improvements

    • Included stddef.h header file for MDK tool chain.

  • New Features:

    • Added atomic modification macros.

[2.2.7]

  • Other Change

    • Added MECC status group definition.

[2.2.6]

  • Other Change

    • Added more status group definition.

  • Bug Fixes

    • Undef __VECTOR_TABLE to avoid duplicate definition in cmsis_clang.h

[2.2.5]

  • Bug Fixes

    • Fixed MISRA C-2012 rule-15.5.

[2.2.4]

  • Bug Fixes

    • Fixed MISRA C-2012 rule-10.4.

[2.2.3]

  • New Features

    • Provided better accuracy of SDK_DelayAtLeastUs with DWT, use macro SDK_DELAY_USE_DWT to enable this feature.

    • Modified the Cortex-M7 delay count divisor based on latest tests on RT series boards, this setting lets result be closer to actual delay time.

[2.2.2]

  • New Features

    • Added include RTE_Components.h for CMSIS pack RTE.

[2.2.1]

  • Bug Fixes

    • Fixed violation of MISRA C-2012 Rule 3.1, 10.1, 10.3, 10.4, 11.6, 11.9.

[2.2.0]

  • New Features

    • Moved SDK_DelayAtLeastUs function from clock driver to common driver.

[2.1.4]

  • New Features

    • Added OTFAD into status group.

[2.1.3]

  • Bug Fixes

    • MISRA C-2012 issue fixed.

      • Fixed the rule: rule-10.3.

[2.1.2]

  • Improvements

    • Add SUPPRESS_FALL_THROUGH_WARNING() macro for the usage of suppressing fallthrough warning.

[2.1.1]

  • Bug Fixes

    • Deleted and optimized repeated macro.

[2.1.0]

  • New Features

    • Added IRQ operation for XCC toolchain.

    • Added group IDs for newly supported drivers.

[2.0.2]

  • Bug Fixes

    • MISRA C-2012 issue fixed.

      • Fixed the rule: rule-10.4.

[2.0.1]

  • Improvements

    • Removed the implementation of LPC8XX Enable/DisableDeepSleepIRQ() function.

    • Added new feature macro switch “FSL_FEATURE_HAS_NO_NONCACHEABLE_SECTION” for specific SoCs which have no noncacheable sections, that helps avoid an unnecessary complex in link file and the startup file.

    • Updated the align(x) to attribute(aligned(x)) to support MDK v6 armclang compiler.

[2.0.0]

  • Initial version.


CRC

[2.0.4]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.0.3]

  • Bug fix:

    • Fix MISRA issues.

[2.0.2]

  • Bug fix:

    • Fix MISRA issues.

[2.0.1]

  • Bug fix:

    • DATA and DATALL macro definition moved from header file to source file.

[2.0.0]

  • Initial version.


CTIMER

[2.3.3]

  • Bug Fixes

    • Fix CERT INT30-C INT31-C issue.

    • Make API CTIMER_SetupPwm and CTIMER_UpdatePwmDutycycle return fail if pulse width register overflow.

[2.3.2]

  • Bug Fixes

    • Clear unexpected DMA request generated by RESET_PeripheralReset in API CTIMER_Init to avoid trigger DMA by mistake.

[2.3.1]

  • Bug Fixes

    • MISRA C-2012 issue fixed: rule 10.7 and 12.2.

[2.3.0]

  • Improvements

    • Added the CTIMER_SetPrescale(), CTIMER_GetCaptureValue(), CTIMER_EnableResetMatchChannel(), CTIMER_EnableStopMatchChannel(), CTIMER_EnableRisingEdgeCapture(), CTIMER_EnableFallingEdgeCapture(), CTIMER_SetShadowValue(),APIs Interface to reduce code complexity.

[2.2.2]

  • Bug Fixes

    • Fixed SetupPwm() API only can use match 3 as period channel issue.

[2.2.1]

  • Bug Fixes

    • Fixed use specified channel to setting the PWM period in SetupPwmPeriod() API.

    • Fixed Coverity Out-of-bounds issue.

[2.2.0]

  • Improvements

    • Updated three API Interface to support Users to flexibly configure the PWM period and PWM output.

  • Bug Fixes

    • MISRA C-2012 issue fixed: rule 8.4.

[2.1.0]

  • Improvements

    • Added the CTIMER_GetOutputMatchStatus() API Interface.

    • Added feature macro for FSL_FEATURE_CTIMER_HAS_NO_CCR_CAP2 and FSL_FEATURE_CTIMER_HAS_NO_IR_CR2INT.

[2.0.3]

  • Bug Fixes

    • MISRA C-2012 issue fixed: rule 10.3, 10.4, 10.6, 10.7 and 11.9.

[2.0.2]

  • New Features

    • Added new API “CTIMER_GetTimerCountValue” to get the current timer count value.

    • Added a control macro to enable/disable the RESET and CLOCK code in current driver.

    • Added a new feature macro to update the API of CTimer driver for lpc8n04.

[2.0.1]

  • Improvements

    • API Interface Change

      • Changed API interface by adding CTIMER_SetupPwmPeriod API and CTIMER_UpdatePwmPulsePeriod API, which both can set up the right PWM with high resolution.

[2.0.0]

  • Initial version.


DAC

[2.1.2]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.1.1]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules.

[2.1.0]

  • New Features

    • Added support for period trigger mode.

    • Added support for sync trigger between dac instances.

    • Added support for configuring DAC sync cycles.

    • Added support for internal reference current selection.

    • Enabled buffer mode manually for K4 series board.

[2.0.2]

  • Bug Fixes

    • Fixed MISRA C-2012 rule 10.3 and rule 17.7.

[2.0.1]

  • New Features

    • Added a control macro to enable/disable the CLOCK code in current driver.

[2.0.0]

  • Initial version.


EDMA

[2.10.5]

  • Bug Fixes

    • Fixed memory convert would convert NULL as zero address issue.

[2.10.4]

  • Improvements

    • Add new MP register macros to ensure compatibility with different devices.

    • Add macro DMA_CHANNEL_ARRAY_STEPn to adapt to complex addressing of edma tcd registers.

[2.10.3]

  • Bug Fixes

    • Clear interrupt status flags in EDMA_CreateHandle to avoid triggering interrupt by mistake.

[2.10.2]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules 10.3.

[2.10.1]

  • Bug Fixes

    • Fixed EDMA_GetRemainingMajorLoopCount may return wrong value issue.

    • Fixed violations of the MISRA C-2012 rules 13.5, 10.4.

[2.10.0]

  • Improvements

    • Modify the structures edma_core_mp_t, edma_core_channel_t, edma_core_tcd_t to adapt to edma5.

    • Add TCD register macro to facilitate confirmation of tcd type.

    • Modfiy the mask macro to a fixed value.

    • Add EDMA_TCD_TYPE macro to determine edma tcd type.

    • Add extension API to the following API to determine edma tcd type.

      • EDMA_ConfigChannelSoftwareTCD -> EDMA_ConfigChannelSoftwareTCDExt

      • EDMA_TcdReset -> EDMA_TcdResetExt

      • EDMA_TcdSetTransferConfig -> EDMA_TcdSetTransferConfigExt

      • EDMA_TcdSetMinorOffsetConfig -> EDMA_TcdSetMinorOffsetConfigExt

      • EDMA_TcdSetChannelLink -> EDMA_TcdSetChannelLinkExt

      • EDMA_TcdSetBandWidth -> EDMA_TcdSetBandWidthExt

      • EDMA_TcdSetModulo -> EDMA_TcdSetModuloExt

      • EDMA_TcdEnableAutoStopRequest -> EDMA_TcdEnableAutoStopRequestExt

      • EDMA_TcdEnableInterrupts -> EDMA_TcdEnableInterruptsExt

      • EDMA_TcdDisableInterrupts -> EDMA_TcdDisableInterruptsExt

      • EDMA_TcdSetMajorOffsetConfig -> EDMA_TcdSetMajorOffsetConfigExt

[2.9.2]

  • Improvements

    • Remove tcd alignment check in API that is low level and does not necessarily use scather/gather mode.

[2.9.1]

  • Bug Fixes

    • Deinit channel request source before set channel mux.

[2.9.0]

  • Improvements

    • Release peripheral from reset if necessary in init function.

  • Bug Fixes

    • Fixed the variable type definition error issue.

    • Fixed doxygen warning.

    • Fixed violations of MISRA C-2012 rule 18.1.

[2.8.1]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules 10.3

[2.8.0]

  • Improvements

    • Added feature FSL_FEATURE_EDMA_HAS_NO_CH_SBR_SEC to separate DMA without SEC bitfield.

[2.7.1]

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rule 10.3, 10.4, 11.6, 11.8, 14.3,.

[2.7.0]

  • Improvements

    • Use more accurate DMA instance based feature macros.

  • New Features

    • Add new APIs EDMA_PrepareTransferTCD and EDMA_SubmitTransferTCD, which support EDMA transfer using TCD.

[2.6.0]

  • Improvements

    • Modify the type of parameter channelRequestSource from dma_request_source_t to int32_t in the EDMA_SetChannelMux.

[2.5.3]

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rule 10.3, 10.4, 11.6, 20.7, 12.2, 20.9, 5.3, 10.8, 8.4, 9.3.

[2.5.2]

  • Improvements

    • Applied ERRATA 51327.

[2.5.1]

  • Bug Fixes

    • Fixed the EDMA_ResetChannel function cannot reset channel DONE/ERROR status.

[2.5.0]

  • Improvements

    • Added feature FSL_FEATURE_EDMA_HAS_NO_SBR_ATTR_BIT to separate DMA without ATTR bitfield.

    • Added api EDMA_GetChannelSystemBusInformation to gets the channel identification and attribute information on the system bus interface.

  • Bug Fixes

    • Fixed the ESG bit not set in scatter gather mode issue.

    • Fixed the DREQ bit configuration missed in single transfer issue.

    • Cleared the interrupt status before invoke callback to avoid miss interrupt issue.

    • Removed disableRequestAfterMajorLoopComplete from edma_transfer_config_t structure as driver will handle it.

    • Fixed the channel mux configuration not compatible issue.

    • Fixed the out of bound access in function EDMA_DriverIRQHandler.

[2.4.4]

  • Bug Fixes

    • Fixed comments by replacing STCD with TCD

    • Fixed the TCD overwrite issue when submit transfer request in the callback if there is a active TCD in hardware.

[2.4.3]

  • Improvements

    • Added FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET to convert the address between system mapped address and dma quick access address.

  • Bug Fixes

    • Fixed the wrong tcd done count calculated in first TCD interrupt for the non scatter gather case.

[2.4.2]

  • Bug Fixes

    • Fixed the wrong tcd done count calculated in first TCD interrupt by correct the initial value of the header.

    • Fixed violations of MISRA C-2012 rule 10.3, 10.4.

[2.4.1]

  • Bug Fixes

    • Added clear CITER and BITER registers in EDMA_AbortTransfer to make sure the TCD registers in a correct state for next calling of EDMA_SubmitTransfer.

    • Removed the clear DONE status for ESG not enabled case to aovid DONE bit cleared unexpectedly.

[2.4.0]

  • Improvements

    • Added api EDMA_EnableContinuousChannelLinkMode to support continuous link mode.

    • Added apis EDMA_SetMajorOffsetConfig/EDMA_TcdSetMajorOffsetConfig to support major loop address offset feature.

    • Added api EDMA_EnableChannelMinorLoopMapping for minor loop offset feature.

    • Removed the reduntant IRQ Handler in edma driver.

[2.3.2]

  • Improvements

    • Fixed HIS ccm issue in function EDMA_PrepareTransferConfig.

    • Fixed violations of MISRA C-2012 rule 11.6, 10.7, 10.3, 18.1.

  • Bug Fixes

    • Added ACTIVE & BITER & CITER bitfields to determine the channel status to fixed the issue of the transfer request cannot submit by function EDMA_SubmitTransfer when channel is idle.

[2.3.1]

  • Improvements

    • Added source/destination address alignment check.

    • Added driver IRQ handler support for multi DMA instance in one SOC.

[2.3.0]

  • Improvements

    • Added new api EDMA_PrepareTransferConfig to allow different configurations of width and offset.

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rule 10.4, 10.1.

    • Fixed the Coverity issue regarding out-of-bounds write.

[2.2.0]

  • Improvements

    • Added peripheral-to-peripheral support in EDMA driver.

[2.1.9]

  • Bug Fixes

    • Fixed MISRA issue: Rule 10.7 and 10.8 in function EDMA_DisableChannelInterrupts and EDMA_SubmitTransfer.

    • Fixed MISRA issue: Rule 10.7 in function EDMA_EnableAsyncRequest.

[2.1.8]

  • Bug Fixes

    • Fixed incorrect channel preemption base address used in EDMA_SetChannelPreemptionConfig API which causes incorrect configuration of the channel preemption register.

[2.1.7]

  • Bug Fixes

    • Fixed incorrect transfer size setting.

      • Added 8 bytes transfer configuration and feature for RT series;

      • Added feature to support 16 bytes transfer for Kinetis.

    • Fixed the issue that EDMA_HandleIRQ would go to incorrect branch when TCD was not used and callback function not registered.

[2.1.6]

  • Bug Fixes

    • Fixed KW3X MISRA Issue.

      • Rule 14.4, 10.8, 10.4, 10.7, 10.1, 10.3, 13.5, and 13.2.

  • Improvements

    • Cleared the IRQ handler unavailable for specific platform with macro FSL_FEATURE_EDMA_MODULE_CHANNEL_IRQ_ENTRY_SHARED_OFFSET.

[2.1.5]

  • Improvements

    • Improved EDMA IRQ handler to support half interrupt feature.

[2.1.4]

  • Bug Fixes

    • Cleared enabled request, status during EDMA_Init for the case that EDMA is halted before reinitialization.

[2.1.3]

  • Bug Fixes

    • Added clear DONE bit in IRQ handler to avoid overwrite TCD issue.

    • Optimized above solution for the case that transfer request occurs in callback.

[2.1.2]

  • Improvements

    • Added interface to get next TCD address.

    • Added interface to get the unused TCD number.

[2.1.1]

  • Improvements

    • Added documentation for eDMA data flow when scatter/gather is implemented for the EDMA_HandleIRQ API.

    • Updated and corrected some related comments in the EDMA_HandleIRQ API and edma_handle_t struct.

[2.1.0]

  • Improvements

    • Changed the EDMA_GetRemainingBytes API into EDMA_GetRemainingMajorLoopCount due to eDMA IP limitation (see API comments/note for further details).

[2.0.5]

  • Improvements

    • Added pubweak DriverIRQHandler for K32H844P (16 channels shared).

[2.0.4]

  • Improvements

    • Added support for SoCs with multiple eDMA instances.

    • Added pubweak DriverIRQHandler for KL28T DMA1 and MCIMX7U5_M4.

[2.0.3]

  • Bug Fixes

    • Fixed the incorrect pubweak IRQHandler name issue, which caused re-definition build errors when client set his/her own IRQHandler, by changing the 32-channel IRQHandler name to DriverIRQHandler.

[2.0.2]

  • Bug Fixes

    • Fixed incorrect minorLoopBytes type definition in _edma_transfer_config struct, and defined minorLoopBytes as uint32_t instead of uint16_t.

[2.0.1]

  • Bug Fixes

    • Fixed the eDMA callback issue (which did not check valid status) in EDMA_HandleIRQ API.

[2.0.0]

  • Initial version.


EIM

[2.0.1]

  • Improvements

    • Update driver to support fewer channel.

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rule 10.3.

[2.0.0]

  • Initial version.


EQDC

[2.3.1]

  • Bug Fix

  • Fixed CTRL2[CMODE] field overwritten in API EQDC_Init.

[2.3.0]

  • Improvements

  • Add feature macro to support platforms which do not have compare interrupt.

[2.2.3]

  • Bug Fix

  • Clear Revolution Counter Register(REV) in init function to prevent its value not equal to zero after reset.

[2.2.2]

  • Improvements

  • Release peripheral from reset if necessary in init function.

[2.2.1]

  • Bug Fix

  • Fixed violations of the MISRA C-2012 rules 20.9.

[2.2.0]

  • New features

  • Supported the feature that the position counter to be initialized by Index Event Edge Mark.

[2.1.0]

  • Bug Fix

  • Fixed typo in interrupt enumeration values.

    • Improvements

  • Supported Count Direct Change interrupt.

  • Removed unused parameter in user configuration.

  • Supported ERRATA_051383 check, the CTRL[DMAEN] can’t be cleared.

[2.0.1]

  • Bug Fix

  • Fixed violations of the MISRA C-2012 rules 10.3, 10.6, 10.8, 14.4, 16.4.

[2.0.0]

  • Initial version.


ERM

[2.0.1]

  • Improvements

    • Update driver to support fewer channel.

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rule 10.3.

[2.0.0]

  • Initial version.


FLEXCAN

[2.13.1]

  • Improvements

    • Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.

[2.13.0]

  • Improvements

    • Support payload endianness selection feature.

[2.12.0]

  • Improvements

    • Support automatic Remote Response feature.

    • Add API FLEXCAN_SetRemoteResponseMbConfig() to configure automatic Remote Response mailbox.

[2.11.8]

  • Improvements

    • Synchronize flexcan driver update on s32z platform.

[2.11.7]

  • Bug Fixes

    • Fixed FLEXCAN_TransferReceiveEnhancedFifoEDMA() compatibility with edma5.

[2.11.6]

  • Bug Fixes

    • Fixed ERRATA_9595 FLEXCAN_EnterFreezeMode() may result to bus fault on some platform.

[2.11.5]

  • Bug Fixes

    • Fixed flexcan_memset() crash under high optimization compilation.

[2.11.4]

  • Improvements

    • Update CANFD max bitrate to 10Mbps on MCXNx3x and MCXNx4x.

    • Release peripheral from reset if necessary in init function.

[2.11.3]

  • Bug Fixes

    • Fixed FLEXCAN_TransferReceiveEnhancedFifoEDMA() compile error with DMA3.

[2.11.2]

  • Bug Fixes

    • Fixed bug that timestamp in flexcan_handle_t not updated when RX overflow happens.

[2.11.1]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules 10.1.

[2.11.0]

  • Bug Fixes

    • Fixed wrong base address argument in FLEXCAN2 IRQ Handler.

  • Improvements

    • Add API to determine if the instance supports CAN FD mode at run time.

[2.10.1]

  • Bug Fixes

    • Fixed HIS CCM issue.

    • Fixed RTOS issue by adding protection to read-modify-write operations on interrupt enable/disable API.

[2.10.0]

  • Improvements

    • Update driver to make it able to support devices which has more than 64 8bytes MBs.

    • Update CAN FD transfer APIs to make them set/get edl bit according to frame content, which can make them compatible with classic CAN.

[2.9.2]

  • Bug Fixes

    • Fixed the issue that FLEXCAN_CheckUnhandleInterruptEvents() can’t detecting the exist enhanced RX FIFO interrupt status.

    • Fixed the issue that FLEXCAN_ReadPNWakeUpMB() does not return fail even no existing valid wake-up frame.

    • Fixed the issue that FLEXCAN_ReadEnhancedRxFifo() may clear bits other than the data available bit.

    • Fixed violations of the MISRA C-2012 rules 10.4, 10.8.

  • Improvements

    • Return kStatus_FLEXCAN_RxFifoDisabled instead of kStatus_Fail when read FIFO fail during IRQ handler.

    • Remove unreachable code from timing calculates APIs.

    • Update Enhanced Rx FIFO handler to make it deal with underflow/overflow status first.

[2.9.1]

  • Bug Fixes

    • Fixed the issue that FLEXCAN_TransferReceiveEnhancedFifoBlocking() API clearing Fifo data available flag more than once.

    • Fixed the issue that entering FLEXCAN_SubHandlerForEhancedRxFifo() even if Enhanced Rx fifo interrupts are not enabled.

    • Fixed the issue that FLEXCAN_TransferReceiveEnhancedFifoEDMA() update handle even if previous Rx FIFO receive not finished.

    • Fixed the issue that FLEXCAN_SetEnhancedRxFifoConfig() not configure the ERFCR[NFE] bits to the correct value.

    • Fixed the issue that FLEXCAN_ReceiveFifoEDMACallback() can’t differentiate between Rx fifo and enhanced rx fifo.

    • Fixed the issue that FLEXCAN_TransferHandleIRQ() can’t report Legacy Rx FIFO warning status.

[2.9.0]

  • Improvements

  • Add public set bit rate API to make driver easier to use.

  • Update Legacy Rx FIFO transfer APIs to make it support received multiple frames during one API call.

  • Optimized FLEXCAN_SubHandlerForDataTransfered() API in interrupt handling to reduce the probability of packet loss.

[2.8.7]

  • Improvements

  • Initialized the EDMA configuration structure in the FLEXCAN EDMA driver.

[2.8.6]

  • Bug Fixes

  • Fix Coverity overrun issues in fsl_flexcan_edma driver.

[2.8.5]

  • Improvements

    • Make driver aarch64 compatible.

[2.8.4]

  • Bug Fixes

    • Fixed FlexCan_Errata_6032 to disable all interrupts.

[2.8.3]

  • Bug Fixes

    • Fixed an issue with the FLEXCAN_EnableInterrupts and FLEXCAN_DisableInterrupts interrupt enable bits in the CTRL1 register.

[2.8.2]

  • Bug Fixes

    • Fixed errors in timing calculations and simplify the calculation process.

    • Fixed issue of CBT and FDCBT register may write failure.

[2.8.1]

  • Bug Fixes

    • Fixed the issue of CAN FD three sampling points.

    • Added macro to support the devices that no MCR[SUPV] bit.

    • Remove unnecessary clear WMB operations.

[2.8.0]

  • Improvements

    • Update config configuration.

      • Added enableSupervisorMode member to support enable/disable Supervisor mode.

    • Simplified the algorithm in CAN FD improved timing APIs.

[2.7.1]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules 10.3, 10.7.

[2.7.0]

  • Improvements

    • Update config configuration.

      • Added enablePretendedeNetworking member to support enable/disable Pretended Networking feature.

      • Added enableTransceiverDelayMeasure member to support enable/disable Transceiver Delay MeasurementPretended feature.

      • Added bitRate/bitRateFD member to work as baudRate/baudRateFD member union.

    • Rename all “baud” in code or comments to “bit” to align with the CAN spec.

    • Added Pretended Networking mode related APIs.

      • FLEXCAN_SetPNConfig

      • FLEXCAN_GetPNMatchCount

      • FLEXCAN_ReadPNWakeUpMB

    • Added support for Enhanced Rx FIFO.

    • Removed independent memory error interrupt/status APIs and put all interrupt/status control operation into FLEXCAN_EnableInterrupts/FLEXCAN_DisableInterrupts and FLEXCAN_GetStatusFlags/FLEXCAN_ClearStatusFlags APIs.

    • Update improved timing APIs to make it calculate improved timing according to CiA doc recommended.

      • FLEXCAN_CalculateImprovedTimingValues.

      • FLEXCAN_FDCalculateImprovedTimingValues.

    • Update FLEXCAN_SetBitRate/FLEXCAN_SetFDBitRate to added the use of enhanced timing registers.

[2.6.2]

  • Improvements

    • Add CANFD frame data length enumeration.

[2.6.1]

  • Bug Fixes

    • Fixed the issue of not fully initializing memory in FLEXCAN_Reset() API.

[2.6.0]

  • Improvements

    • Enable CANFD ISO mode in FLEXCAN_FDInit API.

    • Enable the transceiver delay compensation feature when enable FD operation and set bitrate switch.

    • Implementation memory error control in FLEXCAN_Init API.

    • Improve FLEXCAN_FDCalculateImprovedTimingValues API to get same value for FPRESDIV and PRESDIV.

    • Added memory error configuration for user.

      • enableMemoryErrorControl

      • enableNonCorrectableErrorEnterFreeze

    • Added memory error related APIs.

      • FLEXCAN_GetMemoryErrorReportStatus

      • FLEXCAN_GetMemoryErrorStatusFlags

      • FLEXCAN_ClearMemoryErrorStatusFlags

      • FLEXCAN_EnableMemoryErrorInterrupts

      • FLEXCAN_DisableMemoryErrorInterrupts

  • Bug Fixes

    • Fixed the issue of sent duff CAN frame after call FLEXCAN_FDInit() API.

[2.5.2]

  • Bug Fixes

    • Fixed the code error issue and simplified the algorithm in improved timing APIs.

      • The bit field in CTRL1 register couldn’t calculate higher ideal SP, we set it as the lowest one(75%)

        • FLEXCAN_CalculateImprovedTimingValues

        • FLEXCAN_FDCalculateImprovedTimingValues

    • Fixed MISRA-C 2012 Rule 17.7 and 14.4.

  • Improvements

    • Pass EsrStatus to callback function when kStatus_FLEXCAN_ErrorStatus is comming.

[2.5.1]

  • Bug Fixes

    • Fixed the non-divisible case in improved timing APIs.

      • FLEXCAN_CalculateImprovedTimingValues

      • FLEXCAN_FDCalculateImprovedTimingValues

[2.5.0]

  • Bug Fixes

    • MISRA C-2012 issue check.

      • Fixed rules, containing: rule-10.1, rule-10.3, rule-10.4, rule-10.7, rule-10.8, rule-11.8, rule-12.2, rule-13.4, rule-14.4, rule-15.5, rule-15.6, rule-15.7, rule-16.4, rule-17.3, rule-5.8, rule-8.3, rule-8.5.

    • Fixed the issue that API FLEXCAN_SetFDRxMbConfig lacks inactive message buff.

    • Fixed the issue of Pa082 warning.

    • Fixed the issue of dead lock in the function of interruption handler.

    • Fixed the issue of Legacy Rx Fifo EDMA transfer data fail in evkmimxrt1060 and evkmimxrt1064.

    • Fixed the issue of setting CANFD Bit Rate Switch.

    • Fixed the issue of operating unknown pointer risk.

      • when used the pointer “handle->mbFrameBuf[mbIdx]” to update the timestamp in a short-live TX frame, the frame pointer became as unknown, the action of operating it would result in program stack destroyed.

    • Added assert to check current CAN clock source affected by other clock gates in current device.

      • In some chips, CAN clock sources could be selected by CCM. But for some clock sources affected by other clock gates, if user insisted on using that clock source, they had to open these gates at the same time. However, they should take into consideration the power consumption issue at system level. In RT10xx chips, CAN clock source 2 was affected by the clock gate of lpuart1. ERRATA ID: (ERR050235 in CCM).

  • Improvements

    • Implementation for new FLEXCAN with ECC feature able to exit Freeze mode.

    • Optimized the function of interruption handler.

    • Added two APIs for FLEXCAN EDMA driver.

      • FLEXCAN_PrepareTransfConfiguration

      • FLEXCAN_StartTransferDatafromRxFIFO

    • Added new API for FLEXCAN driver.

      • FLEXCAN_GetTimeStamp

        • For TX non-blocking API, we wrote the frame into mailbox only, so no need to register TX frame address to the pointer, and the timestamp could be updated into the new global variable handle->timestamp[mbIdx], the FLEXCAN driver provided a new API for user to get it by handle and index number after TX DONE Success.

      • FLEXCAN_EnterFreezeMode

      • FLEXCAN_ExitFreezeMode

    • Added new configuration for user.

      • disableSelfReception

      • enableListenOnlyMode

    • Renamed the two clock source enum macros based on CLKSRC bit field value directly.

      • The CLKSRC bit value had no property about Oscillator or Peripheral type in lots of devices, it acted as two different clock input source only, but the legacy enum macros name contained such property, that misled user to select incorrect CAN clock source.

    • Created two new enum macros for the FLEXCAN driver.

      • kFLEXCAN_ClkSrc0

      • kFLEXCAN_ClkSrc1

    • Deprecated two legacy enum macros for the FLEXCAN driver.

      • kFLEXCAN_ClkSrcOsc

      • kFLEXCAN_ClkSrcPeri

    • Changed the process flow for Remote request frame response..

      • Created a new enum macro for the FLEXCAN driver.

        • kStatus_FLEXCAN_RxRemote

    • Changed the process flow for kFLEXCAN_StateRxRemote state in the interrupt handler.

      • Should the TX frame not register to the pointer of frame handle, interrupt handler would not be able to read the remote response frame from the mail box to ram, so user should read the frame by manual from mail box after a complete remote frame transfer.

[2.4.0]

  • Bug Fixes

    • MISRA C-2012 issue check.

      • Fixed rules, containing: rule-12.1, rule-17.7, rule-16.4, rule-11.9, rule-8.4, rule-14.4, rule-10.8, rule-10.4, rule-10.3, rule-10.7, rule-10.1, rule-11.6, rule-13.5, rule-11.3, rule-8.3, rule-12.2 and rule-16.1.

    • Fixed the issue that CANFD transfer data fail when bus baudrate is 30Khz.

    • Fixed the issue that ERR009595 does not folllow the ERRATA document.

    • Fixed code error for ERR006032 work around solution.

    • Fixed the Coverity issue of BAD_SHIFT in FLEXCAN.

    • Fixed the Repo build warning issue for variable without initial.

  • Improvements

    • Fixed the run fail issue of FlexCAN RemoteRequest UT Case.

    • Implementation all TX and RX transfering Timestamp used in FlexCAN demos.

    • Fixed the issue of UT Test Fail for CANFD payload size changed from 64BperMB to 8PerMB.

    • Implementation for improved timing API by baud rate.

[2.3.2]

  • Improvements

    • Implementation for ERR005959.

    • Implementation for ERR005829.

    • Implementation for ERR006032.

[2.3.1]

  • Bug Fixes

    • Added correct handle when kStatus_FLEXCAN_TxSwitchToRx is comming.

[2.3.0]

  • Improvements

    • Added self-wakeup support for STOP mode in the interrupt handling.

[2.2.3]

  • Bug Fixes

    • Fixed the issue of CANFD data phase’s bit rate not set as expected.

[2.2.2]

  • Improvements

    • Added a time stamp feature and enable it in the interrupt_transfer example.

[2.2.1]

  • Improvements

    • Separated CANFD initialization API.

    • In the interrupt handling, fix the issue that the user cannot use the normal CAN API when with an FD.

[2.2.0]

  • Improvements

    • Added FSL_FEATURE_FLEXCAN_HAS_SUPPORT_ENGINE_CLK_SEL_REMOVE feature to support SoCs without CAN Engine Clock selection in FlexCAN module.

    • Added FlexCAN Serial Clock Operation to support i.MX SoCs.

[2.1.0]

  • Bug Fixes

    • Corrected the spelling error in the function name FLEXCAN_XXX().

    • Moved Freeze Enable/Disable setting from FLEXCAN_Enter/ExitFreezeMode() to FLEXCAN_Init().

    • Corrected wrong helper macro values.

  • Improvements

    • Hid FLEXCAN_Reset() from user.

    • Used NDEBUG macro to wrap FLEXCAN_IsMbOccupied() function instead of DEBUG macro.

[2.0.0]

  • Initial version.


FREQME

[2.1.2]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.1.1]

  • Fixed MISRA issues.

[2.1.0]

  • Updated register name.

[2.0.0]

  • Initial version.


GLIKEY

[2.0.1]

  • Implement INIT state recovery from the LOCKED state after a reset when the previous index was locked.

[2.0.0]

  • Initial version.


GPIO

[2.8.1]

  • Bug Fixes

    • Fixed CERT INT31-C issues.

[2.8.0]

  • Improvements

    • Add API GPIO_PortInit/GPIO_PortDeinit to set GPIO clock enable and releasing GPIO reset.

[2.8.0]

  • Improvements

    • Add API GPIO_PortInit/GPIO_PortDeinit to set GPIO clock enable and releasing GPIO reset.

    • Remove support for API GPIO_GetPinsDMARequestFlags with GPIO_ISFR_COUNT <= 1.

[2.7.3]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.7.2]

  • New Features

    • Support devices without PORT module.

[2.7.1]

  • Bug Fixes

    • Fixed MISRA C-2012 rule 10.4 issues in GPIO_GpioGetInterruptChannelFlags() function and GPIO_GpioClearInterruptChannelFlags() function.

[2.7.0]

  • New Features

    • Added API to support Interrupt select (IRQS) bitfield.

[2.6.0]

  • New Features

    • Added API to get GPIO version information.

    • Added API to control a pin for general purpose input.

    • Added some APIs to control pin in secure and previliege status.

[2.5.3]

  • Bug Fixes

    • Correct the feature macro typo: FSL_FEATURE_GPIO_HAS_NO_INDEP_OUTPUT_CONTORL.

[2.5.2]

  • Improvements

    • Improved GPIO_PortSet/GPIO_PortClear/GPIO_PortToggle functions to support devices without Set/Clear/Toggle registers.

[2.5.1]

  • Bug Fixes

    • Fixed wrong macro definition.

    • Fixed MISRA C-2012 rule issues in the FGPIO_CheckAttributeBytes() function.

    • Defined the new macro to separate the scene when the width of registers is different.

    • Removed some redundant macros.

  • New Features

    • Added some APIs to get/clear the interrupt status flag when the port doesn’t control pins’ interrupt.

[2.4.1]

  • Improvements

    • Improved GPIO_CheckAttributeBytes() function to support 8 bits width GACR register.

[2.4.0]

  • Improvements

    • API interface added:

      • New APIs were added to configure the GPIO interrupt clear settings.

[2.3.2]

  • Bug Fixes

    • Fixed the issue for MISRA-2012 check.

      • Fixed rule 3.1, 10.1, 8.6, 10.6, and 10.3.

[2.3.1]

  • Improvements

    • Removed deprecated APIs.

[2.3.0]

  • New Features

    • Updated the driver code to adapt the case of interrupt configurations in GPIO module. New APIs were added to configure the GPIO interrupt settings if the module has this feature on it.

[2.2.1]

  • Improvements

    • API interface changes:

      • Refined naming of APIs while keeping all original APIs by marking them as deprecated. The original APIs will be removed in next release. The main change is updating APIs with prefix of _PinXXX() and _PortXXX.

[2.1.1]

  • Improvements

    • API interface changes:

      • Added an API for the check attribute bytes.

[2.1.0]

  • Improvements

    • API interface changes:

      • Added “pins” or “pin” to some APIs’ names.

      • Renamed “_PinConfigure” to “GPIO_PinInit”.


INPUTMUX

[2.0.8]

  • Improvements

    • Updated a feature macro usage for function INPUTMUX_EnableSignal.

[2.0.7]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.0.6]

  • Bug Fixes

    • Fixed the documentation wrong in API INPUTMUX_AttachSignal.

[2.0.5]

  • Bug Fixes

    • Fixed build error because some devices has no sct.

[2.0.4]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rule 10.4, 12.2 in INPUTMUX_EnableSignal() function.

[2.0.3]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules 10.4, 10.7, 12.2.

[2.0.2]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules 10.4, 12.2.

[2.0.1]

  • Support channel mux setting in INPUTMUX_EnableSignal().

[2.0.0]

  • Initial version.


LPADC

[2.9.1]

  • Bug Fixes

    • Fixed incorrect channel B FIFO selection logic.

[2.9.0]

  • Bug Fixes

    • Add code to handle the case where GCC[GAIN_CAL] is a signed number.

    • Split LPADC_FinishAutoCalibration function into two functions.

    • Improved LPADC driver.

[2.8.4]

  • Bug Fixes

    • Remove function ‘LPADC_SetOffsetValue’ assert statement, this statement may cause runtime errors in existing code.

[2.8.3]

  • Bug Fixes

    • Fixed SDK lpadc driver examples compile issue, move condition ‘commandId < ADC_CV_COUNT’ to a more appropriate location.

[2.8.2]

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rule 18.1, 10.3, 10.1 and 10.4.

[2.8.1]

  • Bug Fixes

    • Fixed LPADC sample mode enum name mistake.

[2.8.0]

  • Improvements

    • Release peripheral from reset if necessary in init function.

  • Bug Fixes

    • Fixed function LPADC_GetConvResult() issue.

    • Fixed function LPADC_SetConvCommandConfig() bugs.

[2.7.2]

  • Improvements

    • Use feature macros instead of header file macros.

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rule 10.1, 10.3, 10.4 and 14.3.

[2.7.1]

  • Improvements

    • Corrected descriptions of several functions.

    • Improved function LPADC_GetOffsetValue and LPADC_SetOffsetValue.

    • Revert changes of feature macros for lpadc.

    • Use feature macros instead of header file macros.

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rule 10.8.

    • Fixed the violations of MISRA C-2012 rule 10.1, 10.3, 10.4 and 14.3.

[2.7.0]

  • Improvements

    • Added supports of CFG2 register.

    • Removed some useless macros.

[2.6.2]

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rules.

    • Fixed LPADC driver code compile error issue.

[2.6.1]

  • Improvements

    • Updated the use of macros in the driver code.

[2.6.0]

  • Improvements

    • Added the API LPADC_SetOffset12BitValue() to configure 12bit ADC conversion offset trim value manually.

    • Added the API LPADC_SetOffset16BitValue() to configure 16bit ADC conversion offset trim value manually.

    • Added API to set offset calibration mode.

    • Added configuration of alternate channel.

    • Updated auto calibration API and added calibration value conversion API.

  • New feature

    • Added API LPADC_EnableHardwareTriggerCommandSelection() to enable trigger commands controlled by ADC_ETC.

    • Updated LPADC_DoAutoCalibration() to allow doing something else before the ADC inititialization to be totally complete. Enhance initialization duration time of the ADC.

    • Added two new APIs to get/set calibration value.

[2.5.2]

  • Improvements

    • Added while loop, LPADC_GetConvResult() will return only when the FIFO will not be empty.

[2.5.1]

  • Bug Fixes

    • Fixed some typos in Lpadc driver comments.

[2.5.0]

  • Improvements

    • Added missing items to enable trigger interrupts.

[2.4.0]

  • New features

    • Added APIs to get/clear trigger status flags.

[2.3.0]

  • Improvements

    • Removed LPADC_MeasureTemperature() function for the LPADC supports different temperature sensor calculation equations.

[2.2.1]

  • Improvements

    • Optimized LPADC_MeasureTemperature() function to support the specific series with flash solidified calibration value.

    • Clean doxygen warnings.

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rule 10.3, rule 10.8 and rule 17.7.

[2.2.0]

  • New Feature

    • Added API LPADC_MeasureTemperature() to get correct temperature from the internal sensor.

  • Improvements

    • Separated lpadc_conversion_resolution_mode_t with related feature macro.

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rules:

      • Rule 10.3, 10.4, 10.6, 10.7 and 17.7.

[2.1.1]

  • Improvements

    • Updated the gain calibration formula.

    • Used feature to segregate the new item kLPADC_TriggerPriorityPreemptSubsequently.

[2.1.0]

  • New Features

    • Added the API LPADC_SetOffsetValue() to support configure offset trim value manually.

    • Added the API LPADC_DoOffsetCalibration() to do offset calibration independently.

  • Improvements

    • Improved the usage of macros and removed invalid macros.

[2.0.2]

  • Improvements

    • Added support for platforms with 2 FIFOs and different calibration measures.

[2.0.1]

  • Bug Fixes

    • Ensured the API LPADC_SetConvCommandConfig configure related registers correctly.

[2.0.0]

  • Initial version.


LPCMP

[2.3.1]

  • Improvements

    • Update LPCMP driver to be compatible with platforms that do not support LPCMP nano power mode selection.

[2.3.0]

  • New Feature

    • Added some new features for platforms which support

      • Plus input source selection.

      • Minus input source selection.

      • CMP to DAC link.

  • Improvements

    • Removed some new features for platforms which doesn’t support

      • Functional clock source selection.

      • DAC high power mode selection.

      • Round Robin clock source selection.

      • Round Robin trigger source selection.

      • Round Robin channel sample numbers setting.

      • Round Robin channel sample time threshold setting.

      • Round Robin internal trigger configuration.

[2.2.0]

  • Improvements

    • Change FSL_FEATURE_LPCMP_HAS_NO_CCR0_CMP_STOP_EN to FSL_FEATURE_LPCMP_HAS_CCR0_CMP_STOP_EN.

[2.1.3]

  • New Feature

    • Added new macro to handle the case where some instances do not have the CCR0 CMP_STOP_EN bit field.

[2.1.2]

  • New Feature

    • Add macros to be compatible with some platforms that do not have the CCR0 CMP_STOP_EN bitfield.

[2.1.1]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.1.0]

  • New Features:

    • Supported round robin mode and window mode feature.

[2.0.3]

  • Bug Fixes:

    • Fixed the violation of MISRA-2012 rule 17.7.

[2.0.2]

  • Bug Fixes:

    • The current API LPCMP_ClearStatusFlags has to check w1c bits.

[2.0.1]

  • Added control macro to enable/disable the CLOCK code in current driver.

[2.0.0]

  • Initial version.


LPI2C

[2.5.7]

  • Improvements

    • Added support for separated IRQ handlers.

[2.5.6]

  • Improvements

    • Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.

[2.5.5]

  • Bug Fixes

    • Fixed LPI2C_SlaveInit() - allow to disable SDA/SCL glitch filter.

[2.5.4]

  • Bug Fixes

    • Fixed LPI2C_MasterTransferBlocking() - the return value was sometime affected by call of LPI2C_MasterStop().

[2.5.3]

  • Improvements

    • Added handler for LPI2C7 and LPI2C8.

[2.5.2]

  • Bug Fixes

    • Fixed ERR051119 to ignore the nak flag when IGNACK=1 in LPI2C_MasterCheckAndClearError.

[2.5.1]

  • Bug Fixes

    • Added bus stop incase of bus stall in LPI2C_MasterTransferBlocking.

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.5.0]

  • New Features

    • Added new function LPI2C_SlaveEnableAckStall to enable or disable ACKSTALL.

[2.4.1]

  • Improvements

    • Before master transfer with transactional APIs, enable master function while disable slave function and vise versa for slave transfer to avoid the one affecting the other.

[2.4.0]

  • Improvements

    • Split some functions, fixed CCM problem in file fsl_lpi2c.c.

  • Bug Fixes

    • Fixed bug in LPI2C_MasterInit that the MCFGR2’s value set in LPI2C_MasterSetBaudRate may be overwritten by mistake.

[2.3.2]

  • Improvements

    • Initialized the EDMA configuration structure in the LPI2C EDMA driver.

[2.3.1]

  • Improvements

    • Updated LPI2C_GetCyclesForWidth to add the parameter of minimum cycle, because for master SDA/SCL filter, master bus idle/pin low timeout and slave SDA/SCL filter configuration, 0 means disabling the feature and cannot be used.

  • Bug Fixes

    • Fixed bug in LPI2C_SlaveTransferHandleIRQ that when restart detect event happens the transfer structure should not be cleared.

    • Fixed bug in LPI2C_RunTransferStateMachine, that when only slave address is transferred or there is still data remaining in tx FIFO the last byte’s nack cannot be ignored.

    • Fixed bug in slave filter doze enable, that when FILTDZ is set it means disable rather than enable.

    • Fixed bug in the usage of LPI2C_GetCyclesForWidth. First its return value cannot be used directly to configure the slave FILTSDA, FILTSCL, DATAVD or CLKHOLD, because the real cycle width for them should be FILTSDA+3, FILTSCL+3, FILTSCL+DATAVD+3 and CLKHOLD+3. Second when cycle period is not affected by the prescaler value, prescaler value should be passed as 0 rather than 1.

    • Fixed wrong default setting for LPI2C slave. If enabling the slave tx SCL stall, then the default clock hold time should be set to 250ns according to I2C spec for 100kHz standard mode baudrate.

    • Fixed bug that before pushing command to the tx FIFO the FIFO occupation should be checked first in case FIFO overflow.

[2.3.0]

  • New Features

    • Supported reading more than 256 bytes of data in one transfer as master.

    • Added API LPI2C_GetInstance.

  • Bug Fixes

    • Fixed bug in LPI2C_MasterTransferAbortEDMA, LPI2C_MasterTransferAbort and LPI2C_MasterTransferHandleIRQ that before sending stop signal whether master is active and whether stop signal has been sent should be checked, to make sure no FIFO error or bus error will be caused.

    • Fixed bug in LPI2C master EDMA transactional layer that the bus error cannot be caught and returned by user callback, by monitoring bus error events in interrupt handler.

    • Fixed bug in LPI2C_GetCyclesForWidth that the parameter used to calculate clock cycle should be 2^prescaler rather than prescaler.

    • Fixed bug in LPI2C_MasterInit that timeout value should be configured after baudrate, since the timeout calculation needs prescaler as parameter which is changed during baudrate configuration.

    • Fixed bug in LPI2C_MasterTransferHandleIRQ and LPI2C_RunTransferStateMachine that when master writes with no stop signal, need to first make sure no data remains in the tx FIFO before finishes the transfer.

[2.2.0]

  • Bug Fixes

    • Fixed issue that the SCL high time, start hold time and stop setup time do not meet I2C specification, by changing the configuration of data valid delay, setup hold delay, clock high and low parameters.

    • MISRA C-2012 issue fixed.

      • Fixed rule 8.4, 13.5, 17.7, 20.8.

[2.1.12]

  • Bug Fixes

    • Fixed MISRA advisory 15.5 issues.

[2.1.11]

  • Bug Fixes

    • Fixed the bug that, during master non-blocking transfer, after the last byte is sent/received, the kLPI2C_MasterNackDetectFlag is expected, so master should not check and clear kLPI2C_MasterNackDetectFlag when remainingBytes is zero, in case FIFO is emptied when stop command has not been sent yet.

    • Fixed the bug that, during non-blocking transfer slave may nack master while master is busy filling tx FIFO, and NDF may not be handled properly.

[2.1.10]

  • Bug Fixes

    • MISRA C-2012 issue fixed.

      • Fixed rule 10.3, 14.4, 15.5.

    • Fixed unaligned access issue in LPI2C_RunTransferStateMachine.

    • Fixed uninitialized variable issue in LPI2C_MasterTransferHandleIRQ.

    • Used linked TCD to disable tx and enable rx in read operation to fix the issue that for platform sharing the same DMA request with tx and rx, during LPI2C read operation if interrupt with higher priority happened exactly after command was sent and before tx disabled, potentially both tx and rx could trigger dma and cause trouble.

    • Fixed MISRA issues.

      • Fixed rules 10.1, 10.3, 10.4, 11.6, 11.9, 14.4, 17.7.

    • Fixed the waitTimes variable not re-assignment issue for each byte read.

  • New Features

    • Added the IRQHandler for LPI2C5 and LPI2C6 instances.

  • Improvements

    • Updated the LPI2C_WAIT_TIMEOUT macro to unified name I2C_RETRY_TIMES.

[2.1.9]

  • Bug Fixes

    • Fixed Coverity issue of unchecked return value in I2C_RTOS_Transfer.

    • Fixed Coverity issue of operands did not affect the result in LPI2C_SlaveReceive and LPI2C_SlaveSend.

    • Removed STOP signal wait when NAK detected.

    • Cleared slave repeat start flag before transmission started in LPI2C_SlaveSend/LPI2C_SlaveReceive. The issue was that LPI2C_SlaveSend/LPI2C_SlaveReceive did not handle with the reserved repeat start flag. This caused the next slave to send a break, and the master was always in the receive data status, but could not receive data.

[2.1.8]

  • Bug Fixes

    • Fixed the transfer issue with LPI2C_MasterTransferNonBlocking, kLPI2C_TransferNoStopFlag, with the wait transfer done through callback in a way of not doing a blocking transfer.

    • Fixed the issue that STOP signal did not appear in the bus when NAK event occurred.

[2.1.7]

  • Bug Fixes

    • Cleared the stopflag before transmission started in LPI2C_SlaveSend/LPI2C_SlaveReceive. The issue was that LPI2C_SlaveSend/LPI2C_SlaveReceive did not handle with the reserved stop flag and caused the next slave to send a break, and the master always stayed in the receive data status but could not receive data.

[2.1.6]

  • Bug Fixes

    • Fixed driver MISRA build error and C++ build error in LPI2C_MasterSend and LPI2C_SlaveSend.

    • Reset FIFO in LPI2C Master Transfer functions to avoid any byte still remaining in FIFO during last transfer.

    • Fixed the issue that LPI2C_MasterStop did not return the correct NAK status in the bus for second transfer to the non-existing slave address.

[2.1.5]

  • Bug Fixes

    • Extended the Driver IRQ handler to support LPI2C4.

    • Changed to use ARRAY_SIZE(kLpi2cBases) instead of FEATURE COUNT to decide the array size for handle pointer array.

[2.1.4]

  • Bug Fixes

    • Fixed the LPI2C_MasterTransferEDMA receive issue when LPI2C shared same request source with TX/RX DMA request. Previously, the API used scatter-gather method, which handled the command transfer first, then the linked TCD which was pre-set with the receive data transfer. The issue was that the TX DMA request and the RX DMA request were both enabled, so when the DMA finished the first command TCD transfer and handled the receive data TCD, the TX DMA request still happened due to empty TX FIFO. The result was that the RX DMA transfer would start without waiting on the expected RX DMA request.

    • Fixed the issue by enabling IntMajor interrupt for the command TCD and checking if there was a linked TCD to disable the TX DMA request in LPI2C_MasterEDMACallback API.

[2.1.3]

  • Improvements

    • Added LPI2C_WATI_TIMEOUT macro to allow the user to specify the timeout times for waiting flags in functional API and blocking transfer API.

    • Added LPI2C_MasterTransferBlocking API.

[2.1.2]

  • Bug Fixes

    • In LPI2C_SlaveTransferHandleIRQ, reset the slave status to idle when stop flag was detected.

[2.1.1]

  • Bug Fixes

    • Disabled the auto-stop feature in eDMA driver. Previously, the auto-stop feature was enabled at transfer when transferring with stop flag. Since transfer was without stop flag and the auto-stop feature was enabled, when starting a new transfer with stop flag, the stop flag would be sent before the new transfer started, causing unsuccesful sending of the start flag, so the transfer could not start.

    • Changed default slave configuration with address stall false.

[2.1.0]

  • Improvements

    • API name changed:

      • LPI2C_MasterTransferCreateHandle -> LPI2C_MasterCreateHandle.

      • LPI2C_MasterTransferGetCount -> LPI2C_MasterGetTransferCount.

      • LPI2C_MasterTransferAbort -> LPI2C_MasterAbortTransfer.

      • LPI2C_MasterTransferHandleIRQ -> LPI2C_MasterHandleInterrupt.

      • LPI2C_SlaveTransferCreateHandle -> LPI2C_SlaveCreateHandle.

      • LPI2C_SlaveTransferGetCount -> LPI2C_SlaveGetTransferCount.

      • LPI2C_SlaveTransferAbort -> LPI2C_SlaveAbortTransfer.

      • LPI2C_SlaveTransferHandleIRQ -> LPI2C_SlaveHandleInterrupt.

[2.0.0]

  • Initial version.


LPI2C_EDMA

[2.4.3]

  • Improvements

    • Added support for separated IRQ handlers.

[2.4.2]

  • Improvements

    • Add EDMA ext API to accommodate more types of EDMA.

[2.4.1]

  • Refer LPI2C driver change log 2.0.0 to 2.4.1


LPSPI

[2.6.10]

  • Improvements

    • Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.

[2.6.9]

  • Bug Fixes

    • Fixed reading of TCR register

    • Workaround for errata ERR050606

[2.6.8]

  • Bug Fixes

    • Fixed build error when SPI_RETRY_TIMES is defined to non-zero value.

[2.6.7]

  • Bug Fixes

    • Fixed the txData from void * to const void * in transmit API _lpspi_master_handle and _lpspi_slave_handle.

[2.6.6]

  • Bug Fixes

    • Added LPSPI register init in LPSPI_MasterInit incase of LPSPI register exist.

[2.6.5]

  • Improvements

    • Introduced FSL_FEATURE_LPSPI_HAS_NO_PCSCFG and FSL_FEATURE_LPSPI_HAS_NO_MULTI_WIDTH for conditional compile.

    • Release peripheral from reset if necessary in init function.

[2.6.4]

  • Bug Fixes

    • Added LPSPI6_DriverIRQHandler for LPSPI6 instance.

[2.6.3]

  • Hot Fixes

    • Added macro switch in function LPSPI_Enable about ERRATA051472.

[2.6.2]

  • Bug Fixes

    • Disabled lpspi before LPSPI_MasterSetBaudRate incase of LPSPI opened.

[2.6.1]

  • Bug Fixes

    • Fixed return value while calling LPSPI_WaitTxFifoEmpty in function LPSPI_MasterTransferNonBlocking.

[2.6.0]

  • Feature

    • Added the new feature of multi-IO SPI .

[2.5.3]

  • Bug Fixes

    • Fixed 3-wire txmask of handle vaule reentrant issue.

[2.5.2]

  • Bug Fixes

    • Workaround for errata ERR051588 by clearing FIFO after transmit underrun occurs.

[2.5.1]

  • Bug Fixes

    • Workaround for errata ERR050456 by resetting the entire module using LPSPIn_CR[RST] bit.

[2.5.0]

  • Bug Fixes

    • Workaround for errata ERR011097 to wait the TX FIFO to go empty when writing TCR register and TCR[TXMSK] value is 1.

    • Added API LPSPI_WaitTxFifoEmpty for wait the txfifo to go empty.

[2.4.7]

  • Bug Fixes

    • Fixed bug that the SR[REF] would assert if software disabled or enabled the LPSPI module in LPSPI_Enable.

[2.4.6]

  • Improvements

    • Moved the configuration of registers for the 3-wire lpspi mode to the LPSPI_MasterInit and LPSPI_SlaveInit function.

[2.4.5]

  • Improvements

    • Improved LPSPI_MasterTransferBlocking send performance when frame size is 1-byte.

[2.4.4]

  • Bug Fixes

    • Fixed LPSPI_MasterGetDefaultConfig incorrect default inter-transfer delay calculation.

[2.4.3]

  • Bug Fixes

    • Fixed bug that the ISR response speed is too slow on some platforms, resulting in the first transmission of overflow, Set proper RX watermarks to reduce the ISR response times.

[2.4.2]

  • Bug Fixes

    • Fixed bug that LPSPI_MasterTransferBlocking will modify the parameter txbuff and rxbuff pointer.

[2.4.1]

  • Bug Fixes

    • Fixed bug that LPSPI_SlaveTransferNonBlocking can’t detect RX error.

[2.4.0]

  • Improvements

    • Split some functions, fixed CCM problem in file fsl_lpspi.c.

[2.3.1]

  • Improvements

    • Initialized the EDMA configuration structure in the LPSPI EDMA driver.

  • Bug Fixes

    • Fixed bug that function LPSPI_MasterTransferBlocking should return after the transfer complete flag is set to make sure the PCS is re-asserted.

[2.3.0]

  • New Features

    • Supported the master configuration of sampling the input data using a delayed clock to improve slave setup time.

[2.2.1]

  • Bug Fixes

    • Fixed bug in LPSPI_SetPCSContinous when disabling PCS continous mode.

[2.2.0]

  • Bug Fixes

    • Fixed bug in 3-wire polling and interrupt transfer that the received data is not correct and the PCS continous mode is not working.

[2.1.0]

  • Improvements

    • Improved LPSPI_SlaveTransferHandleIRQ to fill up TX FIFO instead of write one data to TX register which improves the slave transmit performance.

    • Added new functional APIs LPSPI_SelectTransferPCS and LPSPI_SetPCSContinous to support changing PCS selection and PCS continous mode.

  • Bug Fixes

    • Fixed bug in non-blocking and EDMA transfer APIs that kStatus_InvalidArgument is returned if user configures 3-wire mode and full-duplex transfer at the same time, but transfer state is already set to kLPSPI_Busy by mistake causing following transfer can not start.

    • Fixed bug when LPSPI slave using EDMA way to transfer, tx should be masked when tx data is null, otherwise in 3-wire mode which tx/rx use the same pin, the received data will be interfered.

[2.0.5]

  • Improvements

    • Added timeout mechanism when waiting certain states in transfer driver.

  • Bug Fixes

    • Fixed the bug that LPSPI can not transfer large data using EDMA.

    • Fixed MISRA 17.7 issues.

    • Fixed variable overflow issue introduced by MISRA fix.

    • Fixed issue that rxFifoMaxBytes should be calculated according to transfer width rather than FIFO width.

    • Fixed issue that completion flag was not cleared after transfer completed.

[2.0.4]

  • Bug Fixes

    • Fixed in LPSPI_MasterTransferBlocking that master rxfifo may overflow in stall condition.

    • Eliminated IAR Pa082 warnings.

    • Fixed MISRA issues.

      • Fixed rules 10.1, 10.3, 10.4, 10.6, 11.9, 14.2, 14.4, 15.7, 17.7.

[2.0.3]

  • Bug Fixes

    • Removed LPSPI_Reset from LPSPI_MasterInit and LPSPI_SlaveInit, because this API may glitch the slave select line. If needed, call this function manually.

[2.0.2]

  • New Features

    • Added dummy data set up API to allow users to configure the dummy data to be transferred.

    • Enabled the 3-wire mode, SIN and SOUT pins can be configured as input/output pin.

[2.0.1]

  • Bug Fixes

    • Fixed the bug that the clock source should be divided by the PRESCALE setting in LPSPI_MasterSetDelayTimes function.

    • Fixed the bug that LPSPI_MasterTransferBlocking function would hang in some corner cases.

  • Optimization

    • Added #ifndef/#endif to allow user to change the default TX value at compile time.

[2.0.0]

  • Initial version.


LPSPI_EDMA

[2.4.6]

  • Improvements

    • Increased transmit FIFO watermark to ensure whole transmit FIFO will be used during data transfer.

[2.4.5]

  • Bug Fixes

    • Fixed reading of TCR register

    • Workaround for errata ERR050606

[2.4.4]

  • Improvements

    • Add EDMA ext API to accommodate more types of EDMA.

[2.4.3]

  • Improvements

    • Supported 32K bytes transmit in DMA, improve the max datasize in LPSPI_MasterTransferEDMALite.

[2.4.2]

  • Improvements

    • Added callback status in EDMA_LpspiMasterCallback and EDMA_LpspiSlaveCallback to check transferDone.

[2.4.1]

  • Improvements

    • Add the TXMSK wait after TCR setting.

[2.4.0]

  • Improvements

    • Separated LPSPI_MasterTransferEDMA functions to LPSPI_MasterTransferPrepareEDMA and LPSPI_MasterTransferEDMALite to optimize the process of transfer.


LPTMR

[2.2.0]

  • Improvements

    • Updated lptmr_prescaler_clock_select_t, only define the valid options.

[2.1.1]

  • Improvements

    • Updated the characters from “PTMR” to “LPTMR” in “FSL_FEATURE_PTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_1_SUPPORT” feature definition.

[2.1.0]

  • Improvements

    • Implement for some special devices’ not supporting for all clock sources.

  • Bug Fixes

    • Fixed issue when accessing CMR register.

[2.0.2]

  • Bug Fixes

    • Fixed MISRA-2012 issues.

      • Rule 10.1.

[2.0.1]

  • Improvements

    • Updated the LPTMR driver to support 32-bit CNR and CMR registers in some devices.

[2.0.0]

  • Initial version.


LPUART

[2.9.0]

  • New Feature

    • Added support for swap TXD and RXD pins.

[2.8.3]

  • Improvements

    • Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.

[2.8.2]

  • Bug Fix

    • Fixed the bug that LPUART_TransferEnable16Bit controled by wrong feature macro.

[2.8.1]

  • Bug Fixes

    • Fixed issue for MISRA-2012 check.

      • Fixed rule-5.3, rule-5.8, rule-10.4, rule-11.3, rule-11.8.

[2.8.0]

  • Improvements

    • Added support of DATA register for 9bit or 10bit data transmit in write and read API. Such as: LPUART_WriteBlocking16bit, LPUART_ReadBlocking16bit, LPUART_TransferEnable16Bit LPUART_WriteNonBlocking16bit, LPUART_ReadNonBlocking16bit.

[2.7.7]

  • Bug Fixes

    • Fixed the bug that baud rate calculation overflow when srcClock_Hz is 528MHz.

[2.7.6]

  • Bug Fixes

    • Fixed LPUART_EnableInterrupts and LPUART_DisableInterrupts bug that blocks if the LPUART address doesn’t support exclusive access.

[2.7.5]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.7.4]

  • Improvements

    • Added support for atomic register accessing in LPUART_EnableInterrupts and LPUART_DisableInterrupts.

[2.7.3]

  • Bug Fixes

    • Fixed violations of the MISRA C-2012 rules 15.7.

[2.7.2]

  • Bug Fix

    • Fixed the bug that the OSR calculation error when lupart init and lpuart set baud rate.

[2.7.1]

  • Improvements

    • Added support for LPUART_BASE_PTRS_NS in security mode in file fsl_lpuart.c.

[2.7.0]

  • Improvements

    • Split some functions, fixed CCM problem in file fsl_lpuart.c.

[2.6.0]

  • Bug Fixes

    • Fixed bug that when there are multiple lpuart instance, unable to support different ISR.

[2.5.3]

  • Bug Fixes

    • Fixed comments by replacing unused status flags kLPUART_NoiseErrorInRxDataRegFlag and kLPUART_ParityErrorInRxDataRegFlag with kLPUART_NoiseErrorFlag and kLPUART_ParityErrorFlag.

[2.5.2]

  • Bug Fixes

    • Fixed bug that when setting watermark for TX or RX FIFO, the value may exceed the maximum limit.

  • Improvements

    • Added check in LPUART_TransferDMAHandleIRQ and LPUART_TransferEdmaHandleIRQ to ensure if user enables any interrupts other than transfer complete interrupt, the dma transfer is not terminated by mistake.

[2.5.1]

  • Improvements

    • Use separate data for TX and RX in lpuart_transfer_t.

  • Bug Fixes

    • Fixed bug that when ring buffer is used, if some data is received in ring buffer first before calling LPUART_TransferReceiveNonBlocking, the received data count returned by LPUART_TransferGetReceiveCount is wrong.

[2.5.0]

  • Bug Fixes

    • Added missing interrupt enable masks kLPUART_Match1InterruptEnable and kLPUART_Match2InterruptEnable.

    • Fixed bug in LPUART_EnableInterrupts, LPUART_DisableInterrupts and LPUART_GetEnabledInterrupts that the BAUD[LBKDIE] bit field should be soc specific.

    • Fixed bug in LPUART_TransferHandleIRQ that idle line interrupt should be disabled when rx data size is zero.

    • Deleted unused status flags kLPUART_NoiseErrorInRxDataRegFlag and kLPUART_ParityErrorInRxDataRegFlag, since firstly their function are the same as kLPUART_NoiseErrorFlag and kLPUART_ParityErrorFlag, secondly to obtain them one data word must be read out thus interfering with the receiving process.

    • Fixed bug in LPUART_GetStatusFlags that the STAT[LBKDIF], STAT[MA1F] and STAT[MA2F] should be soc specific.

    • Fixed bug in LPUART_ClearStatusFlags that tx/rx FIFO is reset by mistake when clearing flags.

    • Fixed bug in LPUART_TransferHandleIRQ that while clearing idle line flag the other bits should be masked in case other status bits be cleared by accident.

    • Fixed bug of race condition during LPUART transfer using transactional APIs, by disabling and re-enabling the global interrupt before and after critical operations on interrupt enable register.

    • Fixed DMA/eDMA transfer blocking issue by enabling tx idle interrupt after DMA/eDMA transmission finishes.

  • New Features

    • Added APIs LPUART_GetRxFifoCount/LPUART_GetTxFifoCount to get rx/tx FIFO data count.

    • Added APIs LPUART_SetRxFifoWatermark/LPUART_SetTxFifoWatermark to set rx/tx FIFO water mark.

[2.4.1]

  • Bug Fixes

    • Fixed MISRA advisory 17.7 issues.

[2.4.0]

  • New Features

    • Added APIs to configure 9-bit data mode, set slave address and send address.

[2.3.1]

  • Bug Fixes

    • Fixed MISRA advisory 15.5 issues.

[2.3.0]

  • Improvements

    • Modified LPUART_TransferHandleIRQ so that txState will be set to idle only when all data has been sent out to bus.

    • Modified LPUART_TransferGetSendCount so that this API returns the real byte count that LPUART has sent out rather than the software buffer status.

    • Added timeout mechanism when waiting for certain states in transfer driver.

[2.2.8]

  • Bug Fixes

    • Fixed issue for MISRA-2012 check.

      • Fixed rule-10.3, rule-14.4, rule-15.5.

    • Eliminated Pa082 warnings by assigning volatile variables to local variables and using local variables instead.

    • Fixed MISRA issues.

      • Fixed rules 10.1, 10.3, 10.4, 10.8, 14.4, 11.6, 17.7.

  • Improvements

    • Added check for kLPUART_TransmissionCompleteFlag in LPUART_WriteBlocking, LPUART_TransferHandleIRQ, LPUART_TransferSendDMACallback and LPUART_SendEDMACallback to ensure all the data would be sent out to bus.

    • Rounded up the calculated sbr value in LPUART_SetBaudRate and LPUART_Init to achieve more acurate baudrate setting. Changed osr from uint32_t to uint8_t since osr’s bigest value is 31.

    • Modified LPUART_ReadBlocking so that if more than one receiver errors occur, all status flags will be cleared and the most severe error status will be returned.

[2.2.7]

  • Bug Fixes

    • Fixed issue for MISRA-2012 check.

      • Fixed rule-12.1, rule-17.7, rule-14.4, rule-13.3, rule-14.4, rule-10.4, rule-10.8, rule-10.3, rule-10.7, rule-10.1, rule-11.6, rule-13.5, rule-11.3, rule-13.2, rule-8.3.

[2.2.6]

  • Bug Fixes

    • Fixed the issue of register’s being in repeated reading status while dealing with the IRQ routine.

[2.2.5]

  • Bug Fixes

    • Do not set or clear the TIE/RIE bits when using LPUART_EnableTxDMA and LPUART_EnableRxDMA.

[2.2.4]

  • Improvements

    • Added hardware flow control function support.

    • Added idle-line-detecting feature in LPUART_TransferNonBlocking function. If an idle line is detected, a callback is triggered with status kStatus_LPUART_IdleLineDetected returned. This feature may be useful when the received Bytes is less than the expected received data size. Before triggering the callback, data in the FIFO (if has FIFO) is read out, and no interrupt will be disabled, except for that the receive data size reaches 0.

    • Enabled the RX FIFO watermark function. With the idle-line-detecting feature enabled, users can set the watermark value to whatever you want (should be less than the RX FIFO size). Data is received and a callback will be triggered when data receive ends.

[2.2.3]

  • Improvements

    • Changed parameter type in LPUART_RTOS_Init struct from rtos_lpuart_config to lpuart_rtos_config_t.

  • Bug Fixes

    • Disabled LPUART receive interrupt instead of all NVICs when reading data from ring buffer. Otherwise when the ring buffer is used, receive nonblocking method will disable all NVICs to protect the ring buffer. This may has a negative effect on other IPs that are using the interrupt.

[2.2.2]

  • Improvements

    • Added software reset feature support.

    • Added software reset API in LPUART_Init.

[2.2.1]

  • Improvements

    • Added separate RX/TX IRQ number support.

[2.2.0]

  • Improvements

    • Added support of 7 data bits and MSB.

[2.1.1]

  • Improvements

    • Removed unnecessary check of event flags and assert in LPUART_RTOS_Receive.

    • Added code to always wait for RX event flag in LPUART_RTOS_Receive.

[2.1.0]

  • Improvements

    • Update transactional APIs.


LPUART_EDMA

[2.4.0]

  • Refer LPUART driver change log 2.1.0 to 2.4.0


MAU

[2.0.0]

  • Initial version.


OPAMP

[2.0.0]

  • Initial version.


OSTIMER

[2.2.3]

  • Improvements

    • Disable and clear pending interrupts before disabling the OSTIMER clock to avoid interrupts being executed when the clock is already disabled.

[2.2.2]

  • Improvements

    • Support devices with different OSTIMER instance name.

[2.2.1]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.2.0]

  • Improvements

    • Move the PMC operation out of the OSTIMER driver to board specific files.

    • Added low level APIs to control OSTIMER MATCH and interrupt.

[2.1.2]

  • Bug Fixes

    • Fixed MISRA-2012 rule 10.8.

[2.1.1]

  • Bug Fixes

    • removes the suffix ‘n’ for some register names and bit fields’ names

  • Improvements

    • Added HW CODE GRAY feature supported by CODE GRAY in SYSCTRL register group.

[2.1.0]

  • Bug Fixes

    • Added a workaround to fix the issue that no interrupt was reported when user set smaller period.

    • Fixed violation of MISRA C-2012 rule 10.3 and 11.9.

  • Improvements

    • Added return value for the two APIs to set match value.

      • OSTIMER_SetMatchRawValue

      • OSTIMER_SetMatchValue

[2.0.3]

  • Bug Fixes

    • Fixed violation of MISRA C-2012 rule 10.3, 14.4, 17.7.

[2.0.2]

  • Improvements

    • Added support for OSTIMER0

[2.0.1]

  • Improvements

    • Removed the software reset function out of the initialization API.

    • Enabled interrupt directly instead of enabling deep sleep interrupt. Users need to enable the deep sleep interrupt in application code if needed.

[2.0.0]

  • Initial version.


PORT

[2.5.1]

  • Bug Fixes

    • Fix CERT INT31-C issues.

[2.5.0]

  • Bug Fixes

    • Correct the kPORT_MuxAsGpio for some platforms.

[2.4.1]

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rules: 10.1, 10.8 and 14.4.

[2.4.0]

  • New Features

    • Updated port_pin_config_t to support input buffer and input invert.

[2.3.0]

  • New Features

    • Added new APIs for Electrical Fast Transient(EFT) detect.

    • Added new API to configure port voltage range.

[2.2.0]

  • New Features

    • Added new api PORT_EnablePinDoubleDriveStrength.

[2.1.1]

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rules: 10.1, 10.4,11.3,11.8, 14.4.

[2.1.0]

  • New Features

    • Updated the driver code to adapt the case of the interrupt configurations in GPIO module. Will move the pin configuration APIs to GPIO module.

[2.0.2]

  • Other Changes

    • Added feature guard macros in the driver.

[2.0.1]

  • Other Changes

    • Added “const” in function parameter.

    • Updated some enumeration variables’ names.


PWM

[2.9.0]

  • Improvements

    • Support PWMX channel output for edge aligned PWM.

    • Forbid submodule 0 counter initialize with master sync and master reload mode.

[2.8.4]

  • Improvements

    • Support workaround for ERR051989. This function helps realize no phase delay between submodule 0 and other submodule.

[2.8.3]

  • Bug Fixes

    • Fixed MISRA C-2012 Rule 15.7

[2.8.2]

  • Bug Fixes

    • Fixed warning conversion from ‘int’ to ‘uint16_t’ on API PWM_Init.

    • Fixed warning unused variable ‘reg’ on API PWM_SetPwmForceOutputToZero.

[2.8.1]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.8.0]

  • Improvements

    • Added API PWM_UpdatePwmPeriodAndDutycycle to update the PWM signal’s period and dutycycle for a PWM submodule.

    • Added API PWM_SetPeriodRegister and PWM_SetDutycycleRegister to merge duplicate code in API PWM_SetupPwm, PWM_UpdatePwmDutycycleHighAccuracy and PWM_UpdatePwmPeriodAndDutycycle

[2.7.1]

  • Improvements

    • Supported UPDATE_MASK bit in MASK register.

[2.7.0]

  • Improvements

    • Supported platforms which don’t have Capture feature with channel A and B.

    • Supported platforms which don’t have Submodule 3.

    • Added assert function in API PWM_SetPhaseDelay to prevent wrong argument.

[2.6.1]

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rules: 10.3.

[2.6.0]

  • Improvements

    • Added API PWM_SetPhaseDelay to set the phase delay from the master sync signal of submodule 0.

    • Added API PWM_SetFilterSampleCountthe to set number of consecutive samples that must agree prior to the input filter.

    • Added API PWM_SetFilterSamplePeriod to set set the sampling period of the fault pin input filter.

[2.5.1]

  • Bug Fixes

    • Fixed MISRA C-2012 rules: 10.1, 10.3, 10.4 , 10.6 and 10.8.

    • Fixed the issue that PWM_UpdatePwmDutycycle() can’t update duty cycle status value correct.

[2.5.0]

  • Improvements

    • Added API PWM_SetOouputToIdle to set pwm channel output to idle.

    • Added API PWM_GetPwmChannelState to get the pwm channel output duty cycle value.

    • Added API PWM_SetPwmForceOutputToZero to set the pwm channel output to zero logic.

    • Added API PWM_SetChannelOutput to set the pwm channel output state.

    • Added API PWM_SetClockMode to set the value of the clock prescaler.

    • Added API PWM_SetupPwmPhaseShift to set PWM which a special phase shift and 50% duty cycle.

    • Added API PWM_SetVALxValue/PWM_GetVALxValue to set/get PWM VALs registers values directly.

[2.4.0]

  • Improvements

    • Supported the PWM which can’t work in wait mode.

[2.3.0]

  • Improvements

    • Add PWM output enable&disbale API for SDK.

  • Bug Fixes

    • Fixed changing channel B configuration when parameter is kPWM_PWMX and PWMX configuration is not supported yet.

[2.2.1]

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rules: 10.3, 10.4.

  • Bug Fixes

    • Fixed the issue that PWM drivers computed VAL1 improperly.

  • Improvements

    • Updated calculation accuracy of reloadValue in dutyCycleToReloadValue function.

[2.2.0]

  • Improvements

    • Added new enumeration and two APIs to support enabling and disabling one or more PWM output triggers.

    • Added a new function to make the most of 16-bit resolution PWM.

    • Added one API to support updating fault status of PWM output.

    • Added one API to support PWM DMA write request.

    • Added three APIs to support PWM DMA capture read request.

    • Added one API to support get default fault config of PWM.

    • Added one API to support setting PWM fault disable mapping.

[2.1.0]

  • Improvements

    • Moved the configuration of fault input filter into a new API to avoid be initialized multiple times.

  • Bug Fixes

    • MISRA C-2012 issue fixed.

      • Fix rules, containing: rule-10.2, rule-10.3, rule-10.4, rule-10.7, rule-10.8, rule-14.4, rule-16.4.

[2.0.1]

  • Bug Fixes

    • Fixed the issue that PWM submodule may be initialized twice in function PWM_SetupPwm().

[2.0.0]

  • Initial version.


RESET

[2.0.0]

  • Initial version.


ROMAPI

[2.0.1]

  • Add ROMAPI_BASE feature to support MCXA276.

[2.0.0]

  • Initial version.


RTC

[2.3.0]

  • Improvements

    • Added API RTC_EnableLPOClock to set 1kHz LPO clock.

    • Added API RTC_EnableCrystalClock to replace API RTC_SetClockSource.

[2.2.2]

  • Improvements

    • Refine _rtc_interrupt_enable order.

[2.2.1]

  • Bug Fixes

    • Fixed the issue of Pa082 warning.

    • Fixed the issue of bit field mask checking.

    • Fixed the issue of hard code in RTC_Init.

[2.2.0]

  • Bug Fixes

    • Fixed MISRA C-2012 issue.

      • Fixed rule contain: rule-17.7, rule-14.4, rule-10.4, rule-10.7, rule-10.1, rule-10.3.

    • Fixed central repository code formatting issue.

  • Improvements

    • Added an API for enabling wakeup pin.

[2.1.0]

  • Improvements

    • Added feature macro check for many features.

[2.0.0]

  • Initial version.


MCX_SPC

[2.7.0]

  • New Features

    • Added new function to unretain RAM array.

[2.6.0]

  • Bug Fixes

    • The enumeration kSPC_DeepPowerDownWithSysClockOff should be 0x8U.

  • New Features

    • Added functions to get the last low-power mode that the power domain requested.

[2.5.0]

  • Improvements

    • Updated SPC_SetLowPowerModeCoreLDORegulatorConfig() with adding check that LP_CFG[CORELDO_VDD_LVL] only be updated when CORELDO is in normal driver strength in active mode.

    • Updated SPC_SetLowPowerModeRegulatorsConfig() with adding check the if DCDC voltage level set as retention mode, CORELDO low voltage detection must be disabled.

    • Updated spc_analog_module_control with adding Opamp3 support.

  • New Features

    • Added functions to mask/unmask voltage detections in active mode.

[2.4.2]

  • Improvements

    • Fixed the violation of MISRA C-2012 rules.

[2.4.1]

  • Improvements

    • Fixed the violation of MISRA C-2012 rules.

[2.4.0]

  • Improvements

    • Refined APIs to set regulators, the input parameters will be check firstly before setting register.

    • Improved APIs’ document.

    • Removed software check for DCDC’s settings since there is not hardware restrictions for DCDC.

    • Added new APIs to check if glitch detector is enabled in active/low power mode.

    • Added new APIs for DCDC burst feature, make it more flexible to use.

    • Added new API to enable/disable DCDC bleed resistor.

    • Set functions of VD_SYS_CFG[LVSEL] configuration as deprecated, since this bit filed is reserved for all devices.

    • Updated details of spc_core_ldo_voltage_level_t to align with description of latest RM, added comments to reminder users that the retention voltage is reserved in some devices.

[2.3.0]

  • New Features

    • Updated glitch detect API to support devices which do not have aGDET

[2.2.1]

  • Bug Fixes

    • Fixed an issue of SPC_SetActiveModeRegulatorsConfig() which will cause LVD in case of setting DCDC and CORE LDO into higher voltage level.

[2.2.0]

  • New Features

    • Added some macros to support some devices(such as MCXA family) do not equipped DCDC, SYS_LDO and so on.

    • Added new function SPC_EnableSRAMLdOLowPowerModeIREF(), SPC_TrimSRAMLdoRefVoltage(), SPC_EnableSRAMLdo() to support some devices(such as MCXA family) that support control of SRAM_LDO.

    • Fixed violation of MISRA C-2012 rule 17.7.

    • Fixed an issue in SPC_SetLowPowerModeRegulatorsConfig() function that set ACTIVE_CFG register by mistake.

[2.1.0]

  • Improvements

    • Added new functions to set regulators’ voltage level and drive strength individually.

    • Updated SPC_SetActiveModeRegulatorsConfig() and SPC_SetLowPowerModeRegulatorsConfig() based on new added functions.

[2.0.1]

  • Bug Fixes

    • Fixed a bug that external burst not working properly.

    • Fixed a bug that is SPC has VDD_DS the voltage is not configured correctly.

[2.0.0]

  • Initial version.


TRDC

[2.2.1]

  • Bug Fixes:

    • Fix MISRA violations.

[2.2.0]

  • New Features:

    • Supported SoCs that do not have all TRDC modules.

[2.1.0]

  • Bug Fixes:

    • Fix MISRA violations.

    • Fixed wrong operation of domain mask in TRDC_MbcNseClearAll and TRDC_MrcDomainNseClear.

[2.0.0]

  • Initial version.


UTICK

[2.0.5]

  • Improvements

    • Improved for SOC RW610.

[2.0.4]

  • Bug Fixes

    • Fixed compile fail issue of no-supporting PD configuration in utick driver.

[2.0.3]

  • Bug Fixes

    • Fixed violations of MISRA C-2012 rules: 8.4, 14.4, 17.7

[2.0.2]

  • Added new feature definition macro to enable/disable power control in drivers for some devices have no power control function.

[2.0.1]

  • Added control macro to enable/disable the CLOCK code in current driver.

[2.0.0]

  • Initial version.


MCX_VBAT

[2.3.1]

  • Bug Fixes

    • Fixed violations of MISRA C-2012 low impact rules.

[2.3.0]

  • Improvements

    • OSCCTLA[FINE_AMP_GAIN] is reserved, added new macro to support this change.

    • Defined VBAT_LDORAMC_RET in case of this macro is not defined in header file.

  • Bug Fixes

    • Fixed violaltions of MISRA C-2012 rule 10.8.

[2.2.0]

  • Improvements

    • Added macros to support some devices(such as MCXA family) that do not support OSC control, LDO control, bandgap timer, and tamper.

[2.1.0]

  • New features

    • Added functions to support tamper and clock monitor.

[2.0.0]

  • Initial version.


WAKETIMER

[2.0.1]

  • Bug Fix

    • MISRA C-2012 issue fixed: rule 8.2, 8.8, 10.1, 10.4.

[2.0.0]

  • Initial version.


WUU

[2.4.0]

  • New Features

    • Added WUU_ClearExternalWakeupPinsConfig() to clear settings of PDC and PE register.

[2.3.0]

  • New Features

    • Added WUU_ClearInternalWakeUpModulesConfig() to clear settings of DM and ME register.

[2.2.1]

  • Bug Fixes

    • Fixed WUU_SetPinFilterConfig() unable to set edge detection of pin filter config.

    • Fixed wrong macro used in WUU_GetPinFilterFlag() function.

[2.2.0]

  • New Features

    • Added the WUU_GetExternalWakeupPinFlag() and WUU_ClearExternalWakeupPinFlag() function .

[2.1.0]

  • New Features

    • Added the WUU_GetModuleInterruptFlag() function to support the devices that equipped MF register.

[2.0.0]

  • Initial version.


WWDT

[2.1.9]

  • Bug Fixes

    • Fixed violation of the MISRA C-2012 rule 10.4.

[2.1.8]

  • Improvements

    • Updated the “WWDT_Init” API to add wait operation. Which can avoid the TV value read by CPU still be 0xFF (reset value) after WWDT_Init function returns.

[2.1.7]

  • Bug Fixes

    • Fixed the issue that the watchdog reset event affected the system from PMC.

    • Fixed the issue of setting watchdog WDPROTECT field without considering the backwards compatibility.

    • Fixed the issue of clearing bit fields by mistake in the function of WWDT_ClearStatusFlags.

[2.1.5]

  • Bug Fixes

    • deprecated a unusable API in WWWDT driver.

      • WWDT_Disable

[2.1.4]

  • Bug Fixes

    • Fixed violation of the MISRA C-2012 rules Rule 10.1, 10.3, 10.4 and 11.9.

    • Fixed the issue of the inseparable process interrupted by other interrupt source.

      • WWDT_Init

[2.1.3]

  • Bug Fixes

    • Fixed legacy issue when initializing the MOD register.

[2.1.2]

  • Improvements

    • Updated the “WWDT_ClearStatusFlags” API and “WWDT_GetStatusFlags” API to match QN9090. WDTOF is not set in case of WD reset. Get info from PMC instead.

[2.1.1]

  • New Features

    • Added new feature definition macro for devices which have no LCOK control bit in MOD register.

    • Implemented delay/retry in WWDT driver.

[2.1.0]

  • Improvements

    • Added new parameter in configuration when initializing WWDT module. This parameter, which must be set, allows the user to deliver the WWDT clock frequency.

[2.0.0]

  • Initial version.