[U-Boot] ARM: imx6q_logic: Enable Falcon Mode and fatwrite

sbabic at denx.de sbabic at denx.de
Wed Jan 30 08:57:25 UTC 2019


> This patch enables Falcon Mode by default and updates the README
> file to show instructions on how to run from the micro SD card
> or eMMC.  This patch also enables fatwrite to help assist with
> writing the 'args' to the microSD card.
> Signed-off-by: Adam Ford <aford173 at gmail.com>
> diff --git a/board/logicpd/imx6/README b/board/logicpd/imx6/README
> index df43b55d6b..26d053a32c 100644
> --- a/board/logicpd/imx6/README
> +++ b/board/logicpd/imx6/README
> @@ -22,8 +22,17 @@ To build U-Boot for the Dual and Quad variants:
>  
>  Flashing U-Boot into the SD card
>  --------------------------------
> +U-Boot is now building with SPL enabled which means there are two files to
> +load into the SD card. Make sure the card is formatted with at least two
> +partitions with the first partition being FAT32. First copy u-boot-dtb.img
> +to the first partition then burn SPL to the SD card with dd.
> +The SPL portion is programmed into a certain location for use by the internal
> +bootROM and it cannot be changed.  The following instructions assume the SD
> +card is located as /dev/sdb.
> +
> +  cp u-boot-dtb.img /dev/media/logic/boot
> +  sudo dd if=SPL of=/dev/sdb bs=1k seek=1 oflag=sync status=none && sync
>  
> -See README.imximage for details on booting from SD
>  
>  Flashing U-Boot into NAND
>  -------------------------
> @@ -32,6 +41,43 @@ with:
>  
>    kobs-ng init -v -x u-boot-dtb.imx
>  
> +
> +Using Falcon Mode
> +-----------------
> +With Falcon Mode enabled, U-Boot can be bypassed by having SPL directly load
> +the kernel.  The device tree, Kernel and boot args must first be configured,
> +and stored to a file on the micro SD card called 'args'
> +The kernel uImage is built with LOAD_ADDR=0x12000000 and the device tree is
> +assummed to be imx6q-logicpd.dtb.
> +
> +By default the mmcroot is set to the baseboard.
> +
> +  # Establish bootargs
> +  run mmcargs
> +
> +  # Load Linux Kernel uImage
> +  fatload mmc 1 $loadaddr uImage
> +
> +  # Load Device Tree
> +  run loadfdt
> +
> +  # Setup the blob that will get passed to the kernel
> +  spl export fdt ${loadaddr} - ${fdt_addr_r}
> +
> +  # Note the starting and ending address of the updated device tree.
> +  # for this example:
> +  # Loading Device Tree to 1ffdf000, end 1fff038b ... OK
> +  # Notice that 0x1fff038b - 1ffdf000 = 0x1138b
> +  # now Add 1, so the length is 0x1138c.
> +
> +  fatwrite mmc 1 0x1ffdf000 args 0x1138c
> +
> +  # Reset the board and it will bypass U-Boot and SPL will directly boot
> +  # the uImage
> +
> +To interrupt the boot sequence and force U-Boot to load, hold the 'c' button
> +while starting.
> +
>  Additional Support Documentation can be found at:
>  https://support.logicpd.com/
>  
> diff --git a/configs/imx6q_logic_defconfig b/configs/imx6q_logic_defconfig
> index 3358c08cb6..457366a664 100644
> --- a/configs/imx6q_logic_defconfig
> +++ b/configs/imx6q_logic_defconfig
> @@ -22,6 +22,7 @@ CONFIG_SPL_SEPARATE_BSS=y
>  CONFIG_SPL_DMA_SUPPORT=y
>  CONFIG_SPL_I2C_SUPPORT=y
>  CONFIG_SPL_NAND_SUPPORT=y
> +CONFIG_SPL_OS_BOOT=y
>  CONFIG_SPL_PAYLOAD="u-boot.img"
>  CONFIG_SPL_USB_HOST_SUPPORT=y
>  CONFIG_SPL_USB_GADGET_SUPPORT=y
> @@ -77,3 +78,4 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525
>  CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
>  CONFIG_CI_UDC=y
>  CONFIG_USB_GADGET_DOWNLOAD=y
> +CONFIG_FAT_WRITE=y

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================



More information about the U-Boot mailing list