boards/phytec/phyboard_atlas/doc/index.rst
.. zephyr:board:: phyboard_atlas
Overview
The PHYTEC phyBOARD-Atlas i.MX RT1170 features the phyCORE-i.MX RT1170 System on Module. The phyCORE-i.MX RT1170 module is based on the NXP dual core i.MX RT1170 which runs the Cortex-M7 core at 1 GHz and on the Cortex-M4 at 400 MHz.
Hardware
MIMXRT1176DVMAA MCU
Memory
Interfaces
Debug
For more information about phyCORE-i.MX RT1170 & phyBOARD-Atlas i.MX RT1170 board, see these references:
phyCORE-i.MX RT1170 Product Page_phyBOARD-Atlas i.MX RT1170 Product Page_This platform has the following external memories:
+----------------------+------------+-------------------------------------+ | Device | Controller | Status | +======================+============+=====================================+ | MT48LC16M16A2B4-7EIT | SEMC | Enabled via device configuration | | SDRAM | | data (DCD) block, which sets up | | | | the SEMC at boot time | +----------------------+------------+-------------------------------------+ | MX25U12832FM2I02 | FLEXSPI | Enabled via flash configuration | | QSPI flash | | block (FCB), which sets up the | | | | FLEXSPI at boot time. | +----------------------+------------+-------------------------------------+
.. zephyr:board-supported-hw::
The MIMXRT1170 SoC has six pairs of pinmux/gpio controllers.
+---------------------------+----------------------+-------------------------------+ | Name | Function | Usage | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_35 | GPIO | User button | +---------------------------+----------------------+-------------------------------+ | GPIO_SNVS_08 | GPIO | Red LED (SOM) | +---------------------------+----------------------+-------------------------------+ | GPIO_SNVS_09 | GPIO | Green LED (SOM) | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_14 | GPIO | Red LED (Carrier Board) | +---------------------------+----------------------+-------------------------------+ | GPIO_LPSR_13 | GPIO | Green LED (Carrier Board) | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_18 | LPI2C2_SCL | EEPROM | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_19 | LPI2C2_SDA | EEPROM | +---------------------------+----------------------+-------------------------------+ | GPIO_LPSR_08 | LPI2C5_SCL | Accelerometer, CODEC, Display | +---------------------------+----------------------+-------------------------------+ | GPIO_LPSR_09 | LPI2C5_SDA | Accelerometer, CODEC, Display | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_24 | LPUART1_TX | UART Console (CM7) | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_25 | LPUART1_RX | UART Console (CM7) | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_28 | LPUART5_TX | UART | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_29 | LPUART5_RX | UART | +---------------------------+----------------------+-------------------------------+ | GPIO_EMC_B1_40 | LPUART6_TX | UART Console (CM4) | +---------------------------+----------------------+-------------------------------+ | GPIO_EMC_B1_41 | LPUART6_RX | UART Console (CM4) | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_00 | CTP_INT | Display | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_01 | CTP_RST_B | Display | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_05 | PWR_EN | Display | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_30 | Backlight_CTL | Display | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_32 | ENET_MDC | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_33 | ENET_MDIO | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_02 | ENET_TX_DATA00 | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_03 | ENET_TX_DATA01 | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_04 | ENET_TX_EN | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_05 | ENET_TX_CLK | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_06 | ENET_RX_DATA00 | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_07 | ENET_RX_DATA01 | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_08 | ENET_RX_EN | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B2_09 | ENET_RX_ER | Ethernet | +---------------------------+----------------------+-------------------------------+ | GPIO_EMC_B2_19 | ENET_RGMII_MDC | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_EMC_B2_20 | ENET_RGMII_MDIO | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_09 | ENET_RGMII_TX_DATA00 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_08 | ENET_RGMII_TX_DATA01 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_07 | ENET_RGMII_TX_DATA02 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_06 | ENET_RGMII_TX_DATA03 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_10 | ENET_RGMII_TX_EN | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_11 | ENET_RGMII_TX_CLK | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_02 | ENET_RGMII_RX_DATA00 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_03 | ENET_RGMII_RX_DATA01 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_04 | ENET_RGMII_RX_DATA02 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_05 | ENET_RGMII_RX_DATA03 | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_00 | ENET_RGMII_RX_EN | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_DISP_B1_01 | ENET_RGMII_RX_CLK | Ethernet 1G | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_02 | LPUART8_TX | RS-232 | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_03 | LPUART8_RX | RS-232 | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_04 | LPUART8_CTS | RS-232 | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_05 | LPUART8_RTS | RS-232 | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B2_05 | FLEXSPI1_DQS | Flash Programming | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B2_06 | FLEXSPI1_SS0 | Flash Programming | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B2_07 | FLEXSPI1_SCLK | Flash Programming | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B2_08 | FLEXSPI1_DATA00 | Flash Programming | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B2_09 | FLEXSPI1_DATA01 | Flash Programming | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B2_10 | FLEXSPI1_DATA02 | Flash Programming | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B2_11 | FLEXSPI1_DATA03 | Flash Programming | +---------------------------+----------------------+-------------------------------+ | GPIO_LPSR_00 | CAN3_TX | FlexCAN | +---------------------------+----------------------+-------------------------------+ | GPIO_LPSR_01 | CAN3_RX | FlexCAN | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_17_SAI1_MCLK | SAI_MCLK | CODEC/SAI | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_20_SAI1_RX_DATA00 | SAI1_RX_DATA00 | CODEC/SAI | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_21_SAI1_TX_DATA00 | SAI1_TX_DATA00 | CODEC/SAI | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_22_SAI1_TX_BCLK | SAI1_TX_BCLK | CODEC/SAI | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_23_SAI1_TX_SYNC | SAI1_TX_SYNC | CODEC/SAI | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B1_00 | USDHC1_CMD | SDHC | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B1_01 | USDHC1_CLK | SDHC | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B1_02 | USDHC1_DATA0 | SDHC | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B1_03 | USDHC1_DATA1 | SDHC | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B1_04 | USDHC1_DATA2 | SDHC | +---------------------------+----------------------+-------------------------------+ | GPIO_SD_B1_05 | USDHC1_DATA3 | SDHC | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_09 | USB_OTG1_ID | USB | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_10 | USB_OTG1_PWR | USB | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_11 | USB_OTG1_OC | USB | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_08 | USB_OTG2_ID | USB | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_07 | USB_OTG2_PWR | USB | +---------------------------+----------------------+-------------------------------+ | GPIO_AD_06 | USB_OTG2_OC | USB | +---------------------------+----------------------+-------------------------------+
Dual Core samples
+-----------+------------------+------------------+ | Core | Boot Address | Comment | +===========+==================+==================+ | Cortex M7 | 0x30000000[630K] | primary core | +-----------+------------------+------------------+ | Cortex M4 | 0x20020000[96k] | boots from OCRAM | +-----------+------------------+------------------+
+----------+------------------+-----------------------+ | Memory | Address[Size] | Comment | +==========+==================+=======================+ | flexspi1 | 0x30000000[16M] | Cortex M7 flash | +----------+------------------+-----------------------+ | sdram0 | 0x80030000[64M] | Cortex M7 ram | +----------+------------------+-----------------------+ | ocram | 0x20020000[512K] | Cortex M4 "flash" | +----------+------------------+-----------------------+ | sram1 | 0x20000000[128K] | Cortex M4 ram | +----------+------------------+-----------------------+ | ocram2 | 0x200C0000[512K] | Mailbox/shared memory | +----------+------------------+-----------------------+
Only the first 16K of ocram2 has the correct MPU region attributes set to be used as shared memory
The MIMXRT1170 SoC is configured to use SysTick as the system clock source, running at 996MHz. When targeting the M4 core, SysTick will also be used, running at 400MHz
When power management is enabled, the 32 KHz low frequency oscillator on the board will be used as a source for the GPT timer to generate a system clock. This clock enables lower power states, at the cost of reduced resolution
The MIMXRT1170 SoC has 12 UARTs. LPUART1 is configured for the console for
the CM7 and LPUART6 is configured for the console of the CM4. LPUART8 is
configured for RS-232. Remaining are not used.
Programming and Debugging
Build and flash applications as usual (see :ref:build_an_application and
:ref:application_run for more details).
We will use the on-board FTDI UART-to-USB IC that converts the two internal UARTs to USB (X15).
Use the following settings with your serial terminal of choice (minicom, putty, etc.):
Here is an example for the :zephyr:code-sample:hello_world application.
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: phyboard_atlas/mimxrt1176/cm7 :goals: flash
You should see the following message in the terminal:
.. code-block:: console
***** Booting Zephyr OS v4.1.0-xxxx-xxxxxxxxxxxxx ***** Hello World! phyboard_atlas/mimxrt1176/cm7
Here is an example for the :zephyr:code-sample:hello_world application.
.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: phyboard_atlas/mimxrt1176/cm7 :goals: debug
Open a serial terminal, step through the application in your debugger, and you should see the following message in the terminal:
.. code-block:: console
***** Booting Zephyr OS v4.1.0-xxxx-xxxxxxxxxxxxx ***** Hello World! phyboard_atlas/mimxrt1176/cm7
.. note:: Use J-Link version 7.50 or later. Debugging only supports running the CM4 image, since the board’s default boot core is CM7.
References
.. target-notes::
.. _phyCORE-i.MX RT1170 Product Page: https://www.phytec.com/product/phycore-rt1170
.. _phyBOARD-Atlas i.MX RT1170 Product Page: https://www.phytec.com/product/phyboard-rt1170-development-kit/
.. _AN13264: https://www.nxp.com/docs/en/application-note/AN13264.pdf