MCUXpresso SDK Changelog
ACMP
[2.3.0]
Improvements
Expose C0 register FILTER_CNT bitfield and FPR bitfield to the user.
[2.2.0]
Improvements
Updated feature macros for roundrobin mode, window mode, filter mode, and 3V domain removes.
[2.1.0]
New Feature
Supported the plateforms which don’t have hysteresis mode.
[2.0.6]
Bug Fixes
Fixed the wrong comments, the DAC value should range from 0 to 255.
[2.0.5]
Bug Fixes
Fixed the out-of-bounds error of Coverity caused by missing an assert sentence to avoid the return value of ACMP_GetInstance() exceeding the array bounds.
Fixed the violations of MISRA C-2012 rules:
Rule 10.1, 14.4, 16.4, 17.7.
[2.0.4]
Bug Fixes
Avoided changing w1c bit in ACMP_SetRoundRobinPreState().
[2.0.3]
New Features
Added feature functions for usage of different power domains(1.8 V and 3 V). These functions are first enabled in ULP1. They are about:
ACMP_EnableLinkToDAC()
ACMP_SetDiscreteModeConfig()
ACMP_GetDefaultDiscreteModeConfig()
[2.0.2]
Other Changes
Changed coding style of peripheral base address from “s_acmpBases” to “s_acmpBase”.
[2.0.1]
Bug Fixes
Fixed bug regarding the function “ACMP_SetRoundRobinConfig”. It will not continue execution but returns directly after disabling round robin mode.
CACHE64
[2.0.9]
Improvements
Removed assert(false) in CACHE64_GetInstanceByAddr.
[2.0.8]
Improvements
Updated function CACHE64_GetInstanceByAddr() to support some devices that provide alias of cacheable memory section.
[2.0.7]
Improvements
Check input parameter “size_byte” must be larger than 0.
[2.0.6]
Bug Fixes
Fixed overflow for CACHE64_GetInstanceByAddr()/CACHE64_CleanCacheByRange()/CACHE64_InvalidateCacheByRange() APIs.
[2.0.5]
Improvement
Made use of FSL_FEATURE_CACHE64_CTRL_HAS_NO_WRITE_BUF feature
[2.0.4]
Improvement
Disable cache policy feature on SoC without CACHE64_POLSEL IP.
Bug Fixes
Fixed doxygen issue.
[2.0.3]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 10.3.
[2.0.2]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 10.1, 10.3, 10.4 and 14.4.
Fixed doxygen issue.
[2.0.1]
Improvements
Moved CLCR register configuration out of the while loop, it’s unnecessary to repeat this operation.
[2.0.0]
Initial version.
CASSPER
[2.2.4]
Fix MISRA-C 2012 issue.
[2.2.3]
Added macro into CASPER_Init and CASPER_Deinit to support devices without clock and reset control.
[2.2.2]
Enable hardware interleaving to RAMX0 and RAMX1 for CASPER by feature macro FSL_FEATURE_CASPER_RAM_HW_INTERLEAVE
[2.2.1]
Fix MISRA C-2012 issue.
[2.2.0]
Rework driver to support multiple curves at once.
[2.1.0]
Add ECC NIST P-521 elliptic curve.
[2.0.10]
Fix MISRA C-2012 issue.
[2.0.9]
Remove unused function Jac_oncurve().
Fix ECC384 build.
[2.0.8]
Add feature macro for CASPER_RAM_OFFSET.
[2.0.7]
Fix MISRA C-2012 issue.
[2.0.6]
Bug Fixes
Fix IAR Pa082 warning
[2.0.5]
Bug Fixes
Fix sign-compare warning
[2.0.4]
For GCC compiler, enforce O1 optimize level, specifically to remove strict-aliasing option. This driver is very specific and requires -fno-strict-aliasing.
[2.0.3]
Bug Fixes
Fixed the bug for KPSDK-28107 RSUB, FILL and ZERO operations not implemented in enum _casper_operation.
[2.0.2]
Bug Fixes
Fixed KPSDK-25015 CASPER_MEMCPY hard-fault on LPC55xx when both source and destination buffers are outside of CASPER_RAM.
[2.0.1]
Bug Fixes
Fixed the bug that KPSDK-24531 double_scalar_multiplication() result may be all zeroes for some specific input.
[2.0.0]
Initial version.
CLOCK
[2.7.1]
Improvements
Added return value for CLOCK_InitSysPfd CLOCK_InitAudioPfd.
[2.7.0]
API changes
Added CLOCK_FroTuneToFreq and CLOCK_EnableFroClkFreq API.
[2.6.1]
Improvements
Added lost comments for some enumerations.
Bug Fixes
Fixed violations of MISRA C-2012 rule 11.1.
[2.6.0]
API changes
Added CLOCK_EnableFroClkRange API.
FRO clock name changed from FRO192M, FRO96M, FRO48M, FRO24M, FRO12M to FRO_DIV1,FRO_DIV2, FRO_DIV4, FRO_DIV8, FRO_DIV16.
Bug Fixes
Added kAUX0_PLL_to_MIPI_DPHYESC_CLK, kAUX1_PLL_to_MIPI_DPHYESC_CLK for clock_attach_id_t.
Fixed the error usage of macro in CLOCK_DeinitSysPfd() function.
[2.5.1]
Bug Fixes
Updated enum sys_pll_mult_t and audio_pll_mult_t to fix the supported MULT values for PLLs.
Added kHCLK_to_OSTIMER_CLK for clock_attach_id_t.
Fixed the calculation of main_pll_clk, dsp_pll_clk, aux0_pll_clk, aux0_pll_clk.
Renamed “kFRO192M_to_CLKOUT” to “kFRO96M_to_CLKOUT” to align with RM.
[2.5.0]
API change
Added CLOCK_SetClkinFreq API.
Other Changes
Macro “CLK_CLK_IN” changed to “CLK_EXT_CLKIN”.
[2.4.0]
API change
Added enableLowPower parameter in CLOCK_EnableSysOscClk().
Other Changes
Fixed C++ build errors.
Added assert in CLOCK_SetFRGClock(), the FRG DIV should be always set to 0xFF according to Reference Manual.
[2.3.1]
Other Changes:
Updated register access per the header file’s change.
[2.3.0]
New feature:
Moved SDK_DelayAtLeastUs function from clock driver to common driver.
[2.2.2]
Bug Fixes
Avoided waiting REQFLAG when divider configured to HALT in CLOCK_SetClkDiv().
[2.2.1]
Added CLOCK_EnableLpOscClk() and CLOCK_EnableFroClk() API
[2.2.0]
New feature
Added Deinit PLL&PFD API.
API change
Added delay_us parameter in CLOCK_EnableSysOscClk()
[2.1.0]
New feature
Adding new API CLOCK_DelayAtLeastUs() implemented by DWT to allow users set delay in unit of microsecond.
[2.0.1]
Updated clock_attach_id_t elements, removing the FRG(Fractional Generator) clock source selection from CLOCK_AttachClk.
Users need call CLOCK_SetFRGClock to set FRG clock source.
[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.1.1]
Fix MISRA issue.
[2.1.0]
Add CRC_WriteSeed function.
[2.0.2]
Fix MISRA issue.
[2.0.1]
Fixed KPSDK-13362. MDK compiler issue when writing to WR_DATA with -O3 optimize for time.
[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.
LPC_DMA
[2.5.3]
Improvements
Add assert in DMA_SetChannelXferConfig to prevent XFERCOUNT value overflow.
[2.5.2]
Bug Fixes
Use separate “SET” and “CLR” registers to modify shared registers for all channels, in case of thread-safe issue.
[2.5.1]
Bug Fixes
Fixed violation of the MISRA C-2012 rule 11.6.
[2.5.0]
Improvements
Added a new api DMA_SetChannelXferConfig to set DMA xfer config.
[2.4.4]
Bug Fixes
Fixed the issue that DMA_IRQHandle might generate redundant callbacks.
Fixed the issue that DMA driver cannot support channel bigger then 32.
Fixed violation of the MISRA C-2012 rule 13.5.
[2.4.3]
Improvements
Added features FSL_FEATURE_DMA_DESCRIPTOR_ALIGN_SIZEn/FSL_FEATURE_DMA0_DESCRIPTOR_ALIGN_SIZE/FSL_FEATURE_DMA1_DESCRIPTOR_ALIGN_SIZE to support the descriptor align size not constant in the two instances.
[2.4.2]
Bug Fixes
Fixed violation of the MISRA C-2012 rule 8.4.
[2.4.1]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 5.7, 8.3.
[2.4.0]
Improvements
Added new APIs DMA_LoadChannelDescriptor/DMA_ChannelIsBusy to support polling transfer case.
Bug Fixes
Added address alignment check for descriptor source and destination address.
Added DMA_ALLOCATE_DATA_TRANSFER_BUFFER for application buffer allocation.
Fixed the sign-compare warning.
Fixed violations of the MISRA C-2012 rules 18.1, 10.4, 11.6, 10.7, 14.4, 16.3, 20.7, 10.8, 16.1, 17.7, 10.3, 3.1, 18.1.
[2.3.0]
Bug Fixes
Removed DMA_HandleIRQ prototype definition from header file.
Added DMA_IRQHandle prototype definition in header file.
[2.2.5]
Improvements
Added new API DMA_SetupChannelDescriptor to support configuring wrap descriptor.
Added wrap support in function DMA_SubmitChannelTransfer.
[2.2.4]
Bug Fixes
Fixed the issue that macro DMA_CHANNEL_CFER used wrong parameter to calculate DSTINC.
[2.2.3]
Bug Fixes
Improved DMA driver Deinit function for correct logic order.
Improvements
Added API DMA_SubmitChannelTransferParameter to support creating head descriptor directly.
Added API DMA_SubmitChannelDescriptor to support ping pong transfer.
Added macro DMA_ALLOCATE_HEAD_DESCRIPTOR/DMA_ALLOCATE_LINK_DESCRIPTOR to simplify DMA descriptor allocation.
[2.2.2]
Bug Fixes
Do not use software trigger when hardware trigger is enabled.
[2.2.1]
Bug Fixes
Fixed Coverity issue.
[2.2.0]
Improvements
Changed API DMA_SetupDMADescriptor to non-static.
Marked APIs below as deprecated.
DMA_PrepareTransfer.
DMA_Submit transfer.
Added new APIs as below:
DMA_SetChannelConfig.
DMA_PrepareChannelTransfer.
DMA_InstallDescriptorMemory.
DMA_SubmitChannelTransfer.
DMA_SetChannelConfigValid.
DMA_DoChannelSoftwareTrigger.
DMA_LoadChannelTransferConfig.
[2.0.1]
Improvements
Added volatile for DMA descriptor member xfercfg to avoid optimization.
[2.0.0]
Initial version.
DMIC
[2.3.2]
New Features
Supported 4 channels in driver.
[2.3.1]
Bug Fixes
Fixed the issue that DMIC_EnableChannelDma and DMIC_EnableChannelFifo did not clean relevant bits.
[2.3.0]
Improvements
Added new apis DMIC_ResetChannelDecimator/DMIC_EnableChannelGlobalSync/DMIC_DisableChannelGlobalSync.
[2.2.1]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 14.4, 17.7, 10.4, 10.3, 10.8, 14.3.
[2.2.0]
Bug Fixes
Corrected the usage of feature FSL_FEATURE_DMIC_IO_HAS_NO_BYPASS.
[2.1.1]
Improvements
Added feature FSL_FEATURE_DMIC_HAS_NO_IOCFG for IOCFG register.
[2.1.0]
New Features
Added API DMIC_EnbleChannelInterrupt/DMIC_EnbleChannelDma to replace API DMIC_SetOperationMode.
Added API DMIC_SetIOCFG and marked DMIC_ConfigIO as deprecated.
Added API DMIC_EnableChannelSignExtend to support sign extend feature.
[2.0.5]
Improvements
Changed some parameters’ value of DMIC_FifoChannel API, such as enable, resetn, and trig_level. This is not possible for the current code logic, so it improves the DMIC_FifoChannel logic and fixes incorrect math logic.
[2.0.4]
Bug Fixes
Fixed the issue that DMIC DMA driver(ver2.0.3) did not support calling DMIC_TransferReceiveDMA in DMA callback as it did before version 2.0.3. But calling DMIC_TransferReceiveDMA in callback is not recommended.
[2.0.3]
New Features
Supported linked transfer in DMIC DMA driver.
Added new API DMIC_EnableChannelFifo/DMIC_DoFifoReset/DMIC_InstallDMADescriptor.
[2.0.2]
New Features
Supported more channels in driver.
[2.0.1]
New Features
Added a control macro to enable/disable the RESET and CLOCK code in current driver.
[2.0.0]
Initial version.
DMIC_DMA
[2.4.0]
Bug Fixes
Fixed the issue that DMIC_TransferAbortReceiveDMA can not disable dmic and dma request issue.
[2.3.1]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 10.3.
[2.3.0]
Refer DMIC driver change log 2.0.1 to 2.3.0
DSP
[2.0.1]
Fixed Misra issue.
[2.0.0]
initial version.
FLEXCOMM
[2.0.2]
Bug Fixes
Fixed typos in FLEXCOMM15_DriverIRQHandler().
Fixed MISRA issues.
Fixed rules 10.1, 10.3, 10.4, 10.7, 10.8, 11.3, 11.6, 11.8, 11.9, 13.5.
Improvements
Added instance calculation in FLEXCOMM16_DriverIRQHandler() to align with Flexcomm 14 and 15.
[2.0.1]
Improvements
Added more IRQHandler code in drivers to adapt new devices.
[2.0.0]
Initial version.
FLEXIO
[2.3.0]
Improvements
Supported platforms which don’t have DOZE mode control.
Added more pin control functions.
[2.2.3]
Improvements
Adapter the FLEXIO driver to platforms which don’t have system level interrupt controller, such as NVIC.
[2.2.2]
Improvements
Release peripheral from reset if necessary in init function.
[2.2.1]
Improvements
Added doxygen index parameter comment in FLEXIO_SetClockMode.
[2.2.0]
New Features
Added new APIs to support FlexIO pin register.
[2.1.0]
Improvements
Added API FLEXIO_SetClockMode to set flexio channel counter and source clock.
[2.0.4]
Bug Fixes
Fixed MISRA 8.4 issues.
[2.0.3]
Bug Fixes
Fixed MISRA 10.4 issues.
[2.0.2]
Improvements
Split FLEXIO component which combines all flexio/flexio_uart/flexio_i2c/flexio_i2s drivers into several components: FlexIO component, flexio_uart component, flexio_i2c_master component, and flexio_i2s component.
Bug Fixes
Fixed MISRA issues
Fixed rules 10.1, 10.3, 10.4, 10.7, 11.6, 11.9, 14.4, 17.7.
[2.0.1]
Bug Fixes
Fixed the dozen mode configuration error in FLEXIO_Init API. For enableInDoze = true, the configuration should be 0; for enableInDoze = false, the configuration should be 1.
FLEXIO_I2C
[2.6.0]
Improvements
Supported platforms which don’t have DOZE mode control.
[2.5.1]
Improvements
Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.
[2.5.0]
Improvements
Split some functions, fixed CCM problem in file fsl_flexio_i2c_master.c.
[2.4.0]
Improvements
Added delay of 1 clock cycle in FLEXIO_I2C_MasterTransferRunStateMachine to ensure that bus would be idle before next transfer if master is nacked.
Fixed issue that the restart setup time is less than the time in I2C spec by adding delay of 1 clock cycle before restart signal.
[2.3.0]
Improvements
Used 3 timers instead of 2 to support transfer which is more than 14 bytes in single transfer.
Improved FLEXIO_I2C_MasterTransferGetCount so that the API can check whether the transfer is still in progress.
Bug Fixes
Fixed MISRA 10.4 issues.
[2.2.0]
New Features
Added timeout mechanism when waiting certain state in transfer API.
Added an API for checking bus pin status.
Bug Fixes
Fixed COVERITY issue of useless call in FLEXIO_I2C_MasterTransferRunStateMachine.
Fixed MISRA issues
Fixed rules 10.1, 10.3, 10.4, 10.7, 11.6, 11.9, 14.4, 17.7.
Added codes in FLEXIO_I2C_MasterTransferCreateHandle to clear pending NVIC IRQ, disable internal IRQs before enabling NVIC IRQ.
Modified code so that during master’s nonblocking transfer the start and slave address are sent after interrupts being enabled, in order to avoid potential issue of sending the start and slave address twice.
[2.1.7]
Bug Fixes
Fixed the issue that FLEXIO_I2C_MasterTransferBlocking did not wait for STOP bit sent.
Fixed COVERITY issue of useless call in FLEXIO_I2C_MasterTransferRunStateMachine.
Fixed the issue that I2C master did not check whether bus was busy before transfer.
[2.1.6]
Bug Fixes
Fixed the issue that I2C Master transfer APIs(blocking/non-blocking) did not support the situation of master transfer with subaddress and transfer data size being zero, which means no data followed the subaddress.
[2.1.5]
Improvements
Unified component full name to FLEXIO I2C Driver.
[2.1.4]
Bug Fixes
The following modifications support FlexIO using multiple instances:
Removed FLEXIO_Reset API in module Init APIs.
Updated module Deinit APIs to reset the shifter/timer config instead of disabling module/clock.
Updated module Enable APIs to only support enable operation.
[2.1.3]
Improvements
Changed the prototype of FLEXIO_I2C_MasterInit to return kStatus_Success if initialized successfully or to return kStatus_InvalidArgument if “(srcClock_Hz / masterConfig->baudRate_Bps) / 2 - 1” exceeds 0xFFU.
[2.1.2]
Bug Fixes
Fixed the FLEXIO I2C issue where the master could not receive data from I2C slave in high baudrate.
Fixed the FLEXIO I2C issue where the master could not receive NAK when master sent non-existent addr.
Fixed the FLEXIO I2C issue where the master could not get transfer count successfully.
Fixed the FLEXIO I2C issue where the master could not receive data successfully when sending data first.
Fixed the Dozen mode configuration error in FLEXIO_I2C_MasterInit API. For enableInDoze = true, the configuration should be 0; for enableInDoze = false, the configuration should be 1.
Fixed the issue that FLEXIO_I2C_MasterTransferBlocking API called FLEXIO_I2C_MasterTransferCreateHandle, which lead to the s_flexioHandle/s_flexioIsr/s_flexioType variable being written. Then, if calling FLEXIO_I2C_MasterTransferBlocking API multiple times, the s_flexioHandle/s_flexioIsr/s_flexioType variable would not be written any more due to it being out of range. This lead to the following situation: NonBlocking transfer APIs could not work due to the fail of register IRQ.
[2.1.1]
Bug Fixes
Implemented the FLEXIO_I2C_MasterTransferBlocking API which is defined in header file but has no implementation in the C file.
[2.1.0]
New Features
Added Transfer prefix in transactional APIs.
Added transferSize in handle structure to record the transfer size.
FLEXIO_I2S
[2.2.1]
Improvements
Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.
[2.2.0]
New Features
Added timeout mechanism when waiting certain state in transfer API.
Bug Fixes
Fixed IAR Pa082 warnings.
Fixed violations of the MISRA C-2012 rules 10.4, 14.4, 11.8, 11.9, 10.1, 17.7, 11.6, 10.3, 10.7.
[2.1.6]
Bug Fixes
Added reset flexio before flexio i2s init to make sure flexio status is normal.
[2.1.5]
Bug Fixes
Fixed the issue that I2S driver used hard code for bitwidth setting.
[2.1.4]
Improvements
Unified component’s full name to FLEXIO I2S (DMA/EDMA) driver.
[2.1.3]
Bug Fixes
The following modifications support FLEXIO using multiple instances:
Removed FLEXIO_Reset API in module Init APIs.
Updated module Deinit APIs to reset the shifter/timer config instead of disabling module/clock.
Updated module Enable APIs to only support enable operation.
[2.1.2]
New Features
Added configure items for all pin polarity and data valid polarity.
Added default configure for pin polarity and data valid polarity.
[2.1.1]
Bug Fixes
Fixed FlexIO I2S RX data read error and eDMA address error.
Fixed FlexIO I2S slave timer compare setting error.
[2.1.0]
New Features
Added Transfer prefix in transactional APIs.
Added transferSize in handle structure to record the transfer size.
FLEXIO_MCU_LCD
[2.2.0]
Improvements
Supported platforms which don’t have DOZE mode control.
[2.1.0]
New Features
Supported transmit only data without command.
[2.0.8]
Bug Fixes
Fixed bug that FLEXIO_MCULCD_Init return kStatus_Success even with invalid parameter.
Fixed glitch on WR, that when initially configure the timer pin as output, or change the pin back to disabled, the pin may be driven low causing glitch on bus. Configure the pin as bidirection output first then perform a subsequent write to change to output or dsiabled to avoid the issue.
[2.0.6]
Bug Fixes
Fixed MISRA 10.4 issues when FLEXIO_MCULCD_DATA_BUS_WIDTH defined as signed value.
[2.0.5]
Improvements
Changed FLEXIO_MCULCD_WriteDataArrayBlocking’s data parameter to const type.
[2.0.4]
Bug Fixes
Fixed MISRA 10.4 issues.
[2.0.3]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 10.1, 10.3, 10.4, 10.6, 14.4, 17.7.
[2.0.2]
Improvements
Unified component full name to FLEXIO_MCU_LCD (EDMA) driver.
[2.0.1]
Bug Fixes
The following modification to support FlexIO using multiple instances:
Removed FLEXIO_Reset API in module Init APIs.
Updated module Deinit APIs to reset the shifter/timer configuration instead of disabling module and clock.
Updated module Enable APIs to only support enable operation.
[2.0.0]
Initial version.
FLEXIO_MCU_LCD_SMARTDMA
[2.0.4]
New Features
Supported the platforms which use FlexIO SHIFTER DMA to trigger SmartDMA, such as MCXN235, MCXN236.
[2.0.3]
New Features
Supported transmit only data without command.
[2.0.2]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 10.1, 10.3, 10.4, 10.6, 14.4, 17.7.
[2.0.1]
Other Changes
Update driver implementation due to SMARTDMA driver update.
[2.0.0]
Initial version.
FLEXIO_QSPI
[2.1.0]
Improvements
Supported platforms which don’t have DOZE mode control.
[2.0.0]
New Features
Simplex QSPI.
FLEXIO_QSPI_SMARTDMA
[2.0.1]
Improvements
Update driver to work with SmartDMA driver 2.11.0.
[2.0.0]
New Features
Simplex QSPI.
FLEXIO_SPI
[2.4.0]
Improvements
Supported platforms which don’t have DOZE mode control.
[2.3.5]
Improvements
Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.
[2.3.4]
Bug Fixes
Fixed the txData from void * to const void * in transmit API
[2.3.3]
Bugfixes
Fixed cs-continuous mode.
[2.3.2]
Improvements
Changed FLEXIO_SPI_DUMMYDATA to 0x00.
[2.3.1]
Bugfixes
Fixed IRQ SHIFTBUF overrun issue when one FLEXIO instance used as multiple SPIs.
[2.3.0]
New Features
Supported FLEXIO_SPI slave transfer with continuous master CS signal and CPHA=0.
Supported FLEXIO_SPI master transfer with continuous CS signal.
Support 32 bit transfer width.
Bug Fixes
Fixed wrong timer compare configuration for dma/edma transfer.
Fixed wrong byte order of rx data if transfer width is 16 bit, since the we use shifter buffer bit swapped/byte swapped register to read in received data, so the high byte should be read from the high bits of the register when MSB.
[2.2.1]
Bug Fixes
Fixed bug in FLEXIO_SPI_MasterTransferAbortEDMA that when aborting EDMA transfer EDMA_AbortTransfer should be used rather than EDMA_StopTransfer.
[2.2.0]
Improvements
Added timeout mechanism when waiting certain states in transfer driver.
Bug Fixes
Fixed MISRA 10.4 issues.
Added codes in FLEXIO_SPI_MasterTransferCreateHandle and FLEXIO_SPI_SlaveTransferCreateHandle to clear pending NVIC IRQ before enabling NVIC IRQ, to fix issue of pending IRQ interfering the on-going process.
[2.1.3]
Improvements
Unified component full name to FLEXIO SPI(DMA/EDMA) Driver.
Bug Fixes
Fixed MISRA issues
Fixed rules 10.1, 10.3, 10.4, 10.7, 11.6, 11.9, 14.4, 17.7.
[2.1.2]
Bug Fixes
The following modification support FlexIO using multiple instances:
Removed FLEXIO_Reset API in module Init APIs.
Updated module Deinit APIs to reset the shifter/timer config instead of disabling module/clock.
Updated module Enable APIs to only support enable operation.
[2.1.1]
Bug Fixes
Fixed bug where FLEXIO SPI transfer data is in 16 bit per frame mode with eDMA.
Fixed bug when FLEXIO SPI works in eDMA and interrupt mode with 16-bit per frame and Lsbfirst.
Fixed the Dozen mode configuration error in FLEXIO_SPI_MasterInit/FLEXIO_SPI_SlaveInit API. For enableInDoze = true, the configuration should be 0; for enableInDoze = false, the configuration should be 1.
Improvements
Added #ifndef/#endif to allow users to change the default TX value at compile time.
[2.1.0]
New Features
Added Transfer prefix in transactional APIs.
Added transferSize in handle structure to record the transfer size.
Bug Fixes
Fixed the error register address return for 16-bit data write in FLEXIO_SPI_GetTxDataRegisterAddress.
Provided independent IRQHandler/transfer APIs for Master and slave to fix the baudrate limit issue.
FLEXIO_UART
[2.6.0]
Improvements
Supported platforms which don’t have DOZE mode control.
[2.5.1]
Improvements
Conditionally compile interrupt handling code to solve the problem of using this driver on CPU cores that do not support interrupts.
[2.5.0]
Improvements
Added API FLEXIO_UART_FlushShifters to flush UART fifo.
[2.4.0]
Improvements
Use separate data for TX and RX in flexio_uart_transfer_t.
Bug Fixes
Fixed bug that when ring buffer is used, if some data is received in ring buffer first before calling FLEXIO_UART_TransferReceiveNonBlocking, the received data count returned by FLEXIO_UART_TransferGetReceiveCount is wrong.
[2.3.0]
Improvements
Added check for baud rate’s accuracy that returns kStatus_FLEXIO_UART_BaudrateNotSupport when the best achieved baud rate is not within 3% error of configured baud rate.
Bug Fixes
Added codes in FLEXIO_UART_TransferCreateHandle to clear pending NVIC IRQ before enabling NVIC IRQ, to fix issue of pending IRQ interfering the on-going process.
[2.2.0]
Improvements
Added timeout mechanism when waiting for certain states in transfer driver.
Bug Fixes
Fixed MISRA 10.4 issues.
[2.1.6]
Bug Fixes
Fixed IAR Pa082 warnings.
Fixed MISRA issues
Fixed rules 10.1, 10.3, 10.4, 10.7, 11.6, 11.9, 14.4, 17.7.
[2.1.5]
Improvements
Triggered user callback after all the data in ringbuffer were received in FLEXIO_UART_TransferReceiveNonBlocking.
[2.1.4]
Improvements
Unified component full name to FLEXIO UART(DMA/EDMA) Driver.
[2.1.3]
Bug Fixes
The following modifications support FLEXIO using multiple instances:
Removed FLEXIO_Reset API in module Init APIs.
Updated module Deinit APIs to reset the shifter/timer configuration instead of disabling module and clock.
Updated module Enable APIs to only support enable operation.
[2.1.2]
Bug Fixes
Fixed the transfer count calculation issue in FLEXIO_UART_TransferGetReceiveCount, FLEXIO_UART_TransferGetSendCount, FLEXIO_UART_TransferGetReceiveCountDMA, FLEXIO_UART_TransferGetSendCountDMA, FLEXIO_UART_TransferGetReceiveCountEDMA and FLEXIO_UART_TransferGetSendCountEDMA.
Fixed the Dozen mode configuration error in FLEXIO_UART_Init API. For enableInDoze = true, the configuration should be 0; for enableInDoze = false, the configuration should be 1.
Added code to report errors if the user sets a too-low-baudrate which FLEXIO cannot reach.
Disabled FLEXIO_UART receive interrupt instead of all NVICs when reading data from ring buffer. If ring buffer is used, receive nonblocking will disable all NVIC interrupts to protect the ring buffer. This had negative effects on other IPs using interrupt.
[2.1.1]
Bug Fixes
Changed the API name FLEXIO_UART_StopRingBuffer to FLEXIO_UART_TransferStopRingBuffer to align with the definition in C file.
[2.1.0]
New Features
Added Transfer prefix in transactional APIs.
Added txSize/rxSize in handle structure to record the transfer size.
Bug Fixes
Added an error handle to handle the situation that data count is zero or data buffer is NULL.
FLEXSPI
[2.6.3]
Bug Fixes
Fixed an issue which cause IPCR1[IPAREN] cleared by mistake.
[2.6.2]
Bug Fixes
Wait Bus IDLE before operation of FLEXSPI_SoftwareReset(), FLEXSPI_TransferBlocking() and FLEXSPI_TransferNonBlocking().
[2.6.1]
Bug Fixes
Updated code of reset peripheral.
Updated FLEXSPI_UpdateLUT() to check if input lut address is not in Flexspi AMBA region.
Updated FLEXSPI_Init() to check if input AHB buffer size exceeded maximum AHB size.
[2.6.0]
New Features
Added new API to set AHB memory-mapped flash base address.
Added support of DLLxCR[REFPHASEGAP] bit field, it is recommended to set it as 0x2 if DLL calibration is enabled.
[2.5.1]
Bugfixes
Fixed handling of W1C bits in the INTR register
Removed FIFO resets from FLEXSPI_CheckAndClearError
FLEXSPI_TransferBlocking is observing IPCMDDONE and then fetches the final status of the transfer
Fixed issue that FLEXSPI2_DriverIRQHandler not defined.
[2.5.0]
Improvements
Supported word un-aligned access for write/read blocking/non-blocking API functions.
Fixed dead loop issue in DLL update function when using FRO clock source.
Fixed violations of the MISRA C-2012 Rule 10.3.
[2.4.0]
Improvements
Isolated IP command parallel mode and AHB command parallel mode using feature MACRO.
Supported new column address shift feature for external memory.
[2.3.5]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 14.2.
[2.3.4]
Bug Fixes
Updated flexspi_config_t structure and FlexSPI_Init to support new feature FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_CONBINATION.
[2.3.3]
Bug Fixes
Removed feature FSL_FEATURE_FLEXSPI_DQS_DELAY_PS for DLL delay setting. Changed to use feature FSL_FEATURE_FLEXSPI_DQS_DELAY_MIN to set slave delay target as 0 for DLL enable and clock frequency higher than 100MHz.
[2.3.2]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 8.4, 8.5, 10.1, 10.3, 10.4, 11.6 and 14.4.
[2.3.1]
Bug Fixes
Wait for bus to be idle before using it as access to external flash with new setting in FLEXSPI_SetFlashConfig() API.
Fixed the potential buffer overread and Tx FIFO overwrite issue in FLEXSPI_WriteBlocking.
[2.3.0]
New Features
Added new API FLEXSPI_UpdateDllValue for users to update DLL value after updating flexspi root clock.
Corrected grammatical issues for comments.
Added support for new feature FSL_FEATURE_FLEXSPI_DQS_DELAY_PS in DLL configuration.
[2.2.2]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 10.1, 10.3 and 10.4.
Updated _flexspi_command from named enumerator into anonymous enumerator.
[2.2.1]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 10.1, 10.3, 10.4, 10.8, 11.9, 14.4, 15.7, 16.4, 17.7, 7.3.
Fixed IAR build warning Pe167.
Fixed the potential buffer overwrite and Rx FIFO overread issue in FLEXSPI_ReadBlocking.
[2.2.0]
Bug Fixes
Fixed flag name typos: kFLEXSPI_IpTxFifoWatermarkEmpltyFlag to kFLEXSPI_IpTxFifoWatermarkEmptyFlag; kFLEXSPI_IpCommandExcutionDoneFlag to kFLEXSPI_IpCommandExecutionDoneFlag.
Fixed comments typos such as sequencen->sequence, levle->level.
Fixed FLSHCR2[ARDSEQID] field clean issue.
Updated flexspi_config_t structure and FlexSPI_Init to support new feature FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ATDFEN and FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ARDFEN.
Updated flexspi_flags_t structure to support new feature FSL_FEATURE_FLEXSPI_HAS_INTEN_AHBBUSERROREN.
[2.1.1]
Improvements
Defaulted enable prefetch for AHB RX buffer configuration in FLEXSPI_GetDefaultConfig, which is align with the reset value in AHBRXBUFxCR0.
Added software workaround for ERR011377 in FLEXSPI_SetFlashConfig; added some delay after DLL lock status set to ensure correct data read/write.
[2.1.0]
New Features
Added new API FLEXSPI_UpdateRxSampleClock for users to update read sample clock source after initialization.
Added reset peripheral operation in FLEXSPI_Init if required.
[2.0.5]
Bug Fixes
Fixed FLEXSPI_UpdateLUT cannot do partial update issue.
[2.0.4]
Bug Fixes
Reset flash size to zero for all ports in FLEXSPI_Init; fixed the possible out-of-range flash access with no error reported.
[2.0.3]
Bug Fixes
Fixed AHB receive buffer size configuration issue. The FLEXSPI_AHBRXBUFCR0_BUFSZ field should configure 64 bits size, and currently the AHB receive buffer size is in bytes which means 8-bit, so the correct configuration should be config->ahbConfig.buffer[i].bufferSize / 8.
[2.0.2]
New Features
Supported DQS write mask enable/disable feature during set FLEXSPI configuration.
Provided new API FLEXSPI_TransferUpdateSizeEDMA for users to update eDMA transfer size(SSIZE/DSIZE) per DMA transfer.
Bug Fixes
Fixed invalid operation of FLEXSPI_Init to enable AHB bus Read Access to IP RX FIFO.
Fixed incorrect operation of FLEXSPI_Init to configure IP TX FIFO watermark.
[2.0.1]
Bug Fixes
Fixed the flag clear issue and AHB read Command index configuration issue in FLEXSPI_SetFlashConfig.
Updated FLEXSPI_UpdateLUT function to update LUT table from any index instead of previous command index.
Added bus idle wait in FLEXSPI_SetFlashConfig and FLEXSPI_UpdateLUT to ensure bus is idle before any change to FlexSPI controller.
Updated interrupt API FLEXSPI_TransferNonBlocking and interrupt handle flow FLEXSPI_TransferHandleIRQ.
Updated eDMA API FLEXSPI_TransferEDMA.
[2.0.0]
Initial version.
FLEXSPI DMA Driver
[2.2.1]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 10.1, 10.3, 10.4, 10.8.
[2.2.0]
Bug Fixes
Fixed violations of the MISRA C-2012 Rule 10.1, 10.3.
New Features
Updated name of FLEXSPI_TransferGetTransferCountDMA API.
[2.1.1]
New Features
Updated driver to support feature FSL_FEATURE_FLEXSPI_DMA_MULTIPLE_DES.
[2.1.0]
Bug Fixes
Updated enumaration flexspi_dma_transfer_nsize_t and remove the unsupported items.
New Features
Updated driver for deprecating the multiple linked descriptors inside FLEXSPI_TransferDMA, only up to one linked descriptor is needed according to hardware update.
[2.0.0]
Initial version.
FMEAS
[2.1.1]
Bug Fixes
MISRA C-2012 issues fixed: rule 10.4, rule 10.8.
[2.1.0]
Updated “FMEAS_GetFrequency”,”FMEAS_StartMeasure”,”FMEAS_IsMeasureComplete” API and add definition to match ASYNC_SYSCON.
[2.0.0]
Initial version ported from LPCOpen.
GPIO
[2.1.7]
Improvements
Enhanced GPIO_PinInit to enable clock internally.
[2.1.6]
Bug Fixes
Clear bit before set it within GPIO_SetPinInterruptConfig() API.
[2.1.5]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 3.1, 10.6, 10.7, 17.7.
[2.1.4]
Improvements
Added API GPIO_PortGetInterruptStatus to retrieve interrupt status for whole port.
Corrected typos in header file.
[2.1.3]
Improvements
Updated “GPIO_PinInit” API. If it has DIRCLR and DIRSET registers, use them at set 1 or clean 0.
[2.1.2]
Improvements
Removed deprecated APIs.
[2.1.1]
Improvements
API interface changes:
Refined naming of APIs while keeping all original APIs, marking them as deprecated. Original APIs will be removed in next release. The mainin change is updating APIs with prefix of _PinXXX() and _PorortXXX
[2.1.0]
New Features
Added GPIO initialize API.
[2.0.0]
Initial version.
HASHCRYPT
[2.0.0]
Initial version.
[2.0.1]
Supported loading AES key from unaligned address.
[2.0.2]
Supported loading AES key from unaligned address for different compiler and core variants.
[2.0.3]
Remove SHA512 and AES ICB algorithm definitions
[2.0.4]
Add SHA context switch support
[2.1.0]
Update the register name and macro to align with new header.
Fixed the sign-compare warning in hashcrypt_load_data.
[2.1.1]
Fix MISRA C-2012.
[2.1.2]
Support loading AES input data from unaligned address.
[2.1.3]
Fix MISRA C-2012.
[2.1.4]
Fix context switch cannot work when switching from AES.
[2.1.5]
Add data synchronization barrier inside hashcrypt_sha_ldm_stm_16_words() to prevent possible optimization issue.
[2.2.0]
Add AES-OFB and AES-CFB mixed IP/SW modes.
[2.2.1]
Add data synchronization barrier inside hashcrypt_sha_ldm_stm_16_words() prevent compiler from reordering memory write when -O2 or higher is used.
[2.2.2]
Add data synchronization barrier inside hashcrypt_sha_ldm_stm_16_words() to fix optimization issue
[2.2.3]
Added check for size in hashcrypt_aes_one_block to prevent overflowing COUNT field in MEMCTRL register, if its bigger than COUNT field do a multiple runs.
[2.2.4]
In all HASHCRYPT_AES_xx functions have been added setting CTRL_MODE bitfield to 0 after processing data, which decreases power consumption.
[2.2.5]
Add data synchronization barrier and instruction synchronization barrier inside hashcrypt_sha_process_message_data() to fix optimization issue
[2.2.6]
Add data synchronization barrier inside HASHCRYPT_SHA_Update() and hashcrypt_get_data() function to fix optimization issue on MDK and ARMGCC release targets
[2.2.7]
Add data synchronization barrier inside HASHCRYPT_SHA_Update() to fix optimization issue on MCUX IDE release target
[2.2.8]
Unify hashcrypt hashing behavior between aligned and unaligned input data
[2.2.9]
Add handling of set ERROR bit in the STATUS register
[2.2.10]
Fix missing error statement in hashcrypt_save_running_hash()
[2.2.11]
Fix incorrect SHA-256 calculation for long messages with reload
[2.2.12]
Fix hardfault issue on the Keil compiler due to unaligned memcpy() input on some optimization levels
[2.2.13]
Added function hashcrypt_seed_prng() which loading random number into PRNG_SEED register before AES operation for SCA protection
[2.2.14]
Modify function hashcrypt_get_data() to prevent issue with unaligned access
[2.2.15]
Add wait on DIGEST BIT inside hashcrypt_sha_one_block() to fix issues with some optimization flags
[2.2.16]
Add DSB instruction inside hashcrypt_sha_ldm_stm_16_words() to fix issues with some optimization flags
I2C
[2.3.3]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 10.1.
Fixed issue that if master only sends address without data during I2C interrupt transfer, address nack cannot be detected.
[2.3.2]
Improvement
Enable or disable timeout option according to enableTimeout.
Bug Fixes
Fixed timeout value calculation error.
Fixed bug that the interrupt transfer cannot recover from the timeout error.
[2.3.1]
Improvement
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.
Bug Fixes
Fixed bug in I2C_SlaveEnable that the slave enable/disable should not affect the other register bits.
[2.3.0]
Improvement
Added new return codes kStatus_I2C_EventTimeout and kStatus_I2C_SclLowTimeout, and added the check for event timeout and SCL timeout in I2C master transfer.
Fixed bug in slave transfer that the address match event should be invoked before not after slave transmit/receive event.
[2.2.0]
New Features
Added enumeration _i2c_status_flags to include all previous master and slave status flags, and added missing status flags.
Modified I2C_GetStatusFlags to get all I2C flags.
Added API I2C_ClearStatusFlags to clear all clearable flags not just master flags.
Modified master transactional APIs to enable bus event timeout interrupt during transfer, to avoid glitch on bus causing transfer hangs indefinitely.
Bug Fixes
Fixed bug that status flags and interrupt enable masks share the same enumerations by adding enumeration _i2c_interrupt_enable for all master and slave interrupt sources.
[2.1.0]
Bug Fixes
Fixed bug that during master transfer, when master is nacked during slave probing or sending subaddress, the return status should be kStatus_I2C_Addr_Nak rather than kStatus_I2C_Nak.
Bug Fixes
Fixed MISRA issues.
Fixed rules 10.1, 10.4, 13.5.
New Features
Added macro I2C_MASTER_TRANSMIT_IGNORE_LAST_NACK, so that user can configure whether to ignore the last byte being nacked by slave during master transfer.
[2.0.8]
Bug Fixes
Fixed I2C_MasterSetBaudRate issue that MSTSCLLOW and MSTSCLHIGH are incorrect when MSTTIME is odd.
[2.0.7]
Bug Fixes
Two dividers, CLKDIV and MSTTIME are used to configure baudrate. According to reference manual, in order to generate 400kHz baudrate, the clock frequency after CLKDIV must be less than 2mHz. Fixed the bug that, the clock frequency after CLKDIV may be larger than 2mHz using the previous calculation method.
Fixed MISRA 10.1 issues.
Fixed wrong baudrate calculation when feature FSL_FEATURE_I2C_PREPCLKFRG_8MHZ is enabled.
[2.0.6]
New Features
Added master timeout self-recovery support for feature FSL_FEATURE_I2C_TIMEOUT_RECOVERY.
Bug Fixes
Eliminated IAR Pa082 warning.
Fixed MISRA issues.
Fixed rules 10.1, 10.3, 10.4, 10.7, 10.8, 11.3, 11.6, 11.8, 11.9, 13.5.
[2.0.5]
Bug Fixes
Fixed wrong assignment for datasize in I2C_InitTransferStateMachineDMA.
Fixed wrong working flow in I2C_RunTransferStateMachineDMA to ensure master can work in no start flag and no stop flag mode.
Fixed wrong working flow in I2C_RunTransferStateMachine and added kReceiveDataBeginState in _i2c_transfer_states to ensure master can work in no start flag and no stop flag mode.
Fixed wrong handle state in I2C_MasterTransferDMAHandleIRQ. After all the data has been transfered or nak is returned, handle state should be changed to idle.
Improvements
Rounded up the calculated divider value in I2C_MasterSetBaudRate.
[2.0.4]
Improvements
Updated the I2C_WATI_TIMEOUT macro to unified name I2C_RETRY_TIMES
Updated the “I2C_MasterSetBaudRate” API to support baudrate configuration for feature QN9090.
Bug Fixes
Fixed build warnning caused by uninitialized variable.
Fixed COVERITY issue of unchecked return value in I2C_RTOS_Transfer.
[2.0.3]
Improvements
Unified the component full name to FLEXCOMM I2C(DMA/FREERTOS) driver.
[2.0.2]
Improvements
In slave IRQ:
Changed slave receive process to first set the I2C_SLVCTL_SLVCONTINUE_MASK to acknowledge the received data, then do data receive.
Improved slave transmit process to set the I2C_SLVCTL_SLVCONTINUE_MASK immediately after writing the data.
[2.0.1]
Improvements
Added I2C_WATI_TIMEOUT macro to allow users to specify the timeout times for waiting flags in functional API and blocking transfer API.
[2.0.0]
Initial version.
I2S
[2.3.2]
Bug Fixes
Fixed warning for comparison between pointer and integer.
[2.3.1]
Bug Fixes
Updated the value of TX/RX software transfer state machine after transfer contents are submitted to avoid race condition.
[2.3.0]
Improvements
Added api I2S_InstallDMADescriptorMemory/I2S_TransferSendLoopDMA/I2S_TransferReceiveLoopDMA to support loop transfer.
Added api I2S_EmptyTxFifo to support blocking flush tx fifo.
Updated api I2S_TransferAbortDMA by removed the blocking flush tx fifo from this function.
Bug Fixes
Removed the while loop in abort transfer function to fix the dead loop issue under specific user case.
[2.2.2]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 8.4.
[2.2.1]
Improvements
Added feature FSL_FEATURE_FLEXCOMM_INSTANCE_I2S_SUPPORT_SECONDARY_CHANNELn for the SOC has parts of instance support secondary channel.
Bug Fixes
Added volatile statement for the state variable of i2s_handle and enable the mainline channel pair before enable interrupt to avoid the issue of code excution reordering which may cause the interrupt generated unexpectedly.
[2.2.0]
Improvements
Added 8/16/24 bits mono data format transfer support in I2S driver.
Added new apis I2S_SetBitClockRate.
Bug Fixes
Fixed the PA082 build warning.
Fixed the sign-compare warning.
Fixed violations of the MISRA C-2012 rules 10.4, 10.8, 11.9, 10.1, 11.3, 13.5, 11.8, 10.3, 10.7.
Fixed the Operand don’t affect result Coverity issue.
[2.1.0]
Improvements
Added a feature for the FLEXCOMM which supports I2S and has interconnection with DMIC.
Used a feature to control PDMDATA instead of I2S_CFG1_PDMDATA.
Added member bytesPerFrame in i2s_dma_handle_t, used for DMA transfer width configure, instead of using sizeof(uint32_t) hardcode.
Used the macro provided by DMA driver to define the I2S DMA descriptor.
Bug Fixes
Fixed the issue that I2S DMA driver always generated duplicate callback.
[2.0.3]
New Features
Added a feature to remove configuration for the second channel on LPC51U68.
[2.0.2]
New Features
Added ENABLE_IRQ handle after register I2S interrupt handle.
[2.0.1]
Improvements
Unified the component full name to FLEXCOMM I2S (DMA) driver.
[2.0.0]
Initial version.
I2S_DMA
[2.3.3]
Bug Fixes
Fixed data size limit does not match the macro DMA_MAX_TRANSFER_BYTES issue.
[2.3.2]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 10.3.
[2.3.1]
Refer I2S driver change log 2.0.1 to 2.3.1
I3C
[2.13.1]
Bug Fixes
Disabled Rx auto-termination in repeated start interrupt event while transfer API doesn’t enable it.
Waited the completion event after loading all Tx data in Tx FIFO.
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]
New features
Added the hot-join support for I3C bus initialization API.
Bug Fixes
Set read termination with START at the same time in case unknown issue.
Set MCTRL[TYPE] as 0 for DDR force exit.
Improvements
Added the API to reset device count assigned by ENTDAA.
Provided the method to set global macro I3C_MAX_DEVCNT to determine how many device addresses ENTDAA can allocate at one time.
Initialized target management static array based on instance number for the case that multiple instances are used at the same time.
[2.12.0]
Improvements
Added the slow clock parameter for Controller initialization function to calculate accurate timeout.
Bug Fixes
Fixed the issue that BAMATCH field can’t be 0. BAMATCH should be 1 for 1MHz slow clock.
[2.11.1]
Bug Fixes
Fixed the issue that interrupt API transmits extra byte when subaddress and data size are null.
Fixed the slow clock calculation issue.
[2.11.0]
New features
Added the START/ReSTART SCL delay setting for the Soc which supports this feature.
Bug Fixes
Fixed the issue that ENTDAA process waits Rx pending flag which causes problem when Rx watermark isn’t 0. Just check the Rx FIFO count.
[2.10.8]
Improvements
Support more instances.
[2.10.7]
Improvements
Fixed the potential compile warning.
[2.10.6]
New features
Added the I3C private read/write with 0x7E address as start.
[2.10.5]
New features
Added I3C HDR-DDR transfer support.
[2.10.4]
Improvements
Added one more option for master to not set RDTERM when doing I3C Common Command Code transfer.
[2.10.3]
Improvements
Masked the slave IBI/MR/HJ request functions with feature macro.
[2.10.2]
Bug Fixes
Added workaround for errata ERR051617: I3C working with I2C mode creates the unintended Repeated START before actual STOP on some platforms.
[2.10.1]
Bug Fixes
Fixed the issue that DAA function doesn’t wait until all Rx data is read out from FIFO after master control done flag is set.
Fixed the issue that DAA function could return directly although the disabled interrupts are not enabled back.
[2.10.0]
New features
Added I3C extended IBI data support.
[2.9.0]
Improvements
Added adaptive termination for master blocking transfer. Set termination with start signal when receiving bytes less than 256.
[2.8.2]
Improvements
Fixed the build warning due to armgcc strict check.
[2.8.1]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 17.7.
[2.8.0]
Improvements
Added API I3C_MasterProcessDAASpecifiedBaudrate for temporary baud rate adjustment when I3C master assigns dynamic address.
[2.7.1]
Bug Fixes
Fixed the issue that I3C slave handle STOP event before finishing data transmission.
[2.7.0]
Fixed the CCM problem in file fsl_i3c.c.
Fixed the FSL_FEATURE_I3C_HAS_NO_SCONFIG_IDRAND usage issue in I3C_GetDefaultConfig and I3C_Init.
[2.6.0]
Fixed the FSL_FEATURE_I3C_HAS_NO_SCONFIG_IDRAND usage issue in fsl_i3c.h.
Changed some static functions in fsl_i3c.c as non-static and define the functions in fsl_i3c.h to make I3C DMA driver reuse:
I3C_GetIBIType
I3C_GetIBIAddress
I3C_SlaveCheckAndClearError
Changed the handle pointer parameter in IRQ related funtions to void * type to make it reuse in I3C DMA driver.
Added new API I3C_SlaveRequestIBIWithSingleData for slave to request single data byte, this API could be used regardless slave is working in non-blocking interrupt or non-blocking dma.
Added new API I3C_MasterGetDeviceListAfterDAA for master application to get the device information list built up in DAA process.
[2.5.4]
Improved I3C driver to avoid setting state twice in the SendCommandState of I3C_RunTransferStateMachine.
Fixed MISRA violation of rule 20.9.
Fixed the issue that I3C_MasterEmitRequest did not use Type I3C SDR.
[2.5.3]
Updated driver for new feature FSL_FEATURE_I3C_HAS_NO_SCONFIG_BAMATCH and FSL_FEATURE_I3C_HAS_NO_SCONFIG_IDRAND.
[2.5.2]
Updated driver for new feature FSL_FEATURE_I3C_HAS_NO_MERRWARN_TERM.
Fixed the issue that call to I3C_MasterTransferBlocking API did not generate STOP signal when NAK status was returned.
[2.5.1]
Improved the receive terminate size setting for interrupt transfer read, now it’s set at beginning of transfer if the receive size is less than 256 bytes.
[2.5.0]
Added new API I3C_MasterRepeatedStartWithRxSize to send repeated start signal with receive terminate size specified.
Fixed the status used in I3C_RunTransferStateMachine, changed to use pending interrupts as status to be handled in the state machine.
Fixed MISRA 2012 violation of rule 10.3, 10.7.
[2.4.0]
Bug Fixes
Fixed kI3C_SlaveMatchedFlag interrupt is not properly handled in I3C_SlaveTransferHandleIRQ when it comes together with interrupt kI3C_SlaveBusStartFlag.
Fixed the inaccurate I2C baudrate calculation in I3C_MasterSetBaudRate.
Added new API I3C_MasterGetIBIRules to get registered IBI rules.
Added new variable isReadTerm in struct _i3c_master_handle for transfer state routine to check if MCTRL.RDTERM is configured for read transfer.
Changed to emit Auto IBI in transfer state routine for slave start flag assertion.
Fixed the slave maxWriteLength and maxReadLength does not be configured into SMAXLIMITS register issue.
Fixed incorrect state for IBI in I3C master interrupt transfer IRQ handle routine.
Added isHotJoin in i3c_slave_config_t to request hot-join event during slave init.
[2.3.2]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 8.4, 17.7.
Fixed incorrect HotJoin event index in I3C_GetIBIType.
[2.3.1]
Bug Fixes
Fixed the issue that call of I3C_MasterTransferBlocking/I3C_MasterTransferNonBlocking fails for the case which receive length 1 byte of data.
Fixed the issue that STOP signal is not sent when NAK status is detected during execution of I3C_MasterTransferBlocking function.
[2.3.0]
Improvements
Added I3C common driver APIs to initialize I3C with both master and slave configuration.
Updated I3C master transfer callback to function set structure to include callback invoke for IBI event and slave2master event.
Updated I3C master non-blocking transfer model and always enable the interrupts to be able to re-act to the slave start event and handle slave IBI.
[2.2.0]
Bug Fixes
Fixed the issue that I3C transfer size limit to 255 bytes.
[2.1.2]
Bug Fixes
Reset default hkeep value to kI3C_MasterHighKeeperNone in I3C_MasterGetDefaultConfig
[2.1.1]
Bug Fixes
Fixed incorrect FIFO reset operation in I3C Master Transfer APIs.
Fixed i3c slave IRQ handler issue, slave transmit could be underrun because tx FIFO is not filled in time right after start flag detected.
[2.1.0]
Added definitions and APIs for I3C slave functionality, updated previous I3C APIs to support I3C functionality.
[2.0.0]
Initial version.
I3C_DMA
[2.1.8]
Bug Fixes
Updated the logic to handle Rx termination and complete event to adapt different situation.
Improvements
Added the MCTRLDONE flag check after STOP request to ensure the completion of whole transfer operation.
[2.1.7]
Bug Fixes
Fixed the issue to use subaddress to read/write data with RT500/600 DMA.
[2.1.6]
Improvements
Added the FSL_FEATURE_I3C_HAS_NO_MASTER_DMA_WDATA_REG to select the correct register to write data based on specific Soc.
[2.1.5]
New features
Supported I3C HDR-DDR transfer with DMA.
Improvements
Added workaround for RT500/600 I3C DMA transfer.
Removed I3C IRQ handler calling in the Tx EDMA callback. Previously driver doesn’t use the END byte which can trigger the complete interrupt for controller sending and receiving, now let I3C event handler deal with I3C events.
Used linked DMA to transfer all I3C subaddress and data without handling of intermediate states, simplifying code logic.
Prepare the Tx DMA before I3C START to ensure there’s no time delay between START and transmitting data.
[2.1.4]
Improvements
Used linked DMA transfer to reduce the latency between DMA transfers previous data and the END byte.
[2.1.3]
Bug Fixes
Fixed the MISRA issue rule 10.4, 11.3.
[2.1.2]
Bug Fixes
Fixed the issue that I3C slave send the last byte data without using the END type register.
[2.1.1]
Bug Fixes
Fixed MISRA issue rule 9.1.
[2.1.0]
Improvements
Deleted legacy IBI data request code.
[2.0.1]
Bug Fixes
Fixed issue that bus STOP occurs when Tx FIFO still takes data.
Improvements
Fixed the build warning due to armgcc strict check.
[2.0.0]
Initial version.
IAP
[2.1.3]
Bug Fixes
Fixed misra issue.
[2.1.2]
Bug Fixes
Fixed some macro undefined issue.
Put IAP_FlexspiNorInit API into RAM.
[2.1.1]
Bug Fixes
Fixed misra issue.
[2.1.0]
New Features
Added IAP_RunBootLoader() API
[2.0.2]
Bug Fixes
Fixed doxygen issue.
[2.0.1]
Bug Fixes
Minor update for MISRA issue fix.
[2.0.0]
Initial version.
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.
IOPCTL
[2.0.0]
Initial version.
LCDIF
[2.3.0]
New Features
Supported layer decompress mode for DC8000.
[2.2.0]
New Features
Supported new layers and configurations for DC8000.
Added new APIs and configurations to support DBI interface.
Bug Fixes
Update align calculation method, the old one can only be used when the align bytes’ low bits are all zeros.
[2.1.2]
Improvements
Release peripheral from reset if necessary in init function.
[2.1.1]
Improvements
Added memory address conversion to support buffers which could only be accessed using alias address by non-core masters.
Bug Fixes
Fix MISRA-C 2012 issues.
[2.1.0]
Bug Fixes
Corrected the frame buffer pixel format name.
[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.
MIPI_DSI
[2.2.1]
Bug Fixes
Fixed issue that VACTIVE setting shall equal to the number of active lines (height), no need to minus 1.
Improvements
Update DSI_Deinit to reset peripheral.
Update DSI_DeinitDphy to power down DPHY using DPHY_PD_REG before powering down PLL.
[2.2.0]
New Features
Added APIs to configure DBI FIFO and payload.
Supported new controls and configurations of DBI pixel format, PHY ready and ULPS for RT700.
Updated the DPI setting to use float for coefficient value for more accurate calculation.
[2.1.6]
Improvements
Release peripheral from reset if necessary in init function.
[2.1.5]
Other Changes
Changed to use new register naming.
Added workaround for Errata ERR011439. Avoid DCS long packet command writes with zero-length data payload in low-power mode, because the checksum is incorrect in this case.
[2.1.4]
Bug Fixes
Fixed the MISRA issues.
[2.1.3]
Bug Fixes
Fixed the DPI horizontal timing setting issue.
[2.1.2]
Improvements
Supported long package read.
Bug Fixes
Fixed the bug that runs to hardfault when sending long packet with 4-byte unaligned address.
[2.1.1]
Improvements
Some SOC compatibility improvement.
[2.1.0]
Improvements
Improved for the platforms which does not support ULPS.
[2.0.6]
Bug Fixes
Fixed the timing issue that non-continuous HS clock mode does not work.
[2.0.5]
Bug Fixes
Fixed kDSI_InterruptGroup1BtaTo and kDSI_InterruptGroup1HtxTo definition error.
Improvements
Changed to override MIPI_DriverIRQHandler instead of MIPI_IRQHandler.
[2.0.4]
Bug Fixes
Fixed MISRA C-2012 issues: 10.1, 10.3, 10.4, 10.4, 10.6, 10.7, 10.8, 11.3, 11.8, 12.2, 14.4, 16.4, 17.7.
[2.0.3]
Improvement
Updated for combo phy header file.
[2.0.2]
New Features
Supported sending separate DSI command from TX data array.
Bug Fixes
Disabled all interrupts in DSI_Init.
[2.0.1]
Improvements
Updated to support the DPHY which does not have internal DPHY PLL.
[2.0.0]
Initial version.
MIPI_DSI_SMARTDMA
[2.3.2]
Misc Changes
Updated for SMARTDMA driver firmware name change.
[2.3.1]
New Features
Updated DSI_TransferWriteMemorySMARTDMA to support transfer format of input RGB565 and output RGB888 pixel data.
[2.3.0]
New Features
Updated DSI_TransferWriteMemorySMARTDMA, dsi_smartdma_write_mem_transfer_t and dsi_smartdma_handle_t to support 2-dimensional data transfer for interleaved pixels.
[2.2.1]
Bug Fixes
Fixed MISRA C-2012 issues: 10.1, 10.3, 11.3, 11.8, 14.4, 17.7.
[2.2.0]
Improvements
Supported swap or don’t swap the pixel byte before written to MIPI DSI FIFO.
[2.1.0]
Improvements
Supported frame buffer format XRGB8888.
Added virtual channel setting in dsi_smartdma_write_mem_transfer_t, current driver only support channel 0, added for future enhancement.
[2.0.1]
Bug Fixes
Fixed the issue that driver handle not set to busy during transfer.
[2.0.0]
Initial version.
MRT
[2.0.4]
Improvements
Don’t reset MRT when there is not system level MRT reset functions.
[2.0.3]
Bug Fixes
Fixed violations of MISRA C-2012 rule 10.1 and 10.4.
Fixed the wrong count value assertion in MRT_StartTimer API.
[2.0.2]
Bug Fixes
Fixed violations of MISRA C-2012 rule 10.4.
[2.0.1]
Added control macro to enable/disable the RESET and CLOCK code in current driver.
[2.0.0]
Initial version.
MU
[2.2.0]
New Features
Added API MU_GetRxStatusFlags.
[2.1.3]
Improvements
Release peripheral from reset if necessary in init function.
[2.1.2]
Bug Fixes
Fixed issue that MU_GetInstance() is defined but never used.
[2.1.1]
Bug Fixes
Fixed general interrupt comment typo.
[2.1.0]
Improvements
Added new enum mu_msg_reg_index_t.
[2.0.7]
Bug Fixes
Fixed MU_GetInterruptsPending bug that can not get general interrupt status.
[2.0.6]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 17.7.
[2.0.5]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 14.4, 15.5.
[2.0.4]
Improvements
Improved for the platforms which don’t support reset assert interrupt and get the other core power mode.
[2.0.3]
Bug fixes
MISRA C-2012 issue fixed.
Fixed rules, containing: rule-10.3, rule-14.4, rule-15.5.
[2.0.2]
Improvements
Added support for MIMX8MQx.
[2.0.1]
Improvements
Added support for MCIMX7Ux_M4.
[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.
OTFAD
[2.1.4]
Bug fixes
Fixed MISRA 2012 issue: 10.1.
[2.1.3]
Bug fixes
Fixed the error that waiting for both FLEXSPI AHB idle and SEQ idle.
[2.1.2]
Bug fixes
Fixed MISRA 2012 issue: 10.4.
[2.1.1]
Improvements:
Hided some bits in CR and SR registers for selected platforms.
Fixed doxygen issues.
[2.1.0]
Improvements:
Used boolean type to define 1-bit field concepts.
[2.0.0]
Initial version.
PINT
[2.1.13]
Improvements
Added instance array for PINT to adapt more devices.
Used release reset instead of reset PINT which may clear other related registers out of PINT.
[2.1.12]
Bug Fixes
Fixed coverity issue.
[2.1.11]
Bug Fixes
Fixed MISRA C-2012 rule 10.7 violation.
[2.1.10]
New Features
Added the driver support for MCXN10 platform with combined interrupt handler.
[2.1.9]
Bug Fixes
Fixed MISRA-2012 rule 8.4.
[2.1.8]
Bug Fixes
Fixed MISRA-2012 rule 10.1 rule 10.4 rule 10.8 rule 18.1 rule 20.9.
[2.1.7]
Improvements
Added fully support for the SECPINT, making it can be used just like PINT.
[2.1.6]
Bug Fixes
Fixed the bug of not enabling common pint clock when enabling security pint clock.
[2.1.5]
Bug Fixes
Fixed issue for MISRA-2012 check.
Fixed rule 10.1 rule 10.3 rule 10.4 rule 10.8 rule 14.4.
Changed interrupt init order to make pin interrupt configuration more reasonable.
[2.1.4]
Improvements
Added feature to control distinguish PINT/SECPINT relevant interrupt/clock configurations for PINT_Init and PINT_Deinit API.
Swapped the order of clearing PIN interrupt status flag and clearing pending NVIC interrupt in PINT_EnableCallback and PINT_EnableCallbackByIndex function.
Bug Fixes
Fixed build issue caused by incorrect macro definitions.
[2.1.3]
Bug fix:
Updated PINT_PinInterruptClrStatus to clear PINT interrupt status when the bit is asserted and check whether was triggered by edge-sensitive mode.
Write 1 to IST corresponding bit will clear interrupt status only in edge-sensitive mode and will switch the active level for this pin in level-sensitive mode.
Fixed MISRA c-2012 rule 10.1, rule 10.6, rule 10.7.
Added FSL_FEATURE_SECPINT_NUMBER_OF_CONNECTED_OUTPUTS to distinguish IRQ relevant array definitions for SECPINT/PINT on lpc55s69 board.
Fixed PINT driver c++ build error and remove index offset operation.
[2.1.2]
Improvement:
Improved way of initialization for SECPINT/PINT in PINT_Init API.
[2.1.1]
Improvement:
Enabled secure pint interrupt and add secure interrupt handle.
[2.1.0]
Added PINT_EnableCallbackByIndex/PINT_DisableCallbackByIndex APIs to enable/disable callback by index.
[2.0.2]
Added control macro to enable/disable the RESET and CLOCK code in current driver.
[2.0.1]
Bug fix:
Updated PINT driver to clear interrupt only in Edge sensitive.
[2.0.0]
Initial version.
POWER
[2.6.1]
Bug Fixes
Set the high speed pads to low power mode in case there’s current leakage.
Fixed bugs in EnableDeepSleepIRQ() and DisableDeepSleepIRQ().
[2.6.0]
New feature
Added new API POWER_PmicPowerModeSelectControl() to allow users changing VDD1V8 and VDDCore state for various PMIC modes.
[2.5.0]
New feature
Added new API POWER_SetVddCoreSupplySrc(), POWER_SetPmicCoreSupplyFunc() and POWER_SetVoltageForFreq() to allow users set VDDCORE voltage using a unified API with minimum volatage value.
[2.4.0]
Bug Fixes
Removed HSPAD related configurations.
[2.3.3]
Bug Fixes
Fixed MISRA issue in function POWER_GetLibVersion.
Cleared bit PDSLEEPCFG0[PMCREF_LP] when FRO or PLL enabled during deep sleep in function POWER_EnterDeepSleep.
[2.3.2]
Bug Fixes
Added PORCORE_LP bitfield in macro PCFG0_DEEP_SLEEP.
Updated pSlowSwitches calculation in function countPartitionSwitches.
Added PMC internal clock divider config in POWER_ApplyPD to decrease the PMC register access delay, incase the divider was enabled before.
[2.3.1]
Updated powerFreqLevel array for B2 sample.
[2.3.0]
Set MEMSEQNUM to 0x3F to turn on all partitions in parallel to decrease deep sleep wakeup time.
Updated power_pad_vrange_val_t for supported PAD voltage range.
[2.2.2]
Supported dual FRO frequency in deep sleep.
[2.2.1]
Optimized MAINCLKSAFETY calculation.
Used FRO48M instead of FRO192M as main clock source in deep sleep.
[2.2.0]
Moved power lib implementaion to fsl_power.c
[2.1.0]
Added LVD APIs.
Added POWER_UpdatePmicRecoveryTime() API.
[2.0.4]
Supported OTP switch RBB in deep sleep.
[2.0.3]
Improved XIP recovery in deep sleep wakeup.
[2.0.2]
Added POWER_SetDeepSleepClock() API to allow main clock source selection in deep sleep.
Added POWER_SetPadVolRange() API
[2.0.1]
Added POWER_UpdateOscSettlingTime() API to set on-board system osc settling time.
[2.0.0]
initial version.
POWERQUAD
[2.2.0]
New Features
Added new API PQ_Arctan2Fixed.
[2.1.1]
Bug Fixes
Remove PQ_WaitDone from PQ_ArctanFixed and PQ_ArctanhFixed because it is unnecessary.
[2.1.0]
Improvements
Fixed typo issue for biquad related function name.
Changed operator from “%” into “&” to reduce heavy cycle for biquad functions.
[2.0.5]
Improvements
Added a note in driver for FIR that powerquad has a hardware limitation, when using it for FIR increment calculation, the address of pSrc needs to be a continuous address.
[2.0.4]
Improvements
Supported the platforms which don’t have PowerQuad clock and reset control.
[2.0.3]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 8.4, 10.1, 10.3, 10.4, 10.6, and so on.
[2.0.2]
Bug Fixes
Fixed array size issue in fsl_powerquad_data.h file.
Fixed vector function pipeline issue.
[2.0.1]
Bug Fixes
Fixed build error in C++ mode.
[2.0.0]
Initial version.
PUF
[2.1.6]
Changed wait time in PUF_Init(), when initialization fails it will try PUF_Powercycle() with shorter time. If this shorter time will also fail, initialization will be tried with worst case time as before.
[2.1.5]
Use common SDK delay in puf_wait_usec().
[2.1.4]
Replace register uint32_t ticksCount with volatile uint32_t ticksCount in puf_wait_usec() to prevent optimization out delay loop.
[2.1.3]
Fix MISRA C-2012 issue.
[2.1.2]
Update: Add automatic big to little endian swap for user (pre-shared) keys destinated to secret hardware bus (PUF key index 0).
[2.1.1]
Fix ARMGCC build warning .
[2.1.0]
Align driver with PUF SRAM controller registers on LPCXpresso55s16.
Update initizalition logic .
[2.0.3]
Fix MISRA C-2012 issue.
[2.0.2]
New feature:
Add PUF configuration structure and support for PUF SRAM controller.
Improvements:
Remove magic constants.
[2.0.1]
Bug Fixes:
Fixed puf_wait_usec function optimization issue.
[2.0.0]
Initial version.
RESET
[2.1.0]
Improvements
Add RESET_ReleasePeripheralReset API.
[2.0.1]
Bug Fixes
Fixed MISRA C-2012 rule 10.6 and rule 16.4.
[2.0.0]
initial version.
RTC
[2.2.0]
New Features
Created new APIs for the RTC driver.
RTC_EnableSubsecCounter
RTC_GetSubsecValue
[2.1.3]
Bug Fixes
Fixed issue that RTC_GetWakeupCount may return wrong value.
[2.1.2]
Bug Fixes
MISRA C-2012 issue fixed: rule 10.1, 10.4 and 10.7.
[2.1.1]
Bug Fixes
MISRA C-2012 issue fixed: rule 10.3 and 11.9.
[2.1.0]
Bug Fixes
Created new APIs for the RTC driver.
RTC_EnableTimer
RTC_EnableWakeUpTimerInterruptFromDPD
RTC_EnableAlarmTimerInterruptFromDPD
RTC_EnableWakeupTimer
RTC_GetEnabledWakeupTimer
RTC_SetSecondsTimerMatch
RTC_GetSecondsTimerMatch
RTC_SetSecondsTimerCount
RTC_GetSecondsTimerCount
deprecated legacy APIs for the RTC driver.
RTC_StartTimer
RTC_StopTimer
RTC_EnableInterrupts
RTC_DisableInterrupts
RTC_GetEnabledInterrupts
[2.0.0]
Initial version.
SCTIMER
[2.5.1]
Bug Fixes
Fixed bug in SCTIMER_SetupCaptureAction: When kSCTIMER_Counter_H is selected, events 12-15 and capture registers 12-15 CAPn_H field can’t be used.
[2.5.0]
Improvements
Add SCTIMER_GetCaptureValue API to get capture value in capture registers.
[2.4.9]
Improvements
Supported platforms which don’t have system level SCTIMER reset.
[2.4.8]
Bug Fixes
Fixed the issue that the SCTIMER_UpdatePwmDutycycle() can’t writes MATCH_H bit and RELOADn_H.
[2.4.7]
Bug Fixes
Fixed the issue that the SCTIMER_UpdatePwmDutycycle() can’t configure 100% duty cycle PWM.
[2.4.6]
Bug Fixes
Fixed the issue where the H register was not written as a word along with the L register.
Fixed the issue that the SCTIMER_SetCOUNTValue() is not configured with high 16 bits in unify mode.
[2.4.5]
Bug Fixes
Fix SCT_EV_STATE_STATEMSKn macro build error.
[2.4.4]
Bug Fixes
Fix MISRA C-2012 issue 10.8.
[2.4.3]
Bug Fixes
Fixed the wrong way of writing CAPCTRL and REGMODE registers in SCTIMER_SetupCaptureAction.
[2.4.2]
Bug Fixes
Fixed SCTIMER_SetupPwm 100% duty cycle issue.
[2.4.1]
Bug Fixes
Fixed the issue that MATCHn_H bit and RELOADn_H bit could not be written.
[2.4.0]
[2.3.0]
Bug Fixes
Fixed the potential overflow issue of pulseperiod variable in SCTIMER_SetupPwm/SCTIMER_UpdatePwmDutycycle API.
Fixed the issue of SCTIMER_CreateAndScheduleEvent API does not correctly work with 32 bit unified counter.
Fixed the issue of position of clear counter operation in SCTIMER_Init API.
Improvements
Update SCTIMER_SetupPwm/SCTIMER_UpdatePwmDutycycle to support generate 0% and 100% PWM signal.
Add SCTIMER_SetupEventActiveDirection API to configure event activity direction.
Update SCTIMER_StartTimer/SCTIMER_StopTimer API to support start/stop low counter and high counter at the same time.
Add SCTIMER_SetCounterState/SCTIMER_GetCounterState API to write/read counter current state value.
Update APIs to make it meaningful.
SCTIMER_SetEventInState
SCTIMER_ClearEventInState
SCTIMER_GetEventInState
[2.2.0]
Improvements
Updated for 16-bit register access.
[2.1.3]
Bug Fixes
Fixed the issue of uninitialized variables in SCTIMER_SetupPwm.
Fixed the issue that the Low 16-bit and high 16-bit work independently in SCTIMER driver.
Improvements
Added an enumerable macro of unify counter for user.
kSCTIMER_Counter_U
Created new APIs for the RTC driver.
SCTIMER_SetupStateLdMethodAction
SCTIMER_SetupNextStateActionwithLdMethod
SCTIMER_SetCOUNTValue
SCTIMER_GetCOUNTValue
SCTIMER_SetEventInState
SCTIMER_ClearEventInState
SCTIMER_GetEventInState
Deprecated legacy APIs for the RTC driver.
SCTIMER_SetupNextStateAction
[2.1.2]
Bug Fixes
MISRA C-2012 issue fixed: rule 10.3, 10.4, 10.6, 10.7, 11.9, 14.2 and 15.5.
[2.1.1]
Improvements
Updated the register and macro names to align with the header of devices.
[2.1.0]
Bug Fixes
Fixed issue where SCT application level Interrupt handler function is occupied by SCT driver.
Fixed issue where wrong value for INSYNC field inside SCTIMER_Init function.
Fixed issue to change Default value for INSYNC field inside SCTIMER_GetDefaultConfig.
[2.0.1]
New Features
Added control macro to enable/disable the RESET and CLOCK code in current driver.
[2.0.0]
Initial version.
SEMA42
[2.0.4]
Improvements
Release peripheral from reset if necessary in init function.
[2.0.3]
Improvements
Changed to implement SEMA42_Lock base on SEMA42_TryLock.
[2.0.2]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 17.7.
[2.0.1]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 10.3, 10.4, 14.4, 18.1.
[2.0.0]
Initial version.
SMARTDMA
[2.11.0]
Improvements
Make the RT500 QSPI firmware can work with other display firmware in the same project.
[2.10.0]
New Features
Added new camera APIs for MCXN SoCs to support more resolutions.
[2.9.1]
New Features
Supported MCXN235, MCXN236.
[2.9.0]
New Features
Supported MCXN camera functions.
Supported user to select individual firmware for MIPI or FLEXIO alone, or both.
Added new API of enabling DMA from FlexIO to a Buffer.
Added new APIs of setting MIPI-DSI to enter and exit ultra low power state.
[2.8.0]
New Features
Supported converting the pixel data from RGB565 to RGB888.
Supported function to turn off certain pixel in a checker board pattern.
[2.7.0]
New Features
Supported data transfer in 2-dimensional way.
Supported data transfer in XRGB8888 format and rotate 180 degree.
Supported to fill data in whenever there is room in MIPI controller’s FIFO rather than using the tx FIFO in double buffered way.
[2.6.3]
Bug Fixes
Fixed EZH_MIPIDSI_RGB565_DMA, EZH_MIPIDSI_RGB888_DMA, EZH_MIPIDSI_ARGB8888toRGB888_DMA issues that don’t support some length.
[2.6.2]
Bug Fixes
Fixed MISRA C-2012 issues: 8.4, 11.6, 17.7.
[2.6.1]
Improvements
Optimized MIPI DSI APIs performance.
[2.6.0]
Improvements
Optimized MIPI DSI APIs performance.
New Features
Added new APIs to send MIPI DSI frame with 180 degree rotation.
[2.5.0]
Improvements
Supported swap or don’t swap the pixel byte before written to MIPI DSI FIFO.
Updated MIPI DSI firmware, make sure data has been sent out before calling callback function.
[2.4.0]
Improvements
Added new APIs for MIPI DSI kSMARTDMA_MIPI_XRGB2RGB_DMA.
[2.3.0]
Improvements
Added new APIs for FlexIO one SHIFTBUF, kSMARTDMA_FlexIO_DMA_ONELANE.
Bug Fixes
Fixed kSMARTDMA_MIPI_RGB565_DMA color bias issue.
[2.2.0]
Improvements
Added new APIs for MIPI DSI, kSMARTDMA_MIPI_RGB565_DMA and kSMARTDMA_MIPI_RGB888_DMA.
Supported install firmware and callback function dynamically.
[2.1.0]
Improvements
Removed test APIs, including kSMARTDMA_LightOn, kSMARTDMA_LightOff, kSMARTDMA_Notify, and kSMARTDMA_Test.
Added new APIs, including kSMARTDMA_FlexIO_DMA_Reverse, kSMARTDMA_FlexIO_DMA_ARGB2RGB, kSMARTDMA_FlexIO_DMA_ARGB2RGB_Endian_Swap, and kSMARTDMA_FlexIO_DMA_ARGB2RGB_Endian_Swap_Reverse.
[2.0.0]
Initial version.
MIPI DSI SOC level driver
[2.0.0]
Initial version.
SPI
[2.3.2]
Bug Fixes
Fixed the txData from void * to const void * in transmit API
[2.3.1]
Improvements
Changed SPI_DUMMYDATA to 0x00.
[2.3.0]
Update version.
[2.2.2]
Bug Fixes
Fixed violations of the MISRA C-2012 rules.
[2.2.1]
Bug Fixes
Fixed MISRA 2012 10.4 issue.
Added code to clear FIFOs before transfer using DMA.
[2.2.0]
Bug Fixes
Fixed bug that slave gets stuck during interrupt transfer.
[2.1.1]
Improvements
Added timeout mechanism when waiting certain states in transfer driver.
Bug Fixes
Fixed MISRA 10.1, 5.7 issues.
[2.1.0]
Bug Fixes
Fixed Coverity issue of incrementing null pointer in SPI_TransferHandleIRQInternal.
Eliminated IAR Pa082 warnings.
Fixed MISRA issues.
Fixed rules 10.1, 10.3, 10.4, 10.7, 10.8, 11.3, 11.6, 11.8, 11.9, 13.5.
New Features
Modified the definition of SPI_SSELPOL_MASK to support the socs that have only 3 SSEL pins.
[2.0.4]
Bug Fixes
Fixed the bug of using read only mode in DMA transfer. In DMA transfer mode, if transfer->txData is NULL, code attempts to read data from the address of 0x0 for configuring the last frame.
Fixed wrong assignment of handle->state. During transfer handle->state should be kSPI_Busy rather than kStatus_SPI_Busy.
Improvements
Rounded up the calculated divider value in SPI_MasterSetBaud.
[2.0.3]
Improvements
Added “SPI_FIFO_DEPTH(base)” with more definition.
[2.0.2]
Improvements
Unified the component full name to FLEXCOMM SPI(DMA/FREERTOS) driver.
[2.0.1]
Changed the data buffer from uint32_t to uint8_t which matches the real applications for SPI DMA driver.
Added dummy data setup API to allow users to configure the dummy data to be transferred.
Added new APIs for half-duplex transfer function. Users can not only send and receive data by one API in polling/interrupt/DMA way, but choose either to transmit first or to receive first. Besides, the PCS pin can be configured as assert status in transmission (between transmit and receive) by setting the isPcsAssertInTransfer to true.
[2.0.0]
Initial version.
SPI_DMA
[2.2.1]
Bug Fixes
Fixed MISRA 2012 11.6 issue..
[2.2.0]
Improvements
Supported dataSize larger than 1024 data transmit.
TRNG
[2.0.18]
Bug fix:
TRNG health checks now done in software on RT5xx and RT6xx.
[2.0.17]
New features:
Add support for RT700.
[2.0.16]
Improvements:
Added support for Dual oscillator mode.
[2.0.15]
Other changes:
Changed TRNG_USER_CONFIG_DEFAULT_XXX values according to latest reccomended by design team.
[2.0.14]
New features:
Add support for RW610 and RW612.
[2.0.13]
Bug fix:
After deepsleep it might return error, added clearing bits in TRNG_GetRandomData() and generating new entropy.
Modified reloading entropy in TRNG_GetRandomData(), for some data length it doesn’t reloading entropy correctly.
[2.0.12]
Bug fix:
For KW34A4_SERIES, KW35A4_SERIES, KW36A4_SERIES set TRNG_USER_CONFIG_DEFAULT_OSC_DIV to kTRNG_RingOscDiv8.
[2.0.11]
Bug fix:
Add clearing pending errors in TRNG_Init().
[2.0.10]
Bug Fix:
Fixed doxygen issues.
[2.0.9]
Bug Fix:
Fix HIS_CCM metrics issues.
[2.0.8]
Bug fix:
For K32L2A41A_SERIES set TRNG_USER_CONFIG_DEFAULT_OSC_DIV to kTRNG_RingOscDiv4.
[2.0.7]
Bug fix:
Fix MISRA 2004 issue rule 12.5.
[2.0.6]
Bug fix:
For KW35Z4_SERIES set TRNG_USER_CONFIG_DEFAULT_OSC_DIV to kTRNG_RingOscDiv8.
[2.0.5]
Improvements:
For FRQMIN, FRQMAX and OSCDIV, add possibility to use device specific preprocessor macro to define default value in TRNG user configuration structure.
[2.0.4]
Bug Fix:
Fix MISRA-2012 issues.
Rule 10.1, rule 10.3, rule 13.5, rule 16.1.
[2.0.3]
Improvements:
update TRNG_Init to restart new entropy generation.
[2.0.2]
Improvements:
fix MISRA issues
Rule 14.4.
[2.0.1]
New features:
Set default OSCDIV for Kinetis devices KL8x and KL28Z.
Other changes:
Changed default OSCDIV for K81 to divide by 2.
[2.0.0]
Initial version.
USART
[2.8.5]
Bug Fixes
Fixed race condition during call of USART_EnableTxDMA and USART_EnableRxDMA.
[2.8.4]
Bug Fixes
Fixed exclusive access in USART_TransferReceiveNonBlocking and USART_TransferSendNonBlocking.
[2.8.3]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 10.3, 11.8.
[2.8.2]
Bug Fixes
Fixed violations of the MISRA C-2012 rules 14.2.
[2.8.1]
Bug Fixes
Fixed the Baud Rate Generator(BRG) configuration in 32kHz mode.
[2.8.0]
New Features
Added the rx timeout interrupts and status flags of bus status.
Added new rx timeout configuration item in usart_config_t.
Added API USART_SetRxTimeoutConfig for rx timeout configuration.
Improvements
When the calculated baudrate cannot meet user’s configuration, lower OSR value is allewed to use.
[2.7.0]
New Features
Added the missing interrupts and status flags of bus status.
Added the check of tx error, noise error framing error and parity error in interrupt handler.
[2.6.0]
Improvements
Used separate data for TX and RX in usart_transfer_t.
Bug Fixes
Fixed bug that when ring buffer is used, if some data is received in ring buffer first before calling USART_TransferReceiveNonBlocking, the received data count returned by USART_TransferGetReceiveCount is wrong.
New Features
Added missing API USART_TransferGetSendCountDMA get send count using DMA.
[2.5.0]
New Features
Added APIs USART_GetRxFifoCount/USART_GetTxFifoCount to get rx/tx FIFO data count.
Added APIs USART_SetRxFifoWatermark/USART_SetTxFifoWatermark to set rx/tx FIFO water mark.
Bug Fixes
Fixed DMA transfer blocking issue by enabling tx idle interrupt after DMA transmission finishes.
[2.4.0]
New Features
Modified usart_config_t, USART_Init and USART_GetDefaultConfig APIs so that the hardware flow control can be enabled during module initialization.
Bug Fixes
Fixed MISRA 10.4 violation.
[2.3.1]
Bug Fixes
Fixed bug that operation on INTENSET, INTENCLR, FIFOINTENSET and FIFOINTENCLR should use bitwise operation not ‘or’ operation.
Fixed bug that if rx interrupt occurrs before TX interrupt is enabled and after txDataSize is configured, the data will be sent early by mistake, thus TX interrupt will be enabled after data is sent out.
Improvements
Added check for baud rate’s accuracy that returns kStatus_USART_BaudrateNotSupport when the best achieved baud rate is not within 3% error of configured baud rate.
[2.3.0]
New Features
Added APIs to configure 9-bit data mode, set slave address and send address.
Modified USART_TransferReceiveNonBlocking and USART_TransferHandleIRQ to use 9-bit mode in multi-slave system.
[2.2.0]
New Features
Added the feature of supporting USART working at 32 kHz clocking mode.
Improvements
Modified USART_TransferHandleIRQ so that txState will be set to idle only when all data has been sent out to bus.
Modified USART_TransferGetSendCount so that this API returns the real byte count that USART has sent out rather than the software buffer status.
Added timeout mechanism when waiting for certain states in transfer driver.
Bug Fixes
Fixed MISRA 10.1 issues.
Fixed bug that operation on INTENSET, INTENCLR, FIFOINTENSET and FIFOINTENCLR should use bitwise operation not ‘or’ operation.
Fixed bug that if rx interrupt occurrs before TX interrupt is enabled and after txDataSize is configured, the data will be sent early by mistake, thus TX interrupt will be enabled after data is sent out.
[2.1.1]
Improvements
Added check for transmitter idle in USART_TransferHandleIRQ and USART_TransferSendDMACallback to ensure all the data would be sent out to bus.
Modified USART_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.
Bug Fixes
Eliminated IAR Pa082 warnings.
Fixed MISRA issues.
Fixed rules 10.1, 10.3, 10.4, 10.7, 10.8, 11.3, 11.6, 11.8, 11.9, 13.5.
[2.1.0]
New Features
Added features to allow users to configure the USART to synchronous transfer(master and slave) mode.
Bug Fixes
Modified USART_SetBaudRate to get more acurate configuration.
[2.0.3]
New Features
Added new APIs to allow users to enable the CTS which determines whether CTS is used for flow control.
[2.0.2]
Bug Fixes
Fixed the bug where transfer abort APIs could not disable the interrupts. The FIFOINTENSET register should not be used to disable the interrupts, so use the FIFOINTENCLR register instead.
[2.0.1]
Improvements
Unified the component full name to FLEXCOMM USART (DMA/FREERTOS) driver.
[2.0.0]
Initial version.
USART_DMA
[2.6.0]
Refer USART driver change log 2.0.1 to 2.6.0
USDHC
[2.8.4]
Improvements
Add feature macro FSL_FEATURE_USDHC_HAS_NO_VS18.
[2.8.3]
Improvements
Improved api USDHC_EnableAutoTuningForCmdAndData to adapt to new bit field name for USDHC_VEND_SPEC2 register.
[2.8.2]
Improvements
Added feature macro FSL_FEATURE_USDHC_HAS_NO_VOLTAGE_SELECT.
[2.8.1]
Bug Fixes
Fixed violations of MISRA C-2012 rule 11.9.
[2.8.0]
Improvements
Fixed the mmc boot transfer failed issue which is caused by the Dma complete interrupt not enabled.
Marked api USDHC_AdjustDelayForManualTuning as deprecated and added new api USDHC_SetTuingDelay/USDHC_GetTuningDelayStatus.
Improved the manual tuning flow accroding to specification.
Added memory address conversion to support buffers which could only be accessed using alias address by non-core masters.
Fixed violations of MISRA C-2012 rule 10.4.
[2.7.0]
Improvements
Added api USDHC_TransferScatterGatherADMANonBlocking to support scatter gather transfer.
Added feature FSL_FEATURE_USDHC_REGISTER_HOST_CTRL_CAP_HAS_NO_RETUNING_TIME_COUNTER for re-tuning time counter field in HOST_CTRL_CAP register.
Bug Fixes
Fixed violations of MISRA C-2012 rule 11.9, 10.1, 10.3, 10.4, 8.4.
[2.6.0]
Improvements
Added api USDHC_SetStandardTuningCounter to support adjust tuning counter of Standard tuning.
[2.5.1]
Improvements
Used different status code for command and data interrupt callback.
Added cache line invalidate for receive buffer in driver IRQ handler to fix CM7 speculative access issue.
[2.5.0]
Improvements
Added new api USDHC_SetStrobeDllOverride for HS400 strobe dll override mode delay taps configurations.
Corrected the STROBE DLL configurations sequence.
[2.4.0]
Improvements
Added feature macro for read/write burst length.
Disabled redundant interrupt per different transfer request.
Disabled interrupt and reset command/data pointer in handle when transfer completes.
Bug Fixes
Fixed violations of MISRA C-2012 rule 11.9, 15.7, 4.7, 16.4, 10.1, 10.3, 10.4, 11.3, 14.4, 10.6, 17.7, 16.1, 16.3.
Fixed PA082 build warning.
Fixed logically dead code Coverity issue.
[2.3.0]
Improvements
Added USDHC_SetDataConfig API to support manual tuning.
Removed the limitaion that source clock must be bigger than the target in function USDHC_SetSdClock by using source clock frequency as target directly.
Added peripheral reset in USDHC_Init function.
Added tuning reset support in function USDHC_Reset function.
[2.2.8]
Bug Fixes
Fixed out-of bounds write in function USDHC_ReceiveCommandResponse.
[2.2.7]
Improvements
Added API USDHC_GetEnabledInterruptStatusFlags and used in USDHC_TransferHandleIRQ.
Removed useless member interruptFlags in usdhc_handle_t.
[2.2.6]
Improvements
Added address align check for ADMA descriptor table address.
Changed USDHC_ADMA1_DESCRIPTOR_MAX_LENGTH_PER_ENTRY to (65536-4096) to make sure the data address is 4KB align for a transfer which need more than one ADMA1 descriptor.
[2.2.5]
Bug Fixes
Fixed MDK 66-D warning.
[2.2.4]
Bug Fixes
Fixed issue that real clock frequency wss mismatched with target clock frequency, which was caused by an incorrect prescaler calculation.
New Features
Added control macro to enable/disable the CLOCK code in current driver.
[2.2.3]
Bug Fixes
Fixed issue where AMDA did not disable with DMAEN clear.
Improvements
Improved set clock function to check the output frequency range.
Dynamic set SDCLKFS during DDR enable or disable.
[2.2.2]
Improvements
Improved read transfer cache maintain operation, combined clean, and invalidated them into one function.
[2.2.1]
Bug Fixes
Disabled the invalidate cache operation for tuning.
[2.2.0]
Improvements
Improved USDHC to support MMC boot feature.
[2.1.3]
Bug Fixes
Fixed MISRA issue.
[2.1.2]
Bug Fixes
Fixed Coverity issue.
Added base address and userData parameter for all callback functions.
[2.1.1]
Improvements
Added cache maintain operation.
Added timeout status check for the DATA transfer which ignore error.
Added feature macro for SDR50/SDR104 mode.
Removed useless IRQ handler from different platforms.
[2.1.0]
Improvements
Integrated tuning into transfer function.
Added strobe DLL feature.
Added enableAutoCommand23 in data structure.
Removed enable card clock function because the controller would handle the clock on/off.
[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.
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.