u-boot/board/bticino/mamoj
Jagan Teki 9e759ce904 configs: imx6dl-mamoj: Add Falcon mode support
Add Falcon mode support to boot Linux directly after SPL.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-05-18 08:23:43 +02:00
..
Kconfig i.MX6: board: Add BTicino i.MX6DL Mamoj initial support 2018-05-18 08:23:43 +02:00
MAINTAINERS i.MX6: board: Add BTicino i.MX6DL Mamoj initial support 2018-05-18 08:23:43 +02:00
Makefile i.MX6: board: Add BTicino i.MX6DL Mamoj initial support 2018-05-18 08:23:43 +02:00
mamoj.c i.MX6: board: Add BTicino i.MX6DL Mamoj initial support 2018-05-18 08:23:43 +02:00
README configs: imx6dl-mamoj: Add Falcon mode support 2018-05-18 08:23:43 +02:00
spl.c configs: imx6dl-mamoj: Add Falcon mode support 2018-05-18 08:23:43 +02:00

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