MCUXpresso SDK Changelog

LPC_ADC

[2.6.0]

  • New Features

    • Added new feature macro to distinguish whether the GPADC_CTRL0_GPADC_TSAMP control bit is on the device.

    • Added new variable extendSampleTimeNumber to indicate the ADC extend sample time.

  • Bugfix

    • Fixed the bug that incorrectly sets the PASS_ENABLE bit based on the sample time setting.

[2.5.3]

  • Improvements

    • Release peripheral from reset if necessary in init function.

[2.5.2]

  • Improvements

    • Integrated different sequence’s sample time numbers into one variable.

  • Bug Fixes

    • Fixed violation of MISRA C-2012 rule 20.9 .

[2.5.1]

  • Bug Fixes

    • Fixed ADC conversion sequence priority misconfiguration issue in the ADC_SetConvSeqAHighPriority() and ADC_SetConvSeqBHighPriority() APIs.

  • Improvements

    • Supported configuration ADC conversion sequence sampling time.

[2.5.0]

  • Improvements

    • Add missing parameter tag of ADC_DoOffsetCalibration().

  • Bug Fixes

    • Removed a duplicated API with typo in name: ADC_EnableShresholdCompareInterrupt().

[2.4.1]

  • Bug Fixes

    • Enabled self-calibration after clock divider be changed to make sure the frequency update be taken.

[2.4.0]

  • New Features

    • Added new API ADC_DoOffsetCalibration() which supports a specific operation frequency.

  • Other Changes

    • Marked the ADC_DoSelfCalibration(ADC_Type *base) as deprecated.

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rules:

      • Rule 10.1 10.3 10.4 10.7 10.8 17.7.

[2.3.2]

  • Improvements

    • Added delay after enabling using the ADC GPADC_CTRL0 LDO_POWER_EN bit for JN5189/QN9090.

  • New Features

    • Added support for platforms which have only one ADC sequence control/result register.

[2.3.1]

  • Bug Fixes

    • Avoided writing ADC STARTUP register in ADC_Init().

    • Fixed Coverity zero divider error in ADC_DoSelfCalibration().

[2.3.0]

  • Improvements

    • Updated “ADC_Init()””ADC_GetChannelConversionResult()” API and “adc_resolution_t” structure to match QN9090.

    • Added “ADC_EnableTemperatureSensor” API.

[2.2.1]

  • Improvements

    • Added a brief delay in uSec after ADC calibration start.

[2.2.0]

  • Improvements

    • Updated “ADC_DoSelfCalibration” API and “adc_config_t” structure to match LPC845.

[2.1.0]

  • Improvements

    • Renamed “ADC_EnableShresholdCompareInterrupt” to “ADC_EnableThresholdCompareInterrupt”.

[2.0.0]

  • Initial version.


CLOCK

[2.4.2]

  • Improvements

    • Added lost comments for some enumerations.

[2.4.1]

  • Bug Fixes.

    • Fixed MISRA C-2012 rule 10.1, rule 10.8, rule 12.2, rule 14.4 and so on.

[2.4.0]

  • New feature:

    • Moved SDK_DelayAtLeastUs function from clock driver to common driver.

[2.3.0]

  • Replace the delay function

[2.2.1]

  • Support 150Mhz core frequency

[2.2.0]

  • New Feature:

    • add new API CLOCK_GetAdcClkFreq to get adc clock frequence.

[2.1.0]

  • New feature

    • Adding new API CLOCK_DelayAtLeastUs() to implemente a delay function in unit of microsecond.

  • Bug Fix

    • Fix the bug in function CLOCK_GetPllConfig() to refine the cache feature.

[2.0.4]

  • Bug Fix:

    • Fix C++ build errors in CLOCK_GetClockAttachId() and CLOCK_AttachClk().

[2.0.3]

  • Bug Fix:

    • Fix attach incorrect attach_id.

