Introduction
This BSP provides a basis for development, deployment and execution of Linux based applications on the iMX7 System on Module (SOM). For detailed information on the various software components included in the release and how to use them, please refer to the Quickstart.
Versioning
Software
Hardware
Linux Device Tree Summary
The following is an example describing the structure of the device tree for the standard phyBOARD-Zeta Kit (machine configuration imx7d-phyboard-zeta-001).
Please look at the dts file corresponding to your machine configuration for the included dtsi files.
Default dts targets | imx7d-phyboard-zeta-001.dts | |
Default dtsi include description | Default dtsi include list | |
SOM (Superset) - defines all SOM population options. | imx7-phycore-som.dtsi | |
SOM part number - enables features that are populated on SOM variant PCM-061-2110111C. | imx7d-pcm-061-2110111c.dtsi | |
Carrier Board | imx7-pba-c-09.dtsi | |
LCD Display Adapter | imx7-peb-av-02.dtsi | |
Evaluation Board | imx7-peb-eval-02.dtsi | |
WiFi/Bluetooth Module | imx7-peb-wlbt-03.dtsi |
Alternate dts imx7d-phyboard-zeta-001-m4.dtb: configure u-boot to use this DTS if running Linux on the Cortex-A7 while running FreeRTOS on the Cortex-M4
Compatible Hardware
Supported Hardware Versions
Hardware Description | Part Number | PCB Version |
---|---|---|
phyCORE-i.MX7 SOM | PCM-061.A4 | 1458.2 |
PCM-061-2110111C.A0 | 1458.2 | |
PCM-061-2110111C.A1 | 1458.2 | |
PCM-061-0502100E.A0 | 1458.2 | |
phyBOARD-Zeta Carrier Board | PBA-C-09.A4 | 1459.2 |
PBA-C-09.A5 | 1459.3 |
Device tree changes are required to support earlier SOM and Carrier Board revisions. Visit the PHYTEC Support Portal to open a support ticket for help on how to make the device tree changes.
Compatible Expansion Boards and Accessories
Module Name | Part Number | PCB Version | Description |
---|---|---|---|
LCD Display Adapter with 7'' capacitive display | PEB-AV-02-070W.A0 (Includes AV module, display, and cable) | 1415.1 | ETM0700G0DH6 LCD Display/ Capacitive touch interface |
Evaluation Board | PEB-EVAL-02 | 1460.0 | Connects to expansion header and provides: UART1, UART2, JTAG, I2C EEPROM, three user buttons, three user LEDs |
WiFi/Bluetooth Module | PEB-WLBT-03-CA.A1 | 1478.1 | LAIRD Sterling-LWB module, connects to phyBOARD expansion header |
BSP Download
Prebuilt images of BSP-Yocto-FSL-iMX7-PD17.2.0 can be downloaded and extracted from the link below:
BSP-Yocto-FSL-iMX7-PD17.2.0.tar.bz2
Quickstart
Quickstarts for BSP-Yocto-FSL-iMX7-PD17.2.0:
BSP Yocto FSL i.MX7 PD17.2.0 Quickstart
BSP Features
The following table lists the interfaces available from the phyCORE-iMX7 SOM.
- Implemented - driver support exists in the kernel.
- Tested - the interface has been configured in the device tree and was tested by PHYTEC
Enabled in DTS - the corresponding device tree nodes are enabled in the device tree imx7d-phyboard-zeta-001.dts
The "Enabled in DTS" column is specifically for the standard phyBOARD-Zeta kit (machine configuration imx7d-phyboard-zeta-001).
Please look at the dts file corresponding to your machine configuration for differences.
Interface | Detail | Implemented | Tested | Enabled in DTS | Notes |
---|---|---|---|---|---|
UART | uart1 | Yes | Yes | Yes | DB9 connector on PEB-EVAL-02 |
uart2 | Yes | Yes | Yes | DB9 connector on PEB-EVAL-02 | |
uart3 | Yes | No | [click for info] | expansion header | |
uart4 | Yes | No | [click for info] | ||
uart5 | Yes | Yes | Yes | RS232 default serial console at Connector X2 | |
uart6 | Yes | No | [click for info] | expansion header | |
uart7 | Yes | Yes | Yes | expansion header - Configured for BT on PEB-WLBT-03 | |
I2C | i2c1 | Yes | Yes | Yes | expansion header |
i2c2 | Yes | Yes | Yes | AV Connector X4 | |
i2c3 | Yes | No | [click for info] | ||
i2c4 | Yes | Yes | Yes | expansion header | |
Ethernet | RGMII1 | Yes | Yes | Yes | KSZ9031RNX PHY on SOM, Connector X8 |
RGMII2 | Yes | Yes | Yes | KSZ9031RNX PHY on CarrierBoard, Connector X7 | |
SAI | sai1 | Yes | No | Audio/Video Connector X4 | |
sai2 | Yes | No | [click for info] | expansion header | |
sai3 | Yes | No | [click for info] | ||
MMC/SDIO | SD1 | Yes | Yes | Yes | microSD slot connector X11 |
SD2 | Yes | No | [click for info] | expansion header | |
SD3 | Yes | Yes | Yes | signals routed to eMMC. | |
Communication | MultiCore Communication with Cortex-M4 (RPMsg) | Yes | Yes | Yes | See FreeRTOS release for more info. |
Laird Sterling LWB Bluetooth | Yes | Yes | Yes | on PEB-WLBT-03 | |
Laird Sterling LWB WiFi | Yes | Yes | Yes | on PEB-WLBT-03 | |
USB | usb1 | Yes | Yes | Yes | USB-A Host Connector X9 |
usb2 | Yes | Yes | Yes | USB-AB OTG Connector X10 | |
usbh (HSIC) | Yes | Yes | No | expansion header | |
CAN | can1 | Yes | Yes | Yes | Header X1 |
can2 | Yes | No | [click for info] | ||
SPI | spi1 | Yes | No | [click for info] | expansion header |
spi2 | Yes | No | [click for info] | expansion header | |
spi3 | Yes | No | [click for info] | expansion header | |
spi4 | Yes | No | [click for info] | ||
ADC | adc1 | Yes | Yes | Yes | expansion header |
Display and Touch | LCD Display | Yes | Yes | Yes | via expansion board PEB-AV-02 |
Analog LCD Touch | Yes | Yes | Yes | Capacitive ETM-FT5x06 via expansion board PEB-AV-02 | |
HDMI | No | No | via expansion board PEB-AV-01 | ||
Backlight | Yes | Yes | Yes | PWM via pwm4 via expansion board PEB-AV-02 | |
GPIO | User Buttons and LEDs | Yes | Yes | Yes | User LED GPIO2_10 on CarrierBoard Three user LEDs and three buttons on PEB-EVAL-02 |
Memory | 8/16-bit NAND Flash (GPMC) | Yes | Yes | No | MT29F4G08 - not populated in default SOM configuration |
SPI NOR Flash | Yes | Yes | Yes | N25Q128A on QSPI_A | |
EEPROM on SOM | Yes | Yes | Yes | M24C32 on i2c1 | |
EEPROM on eval board | Yes | Yes | Yes | CAT24C32 on i2c4 PEB-EVAL-02 | |
eMMC | Yes | Yes | Yes | On SD3 PCM-061.A0 -.A4 SOMs: MTFC4GMDEA-4M PCM-061-2110111C.A1: MTFC4GACAJCN-4M IT | |
RTC | Internal i.MX7 | Yes | Yes | Yes | SNVS RTC |
External RTC | Yes | Yes | Yes | RV-4162-C7 on I2C1 | |
Power Management | PMIC | Yes | Yes | Yes | PF3000 on I2C1 |
JTAG | JTAG | ARM JTAG 20 connector on PEB-EVAL-02 | |||
PCIe | mini-pcie | Yes | Yes | Yes | connector X12 |
[1] Interface requires additional configuration, such as pinmuxing. It may be possible to change the software configuration to utilize this interface even if it is not being set in the board's default configuration. Please see NXP's i.MX7D Technical Reference Manual for more information on the various modes each pin can be muxed to.
Fixed In This Release
- eMMC HS400
- Updated usdhc3 pinmuxing for improved HS400 performance
New In This Release
- Linux
- Updated device tree structure to support SOM variants:
- PCM-061-2110111C
- PCM-061-0502100E
- PCM-061-2111101E
- PCM-061-2111111E
- Enabled ADC1, available at expansion header on carrier board
- Added support for NAND
- Updated device tree structure to support SOM variants:
- Meta-phytec:
- "imx7d-phyboard-zeta" machine renamed to "imx7d-phyboard-zeta-001"
- New machine for i.MX7 Solo Kit imx7s-phyboard-zeta-002
- Yocto source Mirroring on PHYTEC Artifactory
- U-Boot:
- Support for 256MB DDR
- New configuration options:
- mx7d_pcm061_21x_config
- mx7s_pcm061_05x_config
- Booting from NAND
- General:
- WiFi/Bluetooth support for PEB-WLBT-03
Not Tested
- Booting via network
- Qt5 - NXP includes "fsl-image-qt5" Yocto Image in the BSP but it is meant for i.MX SoCs with hardware graphics, and is not supported by NXP or PHYTEC for the i.MX7D.
Known Issues
PHYTEC Known Issues
- Ethernet:
- iperf3 is included with the Krogoth Yocto BSP. With UDP, this command reports much lower bandwidth than expected when compared with iperf command.
eMMC:
- Flashing with U-Boot:
- fsl-image-gui-imx7d-phyboard-zeta.sdcard image is too large to be loaded into memory (1GB) from u-boot.
- Workaround: Partition and flash eMMC from Linux instead. See Quickstart for instructions.
- Flashing with U-Boot:
- Linux IMX Busfreq driver:
- Driver disabled by default due to impaired UART console functionality when the system is idle (Low frequency setpoint).
For dynamic bus frequency scaling and improved power consumption, the busfreq driver can be enabled in the device tree by removing the "fsl,freq_scaling_disabled" property in imx7-phycore-som.dtsi. It can also be controlled in Linux sysfs:
echo 1 > /sys/bus/platform/drivers/imx_busfreq/soc\:busfreq/enable
Kit imx7s-phyboard-zeta-002:
Communication with Cortex-M4: Linux fails to boot when RPMsg is enabled, the RPMSG driver hardcodes the location in memory used for RPMSG to be at the end of 1GB.
- Fixed in v4.1.15-phy-next branch: the following commits fix the RPMSG driver to support different memory sizes and add a device tree for booting FreeRTOS M4 in parallel with Linux on the Cortex-A7.
Note: RPMSG vring buffers must be modified for 256GB RAM in the M4 kernel as well. For the FreeRTOS NXP release, this is done by changing VRING0_BASE and VRING1_BASE in middleware/multicore/open-amp/porting/imx7d_m4/platform_info.c:
#define VRING0_BASE 0x8FFF0000 #define VRING1_BASE 0x8FFF8000
- 256MB NAND is too small to flash fsl-image-gui filesystem. Booting from NAND was tested with core-image-minimal Yocto image, which is included with release binaries.
NXP Known Issues
- See i.MX Linux Release Notes from NXP in L4.1.15_2.0.0_LINUX_DOCS
Technical Support
For further information or to report any problems, visit the PHYTEC Support Portal