Quote:
Originally Posted by adi23
I can't reflash my kernels back with fastboot becouse u-boot bist is missing (kernels and partitions are gone).
|
I've took a look at how fastboot is implemented in U-Boot. Unfortunately, I can't try validness of my research, as I have no access to serial console, but
it should be enough to include following defines into
include/configs/imx50_yoshi.h:
Spoiler:
Code:
#define CONFIG_MMC_MAX_TRANSFER_SIZE (0xFFFF * 512)
#define CONFIG_USB_DEVICE 1
#define CONFIG_DRIVER_FSLUSB 1
#define CONFIG_GADGET_FASTBOOT 1
#define CONFIG_USBD_MANUFACTURER "Amazon"
#define CONFIG_USBD_PRODUCT_NAME "Kindle"
#define CONFIG_USBD_VENDORID 0x1949
#define CONFIG_USBD_PRODUCTID_FASTBOOT 0xd0d0
#define CONFIG_FASTBOOT_MAX_DOWNLOAD_LEN ((get_dram_size()) - (2*1024*1024) - (CONFIG_FASTBOOT_TEMP_BUFFER - CONFIG_SYS_SDRAM_BASE))
#define CONFIG_FASTBOOT_TEMP_BUFFER 0x7A000000
and then recompile U-Boot. Then new command shoud be accessible in U-Boot command line:
fastboot.
Without fastboot u-boot.bin size is 62656 bytes, with fastboot size
is 71580 bytes. So even with fastboot enabeld U-Boot should fit in OCRAM.
EDIT: oh
I was deadly wrong about required defines as I've missed some of them. With additional defines size of u-boot.bin is more than 72kb, so it will not fit into OCRAM. If you're still interested:
Spoiler:
Code:
#define CONFIG_CMD_GADGET 1
#define CONFIG_USB_DEVICE 1
#define CONFIG_DRIVER_FSLUSB 1
#define CONFIG_GADGET_FASTBOOT 1
#define CONFIG_USBD_MANUFACTURER "Amazon"
#define CONFIG_USBD_PRODUCT_NAME "Kindle"
#define CONFIG_USBD_VENDORID 0x1949
#define CONFIG_USBD_PRODUCTID_FASTBOOT 0xd0d0
#define CONFIG_MMC_MAX_TRANSFER_SIZE (0xFFFF * 512)
#define CONFIG_FASTBOOT_MAX_DOWNLOAD_LEN ((get_dram_size()) - (2*1024*1024) - (CONFIG_FASTBOOT_TEMP_BUFFER - CONFIG_SYS_SDRAM_BASE))
#define CONFIG_FASTBOOT_TEMP_BUFFER 0x7A000000
#define CRC32_BUFFER 0x02000000 + PHYS_SDRAM_1
#define CRC32_BUFFER_SIZE 0x00400000
#define CRC32_CHECK_UBOOT 0x00000010
#define CRC32_CHECK_UIMAGE 0x00000020
#define CRC32_CHECK_ROOTFS 0x00000040
#define CRC32_CHECK_MBR 0x00000080
Also change
Code:
#define CONFIG_POST (CONFIG_SYS_POST_MEMORY | \
CONFIG_SYS_POST_FAIL)
to
Code:
#define CONFIG_POST (CONFIG_SYS_POST_MMC_CRC32 | \
CONFIG_SYS_POST_MEMORY | \
CONFIG_SYS_POST_FAIL)