This SDK has been patched by Embedded Artists for the iMXRT1166 Developer's Kit. The SDK was released on 2024-04-16 and is based on NXP's 2.15.0 SDK (SDK_2_15_000_MIMXRT1166xxxxx.zip). This is what has been patched: * LWIP projects - added reading of the MAC address from I2C EEPROM either on the 100Mbit adapter or on the uCOM board * Added an I2C driver for the gpio expander (PCA6416) and code to use it * Added an I2C driver for the PWM gpio expander (PCA9530) and code to use it * SDRAM size has been corrected to 32Mb (including linker files, MPU and DCD) * The RTL8211F Ethernet PHY driver has been extended to also work with the AR8031DS PHY. The difference between the PHYs are minimal and extending the driver and letting the PHY ID decide which instructions to use makes switching PHYs seamless. * SEMC projects - changed to correct settings for the SDRAM * SEMC projects - changed algorithm for memory test and now test entire 32MB instead of only 4KB * Examples using eLCDIF/LCDIFv2 have been updated to use PCA6416/PCA9530 for RST/PWR/BL signals * BOARD_USER_BUTTON has been redirected to SW5/WAKEUP button on the uCOM Carrier Board * USER_LED has been changed to the blue RGB LED using PCA6416 * Touch: I2C bus and GPIOs have been changed for RST/INT * Camera pins * Adjusted the USB interface number (it is different for host and device examples) * Changed the Wi-Fi examples to use the Embedded Artists 1XK M.2 Module (EAR00385) as default * Corrected the ethernet PHY addresses * Changed CORE clock depending on speed grading of MCU (528MHz for Industrial, 600MHz for Commercial) * Changed SEMC clock to be within maximum speed for SDRAM (now 148.5MHz, was 198MHz) * Many of the projects have been updated to use a more complete pin_mux.c file where all necessary pins have been initialized. The SDK examples used to only configure the pins that they use (and often not every pin) and most of the time the configuration was only for MUX:ing and not the PAD settings (pull up/down/none, drive strength and slew). * Converted the AzureRTOS examples to use the BOARD_NETWORK_USE_100M_ENET_PORT (same as all other networking examples) instead of using the old EXAMPLE_USE_1G_ENET_PORT This has been added: * HDMI support to most GUI examples. The default is the 4.3" Parallel RGB display as it is a part of the iMXRT1166 Developer's Kit. The switch to HDMI can be made per project in display_support.h/elcdif_support.h/lcdifv2_support.h. * I2C probe example * EDID reader example Important things to note: * Read section "8 - Known Issues" in docs/MCUXpresso SDK Release Notes for MIMXRT1160-EVK.pdf to see known issues with the current version of the SDK. * For Iperf examples, set compiler optimization to -O3 or similar to improve performance. * If the hardware seems unresponsive and the debugger cannot connect/flash/erase the current program then the most likely cause is the running program preventing the access. To stop the currently running program and regain control: 1) Press and hold down the ISP_ENABLE button (SW1) 2) Press and hold down the RESET button (SW3) 3) Let go of the RESET button 4) Wait an extra second or two 5) Release the ISP_ENABLE button 6) The hardware is now in a mode where programming/erasing it should work * GUI applications using Parallel RGB display and the LCDIFv2 interface require a carrier board supporting the 24 bit mapping (like the uCOM Carrier Board rev B and later). If you don't have that then switch the interface to eLCDIF in the project's display_support.h/elcdif_support.h/lcdifv2_support.h file. The following projects have been marked as incompatible. They have not been deleted as they might still be helpful in some way. * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/azure_rtos_examples/filex_sdcard/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/cmsis_driver_examples/enet/txrx_transfer/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/cmsis_driver_examples/enet/txrx_transfer/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/demo_apps/bubble_peripheral/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/demo_apps/bubble_peripheral/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/demo_apps/ecompass/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/demo_apps/ecompass/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/demo_apps/sai/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/demo_apps/sai/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/display_examples/h264_freertos/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/display_examples/sd_jpeg/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/display_examples/sd_png/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/edma_ping_pong_buffer_half_interrupt/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/edma_ping_pong_buffer_half_interrupt/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/edma_record_playback/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/edma_record_playback/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/edma_transfer/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/edma_transfer/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/interrupt/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/interrupt/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/interrupt_record_playback/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/interrupt_record_playback/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/interrupt_transfer/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/driver_examples/sai/interrupt_transfer/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/eiq_examples/tflm_kws * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/eiq_examples/tflm_multicore/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/eiq_examples/tflm_multicore/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_fatfs/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_fatfs/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_fatfs_freertos/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_fatfs_freertos/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_freertos/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_freertos/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_interrupt/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_interrupt/cm7 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_polling/cm4 * /sdk_bld/eaimxrt1166_sdk_2_15_000/boards/evkmimxrt1160/sdmmc_examples/sdcard_polling/cm7 Revision History: ---------------- 2022-01-17 * Updated to NXP SDK 2.10.0 2022-02-06 * Updated to NXP SDK 2.11.0 2022-03-02 * Fixed print showing if 100Mbit or 1Gbit interface was used in LWIP examples. * Added missing file to MCUXpresso project for SEMC example. * Fixed GPIO pin usage for init of AzureRTOS network examples. * Corrected reset handling for Wi-Fi and added support for uCOM boards with onboard Wi-Fi module 2022-03-28 * Updated to NXP SDK 2.11.1 2022-05-16 * Fixed bad naming preventing use of 720x480 as HDMI in lcdifv2 examples * Added support for 1024x600@76 as HDMI resolution 2024-04-16 * Updated to NXP SDK 2.15.000 * Combined the AR8031DS and RTL8211F PHY drivers into one with the PHY ID determining which registers to read. This allows switching between. different revisions of the hardware (which use different PHYs) without rebuilding the software.