11494cc89SJagan TekiBTicino Mamoj board: 21494cc89SJagan Teki=================== 31494cc89SJagan Teki 41494cc89SJagan TekiBuild: 51494cc89SJagan Teki 61494cc89SJagan Teki $ make mrproper 71494cc89SJagan Teki $ make imx6dl_mamoj_defconfig 81494cc89SJagan Teki $ make 91494cc89SJagan Teki 101494cc89SJagan Teki This will generate the SPL image called SPL and the u-boot-dtb.img. 111494cc89SJagan Teki 121494cc89SJagan TekiThe following methods can be used for booting Mamoj boards: 131494cc89SJagan Teki 141494cc89SJagan Teki1. USB SDP boot 151494cc89SJagan Teki 16129ceda2SJagan Teki2. eMMC boot (via DFU) 17129ceda2SJagan Teki 18*9e759ce9SJagan Teki3. Falcon mode 19*9e759ce9SJagan Teki 201494cc89SJagan Teki1. USB SDP boot: 211494cc89SJagan Teki--------------- 221494cc89SJagan Teki 231494cc89SJagan Teki - Build imx_usb_loader 241494cc89SJagan Teki 251494cc89SJagan Teki $ git clone git://github.com/boundarydevices/imx_usb_loader.git 261494cc89SJagan Teki $ cd imx_usb_loader 271494cc89SJagan Teki $ make 281494cc89SJagan Teki 291494cc89SJagan Teki - Build the BSP and copy SPL, u-boot-dtb.img in imx_usb_loader directory 301494cc89SJagan Teki 311494cc89SJagan Teki - Put the board in "Serial Download Mode" 321494cc89SJagan Teki 331494cc89SJagan Teki - Plug-in USB-to-Serial, Open minicom 1152008N1 and USB OTG cables to Host 341494cc89SJagan Teki 351494cc89SJagan Teki - Turn-on board 361494cc89SJagan Teki 371494cc89SJagan Teki - Identify VID/PID using lsusb 381494cc89SJagan Teki 391494cc89SJagan Teki Bus 001 Device 010: ID 15a2:0061 Freescale Semiconductor, Inc. i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode 401494cc89SJagan Teki 411494cc89SJagan Teki - Update the conf files 421494cc89SJagan Teki 431494cc89SJagan Teki imx_usb.conf 441494cc89SJagan Teki 0x15a2:0x0061, mx6_usb_rom.conf, 0x0525:0xb4a4, mx6_usb_sdp_spl.conf 451494cc89SJagan Teki 461494cc89SJagan Teki mx6_usb_rom.conf 471494cc89SJagan Teki mx6_usb 481494cc89SJagan Teki hid,1024,0x910000,0x10000000,512M,0x00900000,0x40000 491494cc89SJagan Teki SPL:jump header2 501494cc89SJagan Teki 511494cc89SJagan Teki mx6_usb_sdp_spl.conf 521494cc89SJagan Teki mx6_spl_sdp 531494cc89SJagan Teki hid,uboot_header,1024,0x910000,0x10000000,512M,0x00900000,0x40000 541494cc89SJagan Teki u-boot-dtb.img:jump header2 551494cc89SJagan Teki 561494cc89SJagan Teki - Launch the loader 571494cc89SJagan Teki 581494cc89SJagan Teki $ ./imx_usb 591494cc89SJagan Teki 601494cc89SJagan Teki We can see U-Boot boot from USB SDP on minicom 611494cc89SJagan Teki 62129ceda2SJagan Teki2. eMMC boot via DFU: 63129ceda2SJagan Teki-------------------- 64129ceda2SJagan Teki 65129ceda2SJagan Teki Once booted from USB SDP, program the eMMC as below(make sure to connect USB OTG) 66129ceda2SJagan Teki 67129ceda2SJagan Teki - Change eMMC partition config 68129ceda2SJagan Teki 69129ceda2SJagan Teki => mmc partconf 2 1 0 0 70129ceda2SJagan Teki 71129ceda2SJagan Teki - Partition eMMC on host 72129ceda2SJagan Teki 73129ceda2SJagan Teki => ums 0 mmc 2 74129ceda2SJagan Teki 75129ceda2SJagan Teki Host will able to detect the eMMC disk as UMS, partition the same. 76129ceda2SJagan Teki 77129ceda2SJagan Teki - Program SPL 78129ceda2SJagan Teki 79129ceda2SJagan Teki => setenv dfu_alt_info $dfu_alt_info_spl 80129ceda2SJagan Teki => dfu 0 mmc 2 81129ceda2SJagan Teki 82129ceda2SJagan Teki At Host 83129ceda2SJagan Teki 84129ceda2SJagan Teki # dfu-util -D SPL -a spl 85129ceda2SJagan Teki 86129ceda2SJagan Teki - Program u-boot-dtb.img 87129ceda2SJagan Teki 88129ceda2SJagan Teki => setenv dfu_alt_info $dfu_alt_info_uboot 89129ceda2SJagan Teki => dfu 0 mmc 2 90129ceda2SJagan Teki 91129ceda2SJagan Teki At Host 92129ceda2SJagan Teki 93129ceda2SJagan Teki # dfu-util -D u-boot-dtb.img -a u-boot 94129ceda2SJagan Teki 95129ceda2SJagan Teki Poweroff and Poweron the board and see U-Boot booting from eMMC. 96129ceda2SJagan Teki 97*9e759ce9SJagan Teki3. Falcon mode: 98*9e759ce9SJagan Teki-------------- 99*9e759ce9SJagan Teki 100*9e759ce9SJagan Teki - Skip 10M space and create dual partitions for eMMC, start sector is 20480 101*9e759ce9SJagan Teki 102*9e759ce9SJagan Teki Partition Map for MMC device 2 -- Partition Type: DOS 103*9e759ce9SJagan Teki 104*9e759ce9SJagan Teki Part Start Sector Num Sectors UUID Type 105*9e759ce9SJagan Teki 1 20480 131072 c52e78be-01 83 106*9e759ce9SJagan Teki 2 151552 7581696 c52e78be-02 83 107*9e759ce9SJagan Teki 108*9e759ce9SJagan Teki - Write uImage 109*9e759ce9SJagan Teki 110*9e759ce9SJagan Teki => fatload mmc 2:1 $kernel_addr_r uImage 111*9e759ce9SJagan Teki => mmc write $kernel_addr_r 0x1000 0x4000 112*9e759ce9SJagan Teki 113*9e759ce9SJagan Teki - Write dtb and args 114*9e759ce9SJagan Teki 115*9e759ce9SJagan Teki => setenv bootargs console=ttymxc2,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw quiet 116*9e759ce9SJagan Teki => fatload mmc 2:1 $fdt_addr_r imx6dl-mamoj.dtb 117*9e759ce9SJagan Teki => spl export fdt $kernel_addr_r - $fdt_addr_r 118*9e759ce9SJagan Teki => mmc write 0x13000000 0x800 0x800 119*9e759ce9SJagan Teki 120*9e759ce9SJagan Teki Poweroff and Poweron the board and see Linux booting directly after SPL. 121*9e759ce9SJagan Teki 1221494cc89SJagan Teki-- 1231494cc89SJagan TekiJagan Teki <jagan@amarulasolutions.com> 1241494cc89SJagan Teki03/12/18 125