Debugging VoCore2 ROM Startup
Mauro Condarelli
mc5686 at mclink.it
Wed Jan 15 13:50:32 CET 2020
Hi Stefan,
On 1/15/20 11:48 AM, Stefan Roese wrote:
> Hi Mauro,
>
> On 15.01.20 11:23, Mauro Condarelli wrote:
>>>> I am surprised though as all I could find on differences between
>>>> MT7628 and MT7688 are is a reference on Mediatek site:
>>>> https://docs.labs.mediatek.com/resource/linkit-smart-7688/en/faq
>>>>
>>>> Q: What’s MT7628 and how is it different from MT7688AN?
>>>>
>>>> The MT7628 series are pin-to-pin compatible with the MT7688 series.
>>>> However, MT7628 comes with a 2T2R antenna, while MT7688 only supports
>>>> 1T1R antenna.
>>>>
>>>> (Incomplete!) comparison of the two datasheets did not show
>>>> relevant differences.
>> I have started an analysis of current register status (and I quickly hit
>> limitation of the documentation I have):
>>
>> b0000008: 00010000 ....
>> E-Fuse Configuration is not pristine, but I don't know what it my mean.
>>
>> b0000010: 00111144 D...
>> System Configuration Register 0 ->0000 0000 0001 0001 0001 0001 1000
>> 1000
>
> Not correct:
>
> System Configuration Register 0 ->0000 0000 0001 0001 0001 0001 0100 0100
Right.
Shame on me.
>> 00000000 TEST_CODE
>> 000 *
>> 100010001 BS_SHADOW
>> 000 *
>> 1 DBG_JTAG_MODE 1: Normal Boot-up
>> 1 TEST_MODE_1 ??
>> 0 XTAL_FREQ_SEL 0: 25MHz DIP ???
>> 0 EXT_BG 0: BG clock from PMU
>> 0 TEST_MODE_0 0: SUTIF
>> 100 CHIP_MODE 100: SCAN mode
>
> Not correct. You have here 010, so XTAL with 3-byte ADR
>
>> 0 DRAM_TYPE 0: DDR2
>>
>> I am concerned by TEST_MODE_1,XTAL_FREQ_SEL and CHIP_MODE that might
>> signal a different up/down pulling of Bootstrapping Pins.
>> Could You cross check on LinkIt, please?
>
> => md b0000000
> b0000000: 3637544d 20203832 00100000 00010102 MT7628 ........
> b0000010: 00156156 02605500 00000000 00000000 Va...U`.........
> b0000020: 10240000 00000000 00000071 0020100c ..$.....q..... .
> b0000030: ffffffc0 04000000 c0030004 00fe00ff ................
> b0000040: 00000000 0001ffff 00000000 00000000 ................
> b0000050: 00000000 00000000 00000000 00000810 ................
> b0000060: 50050404 05550551 00000000 00000000 ...PQ.U.........
This is my register dump, for reference:
VoCore2 > md b0000000
b0000000: 3637544d 20203832 00010000 00010102 MT7628 ........
b0000010: 00144144 02605500 00000000 00000000 DA...U`.........
b0000020: 10240000 00000000 00000071 0020100c ..$.....q..... .
b0000030: f9bfffc0 06400000 c0030200 00fe01ff ...... at .........
b0000040: 00000000 0001ffff 00000000 00000000 ................
b0000050: 00000000 00000000 00000000 00000810 ................
b0000060: 5505040c 05540555 00000000 00000000 ...UU.T.........
>
> SYSCFG0: 00156156
>
> CHIP_MODE: 011: XTAL with 4-byte ADR.
>
> Mainline U-Boot reports this:
>
> CPU: MT7628 Rev 1.2 - Boot from XTAL (4-Byte SPI Addr)
My mainline (RAM) reports:
CPU: MT7628 Rev 1.2 - Boot from XTAL (3-Byte SPI Addr)
>
> and the new code from Weijie reports this:
>
> CPU: MediaTek MT7688A ver:1 eco:2
> Boot: DDR2, SPI-NOR 4-Byte Addr, CPU clock from XTAL
> Clock: CPU: 580MHz, Bus: 193MHz, XTAL: 40MHz
>
> One important difference which might explain a lot, it XTAL_FREQ_SEL
> which is 0 in your case and 1 in my case.
>
> IIUTC, then the new code from Weijie takes this XTAL selection
> into account. Weijie might comment on this. I suggest that you give
> this "u-boot-mtmips.bin" binary a try. Good luck. :)
No good ;(
Here's transcript:
VoCore2 > usb reset; fatload usb 0 80010000 u-boot-ram.bin; go 80010000
(Re)start USB...
USB0: Mediatek/Ralink USB EHCI
Register 1111 NbrPorts 1
USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
reading u-boot-ram.bin
...........................................................................
387097 bytes read
## Starting application at 0x80010000 ...
<debug_uart> board_debug_uart_init():
board_early_init_f():
U-Boot 2020.01-00370-g97a60844bd-dirty (Jan 13 2020 - 01:03:59 +0100)
CPU: MT7628 Rev 1.2 - Boot from XTAL (3-Byte SPI Addr)
Model: VoCore2
DRAM: 128 MiB
WDT: Started with servicing (60s timeout)
board_early_init_r():
arch_early_init_r():
MMC: pinctrl_select_state_full('mmc at 10130000', 'default'):
mmc at 10130000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default
environment
In: uart2 at e00
Out: uart2 at e00
Err: uart2 at e00
Model: VoCore2
arch_misc_init():
=> usb start; load usb 0:1 85000000 u-boot-mtmips.bin
starting USB...
Bus ehci at 101c0000: USB EHCI 1.00
scanning bus ehci at 101c0000 for devices... 3 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
465744 bytes read in 21 ms (21.2 MiB/s)
=> sf probe; sf update ${fileaddr} 0 ${filesize}
SF: Detected w25q128 with page size 256 Bytes, erase size 4 KiB, total
16 MiB
device 0 offset 0x0, size 0x71b50
465744 bytes written, 0 bytes skipped in 11.666s, speed 40870 B/s
=> sf read 86000000 0 ${filesize}; cmp 86000000 ${fileaddr} ${filesize}
device 0 offset 0x0, size 0x71b50
SF: 465744 bytes @ 0x0 Read: OK
word at 0x86071b50 (0x933a51e7) != word at 0x85071b50 (0x2a8d0020)
Total of 116436 word(s) were the same
=> reset
resetting ...
<DEAD>
Note: I assumed u-boot-mtmips.bin is linked at 9c000000, right?
I assume difference in the very last word (actually the first word out)
is significant.
As said there could be differences in Bootstrapping pins latching.
I will review that after lunch...
>
> Thanks,
> Stefan
>
Thanks, so far... ;)
Mauro
More information about the U-Boot
mailing list