1*4882a593Smuzhiyun**************************** 2*4882a593SmuzhiyunTechnexion i.MX8M Pico board 3*4882a593Smuzhiyun**************************** 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThis file documents the Buildroot support for the Technexion i.MX8M 6*4882a593SmuzhiyunPico board. The Pico i.MX8M system-on-module [1] is present in 7*4882a593Smuzhiyundevelopment kits like the Pico Pi i.MX8M [2]. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunBuild 10*4882a593Smuzhiyun===== 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunFirst, configure Buildroot for the i.MX8M Pico board: 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun make imx8mpico_defconfig 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunBuild all components: 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun make 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunYou will find in output/images/ the following files: 21*4882a593Smuzhiyun - bl31.bin 22*4882a593Smuzhiyun - boot.vfat 23*4882a593Smuzhiyun - Image 24*4882a593Smuzhiyun - imx8-boot-sd.bin 25*4882a593Smuzhiyun - lpddr4_pmu_train_fw.bin 26*4882a593Smuzhiyun - pico-8m-dcss-ili9881c.dtb 27*4882a593Smuzhiyun - pico-8m.dtb 28*4882a593Smuzhiyun - rootfs.ext4 29*4882a593Smuzhiyun - sdcard.img 30*4882a593Smuzhiyun - signed_hdmi_imx8m.bin 31*4882a593Smuzhiyun - u-boot.imx 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunFlashing sdcard.img on the eMMC 34*4882a593Smuzhiyun=============================== 35*4882a593Smuzhiyun 36*4882a593Smuzhiyuni.MX8M Pico board does not have a SD card slot. The storage is an 37*4882a593SmuzhiyuneMMC. An easy way to flash the eMMC is to use the u-boot ums 38*4882a593Smuzhiyuncommand. The boards are sold pre-flashed with such a u-boot. It is 39*4882a593Smuzhiyunassumed here that the board has already a working u-boot on eMMC and 40*4882a593Smuzhiyunjumpers are set to boot on eMMC. See [3]. 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunJumper configuration for eMMC boot: 43*4882a593SmuzhiyunJ1: jumper on pins 4 and 6. 44*4882a593SmuzhiyunJ2: jumper on pins 2 and 4. 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunIn case the board was flashed with a wrong u-boot, or the eMMC is 47*4882a593Smuzhiyunerased, u-boot can be loaded by USB Serial Download boot mode, using 48*4882a593Smuzhiyunimx-usb-loader. See [3] and [4]. 49*4882a593Smuzhiyun 50*4882a593SmuzhiyunFor flashing: 51*4882a593Smuzhiyun- Plug the micro USB cable from the Debug USB Port, to your computer 52*4882a593Smuzhiyun- Plug the USB Type C to your computer, this will power up the board 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunIn the U-Boot prompt launch: 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun=> ums 0 mmc 0 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunThis will mount the eMMC content in the host PC as a mass storage device. 59*4882a593Smuzhiyun 60*4882a593SmuzhiyunTo determine the device associated to the eMMC card have a look in the 61*4882a593Smuzhiyun/proc/partitions file: 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun cat /proc/partitions 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunIf your system automatically mount some device partitions, make sure 66*4882a593Smuzhiyunto unmount them. 67*4882a593Smuzhiyun 68*4882a593SmuzhiyunBuildroot prepares a bootable "sdcard.img" image in the output/images/ 69*4882a593Smuzhiyundirectory, ready to be dumped on the eMMC. Launch the following 70*4882a593Smuzhiyuncommand as root: 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun dd if=output/images/sdcard.img of=/dev/<your-sd-device> 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun*** WARNING! This will destroy all the eMMC content. Use with care! *** 75*4882a593Smuzhiyun 76*4882a593SmuzhiyunThis operation can take several minutes, depending on the image 77*4882a593Smuzhiyunsize. When tested, a 2MB/s transfer rate was observed. 78*4882a593Smuzhiyun 79*4882a593SmuzhiyunFor details about the medium image layout, see the definition in 80*4882a593Smuzhiyunboard/freescale/common/imx/genimage.cfg.template. 81*4882a593Smuzhiyun 82*4882a593SmuzhiyunBoot the i.MX8M Pico board 83*4882a593Smuzhiyun========================== 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunTo boot your newly created system: 86*4882a593Smuzhiyun- put a micro USB cable into the Debug USB Port and connect using a terminal 87*4882a593Smuzhiyun emulator at 115200 bps, 8n1; 88*4882a593Smuzhiyun- power on the board, with USB Type C connector. 89*4882a593Smuzhiyun 90*4882a593SmuzhiyunEnjoy! 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun[1]. https://www.technexion.com/products/system-on-modules/pico/pico-compute-modules/detail/PICO-IMX8M 93*4882a593Smuzhiyun[2]. https://www.technexion.com/products/system-on-modules/pico-evaluation-kits/detail/PICO-PI-IMX8M-BASIC 94*4882a593Smuzhiyun[3]. https://www.technexion.com/support/knowledgebase/boot-configuration-settings-for-pico-baseboards/ 95*4882a593Smuzhiyun[4]. https://www.technexion.com/support/knowledgebase/loading-bootable-software-images-onto-the-emmc-of-picosom-on-pico-pi/ 96