mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-29 05:18:51 +09:00
![Jagan Teki](/assets/img/avatar_default.png)
Add Falcon mode support to boot Linux directly after SPL. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
125 lines
2.8 KiB
Plaintext
125 lines
2.8 KiB
Plaintext
BTicino Mamoj board:
|
|
===================
|
|
|
|
Build:
|
|
|
|
$ make mrproper
|
|
$ make imx6dl_mamoj_defconfig
|
|
$ make
|
|
|
|
This will generate the SPL image called SPL and the u-boot-dtb.img.
|
|
|
|
The following methods can be used for booting Mamoj boards:
|
|
|
|
1. USB SDP boot
|
|
|
|
2. eMMC boot (via DFU)
|
|
|
|
3. Falcon mode
|
|
|
|
1. USB SDP boot:
|
|
---------------
|
|
|
|
- Build imx_usb_loader
|
|
|
|
$ git clone git://github.com/boundarydevices/imx_usb_loader.git
|
|
$ cd imx_usb_loader
|
|
$ make
|
|
|
|
- Build the BSP and copy SPL, u-boot-dtb.img in imx_usb_loader directory
|
|
|
|
- Put the board in "Serial Download Mode"
|
|
|
|
- Plug-in USB-to-Serial, Open minicom 1152008N1 and USB OTG cables to Host
|
|
|
|
- Turn-on board
|
|
|
|
- Identify VID/PID using lsusb
|
|
|
|
Bus 001 Device 010: ID 15a2:0061 Freescale Semiconductor, Inc. i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode
|
|
|
|
- Update the conf files
|
|
|
|
imx_usb.conf
|
|
0x15a2:0x0061, mx6_usb_rom.conf, 0x0525:0xb4a4, mx6_usb_sdp_spl.conf
|
|
|
|
mx6_usb_rom.conf
|
|
mx6_usb
|
|
hid,1024,0x910000,0x10000000,512M,0x00900000,0x40000
|
|
SPL:jump header2
|
|
|
|
mx6_usb_sdp_spl.conf
|
|
mx6_spl_sdp
|
|
hid,uboot_header,1024,0x910000,0x10000000,512M,0x00900000,0x40000
|
|
u-boot-dtb.img:jump header2
|
|
|
|
- Launch the loader
|
|
|
|
$ ./imx_usb
|
|
|
|
We can see U-Boot boot from USB SDP on minicom
|
|
|
|
2. eMMC boot via DFU:
|
|
--------------------
|
|
|
|
Once booted from USB SDP, program the eMMC as below(make sure to connect USB OTG)
|
|
|
|
- Change eMMC partition config
|
|
|
|
=> mmc partconf 2 1 0 0
|
|
|
|
- Partition eMMC on host
|
|
|
|
=> ums 0 mmc 2
|
|
|
|
Host will able to detect the eMMC disk as UMS, partition the same.
|
|
|
|
- Program SPL
|
|
|
|
=> setenv dfu_alt_info $dfu_alt_info_spl
|
|
=> dfu 0 mmc 2
|
|
|
|
At Host
|
|
|
|
# dfu-util -D SPL -a spl
|
|
|
|
- Program u-boot-dtb.img
|
|
|
|
=> setenv dfu_alt_info $dfu_alt_info_uboot
|
|
=> dfu 0 mmc 2
|
|
|
|
At Host
|
|
|
|
# dfu-util -D u-boot-dtb.img -a u-boot
|
|
|
|
Poweroff and Poweron the board and see U-Boot booting from eMMC.
|
|
|
|
3. Falcon mode:
|
|
--------------
|
|
|
|
- Skip 10M space and create dual partitions for eMMC, start sector is 20480
|
|
|
|
Partition Map for MMC device 2 -- Partition Type: DOS
|
|
|
|
Part Start Sector Num Sectors UUID Type
|
|
1 20480 131072 c52e78be-01 83
|
|
2 151552 7581696 c52e78be-02 83
|
|
|
|
- Write uImage
|
|
|
|
=> fatload mmc 2:1 $kernel_addr_r uImage
|
|
=> mmc write $kernel_addr_r 0x1000 0x4000
|
|
|
|
- Write dtb and args
|
|
|
|
=> setenv bootargs console=ttymxc2,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw quiet
|
|
=> fatload mmc 2:1 $fdt_addr_r imx6dl-mamoj.dtb
|
|
=> spl export fdt $kernel_addr_r - $fdt_addr_r
|
|
=> mmc write 0x13000000 0x800 0x800
|
|
|
|
Poweroff and Poweron the board and see Linux booting directly after SPL.
|
|
|
|
--
|
|
Jagan Teki <jagan@amarulasolutions.com>
|
|
03/12/18
|