The NXP MCUXpresso Software Development Kit (MCUX) provides device header files
and peripheral drivers for Kinetis, LPC, and i.MX SoCs.

It was previously called the Kinetis Software Development Kit (KSDK), then
renamed to include support for LPC and i.MX SoCs.

The K64F, KW22D5, KW24D5 and KW41Z sources in this directory are imported
from mcux.nxp.com.

MCUX for KW40Z is not yet deployed on mcux.nxp.com like most other devices,
therefore the sources are imported from the KW40Z product pages on nxp.com:

Kinetis KW40Z Connectivity Software(REV 1.0.1)
https://www.nxp.com/webapp/Download?colCode=KW40Z-CONNECTIVITY-SOFTWARE&appType=license&Parent_nodeId=1432854896956716810497&Parent_pageType=product


The current version supported in Zephyr is MCUX 2.2. It currently supports the
following SoCs:
- MK64F12 (aka K64F)
- MKW41Z4 (aka KW41Z)
- MKW31Z4
- MKW21Z4
- MKL25Z4
- MKW40Z4 (aka KW40Z)
- MKW30Z4
- MKW20Z4
- MKW22D5
- MKW24D5
- MIMXRT1051
- MIMXRT1052


Additionally, it provides the following components:
- overwrites header file for MCR20 Register values
  MCR20Overwrites.h (components/mcr20a/MCR20Overwrites.h)
  Origin: Kinetis MKW2xD and MCR20A Connectivity Software
  URL: https://www.nxp.com/webapp/Download?colCode=MKW2XD-MRC20A-CONNECTIVITY-SW&appType=license&Parent_nodeId=1425322332576706617013&Parent_pageType=productI
  Revision: (REV 1.0.0)
