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 https://wiki.phytec.com/display/public/PRODUCTINFO/BSP+Yocto+FSL+iMX7+PD18.2.0+Release+Notes#BSPYoctoFSLiMX7PD18.2.0ReleaseNotes-Quickstart.
Versioning
Software
Yocto Machine Configuration Table
This BSP release supports various configurations of the phyBOARD-Zeta i.MX7. You will need to know which Yocto machine configuration corresponds to your kit in order to build the appropriate BSP. By default, only the standard kit configurations are shown in the table. If you have a different kit, use the filters below to search by Kit Part Number or SOM. The U-Boot defconfig and kernel device tree file names are important when creating custom U-Boot and kernel images outside of Yocto development.
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-004).
Please look at the dts file corresponding to your machine configuration for the included dtsi files.
Hardware Target | Device Tree File Descriptions | Filename | |
i.MX7D phyBOARD-Zeta (PB-01910-004) | Default dts build target | imx7d-phyboard-zeta-004.dts | |
Processor | imx7d.dtsi (includes imx7s.dtsi) | ||
SOM (Superset) - enables all SOM features. | imx7-phycore-som.dtsi | ||
SOM Variant- excludes features that are not supported by the BOM population options for PCM-061-2110111C. | imx7d-pcm-061-2110111c.dtsi | ||
Carrier Board | imx7d-pba-c-09.dtsi (includes imx7s-pba-c-09.dtsi) | ||
LCD Display Adapter | imx7-peb-av-02.dtsi OR imx7-peb-av-06.dtsi | ||
Expansion Board | imx7-peb-d-rpi.dtsi |
Alternate dts imx7d-phyboard-zeta-004-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 | Configuration Details (i.MX7 / DDR3 / eMMC or NAND / Ethernet PHY populated) | PCB Version |
phyCORE-i.MX7 SOM | PCM-061-2110111C.A1 | Dual / 1GB / 4GB eMMC / Yes | 1458.2 |
PCM-061-2110111C.A0 | |||
PCM-061-0502100E.A0 | Solo / 256MB / 256MB NAND / No | ||
PCM-061-2111101E.A0 | Dual / 1GB / 4GB eMMC / No | ||
PCM-061-2211101E.A0 | Dual / 1GB / 8GB eMMC / No | ||
PCM-061-2111111E.A0 | Dual / 1GB / 4GB eMMC / Yes | ||
PCM-061-2211111E.A0 | Dual / 1GB / 8GB eMMC / Yes | ||
phyBOARD-Zeta Carrier Board | PBA-C-09.A5 | 1459.3 | |
PBA-C-09.A4 | 1459.2 | ||
PBA-C-09-01.A0 | 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 |
---|---|---|---|
PEB-D-RPI Expansion Board | PEB-D-RPI.A0 | 1503.0 | Raspberry Pi HAT support plus:
Connects to expansion header |
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 Connects to Audio/Video header |
MIPI Expansion Board | PEB-AV-06.A1 | 1487.1 | DSI display and CSI camera adapter supporting:
Connects to MIPI DSI connector on phyBOARD |
WiFi/Bluetooth Module | PEB-WLBT-03-CA.A1 | 1478.1 | LAIRD Sterling-LWB module Connects to phyBOARD expansion header |
Supported Raspberry Pi HATs (PEB-D-RPI Expansion Board)
PHYTEC supports a variety of Raspberry Pi HATs for use with the PEB-D-RPI Expansion Board. Other HATs may be hardware-compatible but have not yet been integrated and tested by PHYTEC. Demos and tests for supported HATs have been installed to the BSP file system, and are located in the /usr/share/phytec-rpihat-examples directory.
The following table lists supported Raspberry Pi HATs and the name of the subdirectory (relative to the phytec-rpihat-examples directory) that contains the demos for each HAT:
Raspberry Pi HAT | Demo Subdirectory |
---|---|
Raspberry Pi Sense HAT | sense-hat |
Pimoroni Unicorn HD HAT | unicorn-hd-hat |
Pimoroni Skywriter HAT | skywriter-hat |
Anavi RabbitMax Flex HAT | flex-hat |
Adafruit Capacitive Touch HAT | capacitive-touch-hat |
Adafruit DC & Stepper Motor HAT | motor-hat |
Adafruit 16-channel PWM/Servo HAT | servo-hat |
BSP Download
Prebuilt images of BSP-Yocto-FSL-iMX7-PD18.2.1 can be downloaded and extracted from the link below:
Quickstart
Quickstarts for BSP-Yocto-FSL-iMX7-PD18.2.1:
- BSP Yocto FSL i.MX7 PD18.2.x Quickstart
- For testing the "Hello World" Greengrass example on an i.MX7 already running an image built with the -004_greengrass machine configuration: Content by label
There is no content with the specified labels
Additional documentation:
Content by labelThere is no content with the specified labels
Content by labelThere is no content with the specified labels
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
Status in Device Tree - the corresponding device tree nodes are enabled in the device tree. See Linux Device Tree Summary for more information.
The "Status in Device Tree" column is specifically for the standard phyBOARD-Zeta kit (machine configuration imx7d-phyboard-zeta-004).
Please look at the dts file corresponding to your machine configuration for differences.
Interface | Detail | Implemented | Tested | Status in Device Tree | Notes |
---|---|---|---|---|---|
UART | uart1 | Yes | Yes | Okay | Micro-USB B connector on PEB-D-RPI |
uart2 | Yes | Yes | Disabled | Micro-USB B connector on PEB-D-RPI Disabled for use as serial console on Cortex-M4 FreeRTOS | |
uart3 | Yes | No | Disabled 1 | expansion header | |
uart4 | Yes | No | Disabled 1 | ||
uart5 | Yes | Yes | Okay | RS232 default serial console at Connector X2 | |
uart6 | Yes | No | Disabled 1 | expansion header | |
uart7 | Yes | Yes | Okay | expansion header - Configured for BT on PEB-WLBT-03 | |
I2C | i2c1 | Yes | Yes | Okay | expansion header |
i2c2 | Yes | Yes | Okay | AV Connector X4 | |
i2c3 | Yes | No | Disabled 1 | ||
i2c4 | Yes | Yes | Okay | expansion header Used for PEB-D-RPI expansion board HAT detection | |
Ethernet | RGMII1 | Yes | Yes | Okay | KSZ9031RNX PHY on SOM, Connector X8 |
RGMII2 | Yes | Yes | Okay | KSZ9031RNX PHY on CarrierBoard, Connector X7 | |
SAI | sai1 | Yes | No | Disabled 1 | Audio/Video Connector X4 |
sai2 | Yes | No | Disabled 1 | expansion header | |
sai3 | Yes | No | Disabled 1 | ||
MMC/SDIO | SD1 | Yes | Yes | Yes | microSD slot connector X11 |
SD2 | Yes | No | Disabled 1 | expansion header | |
SD3 | Yes | Yes | Okay | signals routed to eMMC. | |
Communication | MultiCore Communication with Cortex-M4 (RPMsg) | Yes | Yes | Okay | See FreeRTOS release for more info. |
Laird Sterling LWB Bluetooth | Yes | No | Disabled | on PEB-WLBT-03. See Not Tested section for details | |
Laird Sterling LWB WiFi | Yes | No | Disabled | on PEB-WLBT-03. See Not Tested section for details | |
USB | usb1 | Yes | Yes | Okay | USB-A Host Connector X9 |
usb2 | Yes | Yes | Okay | USB-AB OTG Connector X10 | |
usbh (HSIC) | Yes | Yes | Disabled | expansion header | |
CAN | can1 | Yes | Yes | Okay | Header X1 |
can2 | Yes | No | Disabled 1 | ||
SPI | spi1 | Yes | No | Disabled 1 | expansion header |
spi2 | Yes | No | Disabled 1 | expansion header | |
spi3 | Yes | No | Disabled 1 | expansion header | |
spi4 | Yes | No | Disabled 1 | ||
ADC | adc1 | Yes | Yes | Okay | expansion header |
Parallel Display and Touch | Parallel LCD Display | Yes | Yes | Okay | via expansion board PEB-AV-02 |
Analog LCD Touch | Yes | Yes | Okay | Capacitive ETM-FT5x06 via expansion board PEB-AV-02 | |
Backlight | Yes | Yes | Okay | PWM via pwm4 via expansion board PEB-AV-02 | |
MIPI DSI/CSI | 2-lane MIPI DSI Display | Yes | Yes | Disabled | Display TFT3P5581-E via expansion board PEB-AV-06 |
2-lane MIPI CSI Camera | Yes | Yes | Disabled | LI-OV5640-MIPI-AF-16 via expansion board PEB-AV-06 | |
GPIO | User Buttons and LEDs | Yes | Yes | Okay | User LED GPIO2_10 on CarrierBoard Two user LEDs and two buttons on PEB-D-RPI |
Memory | 8/16-bit NAND Flash (GPMC) | Yes | Yes | Disabled | MT29F4G08 - not populated in default SOM configuration |
SPI NOR Flash | Yes | Yes | Okay | N25Q128A on QSPI_A | |
EEPROM on SOM | Yes | Yes | Okay | M24C32 on i2c1 | |
EEPROM on eval board | Yes | Yes | Okay | CAT24C32 on i2c4 PEB-D-RPI | |
eMMC | Yes | Yes | Okay | On SD3 PCM-061.A0 -.A4 SOMs: MTFC4GMDEA-4M PCM-061-2110111C.A1: MTFC4GACAJCN-4M IT | |
RTC | Internal i.MX7 | Yes | Yes | Okay | SNVS RTC |
External RTC | Yes | Yes | Okay | RV-4162-C7 on I2C1 | |
Power Management | PMIC | Yes | Yes | Okay | PF3000 on I2C1 |
JTAG | JTAG | ARM JTAG 20 connector on PEB-D-RPI | |||
PCIe | mini-pcie | Yes | Yes | Okay | 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.
New in this Release
PD18.2.1
- General
- Support for AWS IoT Greengrass v.1.7.0 (in the imx7d-phyboard-zeta-004_greengrass machine configuration)
- Core software included
- Added Greengrass user/group to the system
- Node.js v.6.10 and Java 8 included as alternatives to Python 2.7 for creating AWS Lambda functions
- Support for PCM-061-2211111E.A0
- Support for AWS IoT Greengrass v.1.7.0 (in the imx7d-phyboard-zeta-004_greengrass machine configuration)
- Linux
- Created imx7_phyboard_zeta_greengrass_defconfig based off the previous imx7_phyboard_zeta_defconfig
- Enabled extra configurations necessary for Greengrass (e.g. various cgroup and namespace configs)
- Created imx7_phyboard_zeta_greengrass_defconfig based off the previous imx7_phyboard_zeta_defconfig
- Yocto
- meta-phytec layer
- Created new machine for i.MX7 Dual Kit with Greengrass and related packages. The new machine name is imx7d-phyboard-zeta-004_greengrass.
- Created and added recipes and meta-java layer to support Greengrass, Node.js and Java listed in "General"
- Modified the Linux kernel recipe to use the new Greengrass defconfig if the Greengrass machine is selected
- meta-phytec layer
Fixed in this Release
PD18.2.1
- N/A - see New in this Release for changes
Not Tested
- PEB-WLBT-03
- Driver support for Laird Sterling LWB has not been tested with Linux v4.9.11
- 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
- IMX7SW-420: Using Java/Node.js with Greengrass:
- The Java 8 and Node.js v6.10 packages can't be found by Greengrass with their current package names. Link them to files with the correct names:
ln -s /usr/bin/node /usr/bin/nodejs6.10
ln -s /usr/bin/java /usr/bin/java8
- The Java 8 and Node.js v6.10 packages can't be found by Greengrass with their current package names. Link them to files with the correct names:
- Ethernet:
- iperf3 is included with the Morty Yocto BSP. With UDP, this command reports much lower bandwidth than expected when compared with iperf command.
eMMC:
- Flashing with U-Boot:
- fsl-image-validation-imx-imx7d-phyboard-zeta-001.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.
- IMX7SW-205: HS400 warnings/errors: configure eMMC to run at maximum 100MHz as a work around. See commit b8f6c1b7780 for more information
- 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
- NAND:
- 256MB NAND is too small to flash fsl-image-validation-imx 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.9.11_1.0.0 BSP Documentation
Technical Support
For further information or to report any problems, visit the PHYTEC Support Portal