--- /dev/null
+################################################################################
+#
+# mfgtools
+#
+################################################################################
+
+MFGTOOLS_VERSION = b219fc219a35c365010897ed093c40750f8cdac6
+MFGTOOLS_SITE = $(call github,NXPmicro,mfgtools,$(MFGTOOLS_VERSION))
+MFGTOOLS_SUBDIR = MfgToolLib
+MFGTOOLS_LICENSE = BSD-3c or CPOL
+MFGTOOLS_LICENSE_FILES = LICENSE CPOL.htm
+HOST_MFGTOOLS_DEPENDENCIES = host-libusb
+
+HOST_MFGTOOLS_CFLAGS = \
+ $(HOST_CFLAGS) $(HOST_LDFLAGS) -std=c++11 -lpthread \
+ -L$(@D)/MfgToolLib -lMfgToolLib -I$(@D)/MfgToolLib \
+ -lusb-1.0 -I$(HOST_DIR)/usr/include/libusb-1.0 \
+ -fpermissive -Wno-write-strings
+
+define HOST_MFGTOOLS_CLI_BUILD
+ $(HOST_CONFIGURE_OPTS) $(MAKE) CC="$(HOSTCXX)" \
+ CFLAGS="$(HOST_MFGTOOLS_CFLAGS)" -C $(@D)/TestPrgm
+endef
+
+HOST_MFGTOOLS_POST_BUILD_HOOKS += HOST_MFGTOOLS_CLI_BUILD
+
+define HOST_MFGTOOLS_INSTALL_CMDS
+ $(INSTALL) -D -m 755 $(@D)/MfgToolLib/libMfgToolLib.so \
+ $(HOST_DIR)/usr/lib/libMfgToolLib.so
+ $(INSTALL) -D -m 755 $(@D)/TestPrgm/mfgtoolcli \
+ $(HOST_DIR)/usr/bin/mfgtoolcli
+endef
+
+$(eval $(host-cmake-package))
--- /dev/null
+MfgTools Howto
+==============
+
+1. Build your mfgtool image
+
+Make sure to enable the following Buildroot options:
+
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_IMX_UUC=y
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_CPIO_GZIP=y
+BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
+
+Also modify your kernel configuration to have:
+
+CONFIG_USB_GADGET=y
+CONFIG_USB_MASS_STORAGE=y
+CONFIG_FSL_UTP=y
+CONFIG_MMC_BLOCK_MINORS=16
+
+2. Go into the output and create the necessary folders
+
+$ cd output
+$ mkdir -p "Profiles/Linux/OS Firmware/firmware"
+
+3. Create your XML update script named ucl2.xml
+
+You can find a sample XML at:
+
+$ wget https://storage.googleapis.com/boundarydevices.com/ucl2.xml \
+ -O Profiles/Linux/OS\ Firmware/ucl2.xml
+
+4. Copy the U-Boot, Kernel and initramfs images to the appropriate
+folder
+
+$ cp images/u-boot.imx images/zImage images/imx6q-sabrelite.dtb \
+ images/rootfs.cpio.uboot Profiles/Linux/OS\ Firmware/firmware/
+
+5. Copy the prebuilt binaries to be flashed
+
+Depending on your ucl2.xml file, the sample doesn't flash anything.
+
+6. Run the MfgTools client:
+
+$ ./host/usr/bin/mfgtoolcli -l mmc -s uboot_defconfig=imx \
+ -s dtbname=imx6q-sabrelite.dtb -s initramfs=rootfs.cpio.uboot \
+ -s mmc=1 -p 1
+
+For more information about the tools options, please read the
+"Manufacturing Tool V2 Quick Start Guide.docx" documentation contained
+in every mfgtools package from NXP website[1].
+
+Note: All the above commands require your Linux host user to have
+permissions to access the USB devices. Please make sure to have udev
+rules that allow the user to communicate with the BootROM IDs
+(Freescale USB recovery) as well as the one used for the UTP Linux
+image (0x066F:0x37FF). Using 'sudo' in front of the mfgtoolcli
+command would also grant you the necessary permission but it is *not*
+recommended.
+
+Also, if your U-Boot environment doesn't include mfgtools bootargs,
+make sure to set the following:
+
+setenv bootargs "console=${console},${baudrate} g_mass_storage.stall=0 \
+ g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F \
+ g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=\"\" \
+ g_mass_storage.file=/fat"
+
+[1] http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i.mx-6-series-software-and-development-tool-resources:IMX6_SW