Hello.
I have custom board with IMX6Dual SoC. We use Micron's or Elpida LPDDR2 memory chips (2 chips with 512 megabytes per each).
Board schematic based on Sabre IMX dev kit.
First we did something like a draft board with MCIMX6D7CVT08AD (means Rev 1.3) and board booted fine using USB boot. Second iteration has mostly the same schematic, but real dimentions for our device. One of the difference is that we changed USB port mode from OTG to device mode.
PCB routing for memory chips looks the same as first board. But this second board has problem with U-boot. If we use MCIMX6D7CVT08AD chips then U-Boot which we loads to 0x10000000 stop working somewhere near to
announce_dram_init(void)
Unfortunately for us our supplier can order only MCIMX6D7CVT08AC chips (means Rev 1.2). So with that chips our board freeze on SPL stage when it trys to enumerate new gadget device.
U-Boot SPL 2021.04-03718-g69131a573d-dirty (Sep 09 2021 - 12:23:31 +0500)
>>SPL: board_init_r()
spl_init
Trying to boot from USB SDP
g_dnl_register: g_dnl_driver.name = usb_dnl_sdp
g_dnl_bind: gadget: 0x912210 cdev: 0x18300390
g_dnl_config_register(): Name: usb_dnload
usb_add_config: adding config #1 '%p
'/0x18300440
So the question is:
Are there any difference or errata between chips with Rev 1.2 and 1.3 which cause so strange behavior. Why Rev 1.2 can freeze on SPL phase, but Rev 1.3 can continue to boot to second stage bootloader?
Thanks