Yocto Platform Customization
Yocto
Documentation
- Yocto Project Core - Morty 2.2.1 (released on 02/24/2017)
Documentation is available from www.yoctoproject.org
- FSL Community BSP Release Notes 2.2 documentation
Documentation is available from http://freescale.github.io
VAR-SOM-MX6
Build Results
Device Tree Name |
SOM type |
Carrier Board type |
LCD Type |
Evaluation Kit name |
---|---|---|---|---|
uImage-imx6q-var-som-cap.dtb | VAR-SOM-MX6_V2 (Quad / Dual) | VAR-MX6CustomBoard | Capacitive touch | VAR-DVK-MX6_V2-PRO VAR-STK-MX6_V2 |
uImage-imx6q-var-som-res.dtb | VAR-SOM-MX6_V2 (Quad / Dual) | VAR-MX6CustomBoard | Resistive touch | VAR-DVK-MX6_V2-PRO VAR-STK-MX6_V2 |
uImage-imx6q-var-som-vsc.dtb | VAR-SOM-MX6_V2 (Quad / Dual) | VAR-SOLOCustomBoard | Capacitive LVDS touch | N/A |
uImage-imx6dl-var-som-cap.dtb | VAR-SOM-MX6_V2 (DualLite/ Solo) | VAR-MX6CustomBoard | Capacitive touch | N/A |
uImage-imx6dl-var-som-res.dtb | VAR-SOM-MX6_V2 (DualLite/ Solo) | VAR-MX6CustomBoard | Resistive touch | N/A |
uImage-imx6dl-var-som-vsc.dtb | VAR-SOM-MX6_V2 (DualLite/ Solo) | VAR-SOLOCustomBoard | Capacitive LVDS touch | N/A |
uImage-imx6dl-var-som-solo-vsc.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-SOLOCustomBoard | Capacitive LVDS touch | VAR-DVK-SOLO/DUAL VAR-STK-SOLO/DUAL |
uImage-imx6dl-var-som-solo-cap.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-MX6CustomBoard | Capacitive touch | N/A |
uImage-imx6dl-var-som-solo-res.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-MX6CustomBoard | Resistive touch | N/A |
uImage-imx6q-var-dart.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-DT6CustomBoard | Capacitive LVDS touch | VAR-DVK-DT6 VAR-STK-DT6 |
Device tree
Build the device tree for Dualite/Solo on VAR-MX6CustomBoard with capacitive touchscreen: $ make -j4 imx6dl-var-som-cap.dtb Build the device tree for Dualite/Solo on VAR-MX6CustomBoard with resistive touchscreen: $ make -j4 imx6dl-var-som-res.dtb Build the device tree for Dualite/Solo on VAR-SOLOCustomBoard: $ make -j4 imx6dl-var-som-vsc.dtb Build the device tree for Quad/Dual on VAR-MX6CustomBoard with capacitive touchscreen: $ make -j4 imx6q-var-som-cap.dtb Build the device tree for Quad/Dual on VAR-MX6CustomBoard with resistive touchscreen: $ make -j4 imx6q-var-som-res.dtb Build the device tree for Quad/Dual on VAR-SOLOCustomBoard: $ make -j4 imx6q-var-som-vsc.dtb Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with capacitive touchscreen: $ make -j4 imx6dl-var-som-solo-cap.dtb Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with resistive touchscreen: $ make -j4 imx6dl-var-som-solo-res.dtb Build the device tree for VAR-SOM-SOLO on VAR-SOLOCustomBoard: $ make -j4 imx6dl-var-som-solo-vsc.dtb Build the device tree for DART-MX6: $ make -j4 imx6q-var-dart.dtb
DART-6UL
Build Results
File Name | Description |
---|---|
zImage-imx6ul-var-dart-emmc_wifi.dtb | Device tree blob for DART-6UL with eMMC & WI-FI enabled. (SD card & NAND disabled) |
zImage-imx6ul-var-dart-nand_wifi.dtb | Device tree blob for DART-6UL with NAND flash & WI-FI enabled. (SD card & eMMC disabled) |
zImage-imx6ul-var-dart-sd_emmc.dtb | Device tree blob for DART-6UL with SD card & eMMC enabled (WIFI & NAND disabled) |
zImage-imx6ul-var-dart-sd_nand.dtb | Device tree blob for DART-6UL with SD card & NAND flash enabled (WIFI & eMMC disabled) |
zImage-imx6ull-var-dart-emmc_wifi.dtb | Device tree blob for DART-6ULL with eMMC & WI-FI enabled. (SD card & NAND disabled) |
zImage-imx6ull-var-dart-nand_wifi.dtb | Device tree blob for DART-6ULL with NAND flash & WI-FI enabled. (SD card & eMMC disabled) |
zImage-imx6ull-var-dart-sd_emmc.dtb | Device tree blob for DART-6ULL with SD card & eMMC enabled (WIFI & NAND disabled) |
zImage-imx6ull-var-dart-sd_nand.dtb | Device tree blob for DART-6ULL with SD card & NAND flash enabled (WIFI & eMMC disabled) |
Device tree
Build only the device tree for DART-6UL with eMMC and WiFi: $ make -j4 imx6ul-var-dart-emmc_wifi.dtb Build only the device tree for DART-6UL with eMMC and SD card: $ make -j4 imx6ul-var-dart-sd_emmc.dtb Build only the device tree for DART-6UL with NAND flash and WiFi: $ make -j4 imx6ul-var-dart-nand_wifi.dtb Build only the device tree for DART-6UL with NAND flash and SD card: $ make -j4 imx6ul-var-dart-sd_nand.dtb Build only the device tree for DART-6ULL with eMMC and WiFi: $ make -j4 imx6ull-var-dart-emmc_wifi.dtb Build only the device tree for DART-6ULL with eMMC and SD card: $ make -j4 imx6ull-var-dart-sd_emmc.dtb Build only the device tree for DART-6ULL with NAND flash and WiFi: $ make -j4 imx6ull-var-dart-nand_wifi.dtb Build only the device tree for DART-6ULL with NAND flash and SD card: $ make -j4 imx6ull-var-dart-sd_nand.dtb
SD card image file tree
/opt/images/ └── Yocto ├── imx6ul-var-dart-emmc_wifi.dtb ├── imx6ul-var-dart-nand_wifi.dtb ├── imx6ul-var-dart-sd_emmc.dtb ├── imx6ul-var-dart-sd_nand.dtb ├── imx6ull-var-dart-emmc_wifi.dtb ├── imx6ull-var-dart-nand_wifi.dtb ├── imx6ull-var-dart-sd_emmc.dtb ├── imx6ull-var-dart-sd_nand.dtb ├── rootfs.tar.bz2 ├── rootfs.ubi ├── SPL-nand ├── SPL-sd ├── u-boot.img-nand ├── u-boot.img-sd └── zImage
Boot board with a bootable SD card
Note: Boot from SD card eliminates Wifi as the Wifi and SD card are using same SDIO interface.
A typical use-case, is to boot from SD card, flash eMMC or NAND flash, and re-boot form eMMC/NAND to have Wi-Fi operational.
Setting the Boot DIP switches
Booting your system from an SD card requires switching the Boot DIP switches. See picture below.
- "00" The current position in the picture will set the system to boot from SD card.
- "01" Moving the right switch will set the system to boot from eMMC
- "10" Moving the left switch will set the system to boot from NAND flash
- "11" is illegal.
Be aware that your system has eMMC or NAND but never both.
Automatic device Tree selection in U-Boot
Upon reset you will see the U-Boot SPL printouts. It will print also the SOM configuration:
On-SOM storage: SD only, eMMC, NAND.
WIFI if chip exits.
For example:
U-Boot SPL 2015.10-00532-g482dc88 (Jan 03 2016 - 10:05:42) i.MX6UL SOC Part number: DART-6U-A01 Assembly: AS11 Date of production: 2015 Dec 31 DART-6UL configuration: eMMC WIFI Ram size: 512 Boot Device: SD
As explained in the above Build Results table we have 4 optional configurations.
We implemented in U-Boot and automatic device tree selection, so when kernel boots, the U-Boot will load the corresponding device tree according to On-SOM configuration.
SOM Type |
Boot From |
SOM Internal FLASH |
SOM has WIFI/BT |
Device Tree selected |
---|---|---|---|---|
DART-6UL | SD | eMMC | Don't Care | imx6ul-var-dart-sd_emmc.dtb |
DART-6UL | SD | NAND | Don't Care | imx6ul-var-dart-sd_nand.dtb |
DART-6UL | eMMC | eMMC | Yes | imx6ul-var-dart-emmc_wifi.dtb |
DART-6UL | eMMC | eMMC | NO | imx6ul-var-dart-sd_emmc.dtb |
DART-6UL | NAND | NAND | YES | imx6ul-var-dart-nand_wifi.dtb |
DART-6UL | NAND | NAND | NO | imx6ul-var-dart-sd_nand.dtb |
DART-6ULL | SD | eMMC | Don't Care | imx6ull-var-dart-sd_emmc.dtb |
DART-6ULL | SD | NAND | Don't Care | imx6ull-var-dart-sd_nand.dtb |
DART-6ULL | eMMC | eMMC | Yes | imx6ull-var-dart-emmc_wifi.dtb |
DART-6ULL | eMMC | eMMC | NO | imx6ull-var-dart-sd_emmc.dtb |
DART-6ULL | NAND | NAND | YES | imx6ull-var-dart-nand_wifi.dtb |
DART-6ULL | NAND | NAND | NO | imx6ull-var-dart-sd_nand.dtb |
Note: Boot from SD card eliminates Wifi as the Wifi and SD card are using same SDIO interface.
A typical use-case, is to boot from SD card, flash eMMC or NAND flash, and re-boot form eMMC/NAND to have Wi-Fi operational.
Disable Automatic Device Tree selection
To disable the automatic device tree selection in U-Boot:
$ setenv var_auto_fdt_file=N $ saveenv
Now you can set the device tree to meet your requirements. For example:
$ setenv fdt_file=imx6ul-var-dart-sd_emmc.dtb $ saveenv
Will select device tree that has SD and eMMC regardless if the SOM has WIFI.
$ setenv fdt_file=imx6ul-var-dart-sd_nand.dtb $ saveenv
Will select device tree that has SD and NAND regardless if the SOM has WIFI.
Make sure you don't set am illegal value like "imx6ul-var-dart-sd_nand.dtb" in a SOM that has eMMC flash.
Platform Customizations