NXP RD-RW612-BGA

Overview

The RW612 is a highly integrated, low-power tri-radio wireless MCU with an integrated 260 MHz ARM Cortex-M33 MCU and Wi-Fi 6 + Bluetooth Low Energy (LE) 5.3 / 802.15.4 radios designed for a broad array of applications, including connected smart home devices, gaming controllers, enterprise and industrial automation, smart accessories and smart energy.

The RW612 MCU subsystem includes 1.2 MB of on-chip SRAM and a high-bandwidth Quad SPI interface with an on-the-fly decryption engine for securely accessing off-chip XIP flash.

The advanced design of the RW612 delivers tight integration, low power and highly secure operation in a space- and cost-efficient wireless MCU requiring only a single 3.3 V power supply.

Hardware

  • 260 MHz ARM Cortex-M33, tri-radio cores for Wifi 6 + BLE 5.3 + 802.15.4

  • 1.2 MB on-chip SRAM

Supported Features

Interface

Controller

Driver/Component

NVIC

on-chip

nested vector interrupt controller

SYSTICK

on-chip

systick

MCI_IOMUX

on-chip

pinmux

GPIO

on-chip

gpio

USART

on-chip

serial

DMA

on-chip

dma

SPI

on-chip

spi

I2C

on-chip

i2c

FLEXSPI

on-chip

flash/memc

TRNG

on-chip

entropy

DMIC

on-chip

dmic

LCDIC

on-chip

mipi-dbi

WWDT

on-chip

watchdog

USBOTG

on-chip

usb

CTIMER

on-chip

counter

MRT

on-chip

counter

OS_TIMER

on-chip

os timer

PM

on-chip

power management; uses SoC Power Modes 1 and 2

BLE

on-chip

Bluetooth

ADC

on-chip

adc

DAC

on-chip

dac

ENET

on-chip

ethernet

The default configuration can be found in the defconfig file:

Other hardware features are not currently supported

Display Support

The rd_rw612_bga board supports several in-tree display modules. Setup for each module is described below:

GoWorld 16880 LCM

This module does not connect directly to the board, and must be connected via an adapter board and jumper wires. Connections are described in boards/nxp/rd_rw612_bga/dts/goworld_16880_lcm.overlay. The display sample can be built for this board like so:

west build -b rd_rw612_bga samples/drivers/display -- -DDTC_OVERLAY_FILE=goworld_16880_lcm.overlay

Adafruit 2.8 TFT

The Adafruit 2.8” TFT Touch Shield v2 connects to the board’s Arduino headers directly, but some modifications are required (see boards/shields/adafruit_2_8_tft_touch_v2/boards/rd_rw612_bga.overlay for a list). The display sample can be built for this module like so:

west build -b rd_rw612_bga --shield adafruit_2_8_tft_touch_v2 samples/drivers/display

NXP LCD_PAR_S035

The NXP LCD_PAR_S035 TFT LCD Module does not connect directly to the board, and must be connected via jumper wires. Connections and required board changes are described in boards/shields/lcd_par_s035/boards/rd_rw612_bga.overlay. The display sample can be built for the module like so:

west build -b rd_rw612_bga --shield lcd_par_s035_8080 samples/drivers/display

Fetch Binary Blobs

To support Bluetooth, rd_rw612_bga requires fetching binary blobs, which can be achieved by running the following command:

west blobs fetch hal_nxp

Programming and Debugging

Build and flash applications as usual (see Building an Application and Run an Application for more details).

Configuring a Debug Probe

A debug probe is used for both flashing and debugging the board. This board is configured by default to use the JLink Firmware.

Configuring a Console

Connect a USB cable from your PC to J7, and use the serial terminal of your choice (minicom, putty, etc.) with the following settings:

  • Speed: 115200

  • Data: 8 bits

  • Parity: None

  • Stop bits: 1

Flashing

Here is an example for the Hello World application. This example uses the J-Link Debug Host Tools as default.

# From the root of the zephyr repository
west build -b rd_rw612_bga samples/hello_world
west flash

Open a serial terminal, reset the board (press the RESET button), and you should see the following message in the terminal:

***** Booting Zephyr OS v3.4.0 *****
Hello World! rd_rw612_bga

Debugging

Here is an example for the Hello World application. This example uses the J-Link Debug Host Tools as default.

# From the root of the zephyr repository
west build -b rd_rw612_bga samples/hello_world
west debug

Open a serial terminal, step through the application in your debugger, and you should see the following message in the terminal:

***** Booting Zephyr OS zephyr-v3.6.0 *****
Hello World! rd_rw612_bga

Bluetooth

BLE functionality requires to fetch binary blobs, so make sure to follow the Fetch Binary Blobs section first.

rd_rw612_bga platform supports the monolithic feature. The required binary blob <zephyr workspace>/modules/hal/nxp/zephyr/blobs/rw61x_sb_ble_a2.bin will be linked with the application image directly, forming one single monolithic image.

Board variants

Ethernet

To use ethernet on the RD_RW612_BGA board, you first need to make the following modifications to the board hardware:

Add resistors:

  • R485

  • R486

  • R487

  • R488

  • R489

  • R491

  • R490

Remove resistors:

  • R522

  • R521

  • R520

  • R524

  • R523

  • R508

  • R505

Then, build for the board target rd_rw612_bga//ethernet.

Resources