852cc548b3
u-boot has a standard "serial#" environment variable that is suitable for storing the iSerial number we will supply via the USB device descriptor. serial# is automatically picked up by the disk subsystem in u-boot - thus providing a handy unique identifier in /dev/disk/by-id as detailed below. Storing the hardware serial identifier in serial# means we can change the serial# if we want before USB enumeration - thus making iSerial automatic via OTP but overridable if necessary. This patch reads the defined OTP fuse and sets environment variable "serial#" to the value read. With this patch in place the USB mass storage device will appear in /dev/disk/by-id with a unique name based on the OTP value. For example /dev/disk/by-id/usb-Linux_UMS_disk_0_WaRP7-0xf42400d3000001d4-0:0 Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Rui Miguel Silva <rui.silva@linaro.org> Cc: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> |
||
---|---|---|
.. | ||
imximage.cfg | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README | ||
warp7.c |
How to Update U-Boot on Warp7 board ---------------------------------- Required software on the host PC: - imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader - dfu-util: http://dfu-util.sourceforge.net/releases/ (if you are in a Debian distribution then you can get it via libdfu-dev package) - libusb: http://libusb.org/ (if you are in a Debian distribution then you can get it via libusb-dev and libusb-1.0-0-dev) In U-Boot folder, build U-Boot for Warp7: $ make mrproper $ make warp7_config $ make This will generate the U-Boot binary called u-boot.imx. Put warp7 board in USB download mode: Remove the CPU board from the base board then put switch 2 in the upper position Connect a USB to serial adapter between the host PC and warp7 Connect a USB cable between the OTG warp7 port and the host PC Copy u-boot.imx to the imx_usb_loader folder. Load u-boot.imx via USB: $ sudo ./imx_usb u-boot.imx Then U-Boot should start and its messages will appear in the console program. Open a terminal program such as minicom Use the default environment variables: => env default -f -a => saveenv Run the DFU command: => dfu 0 mmc 0 Transfer u-boot.imx that will be flashed into the eMMC: $ sudo dfu-util -D u-boot.imx -a boot Then on the U-Boot prompt the following message should be seen after a successful upgrade: #DOWNLOAD ... OK Ctrl+C to exit ... Remove power from the warp7 board. Put warp7 board into normal boot mode (put the switch 2 in the lower position) Power up the board and the new updated U-Boot should boot from eMMC