[2.0.2]

  • New Feature:

    • add get actual clock attach id api to allow users to obtain the actual clock source in target register.

  • Bug Fix:

    • The attach clock and get actual clock attach id apis should check combination of two clock source.

  • Optimization:

    • Make the judgement statments more clear.

    • Strengthen the compatibility of clock attatch id.

    • Remove some unmeaningful definitions and add some useful ones to enhance readability.

[2.0.1]

  • some minor fixes.

[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.


FLASHIAP

[2.0.6]

  • Bug Fixes

    • MISRA C-2012 issue fixed: rule 5.6.

[2.0.5]

  • Bug Fixes

    • MISRA C-2012 issue fixed: rule 9.1, 10.1 and 10.4.

[2.0.4]

  • Bug Fixes

    • Fixed the violations of MISRA C-2012 rules:

      • Rule 10.3 10.4.

[2.0.3]

  • The FLASHIAP driver is marked as deprecated and will be removed in next release. All of its APIs are moved to the IAP driver. The names of FLASHIAP’s APIs are updated from FLASHIAP_XXX() to IAP_XXX().

[2.0.2]

  • Added the API for extended flash signature

[2.0.1]

  • Removed two incorrect commands.

[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.


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.


GINT

[2.1.1]

  • Improvements

    • Added support for platforms with PORT_POL and PORT_ENA registers without arrays.

[2.1.0]

  • Improvements

    • Updated for platforms which only has one port.

[2.0.3]

  • Bug Fixes

    • MISRA C-2012 issue fixed: rule 10.8.

[2.0.2]

  • Bug Fixes

    • Fixed issue for MISRA-2012 check.

      • Fixed rule 17.7.

[2.0.1]

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

[2.0.0]

  • Initial version.


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.


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:

      1. Changed slave receive process to first set the I2C_SLVCTL_SLVCONTINUE_MASK to acknowledge the received data, then do data receive.

      2. 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


IAP

[2.0.7]

  • Bug Fixes

    • Fixed IAP_ReinvokeISP bug that can’t support UART ISP auto baud detection.

[2.0.6]

  • Bug Fixes

    • Fixed IAP_ReinvokeISP wrong parameter setting.

[2.0.5]

  • New Feature

    • Added support config flash memory access time.

[2.0.4]

  • Bug Fixes

    • Fixed the violations of MISRA 2012 rules 9.1

[2.0.3]

  • New Features

    • Added support for LPC 845’s FAIM operation.

    • Added support for LPC 80x’s fixed reference clock for flash controller.

    • Added support for LPC 5411x’s Read UID command useless situation.

  • Improvements

    • Improved the document and code structure.

  • Bug Fixes

    • Fixed the violations of MISRA 2012 rules:

      • Rule 10.1 10.3 10.4 17.7

[2.0.2]

  • New Features

    • Added an API to read generated signature.

  • Bug Fixes

    • Fixed the incorrect board support of IAP_ExtendedFlashSignatureRead().

[2.0.1]

  • New Features

    • Added an API to read factory settings for some calibration registers.

  • Improvements

    • Updated the size of result array in part APIs.

[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.


IOCON

[2.2.0]

  • Improvements

    • Removed duplicate macro defintions.

    • Renamed ‘IOCON_I2C_SLEW’ macro to ‘IOCON_I2C_MODE’ to match its companion ‘IOCON_GPIO_MODE’. The original is kept as a deprecated symbol.

[2.1.2]

  • Bug Fixes

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

[2.1.1]

  • Updated left shift format with mask value instead of a constant value to automatically adapt to all platforms.

[2.1.0]

  • Added a new IOCON_PinMuxSet() function with a feature IOCON_ONE_DIMENSION for LPC845MAX board.

[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.


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.1.0]

  • New features

    • Added BOD control APIs.

[2.0.0]

  • initial version.


RESET

[2.4.0]

  • Improvements

    • Add RESET_ReleasePeripheralReset API.

[2.0.1]

  • Update component full_name to “Reset Driver”.

[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.


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.


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


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.