Testing v2022.10-rc5 on mt7621
Sven F.
sven.falempin at gmail.com
Wed Sep 21 17:13:03 CEST 2022
Dear readers,
I have a mt7621 spi nor with 256MB DDR board,
and I am trying to get an open source software suite on it.
IE : u-boot 2022.10 and open wrt v22.03.0
I follow instruction and build u-boot with :
export CROSS_COMPILE=mipsel-linux-gnu-
make mrproper && make O=build mt7621_rfb_defconfig && \
make O=build -j$(nproc) 2>&1 | tee ../uboot.build.log.mt7621_rfb_defconfig
The output file looks ok but the last part of LZMA is not recognized fully.
$ binwalk ./build/u-boot-mt7621.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
2156 0x86C uImage header, header size: 64 bytes, header
CRC: 0x3D774D5C, created: 2022-09-21 13:56:55, image size: 3
8828 bytes, Data Address: 0x80100000, Entry Point: 0x80100000, data CRC:
0x38979001, OS: Firmware, CPU: MIPS, \
image type: Standalone Program, compression type: none, image name: "MT7621
U-Boot SPL"
41048 0xA058 uImage header, header size: 64 bytes, header
CRC: 0x18B75518, created: 2022-09-21 13:56:49, image size: 1
45331 bytes, Data Address: 0x80200000, Entry Point: 0x80200000, data CRC:
0xB39FB0D8, OS: Firmware, CPU: MIPS, \
image type: Standalone Program, compression type: lzma, image name: "U-Boot
2022.10-rc4 for mt7621 bo"
41112 0xA098 LZMA compressed data, properties: 0x5D,
dictionary size: 67108864 bytes, uncompressed size: -1 bytes
Remark on the build process, only one warning:
/home/toor/2022/official/bootloader/u-boot/build/../scripts/dtc/pylibfdt/setup.py:21
DeprecationWarning: \
The distutils package is deprecated and slated for removal in Python 3.12.
Use setuptools or check PEP 632 for potential alternatives
I think it would sensible to put some checksum of the online binaries file
for the `DDR initialization binary blob`
+ 1dda68aa089f0ff262e01539b990dea478952e9fb68bcc0a8cd6f76f0135c62e
./mt7621_stage_sram.bin
+ 8ee419275144fc298e9444d413d98e965a55d283152a74ea6a1f8de79eb516b6
./mt7621_stage_sram_noprint.bin
and the CROSS_COMPILE define may be signal `mipsel-linux-gnu-`
in
https://github.com/u-boot/u-boot/blob/master/doc/board/mediatek/mt7621.rst
Before burning the ROM , I would like to validate the build somehow since
it is very hard to recover from a bad bootloader !
`Burn the u-boot-mt7621.bin to the SPI-NOR` is a bit drastic.
Is it possible to boot one of those from memory using the `go` command to
check if the build looks ok
1990a6e661e450d944ff69c103cb0ca7 ./build/u-boot-dtb.img
1990a6e661e450d944ff69c103cb0ca7 ./build/u-boot.img
d025641feb8aeb423c5bb829a989ddd4 ./build/u-boot-lzma.img
27b67fb29c11ea542405e25829df00ee ./build/u-boot-spl-ddr.img
0c7d7fa983b3e7b7c9cd202e89f6cb07 ./build/mt7621_stage_sram.bin
d1ee76fe3750386e4ec5de3cb0599c8f ./build/u-boot.bin
d1ee76fe3750386e4ec5de3cb0599c8f ./build/u-boot-dtb.bin
be651a79adc284ee3aac5edfc873eacc ./build/u-boot-mt7621.bin
6fa3b83a89174c828b4af8c53beeece6 ./build/u-boot-nodtb.bin
d7d4fd33c9c2bdeeb074d3367b09cf10 ./build/u-boot-spl-ddr.bin
980971dba7452050a975398324d771e1 ./build/u-boot
Is it possible to do something similar ? please advice
=> bootp 0x80010000 u-boot-nodtb.bin
=> go 0x80010000
Thank you for reading that far.
PS: some board data.
=> bdinfo
boot_params = 0x8FEB1160
memstart = 0x80000000
memsize = 0x10000000
flashstart = 0x00000000
flashsize = 0x00000000
flashoffset = 0x00000000
ethaddr = (not set)
IP addr = 192.168.1.
baudrate = 115200 bps
relocaddr = 0x8FFB0000
reloc off = 0x0FDB0000
>> Initializing DDR3
>> Applying AC timing parameters (try 1)
Expected DRAM size: 128MB
>> Setting DDR/CPU PLL ...
Using 3PLL mode with External loopback
DDR/CPU clock will be set to 1200MHz/880MHz
>> Starting DDR PLL calibration ...
DDR PLL2/3/4 feedback delay: 23/13/18
DDR 3PLL mode calibration passed
>> Starting DQS Gating Window Delay calibration
0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120
----------------------------------------------------------------
0000:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0001:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0002:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0003:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0004:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0005:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0006:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0007:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0008:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0009:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000A:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000B:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000C:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000D:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000E:| 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1
000F:| 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0
0010:| 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0
0011:| 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0012:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0013:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0014:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0015:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0016:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0017:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0018:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0019:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001A:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001B:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001C:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001D:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001E:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001F:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Found coarse/fine delay value: 16/32
>> Starting DLE calibration
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
----------------------------------------------------------------
0000:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Failed to find optimal DQS factor
>> Got DRAM size 0MB
Retrying ...
>> Applying AC timing parameters (try 2)
Expected DRAM size: 256MB
>> Setting DDR/CPU PLL ...
Using 3PLL mode with External loopback
DDR/CPU clock will be set to 1200MHz/880MHz
>> Starting DDR PLL calibration ...
DDR PLL2/3/4 feedback delay: 23/13/18
DDR 3PLL mode calibration passed
>> Starting DQS Gating Window Delay calibration
0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120
----------------------------------------------------------------
0000:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0001:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0002:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0003:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0004:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0005:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0006:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0007:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0008:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0009:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000A:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000B:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000C:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000D:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000E:| 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
000F:| 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0
0010:| 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
0011:| 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0012:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0013:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0014:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0015:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0016:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0017:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0018:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0019:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001A:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001B:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001C:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001D:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001E:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
001F:| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Found coarse/fine delay value: 15/80
>> Starting DLE calibration
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
----------------------------------------------------------------
0000:| 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0
Optimal DQS factor: 9
>> Starting RX DQ per-bit delay calibration
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
----------------------------------------------------------------
Delay 11 11 11 12 9 11 9 9 7 7 9 8 9 10 8 10
>> Starting DQS delay calibration
Bit ( Range ) Center
--------------------
0 ( 1~ 62) 31
1 ( 1~ 61) 31
2 ( 1~ 60) 30
3 ( 1~ 62) 31
4 ( 0~ 62) 31
5 ( 1~ 63) 32
6 ( 1~ 61) 31
7 ( 1~ 63) 32
DQS0 input delay: 32
Bit ( Range ) Center
--------------------
8 ( 1~ 59) 30
9 ( 1~ 58) 29
10 ( 1~ 59) 30
11 ( 1~ 58) 29
12 ( 2~ 60) 31
13 ( 1~ 59) 30
14 ( 1~ 59) 30
15 ( 1~ 60) 30
DQS1 input delay: 31
>> Final DQ delay value
Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
----------------------------------------------------------------
Delay 12 12 13 13 10 11 10 9 8 9 10 10 9 11 9 11
>> Starting TX DQ/QDS per-byte calibration
Byte 0: (DQS,DQ)=(8,8)
Byte 1: (DQS,DQ)=(8,8)
DDR calibration passed
>> Got DRAM size 256MB
DRAM initialization succeeded
U-Boot SPL 2018.09-svn35 (Mar 11 2021 - 19:17:36 +0800)
Trying to boot from NOR
U-Boot 2018.09-svn35 (Mar 11 2021 - 19:17:36 +0800)
CPU: MediaTek MT7621AT ver 1, eco 3
Clocks: CPU: 880MHz, DDR: 1200MHz, Bus: 220MHz, XTAL: 40MHz
Model: MediaTek MT7621 reference board
DRAM: 256 MiB
Loading Environment from SPI Flash... SF: Detected w25q128bv with page size
256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: uartlite0 at 1e000c00
Out: uartlite0 at 1e000c00
Err: uartlite0 at 1e000c00
Net:
Warning: eth at 1e100000 (eth0) using random MAC address - 5e:69:c8:f8:cf:5b
eth0: eth at 1e100000
Hit any key to stop autoboot: 0
*** U-Boot Boot Menu ***
1. Startup system (Default)
2. Upgrade firmware
3. Upgrade bootloader
4. Upgrade bootloader (advanced mode)
5. Load image
0. U-Boot console
More information about the U-Boot
mailing list