From 36a2dd595c73f869e1df8a8a21efbf9cc9fd2ee4 Mon Sep 17 00:00:00 2001 From: David Leach Date: Fri, 3 Jan 2025 11:07:12 -0600 Subject: [PATCH] boards: nxp: add RT1060 EVKC support MIMXRT1060 EVK rev C initial support files. Signed-off-by: David Leach --- boards/nxp/mimxrt1060_evk/CMakeLists.txt | 4 +- boards/nxp/mimxrt1060_evk/board.cmake | 2 +- boards/nxp/mimxrt1060_evk/board.yml | 3 +- boards/nxp/mimxrt1060_evk/doc/index.rst | 77 ++++++++++++++++--- .../mimxrt1060_evk_mimxrt1062_qspi.yaml | 2 +- .../mimxrt1060_evk_mimxrt1062_qspi_B.yaml | 6 +- .../mimxrt1060_evk_mimxrt1062_qspi_C.overlay | 15 ++++ .../mimxrt1060_evk_mimxrt1062_qspi_C.yaml | 34 ++++++++ samples/bluetooth/peripheral_ht/sample.yaml | 5 +- .../nxp/mimxrt1060_evk/system_off/sample.yaml | 3 +- samples/drivers/display/sample.yaml | 4 +- samples/subsys/display/lvgl/sample.yaml | 2 +- samples/subsys/usb/dfu/sample.yaml | 8 +- samples/subsys/usb/hid-mouse/sample.yaml | 1 - .../drivers/gpio/gpio_basic_api/testcase.yaml | 4 +- .../drivers/stepper/drv8424/api/testcase.yaml | 4 +- 16 files changed, 145 insertions(+), 29 deletions(-) create mode 100644 boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.overlay create mode 100644 boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml diff --git a/boards/nxp/mimxrt1060_evk/CMakeLists.txt b/boards/nxp/mimxrt1060_evk/CMakeLists.txt index 2778972698b482..29263b8b55596f 100644 --- a/boards/nxp/mimxrt1060_evk/CMakeLists.txt +++ b/boards/nxp/mimxrt1060_evk/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright 2018-2022 NXP +# Copyright 2018-2022, 2025 NXP # # SPDX-License-Identifier: Apache-2.0 # @@ -12,7 +12,7 @@ endif() if(CONFIG_NXP_IMXRT_BOOT_HEADER) zephyr_library() - if(${BOARD_REVISION} STREQUAL "B") + if((${BOARD_REVISION} STREQUAL "B") OR (${BOARD_REVISION} STREQUAL "C")) set(FLASH_CONF evkbmimxrt1060_flexspi_nor_config.c) set(BOARD_NAME evkbmimxrt1060) elseif(CONFIG_DT_HAS_NXP_IMX_FLEXSPI_NOR_ENABLED) diff --git a/boards/nxp/mimxrt1060_evk/board.cmake b/boards/nxp/mimxrt1060_evk/board.cmake index e6748688a78999..b9926a99a3eb12 100644 --- a/boards/nxp/mimxrt1060_evk/board.cmake +++ b/boards/nxp/mimxrt1060_evk/board.cmake @@ -14,7 +14,7 @@ board_runner_args(pyocd "--target=mimxrt1060") board_runner_args(jlink "--device=MIMXRT1062xxx6A") board_runner_args(linkserver "--device=MIMXRT1062xxxxA:EVK-MIMXRT1060") -if(("${BOARD_QUALIFIERS}" MATCHES "qspi") OR ("${BOARD_REVISION}" STREQUAL "B")) +if(("${BOARD_QUALIFIERS}" MATCHES "qspi") OR ("${BOARD_REVISION}" STREQUAL "B") OR ("${BOARD_REVISION}" STREQUAL "C")) board_runner_args(jlink "--loader=BankAddr=0x60000000&Loader=QSPI") elseif ("${BOARD_QUALIFIERS}" MATCHES "hyperflash") board_runner_args(jlink "--loader=BankAddr=0x60000000&Loader=HyperFlash") diff --git a/boards/nxp/mimxrt1060_evk/board.yml b/boards/nxp/mimxrt1060_evk/board.yml index 30a5701b1feb7e..6ea1376ab869c8 100644 --- a/boards/nxp/mimxrt1060_evk/board.yml +++ b/boards/nxp/mimxrt1060_evk/board.yml @@ -9,7 +9,8 @@ boards: - name: "hyperflash" revision: format: "letter" - default: "A" + default: "C" revisions: - name: "A" - name: "B" + - name: "C" diff --git a/boards/nxp/mimxrt1060_evk/doc/index.rst b/boards/nxp/mimxrt1060_evk/doc/index.rst index 940ca2a593ecfc..372aaea085e566 100644 --- a/boards/nxp/mimxrt1060_evk/doc/index.rst +++ b/boards/nxp/mimxrt1060_evk/doc/index.rst @@ -316,8 +316,28 @@ The MIMXRT1060 SoC has eight UARTs. ``LPUART1`` is configured for the console, ``LPUART3`` for the Bluetooth Host Controller Interface (BT HCI), and the remaining are not used. -Board Targets -************* +Board Revisions and Targets +*************************** + +There are three revisions of this board. + +Rev A: + +* Initial version + +Rev B: + +* adds the M.2 connector for Wi-Fi/BLE +* adds audio expansion connector J23 +* USER LED1 changed to GPIO1 pin 8 + +Rev C: + +* Replaces audio codec WM8960(EOL) to WM8962 +* Replaces 32.768 KHz oscillator from ASH7K-32.768KHz-T(EOL)to ASH7KW-32.768KHZ-L-T +* Replaces motion sensor from FXOS8700CQ(EOL) to FXLS8974CFR3 +* Re-assigns Bluetooth Audio PCM with dedicated I2S2 +* Re-assigns Bluetooth interface UART_CTS, UART_RTS to hardware PIN This board has two variants that can be targeted, depending on which flash to set as ``zephyr,flash``: @@ -387,10 +407,28 @@ Flashing Here is an example for the :zephyr:code-sample:`hello_world` application. -.. zephyr-app-commands:: - :zephyr-app: samples/hello_world - :board: mimxrt1060_evk//qspi - :goals: flash +.. tabs:: + + .. group-tab:: i.MX RT1060 Rev A + + .. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: mimxrt1060_evk@A//qspi + :goals: flash + + .. group-tab:: i.MX RT1060 Rev B + + .. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: mimxrt1060_evk@B//qspi + :goals: flash + + .. group-tab:: i.MX RT1060 Rev C (default) + + .. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: mimxrt1060_evk@C//qspi + :goals: flash Open a serial terminal, reset the board (press the SW9 button), and you should see the following message in the terminal: @@ -405,10 +443,29 @@ Debugging Here is an example for the :zephyr:code-sample:`hello_world` application. -.. zephyr-app-commands:: - :zephyr-app: samples/hello_world - :board: mimxrt1060_evk//qspi - :goals: debug +.. tabs:: + + .. group-tab:: i.MX RT1060 Rev A + + .. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: mimxrt1060_evk@A//qspi + :goals: debug + + .. group-tab:: i.MX RT1060 Rev B + + .. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: mimxrt1060_evk@B//qspi + :goals: debug + + .. group-tab:: i.MX RT1060 Rev C (default) + + .. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: mimxrt1060_evk@C//qspi + :goals: debug + Open a serial terminal, step through the application in your debugger, and you should see the following message in the terminal: diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml index cd57a0bc6c296b..b7cfe0219c3d17 100644 --- a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi.yaml @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # -identifier: mimxrt1060_evk/mimxrt1062/qspi +identifier: mimxrt1060_evk@A/mimxrt1062/qspi name: NXP MIMXRT1060-EVK type: mcu arch: arm diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml index 5c9f42d5ef717a..c46f4ceba9ae97 100644 --- a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_B.yaml @@ -15,20 +15,20 @@ toolchain: ram: 32768 flash: 8192 supported: + - adc - arduino_gpio - arduino_i2c - arduino_serial - arduino_spi + - can - counter - display + - dma - gpio - i2c - netif:eth - sdhc - spi - usb_device - - dma - - can - watchdog - - adc vendor: nxp diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.overlay b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.overlay new file mode 100644 index 00000000000000..284679eaa9f28f --- /dev/null +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.overlay @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2022, Whisper.ai + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* FLEXPWM not routed to LED on this EVK */ +&flexpwm2_pwm3 { + status = "disabled"; +}; + +&green_led { + gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; + label = "User LED1"; +}; diff --git a/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml new file mode 100644 index 00000000000000..94394b3b84e91d --- /dev/null +++ b/boards/nxp/mimxrt1060_evk/mimxrt1060_evk_mimxrt1062_qspi_C.yaml @@ -0,0 +1,34 @@ +# +# Copyright (c) 2022, Whisper.ai +# +# SPDX-License-Identifier: Apache-2.0 +# + +identifier: mimxrt1060_evk@C/mimxrt1062/qspi +name: NXP MIMXRT1060-EVKC +type: mcu +arch: arm +toolchain: + - zephyr + - gnuarmemb + - xtools +ram: 32768 +flash: 8192 +supported: + - adc + - arduino_gpio + - arduino_i2c + - arduino_serial + - arduino_spi + - can + - counter + - display + - dma + - gpio + - i2c + - netif:eth + - sdhc + - spi + - usb_device + - watchdog +vendor: nxp diff --git a/samples/bluetooth/peripheral_ht/sample.yaml b/samples/bluetooth/peripheral_ht/sample.yaml index 826fceb3a56312..3316b0fdc81dd3 100644 --- a/samples/bluetooth/peripheral_ht/sample.yaml +++ b/samples/bluetooth/peripheral_ht/sample.yaml @@ -17,12 +17,15 @@ tests: platform_allow: - mimxrt1020_evk - mimxrt1050_evk/mimxrt1052/hyperflash - - mimxrt1060_evk/mimxrt1062/qspi + - mimxrt1060_evk@A/mimxrt1062/qspi + - mimxrt1060_evk@B/mimxrt1062/qspi + - mimxrt1060_evk@C/mimxrt1062/qspi - frdm_k64f tags: bluetooth extra_args: SHIELD=frdm_kw41z integration_platforms: - mimxrt1020_evk + - mimxrt1060_evk/mimxrt1062/qspi sample.bluetooth.peripheral_ht.nxp: # Disabling monolithic since CI environment doesn't use blobs build_only: true diff --git a/samples/boards/nxp/mimxrt1060_evk/system_off/sample.yaml b/samples/boards/nxp/mimxrt1060_evk/system_off/sample.yaml index c620b53c5f3f3a..d6ca0dd5ee0eaf 100644 --- a/samples/boards/nxp/mimxrt1060_evk/system_off/sample.yaml +++ b/samples/boards/nxp/mimxrt1060_evk/system_off/sample.yaml @@ -6,7 +6,8 @@ tests: sample.boards.mimxrt1060_evk.system_off: build_only: true platform_allow: - - mimxrt1060_evk/mimxrt1062/qspi + - mimxrt1060_evk@A/mimxrt1062/qspi - mimxrt1060_evk@B/mimxrt1062/qspi + - mimxrt1060_evk@C/mimxrt1062/qspi integration_platforms: - mimxrt1060_evk/mimxrt1062/qspi diff --git a/samples/drivers/display/sample.yaml b/samples/drivers/display/sample.yaml index 98b12b8f9bb072..d7597f5eb61acf 100644 --- a/samples/drivers/display/sample.yaml +++ b/samples/drivers/display/sample.yaml @@ -61,7 +61,9 @@ tests: sample.display.rk043fn02h_ct: platform_allow: - mimxrt1064_evk - - mimxrt1060_evk/mimxrt1062/qspi + - mimxrt1060_evk@A/mimxrt1062/qspi + - mimxrt1060_evk@B/mimxrt1062/qspi + - mimxrt1060_evk@C/mimxrt1062/qspi - mimxrt1050_evk/mimxrt1052/hyperflash - mimxrt1040_evk integration_platforms: diff --git a/samples/subsys/display/lvgl/sample.yaml b/samples/subsys/display/lvgl/sample.yaml index a58e6d3a576157..c733d608a33b83 100644 --- a/samples/subsys/display/lvgl/sample.yaml +++ b/samples/subsys/display/lvgl/sample.yaml @@ -88,7 +88,7 @@ tests: samples.subsys.display.lvgl.rk043fn02h_ct: platform_allow: - mimxrt1064_evk - - mimxrt1060_evk/mimxrt1062/qspi + - mimxrt1060_evk@C/mimxrt1062/qspi - mimxrt1050_evk/mimxrt1052/hyperflash - mimxrt1040_evk integration_platforms: diff --git a/samples/subsys/usb/dfu/sample.yaml b/samples/subsys/usb/dfu/sample.yaml index 9e5d3549ae7ccd..19a1213c325e4f 100644 --- a/samples/subsys/usb/dfu/sample.yaml +++ b/samples/subsys/usb/dfu/sample.yaml @@ -8,11 +8,15 @@ common: - mimxrt1010_evk - mimxrt1020_evk - mimxrt1015_evk - - mimxrt1060_evk/mimxrt1062/qspi + - mimxrt1060_evk@A/mimxrt1062/qspi + - mimxrt1060_evk@B/mimxrt1062/qspi + - mimxrt1060_evk@C/mimxrt1062/qspi - sam4l_ek - mimxrt1050_evk/mimxrt1052/hyperflash - mimxrt1050_evk/mimxrt1052/qspi - - mimxrt1060_evk/mimxrt1062/hyperflash + - mimxrt1060_evk@A/mimxrt1062/hyperflash + - mimxrt1060_evk@B/mimxrt1062/hyperflash + - mimxrt1060_evk@C/mimxrt1062/hyperflash - nucleo_f207zg - teensy40 - teensy41 diff --git a/samples/subsys/usb/hid-mouse/sample.yaml b/samples/subsys/usb/hid-mouse/sample.yaml index a9d65e3b501a8f..ea670e849e9f97 100644 --- a/samples/subsys/usb/hid-mouse/sample.yaml +++ b/samples/subsys/usb/hid-mouse/sample.yaml @@ -21,7 +21,6 @@ tests: - frdm_k64f - stm32f723e_disco - nucleo_f413zh - - mimxrt685_evk/mimxrt685s/cm33 - mimxrt1060_evk/mimxrt1062/qspi extra_args: - CONF_FILE="usbd_next_prj.conf" diff --git a/tests/drivers/gpio/gpio_basic_api/testcase.yaml b/tests/drivers/gpio/gpio_basic_api/testcase.yaml index d13e33c3ac0bf2..8b54f1dd74e201 100644 --- a/tests/drivers/gpio/gpio_basic_api/testcase.yaml +++ b/tests/drivers/gpio/gpio_basic_api/testcase.yaml @@ -56,8 +56,9 @@ tests: - mimxrt595_evk/mimxrt595s/cm33 - mimxrt1020_evk - mimxrt1040_evk - - mimxrt1060_evk/mimxrt1062/qspi + - mimxrt1060_evk@A/mimxrt1062/qspi - mimxrt1060_evk@B/mimxrt1062/qspi + - mimxrt1060_evk@C/mimxrt1062/qspi - lpcxpresso55s69/lpc55s69/cpu0 - lpcxpresso55s36 drivers.gpio.2pin_arduino_customized: @@ -71,7 +72,6 @@ tests: - mimxrt1020_evk - mimxrt1040_evk - mimxrt1060_evk/mimxrt1062/qspi - - mimxrt1060_evk@B/mimxrt1062/qspi - lpcxpresso55s69/lpc55s69/cpu0 - lpcxpresso55s36 - nucleo_wb09ke diff --git a/tests/drivers/stepper/drv8424/api/testcase.yaml b/tests/drivers/stepper/drv8424/api/testcase.yaml index 0b31f5e3714570..70815239a2cfa0 100644 --- a/tests/drivers/stepper/drv8424/api/testcase.yaml +++ b/tests/drivers/stepper/drv8424/api/testcase.yaml @@ -10,9 +10,9 @@ tests: - drv8424 platform_allow: - nucleo_f767zi - - mimxrt1060_evk@B/mimxrt1062/qspi + - mimxrt1060_evk/mimxrt1062/qspi - native_sim integration_platforms: - nucleo_f767zi - - mimxrt1060_evk@B/mimxrt1062/qspi + - mimxrt1060_evk/mimxrt1062/qspi - native_sim