blob: 7f5b75784cc0b0ffc5fd3046b178801a526c0442 [file] [log] [blame]
.. zephyr:board:: frdm_imx91
Overview
********
The FRDM-IMX91 board is a low-cost and compact platform designed to show
the most commonly used features of the i.MX 91 Applications Processor in a
small and low cost package. The FRDM-IMX93 board is an entry-level development
board, which helps developers to get familiar with the processor before
investing a large amount of resources in more specific designs.
Hardware
********
- i.MX 91 applications processor
- The i.MX 91 Applications Processor features an Arm Cortex®-A55 core
that can operate at speeds of up to 1.4 GHz.
- RAM: 2GB LPDDR4
- Storage:
- SanDisk 16GB eMMC5.1
- microSD Socket
- Wireless:
- Murata Type-2EL (SDIO+UART+SPI) module. It is based on NXP IW612 SoC,
which supports dual-band (2.4 GHz /5 GHz) 1x1 Wi-Fi 6, Bluetooth 5.2,
and 802.15.4
- USB:
- Two USB 2.0 Type C connectors
- Ethernet:
- ENET: 10/100/1000 Mbit/s RGMII Ethernet connected with external PHY
YT8521
- ENET_QoS: 10/100/1000 Mbit/s RGMII Ethernet supporting TSN connected
with external PHY YT8521
- PCIe:
- One M.2/NGFF Key E mini card 75-pin connector
- Connectors:
- 40-Pin Dual Row Header
- LEDs:
- 1x Power status LED
- 2x UART LED
- Debug:
- JTAG 20-pin connector
- MicroUSB for UART debug
Supported Features
==================
.. zephyr:board-supported-hw::
Devices
========
System Clock
------------
This board configuration uses a system clock frequency of 24 MHz.
Cortex-A55 Core runs up to 1.4 GHz.
Serial Port
-----------
This board configuration uses a single serial communication channel with the
CPU's UART1 for A55 core.
Programming and Debugging
*************************
U-Boot "go" command is used to load and kick Zephyr to Cortex-A55 Core.
Stop the board at U-Boot command line, then need to download Zephyr binary image into
DDR memory, it can use tftp:
.. code-block:: console
tftp 0x80000000 zephyr.bin
Or copy the Zephyr image ``zephyr.bin`` to SD card and plug the card into the board, for example
if copy the image to the FAT partition of the SD card, use the following U-Boot command to load
the image into DDR memory (assuming the SD card is dev 1, fat partition ID is 1, they could be
changed based on actual partitions):
.. code-block:: console
fatload mmc 1:1 0x80000000 zephyr.bin;
Then use U-Boot to load and kick zephyr.bin to Cortex-A55 Core:
.. code-block:: console
dcache off; icache flush; go 0x80000000
Use this configuration to run basic Zephyr applications and kernel tests,
for example, with the :zephyr:code-sample:`synchronization` sample:
.. zephyr-app-commands::
:zephyr-app: samples/synchronization
:host-os: unix
:board: frdm_imx91/mimx9131
:goals: build
This will build an image with the synchronization sample app, boot it and
display the following console output:
.. code-block:: console
*** Booting Zephyr OS build v4.2.0-4272-g1cbd317fd85e ***
thread_a: Hello World from cpu 0 on frdm_imx91!
thread_b: Hello World from cpu 0 on frdm_imx91!
thread_a: Hello World from cpu 0 on frdm_imx91!
thread_b: Hello World from cpu 0 on frdm_imx91!
.. include:: ../../common/board-footer.rst
:start-after: nxp-board-footer