MCUXpresso SDK ############## Origin: NXP MCUXpresso SDK https://github.com/nxp-mcuxpresso/mcux-sdk SHA: cc77cb1006ad2226fe45f0431e85add0fcd891d8 NXP Kinetis Connectivity Software https://www.nxp.com/webapp/Download?colCode=KW40Z-CONNECTIVITY-SOFTWARE&appType=license&Parent_nodeId=1432854896956716810497&Parent_pageType=product https://www.nxp.com/webapp/Download?colCode=MKW2XD-MRC20A-CONNECTIVITY-SW&appType=license&Parent_nodeId=1425322332576706617013&Parent_pageType=productI NXP MCUXpresso SDK USB https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-usb SHA: e0f1fc8488508db2f92ae454f4378513d96e83e2 SDK 2.16.000 merge NXP MCUXpresso SDK Connectivity Framework https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-connectivity-framework TAG: MCUX_2.15.000_RW610_RC1 - MCUX_2.16.000(For connected_mcu platform files used by MCXW71) NXP MCUXpresso SDK Multicore middleware https://github.com/nxp-mcuxpresso/mcux-sdk-middleware-multicore TAG: MCUX_2.16.000 RPMsg Component https://github.com/nxp-mcuxpresso/rpmsg-lite TAG: v5.1.2 NXP MCUXpresso SDK secure subsystem https://github.com/nxp-mcuxpresso/mcux-secure-subsystem TAG: MCUX_2.16.000 NXP MCUXpresso SDK ieee_802.15.4 middleware https://github.com/nxp-mcuxpresso/mcuxsdk-middleware-ieee_802.15.4 TAG: MCUX_2.16.000 Status: Some older Kinetis W family SoCs are not supported in MCUXpresso SDK, but instead are supported by the Kinetis Connectivity Software. This distribution is based on the same Kinetis SDK (ksdk) that MCUXpresso SDK evolved from. These older SoCs have many of the same peripherals as KW41Z, so we can reuse newer MCUXpresso SDK drivers from KW41Z, and import only the SoC header files from the Kinetis Connectivity Software. SoC Version (Release Date) ---------------------------------------------------------------------------- MCR20A 1.0.0 MKW20Z4 1.0.1 (2015-12-10) MKW30Z4 1.0.1 (2015-12-10) MKW40Z4 1.0.1 (2015-12-10) Purpose: Provides device header files and bare metal peripheral drivers for Kinetis, LPC, and i.MX SoCs. Zephyr shim drivers are built on top of these imported drivers to adapt the MCUXpresso SDK APIs to Zephyr APIs. Description: This package is cloned from the Github for mcux-sdk. The cloned package is then copied and committ'ed into NXP's Zephyr HAL. Care should be taken to retain local changes to the SDK files that are documented in Patch List section of the document. Dependencies: CMSIS header files URL: https://github.com/NXPmicro/mcux-sdk https://www.nxp.com/webapp/Download?colCode=KW40Z-CONNECTIVITY-SOFTWARE&appType=license&Parent_nodeId=1432854896956716810497&Parent_pageType=product https://www.nxp.com/webapp/Download?colCode=MKW2XD-MRC20A-CONNECTIVITY-SW&appType=license&Parent_nodeId=1425322332576706617013&Parent_pageType=productI commit: N/A Maintained-by: External License: BSD-3-Clause License Link: https://spdx.org/licenses/BSD-3-Clause.html Patch List: - mcux-sdk/drivers/caam/fsl_caam.c: Move used job descriptors in the CAAM driver from the stack to noncacheable section. At time of writing, there should be four being used for entropy in zephyr. - Patched middleware\mcux-sdk-middleware-usb\middleware_usb_common_header.cmake to remove "#include(component_osa)". PR submitted to upstream - exclude the following directories and files from mcux-sdk update to reduce HAL size: - All *.a binary archive files. Files are still present in the SDK github repo but are not allowed in Zephyr Project - mcux-sdk\manifests - mcux-sdk\docs - devices\KW45* - devices\K32W* - devices\MIMX9301 through MIMX9351 - devices\MIMX9596 - Add usb_device_mcux_drv_port.h file for using MCUX SDK USB device controller driver easily in Zephyr. - usb_device_mcux_drv_port.h contains the simplified structs, enums and APIs that MCUX SDK USB device controller drivers need. - Update usb_device_ehci.c and usb_device_lpcip3511.c if in Zephyr environment. - Add include of usb_device_mcux_drv_port.h. - Remove include of usb_device.h and usb_device_dci.h. - mcux-sdk-middleware-connectivity-framework: Add new CMake file connectivity_framework.cmake - mcux-sdk-middleware-connectivity-framework: rw61x: Fix assertion OSA Mutex Alloc fail - mcux-sdk-middleware-connectivity-framework: rw61x: Remove static from hci_cal_data buffers to be used inside Zephyr - mcux-sdk-middleware-connectivity-framework: connected_mcu: Modified to remove a large amount of dependencies and adapt code to be supported with Zephyr - Patched mcux-sdk\components\conn_fwloader\mcux-sdk\components\conn_fwloader\driver_conn_fwloader.cmake for TFM support - mcux-sdk/drivers/s3mu/fsl_s3mu.c: rename _BIT macro to avoid collision from util_macro.h in Zephyr - Modifed mcux\mcux-sdk\drivers\mipi_dsi_split\fsl_mipi_dsi.c line 541 to force 8.0 to float (8.0f) to avoid [-Double-promotion] warning - Wrap conditional code setting SCB->VTOR with !defined(__ZEPHYR__) in system c files of the following parts: - MCXN94x family - MCXA14x family - MCXA15x family - MCXN23x family - add kUSB_DeviceNotifySOF to usb_device_mcux_drv_port.h SDK USB stack already supports it in SDK 2.16.0 - mcux-sdk/drivers/adc12/fsl_adc12.c: add guards to avoid compilation warnings when building with SDK clock control driver disabled. - Update the driver in mcux-sdk/drivers/cache/cache64/fsl_cache.c to use the non-secure flash address during cache invalidation. - mcux-sdk/drivers/flexcan/fsl_flexcan.c and mcux-sdk/drivers/flexcan/fsl_flexcan.h: add the guards for unsupport features on S32Z27x devices - drivers: edma_rev2: drop grouping of EDMA register indexes - drivers: edma_rev2: support MUX register in MP space - drivers: edma_rev2: support 64-bit TCD registers - devices: MIMX9596: add EDMA rev2 soc layer definition - Add missing CMAKE files device_system.cmake device_CMSIS.cmake and drivers/driver_reset.cmake to MCXW716C. - Add missing CMAKE file to ccm32k driver driver_ccm32k.cmake. - Add missing CMAKE file to flash_k4 driver driver_flash_k4.cmake. - Add missing CMAKE file to spc driver driver_spc.cmake - mcux-sdk/drivers/dspi/fsl_dspi.c, mcux-sdk/drivers/dspi/fsl_dspi.h, mcux-sdk/drivers/dspi/fsl_dspi_edma.c, mcux-sdk/drivers/dspi/fsl_dspi_edma.h: add the guards for unsupport features on S32Z27x devices - drivers: irqsteer: adjust CHn_MASK index computation - mcux-sdk/drivers/cache/cache64/fsl_cache.c: remove invalid assertion when CACHE64_GetInstanceByAddr() is passed an address not managed by the CACHE64 controller - drivers: edma_rev2: add macro for CHn_CSR's ACTIVE bit - drivers: rtwdog: Fix the issue that driver doesn't wait the over status after CS register operation - drivers: elemu: undefine BIT macro to avoid collision from util_macro.h in Zephyr - mcux-sdk-middleware-ieee_802.15.4: adapt code to be supported with Zephyr - mcux-sdk-middleware-usb: Disable the control endpoint ZLT (Zero Length Transaction) of MCUX hal USB controller drivers (usb_device_ehci.c and usb_device_lpcip3511.c) in Zephyr environment.