Hi all,
So I'm trying to get our custom board with an IMX6 to boot u-boot from eMMC.
Here's what I've done:
1) use boundary devices imx_usb to load u-boot in using the serial downloader mode.
2) boot linux from sdcard on sd3
3) cd cd /sys/bus/mmc/devices/mmc1\:0001/ (sd4, emmc)
4) cat boot_info
1) desired SD clock: 52000000, actual: 49500000
1) desired SD clock: 52000000, actual: 49500000
mmc1: BKOPS_EN bit is not set
boot_info:0x07;
ALT_BOOT_MODE:1 - Supports alternate boot method
DDR_BOOT_MODE:1 - Supports alternate dual data rate during boot
HS_BOOTMODE:1 - Supports high speed timing during boot
boot_size:4096KB
boot_partition:0x49;
BOOT_ACK:1 - Boot acknowledge sent during boot operation
BOOT_PARTITION-ENABLE: 1 - Boot partition 1 enabled
boot_bus:0x00
BOOT_MODE:0 - Use single data rate + backward compatible timings in boot operation
RESET_BOOT_BUS_WIDTH:0 - Reset bus width to x1, single data rate and backwardcompatible timings after boot operation
BOOT_BUS_WIDTH:0 - x1 (sdr) or x4 (ddr) bus width in boot operation mode
5) write u-boot.imx (same one serial downloader used) to emmc using:
dd if=/sdcard/u-boot.imx bs=1k seek=1 conv=fsync of=/dev/mmcblk1
I have 4 mmcblk1 devices:
mmcblk1
mmcblk1boot0
mmcblk1boot1
mmcblk1rpmb
I assume writting to the mmcblk1 entry is correct?
6) reboot and verify image:
dd if=/dev/mmcblk1 bs=1k skip=1 count=211 of=/tmp/uboot.tmp
diff -s /sdcard/u-boot.imx /tmp/uboot.tmp
7) reboot and set fuses in u-boot:
fuse prog 0 5 00005862
fuse prog 0 6 00000010
That sets: BOOT_CFG1 to 0x62
BOOT_CFG2 to 0x58
and BT_FUSE_SEL to 1
8) set dipswitches so boot_mode gpios = 00
9) power on, nothing happens. try using imx_usb serial downloader app thingy, and it works. So something is failing.
We scoped the clk pin on the eMMC and it appeared to wiggle.
Some final points.
We are using a 16GB eMMC v4.41 chip, with an 8 bit bus. No vselect. On the default pins for SD4. We have a reset pin, on NANDF_ALE.
I have the line: "BOOT_FROM sd" in my u-boot board.cfg file, which I think sets the offset to 0x400.
Have I missed anything?
Thanks,
Andy