If you have any questions or issues related to these resources, please Ask a new question, and the NXP support team can address it there.
One of the popular reasons developers choose Zephyr is the large offering of drivers and peripheral support. The best place to look for the latest drivers and features supported on a hardware platform, is on the board’s documentation page. For example, this Supported Features table lists the latest support for the FRDM-MCXN947 board. Here are the links to these pages for all the boards with Zephyr support.
NXP’s Hardware Abstraction Layer (HAL) is based on the MCUXpresso SDK drivers. To learn more, see the blog Zephyr Software Code Reuse with NXP MCUXpresso SDK. Most users want to use the Zephyr driver APIs in their application for portability. But if a Zephyr driver is not supported on a platform, or if there is no Zephyr driver for a hardware peripheral, another option is Using MCUXpresso SDK drivers in Zephyr app.
Peripheral Clocks: NXP has a large portfolio of boards supported for different SOCs with many peripheral options and multiple instance of peripherals. Many of these instances cannot easily be tested when Zephyr support is added for a board. Long term, NXP hopes clocks will be enabled and configured using the Clock Management Subsystem, but this is not adopted yet. Most peripheral clocks are enabled in SOC or board source files. One common issue Zephyr users have when enabling or adding a peripheral instance on their board, is that instance is not clocked properly. Typically enabling the peripheral clock is simple once this is known. Newer boards enable these clocks in the board.c file. For example, frdm_mcxn947_init() enables these clocks for FRDM-MCXN947 board. Some older SOCs enable the clocks in soc.c. For example, clock_init() enables these clocks for the i.MX RT10xx SOCs.
Below are some helpful resources for specific peripherals and drivers:
includes Ethernet
Return to Zephyr Knowledge Hub