How to get into loader mode

I have uboot flashed into spi nor flash and debian on my nvme ssd. I want to use RKDevInfoWriteTool.exe to write LAN MAC to vendor storage on spi nor flash. But I can’t get into loader mode.
I tried the method described in https://wiki.radxa.com/Rock3/hardware/3a. Here is what I tried:
1, When I “Short-circuit pin#2 and pin#3” and plugin type-c power, the system on nvme booted up.
2, When I type command “sudo reboot loader” without short-circuiting pin#2 and pin#3, I can get into maskrom mode.
3, When I type command “sudo reboot loader” with short-circuiting pin#2 and pin#3, system on nvme booted up.

I check that guide again. And I find that one necessary step is missed.

Before pluging in type-c power cable, plug the USB Male A to Male A cable to ROCK 3A OTG port(the upper USB3.0 port), the other side to PC.

I did this since I can get into maskrom mode.

What u-boot do you use? built by yourself?

Would you please try our rebuilt u-boot images again according to the guide? https://wiki.radxa.com/Rock3/install/spi

Try to install driver again. https://wiki.radxa.com/Rock3/install/rockchip-flash-tools


Below is my test steps of booting device into loader mode.

  • Flash u-boot images to SPI Nor flash according to this guide. https://wiki.radxa.com/Rock3/install/spi
  • Short-circuit pin#2 and pin#3
  • Plug the USB Male A to Male A cable to ROCK 3A OTG port(the upper USB3.0 port), the other side to PC
  • Plug in the Type-C adapter
  • Wait for about 5 seconds
  • Confirm ROCK 3A is in loader mode
    For Linux PC: lsusb shows: Bus 001 Device 049: ID 2207:350a Fuzhou Rockchip Electronics Company
    For macOS PC: lsusb shows: Bus 000 Device 004: ID 2207:350a Fuzhou Rockchip Electronics Co., Ltd. USB download gadget
    For Windows PC: Open RKDevTool and you would see “Found One LOADER Device”.
  • Remove wire between pin#2 and pin#3 before flashing images to boot device.

On serial tool, you would see it sops here to wait for downloading.

download key pressed... entering download mode...
RKUSB: LUN 0, dev 2, hwpart 0, sector 0x0, count 0x8000
\

It seems that “Short-circuit pin#2 and pin#3” does not work. Uboot always boot the system on nvme. Here is the serial log:

DDR Version V1.10 20210810
In
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 72ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,
tdqss: cs1 dqs0: 48ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x60

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x33
cs 0:
the read training result:
DQS0:0x36, DQS1:0x37, DQS2:0x39, DQS3:0x33,
min  : 0x7  0x7  0x9  0x8  0x1  0x2  0x3  0x2 , 0x8  0x6  0x1  0x1  0xa  0x6  0x9  0x6 ,
       0xc  0xc  0xa  0x9  0x2  0x1  0x2  0x4 , 0x6  0x6  0x5  0x1  0xb  0x9  0x8  0xa ,
mid  :0x23 0x22 0x25 0x24 0x1c 0x1e 0x1f 0x1c ,0x22 0x21 0x1c 0x1d 0x26 0x23 0x25 0x22 ,
      0x27 0x27 0x24 0x22 0x1e 0x1c 0x1d 0x1f ,0x21 0x21 0x20 0x1c 0x25 0x26 0x24 0x26 ,
max  :0x3f 0x3e 0x42 0x40 0x37 0x3a 0x3c 0x37 ,0x3c 0x3c 0x37 0x3a 0x42 0x41 0x42 0x3e ,
      0x42 0x42 0x3e 0x3c 0x3a 0x38 0x38 0x3a ,0x3d 0x3c 0x3b 0x38 0x3f 0x43 0x40 0x42 ,
range:0x38 0x37 0x39 0x38 0x36 0x38 0x39 0x35 ,0x34 0x36 0x36 0x39 0x38 0x3b 0x39 0x38 ,
      0x36 0x36 0x34 0x33 0x38 0x37 0x36 0x36 ,0x37 0x36 0x36 0x37 0x34 0x3a 0x38 0x38 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x63 0x64 0x65 0x63 0x59 0x5c 0x5f 0x60 0x5d ,0x4e 0x4c 0x48 0x49 0x51 0x50 0x51 0x50 0x4d ,
      0x53 0x54 0x50 0x4f 0x4a 0x47 0x4b 0x4e 0x4d ,0x4b 0x4a 0x48 0x46 0x4f 0x4f 0x4d 0x51 0x47 ,
mid  :0x7f 0x81 0x82 0x7f 0x75 0x79 0x7b 0x7b 0x79 ,0x6b 0x68 0x64 0x65 0x6d 0x6b 0x6c 0x6c 0x68 ,
      0x70 0x70 0x6c 0x6b 0x63 0x61 0x65 0x69 0x69 ,0x68 0x65 0x61 0x61 0x6a 0x6b 0x67 0x6c 0x61 ,
max  :0x9c 0x9e 0x9f 0x9b 0x92 0x96 0x98 0x97 0x95 ,0x89 0x85 0x80 0x82 0x89 0x86 0x88 0x88 0x83 ,
      0x8d 0x8d 0x88 0x87 0x7d 0x7c 0x80 0x84 0x85 ,0x85 0x80 0x7b 0x7c 0x85 0x87 0x82 0x88 0x7b ,
range:0x39 0x3a 0x3a 0x38 0x39 0x3a 0x39 0x37 0x38 ,0x3b 0x39 0x38 0x39 0x38 0x36 0x37 0x38 0x36 ,
      0x3a 0x39 0x38 0x38 0x33 0x35 0x35 0x36 0x38 ,0x3a 0x36 0x33 0x36 0x36 0x38 0x35 0x37 0x34 ,
cs 1:
the read training result:
DQS0:0x37, DQS1:0x38, DQS2:0x39, DQS3:0x34,
min  : 0x6  0x7  0x8  0x8  0x1  0x2  0x4  0x2 , 0x6  0x5  0x1  0x1  0xa  0x6  0x8  0x6 ,
       0xc  0xc  0xa  0x8  0x2  0x1  0x1  0x4 , 0x7  0x6  0x5  0x2  0xb  0xa  0x8  0xa ,
mid  :0x22 0x22 0x25 0x24 0x1c 0x1e 0x20 0x1d ,0x21 0x20 0x1c 0x1e 0x26 0x24 0x25 0x22 ,
      0x26 0x26 0x23 0x21 0x1d 0x1b 0x1b 0x1e ,0x22 0x20 0x20 0x1d 0x25 0x26 0x23 0x25 ,
max  :0x3f 0x3e 0x43 0x40 0x38 0x3b 0x3d 0x38 ,0x3c 0x3c 0x37 0x3b 0x42 0x42 0x42 0x3e ,
      0x41 0x40 0x3c 0x3b 0x38 0x36 0x36 0x38 ,0x3e 0x3b 0x3b 0x38 0x3f 0x43 0x3f 0x41 ,
range:0x39 0x37 0x3b 0x38 0x37 0x39 0x39 0x36 ,0x36 0x37 0x36 0x3a 0x38 0x3c 0x3a 0x38 ,
      0x35 0x34 0x32 0x33 0x36 0x35 0x35 0x34 ,0x37 0x35 0x36 0x36 0x34 0x39 0x37 0x37 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x61 0x62 0x63 0x61 0x59 0x5b 0x5d 0x5f 0x5c ,0x51 0x50 0x4c 0x4e 0x54 0x52 0x55 0x53 0x50 ,
      0x55 0x56 0x51 0x50 0x4b 0x49 0x4c 0x4f 0x4f ,0x4d 0x4c 0x49 0x47 0x50 0x50 0x4e 0x52 0x4a ,
mid  :0x7e 0x7f 0x80 0x7e 0x75 0x78 0x7a 0x7b 0x77 ,0x6f 0x6c 0x68 0x6a 0x71 0x6e 0x71 0x6f 0x6c ,
      0x72 0x72 0x6e 0x6c 0x66 0x63 0x67 0x6a 0x6b ,0x6a 0x68 0x65 0x64 0x6c 0x6d 0x6a 0x6f 0x63 ,
max  :0x9b 0x9d 0x9e 0x9b 0x91 0x95 0x97 0x97 0x93 ,0x8d 0x89 0x84 0x87 0x8e 0x8a 0x8d 0x8b 0x88 ,
      0x8f 0x8f 0x8b 0x89 0x81 0x7d 0x82 0x86 0x87 ,0x88 0x84 0x81 0x82 0x88 0x8a 0x86 0x8c 0x7d ,
range:0x3a 0x3b 0x3b 0x3a 0x38 0x3a 0x3a 0x38 0x37 ,0x3c 0x39 0x38 0x39 0x3a 0x38 0x38 0x38 0x38 ,
      0x3a 0x39 0x3a 0x39 0x36 0x34 0x36 0x37 0x38 ,0x3b 0x38 0x38 0x3b 0x38 0x3a 0x38 0x3a 0x33 ,
CA Training result:
cs:0 min  :0x47 0x49 0x40 0x42 0x40 0x3f 0x46 ,0x45 0x45 0x40 0x3f 0x40 0x3f 0x46 ,
cs:0 mid  :0x87 0x87 0x80 0x80 0x80 0x7d 0x77 ,0x84 0x83 0x7f 0x7c 0x7f 0x7c 0x77 ,
cs:0 max  :0xc8 0xc5 0xc0 0xbf 0xc0 0xbc 0xa8 ,0xc4 0xc1 0xbe 0xba 0xbe 0xba 0xa8 ,
cs:0 range:0x81 0x7c 0x80 0x7d 0x80 0x7d 0x62 ,0x7f 0x7c 0x7e 0x7b 0x7e 0x7b 0x62 ,
cs:1 min  :0x44 0x4c 0x3e 0x44 0x3e 0x42 0x47 ,0x42 0x49 0x3e 0x40 0x3d 0x41 0x44 ,
cs:1 mid  :0x87 0x87 0x80 0x80 0x80 0x7d 0x79 ,0x84 0x84 0x7f 0x7b 0x7f 0x7d 0x76 ,
cs:1 max  :0xca 0xc3 0xc3 0xbc 0xc2 0xb9 0xac ,0xc6 0xbf 0xc1 0xb7 0xc1 0xb9 0xa9 ,
cs:1 range:0x86 0x77 0x85 0x78 0x84 0x77 0x65 ,0x84 0x76 0x83 0x77 0x84 0x78 0x65 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-gf48bdfd82af-211223 #stephen (Dec 27 2021 - 10:21:29)
Trying to boot from MMC2

Please provide all the boot log from serial tool.

DDR Version V1.10 20210810
In
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 72ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,
tdqss: cs1 dqs0: 48ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x60

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x33
cs 0:
the read training result:
DQS0:0x36, DQS1:0x37, DQS2:0x39, DQS3:0x33,
min  : 0x7  0x7  0x9  0x8  0x1  0x2  0x3  0x2 , 0x8  0x6  0x1  0x1  0xa  0x6  0x9  0x6 ,
       0xc  0xc  0xa  0x9  0x2  0x1  0x2  0x4 , 0x6  0x6  0x5  0x1  0xb  0x9  0x8  0xa ,
mid  :0x23 0x22 0x25 0x24 0x1c 0x1e 0x1f 0x1c ,0x22 0x21 0x1c 0x1d 0x26 0x23 0x25 0x22 ,
      0x27 0x27 0x24 0x22 0x1e 0x1c 0x1d 0x1f ,0x21 0x21 0x20 0x1c 0x25 0x26 0x24 0x26 ,
max  :0x3f 0x3e 0x42 0x40 0x37 0x3a 0x3c 0x37 ,0x3c 0x3c 0x37 0x3a 0x42 0x41 0x42 0x3e ,
      0x42 0x42 0x3e 0x3c 0x3a 0x38 0x38 0x3a ,0x3d 0x3c 0x3b 0x38 0x3f 0x43 0x40 0x42 ,
range:0x38 0x37 0x39 0x38 0x36 0x38 0x39 0x35 ,0x34 0x36 0x36 0x39 0x38 0x3b 0x39 0x38 ,
      0x36 0x36 0x34 0x33 0x38 0x37 0x36 0x36 ,0x37 0x36 0x36 0x37 0x34 0x3a 0x38 0x38 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x63 0x64 0x65 0x63 0x59 0x5c 0x5f 0x60 0x5d ,0x4e 0x4c 0x48 0x49 0x51 0x50 0x51 0x50 0x4d ,
      0x53 0x54 0x50 0x4f 0x4a 0x47 0x4b 0x4e 0x4d ,0x4b 0x4a 0x48 0x46 0x4f 0x4f 0x4d 0x51 0x47 ,
mid  :0x7f 0x81 0x82 0x7f 0x75 0x79 0x7b 0x7b 0x79 ,0x6b 0x68 0x64 0x65 0x6d 0x6b 0x6c 0x6c 0x68 ,
      0x70 0x70 0x6c 0x6b 0x63 0x61 0x65 0x69 0x69 ,0x68 0x65 0x61 0x61 0x6a 0x6b 0x67 0x6c 0x61 ,
max  :0x9c 0x9e 0x9f 0x9b 0x92 0x96 0x98 0x97 0x95 ,0x89 0x85 0x80 0x82 0x89 0x86 0x88 0x88 0x83 ,
      0x8d 0x8d 0x88 0x87 0x7d 0x7c 0x80 0x84 0x85 ,0x85 0x80 0x7b 0x7c 0x85 0x87 0x82 0x88 0x7b ,
range:0x39 0x3a 0x3a 0x38 0x39 0x3a 0x39 0x37 0x38 ,0x3b 0x39 0x38 0x39 0x38 0x36 0x37 0x38 0x36 ,
      0x3a 0x39 0x38 0x38 0x33 0x35 0x35 0x36 0x38 ,0x3a 0x36 0x33 0x36 0x36 0x38 0x35 0x37 0x34 ,
cs 1:
the read training result:
DQS0:0x37, DQS1:0x38, DQS2:0x39, DQS3:0x34,
min  : 0x6  0x7  0x8  0x8  0x1  0x2  0x4  0x2 , 0x6  0x5  0x1  0x1  0xa  0x6  0x8  0x6 ,
       0xc  0xc  0xa  0x8  0x2  0x1  0x1  0x4 , 0x7  0x6  0x5  0x2  0xb  0xa  0x8  0xa ,
mid  :0x22 0x22 0x25 0x24 0x1c 0x1e 0x20 0x1d ,0x21 0x20 0x1c 0x1e 0x26 0x24 0x25 0x22 ,
      0x26 0x26 0x23 0x21 0x1d 0x1b 0x1b 0x1e ,0x22 0x20 0x20 0x1d 0x25 0x26 0x23 0x25 ,
max  :0x3f 0x3e 0x43 0x40 0x38 0x3b 0x3d 0x38 ,0x3c 0x3c 0x37 0x3b 0x42 0x42 0x42 0x3e ,
      0x41 0x40 0x3c 0x3b 0x38 0x36 0x36 0x38 ,0x3e 0x3b 0x3b 0x38 0x3f 0x43 0x3f 0x41 ,
range:0x39 0x37 0x3b 0x38 0x37 0x39 0x39 0x36 ,0x36 0x37 0x36 0x3a 0x38 0x3c 0x3a 0x38 ,
      0x35 0x34 0x32 0x33 0x36 0x35 0x35 0x34 ,0x37 0x35 0x36 0x36 0x34 0x39 0x37 0x37 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x61 0x62 0x63 0x61 0x59 0x5b 0x5d 0x5f 0x5c ,0x51 0x50 0x4c 0x4e 0x54 0x52 0x55 0x53 0x50 ,
      0x55 0x56 0x51 0x50 0x4b 0x49 0x4c 0x4f 0x4f ,0x4d 0x4c 0x49 0x47 0x50 0x50 0x4e 0x52 0x4a ,
mid  :0x7e 0x7f 0x80 0x7e 0x75 0x78 0x7a 0x7b 0x77 ,0x6f 0x6c 0x68 0x6a 0x71 0x6e 0x71 0x6f 0x6c ,
      0x72 0x72 0x6e 0x6c 0x66 0x63 0x67 0x6a 0x6b ,0x6a 0x68 0x65 0x64 0x6c 0x6d 0x6a 0x6f 0x63 ,
max  :0x9b 0x9d 0x9e 0x9b 0x91 0x95 0x97 0x97 0x93 ,0x8d 0x89 0x84 0x87 0x8e 0x8a 0x8d 0x8b 0x88 ,
      0x8f 0x8f 0x8b 0x89 0x81 0x7d 0x82 0x86 0x87 ,0x88 0x84 0x81 0x82 0x88 0x8a 0x86 0x8c 0x7d ,
range:0x3a 0x3b 0x3b 0x3a 0x38 0x3a 0x3a 0x38 0x37 ,0x3c 0x39 0x38 0x39 0x3a 0x38 0x38 0x38 0x38 ,
      0x3a 0x39 0x3a 0x39 0x36 0x34 0x36 0x37 0x38 ,0x3b 0x38 0x38 0x3b 0x38 0x3a 0x38 0x3a 0x33 ,
CA Training result:
cs:0 min  :0x47 0x49 0x40 0x42 0x40 0x3f 0x46 ,0x45 0x45 0x40 0x3f 0x40 0x3f 0x46 ,
cs:0 mid  :0x87 0x87 0x80 0x80 0x80 0x7d 0x77 ,0x84 0x83 0x7f 0x7c 0x7f 0x7c 0x77 ,
cs:0 max  :0xc8 0xc5 0xc0 0xbf 0xc0 0xbc 0xa8 ,0xc4 0xc1 0xbe 0xba 0xbe 0xba 0xa8 ,
cs:0 range:0x81 0x7c 0x80 0x7d 0x80 0x7d 0x62 ,0x7f 0x7c 0x7e 0x7b 0x7e 0x7b 0x62 ,
cs:1 min  :0x44 0x4c 0x3e 0x44 0x3e 0x42 0x47 ,0x42 0x49 0x3e 0x40 0x3d 0x41 0x44 ,
cs:1 mid  :0x87 0x87 0x80 0x80 0x80 0x7d 0x79 ,0x84 0x84 0x7f 0x7b 0x7f 0x7d 0x76 ,
cs:1 max  :0xca 0xc3 0xc3 0xbc 0xc2 0xb9 0xac ,0xc6 0xbf 0xc1 0xb7 0xc1 0xb9 0xa9 ,
cs:1 range:0x86 0x77 0x85 0x78 0x84 0x77 0x65 ,0x84 0x76 0x83 0x77 0x84 0x78 0x65 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-gf48bdfd82af-211223 #stephen (Dec 27 2021 - 10:21:29)
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 5
spl: mmc init failed with error: -110
Trying to boot from MTD2
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
No misc partition
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0xX != 0xX
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(fe4f274c06...) + OK
## Checking uboot 0x00a00000 ... sha256(250c5dd88f...) + OK
## Checking fdt 0x00b2f670 ... sha256(ed0e2abb0d...) + OK
## Checking atf-2 0x00068000 ... sha256(8d44036095...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(e410275b51...) + OK
## Checking atf-4 0xfdcc9000 ... sha256(990c53fc01...) + OK
## Checking atf-5 0x00066000 ... sha256(315a4195a9...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 651.178 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-181-gc9a647cae:cl
NOTICE:  BL31: Built : 10:55:41, Oct 18 2021
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid
INFO:    dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-gf48bdfd82af-211223 #stephen (Dec 27 2021 - 10:21:29 +0800)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  7.7 GiB
Sysmem: init
Relocation Offset: ed349000
Relocation fdt: eb9f7340 - eb9fecd0
CR: M/C/I
Using default environment

Hotkey: ctrl+`
Bootdev: nvme 0
PartType: EFI
No misc partition
boot mode: None
FIT: No fdt blob
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu 1025000 uV
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
of_get_regulator: Get (vccio3-supply) regulator: 0 failed, ret=-19
of_get_regulator: Get (vccio5-supply) regulator: 0 failed, ret=-19
of_get_regulator: Get (vccio7-supply) regulator: 0 failed, ret=-19
io-domain: OK
Model: Radxa ROCK 3 Model A
rockchip_set_ethaddr: vendor_storage_write failed -19
rockchip_set_serialno: could not find efuse/otp device
download key pressed... entering recovery mode!
boot mode: recovery (key)
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 816000 KHz
  dpll 528000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 24000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 50000 KHz
  aclk_top_high 300000 KHz
  aclk_top_low 200000 KHz
  hclk_top 150000 KHz
  pclk_top 50000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
No misc partition
Net:   No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0

Device 0: Vendor: 0x1e4b Rev: SVN2789  Prod: 30045566059
            Type: Hard Disk
            Capacity: 244198.3 MB = 238.4 GB (500118192 x 512)
... is now current device
Scanning nvme 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
2725 bytes read in 0 ms
## Executing script at 00c00000
Boot script loaded from nvme 0
reading /uEnv.txt
356 bytes read in 0 ms
reading /initrd.img-4.19.193-31-rockchip-g044735a22a0e
6509962 bytes read in 9 ms (689.8 MiB/s)
reading /vmlinuz-4.19.193-31-rockchip-g044735a22a0e
20742152 bytes read in 23 ms (860.1 MiB/s)
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/rk3568-rock-3-a.dtb
146955 bytes read in 2 ms (70.1 MiB/s)
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rk3568-can1-m0.dtbo
515 bytes read in 1 ms (502.9 KiB/s)
Applying kernel provided DT overlay rk3568-can1-m0.dtbo
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rk3568-pwm8-m0-fan.dtbo
382 bytes read in 1 ms (373 KiB/s)
Applying kernel provided DT overlay rk3568-pwm8-m0-fan.dtbo
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rockchip-fixup.scr
1322 bytes read in 1 ms (1.3 MiB/s)
Applying kernel provided DT fixup script (rockchip-fixup.scr)
## Executing script at 59000000
initrdsize = 0x63558a
Fdt Ramdisk skip relocation
No misc partition
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
   reserving fdt memory region: addr=a100000 size=8a000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
   Using Device Tree in place at 000000000a100000, end 000000000a18cfff
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000)
Total: 1925.29 ms

I tried the latest uboot image from deb rock-3a-rk-ubootimg, and make a gpt spi image with the following commands:

dd if=/dev/zero of=spi_image_official.img bs=1M count=0 seek=16
sudo /usr/sbin/parted -s spi_image_official.img mklabel gpt
sudo parted -s spi_image_official.img unit s mkpart idbloader 64
sudo parted -s spi_image_official.img unit s mkpart uboot 16384
dd if=../uboot-deb/usr/lib/u-boot-rock-3a/idbloader.img of=spi_image_official.img seek=64 conv=notrunc
dd if=../uboot-deb/usr/lib/u-boot-rock-3a/u-boot.itb of=spi_image_official.img seek=16384 conv=notrunc

I still can’t get into loader.
Here is the picture of my board:


Here is the serial output:

DDR Version V1.10 20210810
In
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 72ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,
tdqss: cs1 dqs0: 48ps, dqs1: -72ps, dqs2: -72ps, dqs3: -120ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x60

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x33
cs 0:
the read training result:
DQS0:0x37, DQS1:0x37, DQS2:0x3b, DQS3:0x33,
min  : 0x8  0x8  0x9  0x8  0x2  0x3  0x4  0x2 , 0x8  0x5  0x1  0x1  0xa  0x6  0x9  0x7 ,
       0xc  0xc  0xa  0x8  0x2  0x1  0x2  0x4 , 0x6  0x5  0x5  0x1  0xb  0x9  0x8  0xa ,
mid  :0x24 0x24 0x26 0x25 0x1d 0x1f 0x20 0x1d ,0x22 0x20 0x1c 0x1d 0x26 0x23 0x25 0x22 ,
      0x28 0x28 0x24 0x23 0x1f 0x1d 0x1e 0x20 ,0x21 0x20 0x1f 0x1c 0x24 0x26 0x23 0x25 ,
max  :0x40 0x40 0x43 0x42 0x39 0x3c 0x3d 0x39 ,0x3c 0x3c 0x37 0x3a 0x42 0x41 0x42 0x3e ,
      0x44 0x44 0x3f 0x3e 0x3c 0x39 0x3a 0x3c ,0x3c 0x3b 0x3a 0x38 0x3e 0x43 0x3e 0x41 ,
range:0x38 0x38 0x3a 0x3a 0x37 0x39 0x39 0x37 ,0x34 0x37 0x36 0x39 0x38 0x3b 0x39 0x37 ,
      0x38 0x38 0x35 0x36 0x3a 0x38 0x38 0x38 ,0x36 0x36 0x35 0x37 0x33 0x3a 0x36 0x37 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x63 0x63 0x65 0x63 0x59 0x5c 0x5f 0x60 0x5d ,0x4e 0x4c 0x48 0x49 0x51 0x50 0x51 0x50 0x4d ,
      0x53 0x54 0x50 0x4f 0x4a 0x47 0x4b 0x4e 0x4d ,0x4b 0x4a 0x48 0x46 0x4f 0x4f 0x4d 0x51 0x47 ,
mid  :0x7f 0x80 0x82 0x7f 0x75 0x79 0x7b 0x7b 0x79 ,0x6b 0x68 0x64 0x65 0x6d 0x6b 0x6c 0x6c 0x68 ,
      0x70 0x70 0x6c 0x6b 0x63 0x61 0x65 0x69 0x69 ,0x68 0x65 0x62 0x61 0x6a 0x6b 0x67 0x6c 0x61 ,
max  :0x9c 0x9e 0x9f 0x9b 0x91 0x96 0x98 0x97 0x95 ,0x89 0x85 0x80 0x82 0x89 0x86 0x88 0x88 0x83 ,
      0x8d 0x8d 0x88 0x87 0x7d 0x7c 0x80 0x84 0x85 ,0x85 0x80 0x7c 0x7d 0x85 0x87 0x82 0x88 0x7c ,
range:0x39 0x3b 0x3a 0x38 0x38 0x3a 0x39 0x37 0x38 ,0x3b 0x39 0x38 0x39 0x38 0x36 0x37 0x38 0x36 ,
      0x3a 0x39 0x38 0x38 0x33 0x35 0x35 0x36 0x38 ,0x3a 0x36 0x34 0x37 0x36 0x38 0x35 0x37 0x35 ,
cs 1:
the read training result:
DQS0:0x37, DQS1:0x38, DQS2:0x39, DQS3:0x34,
min  : 0x7  0x7  0x8  0x8  0x1  0x2  0x3  0x2 , 0x7  0x5  0x1  0x1  0xa  0x6  0x8  0x6 ,
       0xc  0xc  0xa  0x8  0x2  0x1  0x2  0x4 , 0x7  0x5  0x4  0x1  0xb  0x9  0x8  0xa ,
mid  :0x23 0x22 0x25 0x24 0x1c 0x1e 0x20 0x1d ,0x21 0x20 0x1c 0x1e 0x26 0x24 0x25 0x22 ,
      0x27 0x26 0x24 0x22 0x1e 0x1c 0x1d 0x1f ,0x22 0x20 0x1f 0x1d 0x25 0x26 0x23 0x26 ,
max  :0x3f 0x3e 0x42 0x40 0x38 0x3b 0x3d 0x38 ,0x3c 0x3c 0x37 0x3b 0x42 0x42 0x43 0x3e ,
      0x42 0x41 0x3e 0x3c 0x3a 0x38 0x38 0x3a ,0x3e 0x3c 0x3b 0x39 0x3f 0x44 0x3f 0x42 ,
range:0x38 0x37 0x3a 0x38 0x37 0x39 0x3a 0x36 ,0x35 0x37 0x36 0x3a 0x38 0x3c 0x3b 0x38 ,
      0x36 0x35 0x34 0x34 0x38 0x37 0x36 0x36 ,0x37 0x37 0x37 0x38 0x34 0x3b 0x37 0x38 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x60 0x62 0x63 0x61 0x58 0x5b 0x5d 0x5f 0x5c ,0x51 0x50 0x4c 0x4e 0x54 0x53 0x55 0x53 0x50 ,
      0x51 0x53 0x4e 0x4d 0x48 0x45 0x49 0x4c 0x4c ,0x4d 0x4c 0x49 0x47 0x50 0x50 0x4e 0x52 0x4a ,
mid  :0x7d 0x7f 0x80 0x7e 0x74 0x78 0x7a 0x7a 0x77 ,0x6f 0x6c 0x68 0x6a 0x71 0x6e 0x70 0x6f 0x6c ,
      0x6f 0x6f 0x6b 0x69 0x63 0x60 0x64 0x68 0x68 ,0x6a 0x68 0x65 0x64 0x6c 0x6d 0x6a 0x6f 0x64 ,
max  :0x9a 0x9c 0x9e 0x9b 0x91 0x95 0x97 0x96 0x93 ,0x8d 0x89 0x84 0x87 0x8e 0x8a 0x8c 0x8b 0x88 ,
      0x8d 0x8c 0x88 0x86 0x7e 0x7b 0x80 0x84 0x84 ,0x88 0x84 0x81 0x82 0x89 0x8a 0x86 0x8c 0x7e ,
range:0x3a 0x3a 0x3b 0x3a 0x39 0x3a 0x3a 0x37 0x37 ,0x3c 0x39 0x38 0x39 0x3a 0x37 0x37 0x38 0x38 ,
      0x3c 0x39 0x3a 0x39 0x36 0x36 0x37 0x38 0x38 ,0x3b 0x38 0x38 0x3b 0x39 0x3a 0x38 0x3a 0x34 ,
CA Training result:
cs:0 min  :0x47 0x49 0x40 0x42 0x41 0x3f 0x46 ,0x45 0x45 0x3f 0x3f 0x3f 0x3f 0x46 ,
cs:0 mid  :0x87 0x87 0x80 0x80 0x80 0x7d 0x77 ,0x84 0x83 0x7e 0x7c 0x7e 0x7c 0x77 ,
cs:0 max  :0xc8 0xc5 0xc0 0xbe 0xc0 0xbb 0xa8 ,0xc4 0xc1 0xbe 0xba 0xbe 0xba 0xa8 ,
cs:0 range:0x81 0x7c 0x80 0x7c 0x7f 0x7c 0x62 ,0x7f 0x7c 0x7f 0x7b 0x7f 0x7b 0x62 ,
cs:1 min  :0x44 0x4c 0x3f 0x44 0x3e 0x41 0x47 ,0x43 0x49 0x3e 0x40 0x3d 0x41 0x44 ,
cs:1 mid  :0x87 0x87 0x81 0x80 0x80 0x7d 0x79 ,0x84 0x84 0x7f 0x7b 0x7f 0x7d 0x76 ,
cs:1 max  :0xcb 0xc3 0xc3 0xbd 0xc2 0xb9 0xac ,0xc6 0xbf 0xc1 0xb7 0xc1 0xb9 0xa9 ,
cs:1 range:0x87 0x77 0x84 0x79 0x84 0x78 0x65 ,0x83 0x76 0x83 0x77 0x84 0x78 0x65 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34)
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 5
spl: mmc init failed with error: -110
Trying to boot from MTD2
No misc partition
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(fe4f274c06...) + OK
## Checking uboot 0x00a00000 ... sha256(bc5ca511d2...) + OK
## Checking fdt 0x00b2f650 ... sha256(c721e0d639...) + OK
## Checking atf-2 0x00068000 ... sha256(8d44036095...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(e410275b51...) + OK
## Checking atf-4 0xfdcc9000 ... sha256(990c53fc01...) + OK
## Checking atf-5 0x00066000 ... sha256(315a4195a9...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 538.545 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-181-gc9a647cae:cl
NOTICE:  BL31: Built : 10:55:41, Oct 18 2021
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid
INFO:    dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34 +0800)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  7.7 GiB
Sysmem: init
Relocation Offset: ed349000
Relocation fdt: eb9f7320 - eb9fecd0
CR: M/C/I
Using default environment

Hotkey: ctrl+`
SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Bootdev(atags): mtd 2
PartType: EFI
No misc partition
boot mode: None
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu 1025000 uV
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Model: Radxa ROCK 3 Model A
rockchip_set_ethaddr: vendor_storage_write failed -5
rockchip_set_serialno: could not find efuse/otp device
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 816000 KHz
  dpll 528000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 24000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 50000 KHz
  aclk_top_high 300000 KHz
  aclk_top_low 200000 KHz
  hclk_top 150000 KHz
  pclk_top 50000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
No misc partition
Net:   No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0

Device 0: Vendor: 0x1e4b Rev: SVN2789  Prod: 30045566059
            Type: Hard Disk
            Capacity: 244198.3 MB = 238.4 GB (500118192 x 512)
... is now current device
Scanning nvme 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
2725 bytes read in 1 ms (2.6 MiB/s)
## Executing script at 00c00000
Boot script loaded from nvme 0
reading /uEnv.txt
356 bytes read in 0 ms
reading /initrd.img-4.19.193-31-rockchip-g044735a22a0e
6509962 bytes read in 9 ms (689.8 MiB/s)
reading /vmlinuz-4.19.193-31-rockchip-g044735a22a0e
20742152 bytes read in 26 ms (760.8 MiB/s)
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/rk3568-rock-3-a.dtb
146955 bytes read in 2 ms (70.1 MiB/s)
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rk3568-can1-m0.dtbo
515 bytes read in 2 ms (251 KiB/s)
Applying kernel provided DT overlay rk3568-can1-m0.dtbo
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rk3568-pwm8-m0-fan.dtbo
382 bytes read in 2 ms (186.5 KiB/s)
Applying kernel provided DT overlay rk3568-pwm8-m0-fan.dtbo
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rockchip-fixup.scr
1322 bytes read in 1 ms (1.3 MiB/s)
Applying kernel provided DT fixup script (rockchip-fixup.scr)
## Executing script at 59000000
initrdsize = 0x63558a
Fdt Ramdisk skip relocation
No misc partition
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
   reserving fdt memory region: addr=a100000 size=8a000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
   Using Device Tree in place at 000000000a100000, end 000000000a18cfff
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000)
Total: 2028.86 ms

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
[    0.000000] Linux version 4.19.193-31-rockchip-g044735a22a0e (stephen@lara) (gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-6ubuntu2), GNU ld (GNU Binutils for Ubuntu) 2.34) #rockchip SMP Mon Feb 7 12:19:02 UTC 2022
[    0.000000] Machine model: Radxa ROCK 3 Model A

Here is the serial output when using command sudo reboot loader without short-circuiting pin#2 and pin#3, I get maskrom mode:

[  OK  ] Started Reboot.
[  OK  ] Reached target Reboot.
[  482.662646] watchdog: watchdog0: watchdog did not stop!
[  482.717242] systemd-shutdow: 56 output lines suppressed due to ratelimiting
[  482.769691] systemd-shutdown[1]: Syncing filesystems and block devices.
[  482.783319] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[  482.797718] systemd-journald[187]: Received SIGTERM from PID 1 (systemd-shutdow).
[  482.825830] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[  482.835163] systemd-shutdown[1]: Hardware watchdog 'Synopsys DesignWare Watchdog', version 0
[  482.838323] systemd-shutdown[1]: Unmounting file systems.
[  482.841895] [644]: Remounting '/' read-only in with options '(null)'.
[  482.880237] EXT4-fs (nvme0n1p2): re-mounted. Opts: (null)
[  482.896489] systemd-shutdown[1]: All filesystems unmounted.
[  482.896689] systemd-shutdown[1]: Deactivating swaps.
[  482.897017] systemd-shutdown[1]: All swaps deactivated.
[  482.897125] systemd-shutdown[1]: Detaching loop devices.
[  482.900777] systemd-shutdown[1]: All loop devices detached.
[  482.923169] cpu cpu0: min=816000, max=816000
[  482.940670] rk808 0-0020: reboot: not restore POWER_EN
[  482.941298] rk808 0-0020: reboot: force RK817_RST_FUNC_REG ok!
[  483.162540] rkisp_hw fdff0000.rkisp: rkisp_hw_shutdown
[  483.170299] fan53555-regulator 0-001c: fan53555..... reset
[  483.171820] fan53555-regulator 0-001c: reset: force fan53555_reset ok!
[  483.172975] rockchip-vop2 fe040000.vop: [drm:vop2_crtc_atomic_disable] Crtc atomic disable vp0
[  483.207045] mpp_rkvdec2 fdf80200.rkvdec: shutdown device
[  483.207726] mpp_jpgdec fded0000.jpegd: shutdown device
[  483.208418] mpp-iep2 fdef0000.iep: shutdown device
[  483.209031] mpp_vepu2 fdee0000.vepu: shutdown device
[  483.209664] mpp_vdpu2 fdea0400.vdpu: shutdown device
[  483.210297] mpp_rkvenc fdf40000.rkvenc: shutdown device
[  483.210943] mpp_rkvenc fdf40000.rkvenc: shutdown success
[  483.212141] rkflash_shutdown...
[  483.219286] rkflash_shutdown:OK
[  483.220432] reboot: Restarting system with command 'loader'
DDR Version V1.10 20210810
In
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 72ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,
tdqss: cs1 dqs0: 48ps, dqs1: -72ps, dqs2: -72ps, dqs3: -120ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x60

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x33
cs 0:
the read training result:
DQS0:0x36, DQS1:0x37, DQS2:0x39, DQS3:0x33,
min  : 0x7  0x7  0x8  0x8  0x0  0x2  0x3  0x1 , 0x8  0x6  0x1  0x1  0xa  0x6  0x9  0x6 ,
       0xc  0xd  0xa  0x9  0x2  0x0  0x2  0x3 , 0x7  0x6  0x6  0x2  0xc  0x9  0x8  0xa ,
mid  :0x23 0x23 0x25 0x24 0x1c 0x1e 0x1f 0x1c ,0x22 0x21 0x1c 0x1d 0x26 0x23 0x25 0x22 ,
      0x27 0x27 0x24 0x22 0x1d 0x1c 0x1d 0x1e ,0x21 0x20 0x20 0x1d 0x25 0x25 0x23 0x25 ,
max  :0x3f 0x3f 0x42 0x40 0x38 0x3b 0x3c 0x38 ,0x3c 0x3c 0x37 0x3a 0x42 0x41 0x42 0x3e ,
      0x42 0x42 0x3e 0x3c 0x39 0x38 0x38 0x3a ,0x3c 0x3b 0x3a 0x38 0x3e 0x42 0x3f 0x41 ,
range:0x38 0x38 0x3a 0x38 0x38 0x39 0x39 0x37 ,0x34 0x36 0x36 0x39 0x38 0x3b 0x39 0x38 ,
      0x36 0x35 0x34 0x33 0x37 0x38 0x36 0x37 ,0x35 0x35 0x34 0x36 0x32 0x39 0x37 0x37 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x63 0x64 0x65 0x63 0x5a 0x5d 0x60 0x61 0x5e ,0x4e 0x4c 0x48 0x49 0x51 0x50 0x52 0x50 0x4d ,
      0x54 0x54 0x50 0x4f 0x4b 0x48 0x4c 0x4e 0x4d ,0x4b 0x4a 0x48 0x47 0x4f 0x4f 0x4d 0x51 0x47 ,
mid  :0x7f 0x81 0x82 0x7f 0x76 0x79 0x7c 0x7c 0x79 ,0x6b 0x68 0x64 0x65 0x6d 0x6b 0x6d 0x6c 0x68 ,
      0x70 0x70 0x6c 0x6b 0x64 0x62 0x66 0x69 0x69 ,0x68 0x65 0x62 0x61 0x6a 0x6b 0x67 0x6d 0x61 ,
max  :0x9c 0x9e 0x9f 0x9b 0x92 0x96 0x99 0x97 0x95 ,0x89 0x85 0x81 0x82 0x89 0x86 0x88 0x88 0x83 ,
      0x8d 0x8d 0x88 0x87 0x7d 0x7c 0x80 0x84 0x85 ,0x85 0x80 0x7c 0x7c 0x85 0x87 0x82 0x89 0x7c ,
range:0x39 0x3a 0x3a 0x38 0x38 0x39 0x39 0x36 0x37 ,0x3b 0x39 0x39 0x39 0x38 0x36 0x36 0x38 0x36 ,
      0x39 0x39 0x38 0x38 0x32 0x34 0x34 0x36 0x38 ,0x3a 0x36 0x34 0x35 0x36 0x38 0x35 0x38 0x35 ,
cs 1:
the read training result:
DQS0:0x37, DQS1:0x39, DQS2:0x3a, DQS3:0x34,
min  : 0x7  0x7  0x8  0x8  0x1  0x3  0x4  0x2 , 0x8  0x6  0x2  0x2  0xb  0x7  0x9  0x8 ,
       0xc  0xc  0xa  0x8  0x2  0x0  0x2  0x4 , 0x7  0x6  0x5  0x1  0xb  0xa  0x8  0xa ,
mid  :0x23 0x22 0x25 0x24 0x1c 0x1f 0x20 0x1d ,0x23 0x22 0x1d 0x1f 0x27 0x25 0x26 0x23 ,
      0x27 0x27 0x24 0x22 0x1e 0x1c 0x1d 0x1f ,0x23 0x21 0x20 0x1d 0x25 0x27 0x24 0x26 ,
max  :0x3f 0x3e 0x42 0x40 0x38 0x3b 0x3d 0x38 ,0x3e 0x3e 0x39 0x3c 0x43 0x43 0x44 0x3f ,
      0x43 0x42 0x3e 0x3c 0x3a 0x38 0x38 0x3b ,0x3f 0x3c 0x3b 0x39 0x40 0x44 0x40 0x42 ,
range:0x38 0x37 0x3a 0x38 0x37 0x38 0x39 0x36 ,0x36 0x38 0x37 0x3a 0x38 0x3c 0x3b 0x37 ,
      0x37 0x36 0x34 0x34 0x38 0x38 0x36 0x37 ,0x38 0x36 0x36 0x38 0x35 0x3a 0x38 0x38 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x61 0x62 0x63 0x61 0x59 0x5b 0x5d 0x5f 0x5c ,0x51 0x50 0x4c 0x4e 0x55 0x53 0x55 0x54 0x51 ,
      0x52 0x53 0x4f 0x4d 0x48 0x45 0x49 0x4c 0x4d ,0x4d 0x4c 0x49 0x47 0x50 0x50 0x4e 0x53 0x4a ,
mid  :0x7d 0x7f 0x80 0x7e 0x75 0x78 0x7a 0x7b 0x77 ,0x6f 0x6c 0x68 0x6a 0x71 0x6e 0x70 0x6f 0x6c ,
      0x6f 0x6f 0x6b 0x6a 0x63 0x5f 0x64 0x68 0x68 ,0x6a 0x68 0x65 0x64 0x6c 0x6d 0x6a 0x6f 0x64 ,
max  :0x9a 0x9c 0x9e 0x9b 0x91 0x95 0x97 0x97 0x93 ,0x8d 0x88 0x84 0x86 0x8e 0x8a 0x8c 0x8b 0x88 ,
      0x8d 0x8c 0x88 0x87 0x7e 0x7a 0x80 0x84 0x84 ,0x88 0x84 0x81 0x82 0x88 0x8a 0x86 0x8c 0x7e ,
range:0x39 0x3a 0x3b 0x3a 0x38 0x3a 0x3a 0x38 0x37 ,0x3c 0x38 0x38 0x38 0x39 0x37 0x37 0x37 0x37 ,
      0x3b 0x39 0x39 0x3a 0x36 0x35 0x37 0x38 0x37 ,0x3b 0x38 0x38 0x3b 0x38 0x3a 0x38 0x39 0x34 ,
CA Training result:
cs:0 min  :0x47 0x4a 0x40 0x42 0x40 0x3f 0x46 ,0x45 0x45 0x40 0x3f 0x40 0x3f 0x46 ,
cs:0 mid  :0x87 0x87 0x80 0x80 0x80 0x7d 0x77 ,0x85 0x83 0x7f 0x7c 0x7f 0x7c 0x77 ,
cs:0 max  :0xc8 0xc5 0xc0 0xbf 0xc0 0xbb 0xa8 ,0xc5 0xc1 0xbe 0xba 0xbe 0xba 0xa8 ,
cs:0 range:0x81 0x7b 0x80 0x7d 0x80 0x7c 0x62 ,0x80 0x7c 0x7e 0x7b 0x7e 0x7b 0x62 ,
cs:1 min  :0x44 0x4c 0x3e 0x44 0x3e 0x42 0x47 ,0x42 0x49 0x3e 0x40 0x3d 0x41 0x45 ,
cs:1 mid  :0x87 0x87 0x80 0x80 0x80 0x7d 0x79 ,0x84 0x84 0x7f 0x7c 0x7f 0x7d 0x77 ,
cs:1 max  :0xcb 0xc3 0xc3 0xbc 0xc2 0xb9 0xac ,0xc6 0xbf 0xc1 0xb8 0xc1 0xb9 0xa9 ,
cs:1 range:0x87 0x77 0x85 0x78 0x84 0x77 0x65 ,0x84 0x76 0x83 0x78 0x84 0x78 0x64 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34)
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 5
spl: mmc init failed with error: -110
Trying to boot from MTD2
No misc partition
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(fe4f274c06...) + OK
## Checking uboot 0x00a00000 ... sha256(bc5ca511d2...) + OK
## Checking fdt 0x00b2f650 ... sha256(c721e0d639...) + OK
## Checking atf-2 0x00068000 ... sha256(8d44036095...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(e410275b51...) + OK
## Checking atf-4 0xfdcc9000 ... sha256(990c53fc01...) + OK
## Checking atf-5 0x00066000 ... sha256(315a4195a9...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 538.433 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-181-gc9a647cae:cl
NOTICE:  BL31: Built : 10:55:41, Oct 18 2021
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid
INFO:    dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34 +0800)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  7.7 GiB
Sysmem: init
Relocation Offset: ed349000
Relocation fdt: eb9f7320 - eb9fecd0
CR: M/C/I
Using default environment

Hotkey: ctrl+`
SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Bootdev(atags): mtd 2
PartType: EFI
boot mode: loader
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu 1025000 uV
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Model: Radxa ROCK 3 Model A
rockchip_set_ethaddr: vendor_storage_write failed -5
rockchip_set_serialno: could not find efuse/otp device
enter Rockusb!
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 816000 KHz
  dpll 528000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 24000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 50000 KHz
  aclk_top_high 300000 KHz
  aclk_top_low 200000 KHz
  hclk_top 150000 KHz
  pclk_top 50000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
No misc partition
Net:   No ethernet found.
** Invalid partition 1 **

Here is the serial output when using command sudo reboot loader with short-circuiting pin#2 and pin#3, kernel in nvme started:

[   28.696718] rkflash_shutdown...
[   28.703873] rkflash_shutdown:OK
[   28.705108] reboot: Restarting system with command 'loader'
DDR Version V1.10 20210810
In
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 72ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,
tdqss: cs1 dqs0: 48ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x60

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x33
cs 0:
the read training result:
DQS0:0x36, DQS1:0x37, DQS2:0x3c, DQS3:0x34,
min  : 0x7  0x7  0x8  0x8  0x1  0x3  0x3  0x1 , 0x7  0x5  0x1  0x1  0xa  0x6  0x9  0x6 ,
       0xd  0xd  0xb  0xa  0x3  0x2  0x3  0x6 , 0x7  0x6  0x6  0x2  0xc  0xa  0x9  0xb ,
mid  :0x23 0x22 0x24 0x24 0x1c 0x1e 0x1f 0x1c ,0x21 0x20 0x1c 0x1d 0x26 0x23 0x25 0x22 ,
      0x29 0x28 0x25 0x24 0x20 0x1e 0x1f 0x21 ,0x22 0x21 0x20 0x1e 0x26 0x27 0x24 0x27 ,
max  :0x3f 0x3e 0x41 0x40 0x37 0x3a 0x3c 0x37 ,0x3c 0x3c 0x37 0x3a 0x42 0x41 0x42 0x3e ,
      0x45 0x44 0x40 0x3f 0x3d 0x3a 0x3b 0x3d ,0x3e 0x3d 0x3b 0x3a 0x40 0x45 0x40 0x43 ,
range:0x38 0x37 0x39 0x38 0x36 0x37 0x39 0x36 ,0x35 0x37 0x36 0x39 0x38 0x3b 0x39 0x38 ,
      0x38 0x37 0x35 0x35 0x3a 0x38 0x38 0x37 ,0x37 0x37 0x35 0x38 0x34 0x3b 0x37 0x38 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x63 0x64 0x65 0x63 0x5a 0x5c 0x5f 0x60 0x5d ,0x4e 0x4c 0x48 0x49 0x51 0x50 0x52 0x50 0x4d ,
      0x53 0x54 0x50 0x4f 0x4a 0x47 0x4b 0x4e 0x4d ,0x4b 0x4a 0x48 0x47 0x4f 0x4f 0x4d 0x51 0x47 ,
mid  :0x7f 0x81 0x82 0x7f 0x76 0x78 0x7b 0x7b 0x79 ,0x6b 0x68 0x64 0x65 0x6d 0x6b 0x6d 0x6c 0x68 ,
      0x70 0x70 0x6c 0x6b 0x63 0x62 0x65 0x69 0x69 ,0x68 0x65 0x62 0x61 0x6a 0x6b 0x67 0x6c 0x61 ,
max  :0x9c 0x9e 0x9f 0x9b 0x92 0x95 0x98 0x97 0x95 ,0x89 0x85 0x81 0x82 0x89 0x86 0x88 0x88 0x83 ,
      0x8d 0x8d 0x88 0x87 0x7d 0x7d 0x80 0x84 0x85 ,0x85 0x80 0x7c 0x7c 0x85 0x87 0x82 0x88 0x7c ,
range:0x39 0x3a 0x3a 0x38 0x38 0x39 0x39 0x37 0x38 ,0x3b 0x39 0x39 0x39 0x38 0x36 0x36 0x38 0x36 ,
      0x3a 0x39 0x38 0x38 0x33 0x36 0x35 0x36 0x38 ,0x3a 0x36 0x34 0x35 0x36 0x38 0x35 0x37 0x35 ,
cs 1:
the read training result:
DQS0:0x37, DQS1:0x38, DQS2:0x39, DQS3:0x34,
min  : 0x6  0x7  0x9  0x8  0x1  0x2  0x3  0x2 , 0x7  0x6  0x1  0x1  0xa  0x6  0x8  0x6 ,
       0xd  0xd  0xa  0x9  0x3  0x1  0x2  0x4 , 0x7  0x5  0x4  0x1  0xb  0x9  0x8  0xa ,
mid  :0x22 0x22 0x25 0x24 0x1c 0x1e 0x20 0x1d ,0x22 0x21 0x1c 0x1e 0x26 0x24 0x25 0x22 ,
      0x27 0x26 0x23 0x22 0x1d 0x1b 0x1c 0x1e ,0x22 0x20 0x1f 0x1d 0x25 0x26 0x23 0x26 ,
max  :0x3f 0x3e 0x42 0x40 0x37 0x3b 0x3d 0x38 ,0x3d 0x3c 0x37 0x3b 0x42 0x42 0x43 0x3e ,
      0x41 0x40 0x3c 0x3b 0x38 0x36 0x37 0x38 ,0x3e 0x3c 0x3b 0x39 0x3f 0x44 0x3f 0x42 ,
range:0x39 0x37 0x39 0x38 0x36 0x39 0x3a 0x36 ,0x36 0x36 0x36 0x3a 0x38 0x3c 0x3b 0x38 ,
      0x34 0x33 0x32 0x32 0x35 0x35 0x35 0x34 ,0x37 0x37 0x37 0x38 0x34 0x3b 0x37 0x38 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x60 0x62 0x63 0x61 0x59 0x5c 0x5d 0x5f 0x5c ,0x51 0x50 0x4c 0x4e 0x54 0x53 0x55 0x53 0x50 ,
      0x55 0x57 0x51 0x50 0x4b 0x49 0x4c 0x50 0x50 ,0x4d 0x4c 0x49 0x47 0x50 0x50 0x4e 0x53 0x4a ,
mid  :0x7d 0x7f 0x80 0x7e 0x75 0x78 0x7a 0x7b 0x77 ,0x6f 0x6c 0x67 0x6a 0x71 0x6e 0x70 0x6e 0x6c ,
      0x71 0x72 0x6d 0x6c 0x66 0x63 0x67 0x6b 0x6b ,0x6a 0x68 0x65 0x64 0x6c 0x6d 0x6a 0x6f 0x64 ,
max  :0x9a 0x9c 0x9e 0x9b 0x91 0x95 0x97 0x97 0x93 ,0x8d 0x88 0x83 0x87 0x8e 0x8a 0x8c 0x8a 0x88 ,
      0x8e 0x8e 0x8a 0x89 0x81 0x7d 0x82 0x86 0x87 ,0x88 0x84 0x81 0x82 0x88 0x8a 0x86 0x8c 0x7e ,
range:0x3a 0x3a 0x3b 0x3a 0x38 0x39 0x3a 0x38 0x37 ,0x3c 0x38 0x37 0x39 0x3a 0x37 0x37 0x37 0x38 ,
      0x39 0x37 0x39 0x39 0x36 0x34 0x36 0x36 0x37 ,0x3b 0x38 0x38 0x3b 0x38 0x3a 0x38 0x39 0x34 ,
CA Training result:
cs:0 min  :0x48 0x4a 0x41 0x42 0x40 0x3f 0x46 ,0x47 0x46 0x40 0x40 0x40 0x40 0x46 ,
cs:0 mid  :0x88 0x87 0x80 0x80 0x80 0x7d 0x77 ,0x86 0x84 0x7f 0x7d 0x7f 0x7e 0x77 ,
cs:0 max  :0xc8 0xc5 0xc0 0xbf 0xc0 0xbc 0xa8 ,0xc6 0xc2 0xbf 0xbb 0xbf 0xbc 0xa8 ,
cs:0 range:0x80 0x7b 0x7f 0x7d 0x80 0x7d 0x62 ,0x7f 0x7c 0x7f 0x7b 0x7f 0x7c 0x62 ,
cs:1 min  :0x45 0x4d 0x3f 0x45 0x3f 0x43 0x48 ,0x45 0x4b 0x3f 0x41 0x3f 0x43 0x46 ,
cs:1 mid  :0x88 0x88 0x81 0x81 0x81 0x7e 0x7a ,0x86 0x85 0x81 0x7d 0x81 0x7e 0x78 ,
cs:1 max  :0xcc 0xc4 0xc4 0xbd 0xc3 0xba 0xad ,0xc8 0xbf 0xc3 0xb9 0xc3 0xba 0xaa ,
cs:1 range:0x87 0x77 0x85 0x78 0x84 0x77 0x65 ,0x83 0x74 0x84 0x78 0x84 0x77 0x64 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34)
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 5
spl: mmc init failed with error: -110
Trying to boot from MTD2
No misc partition
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(fe4f274c06...) + OK
## Checking uboot 0x00a00000 ... sha256(bc5ca511d2...) + OK
## Checking fdt 0x00b2f650 ... sha256(c721e0d639...) + OK
## Checking atf-2 0x00068000 ... sha256(8d44036095...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(e410275b51...) + OK
## Checking atf-4 0xfdcc9000 ... sha256(990c53fc01...) + OK
## Checking atf-5 0x00066000 ... sha256(315a4195a9...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 538.453 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-181-gc9a647cae:cl
NOTICE:  BL31: Built : 10:55:41, Oct 18 2021
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid
INFO:    dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34 +0800)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  7.7 GiB
Sysmem: init
Relocation Offset: ed349000
Relocation fdt: eb9f7320 - eb9fecd0
CR: M/C/I
Using default environment

Hotkey: ctrl+`
SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Bootdev(atags): mtd 2
PartType: EFI
boot mode: loader
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu 1025000 uV
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Model: Radxa ROCK 3 Model A
rockchip_set_ethaddr: vendor_storage_write failed -5
rockchip_set_serialno: could not find efuse/otp device
download key pressed... entering recovery mode!
boot mode: recovery (key)
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 816000 KHz
  dpll 528000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 24000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 50000 KHz
  aclk_top_high 300000 KHz
  aclk_top_low 200000 KHz
  hclk_top 150000 KHz
  pclk_top 50000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
No misc partition
Net:   No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0

Device 0: Vendor: 0x1e4b Rev: SVN2789  Prod: 30045566059
            Type: Hard Disk
            Capacity: 244198.3 MB = 238.4 GB (500118192 x 512)
... is now current device
Scanning nvme 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
2725 bytes read in 1 ms (2.6 MiB/s)
## Executing script at 00c00000
Boot script loaded from nvme 0
reading /uEnv.txt
356 bytes read in 1 ms (347.7 KiB/s)
reading /initrd.img-4.19.193-31-rockchip-g044735a22a0e
6509962 bytes read in 9 ms (689.8 MiB/s)
reading /vmlinuz-4.19.193-31-rockchip-g044735a22a0e
20742152 bytes read in 26 ms (760.8 MiB/s)
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/rk3568-rock-3-a.dtb
146955 bytes read in 1 ms (140.1 MiB/s)
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rk3568-can1-m0.dtbo
515 bytes read in 1 ms (502.9 KiB/s)
Applying kernel provided DT overlay rk3568-can1-m0.dtbo
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rk3568-pwm8-m0-fan.dtbo
382 bytes read in 1 ms (373 KiB/s)
Applying kernel provided DT overlay rk3568-pwm8-m0-fan.dtbo
reading /dtbs/4.19.193-31-rockchip-g044735a22a0e/rockchip/overlay/rockchip-fixup.scr
1322 bytes read in 1 ms (1.3 MiB/s)
Applying kernel provided DT fixup script (rockchip-fixup.scr)
## Executing script at 59000000
initrdsize = 0x63558a
Fdt Ramdisk skip relocation
No misc partition
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
   reserving fdt memory region: addr=a100000 size=8a000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
   Using Device Tree in place at 000000000a100000, end 000000000a18cfff
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000)
Total: 1439.630 ms

Starting kernel ...

Try command ‘sudo reboot loader’ while short-circuiting pin#2 and pin#3.

Please make sure that pin#2 and pin#3 are connected directly. Do not remove the wire until you start to flash image to SPI Flash.

The last serial output above is this case.

I meet this log when USB OTG port is not connected to PC.

The log changes to

rockchip_set_serialno: could not find efuse/otp device
download key pressed... entering download mode...
RKUSB: LUN 0, dev 2, hwpart 0, sector 0x0, count 0x8000
/

when I plug one end of USB-A to USB-A cable to ROCK 3A, and the other end to PC.

What USB cable do you use? What is the connection between ROCK 3A and PC?

I use a USB-A to USB-C cable to connect ROCK 3A to my lenovo xiaoxin pro 13 USB-C port. I will try USB-A to USB-A cable when the one I just bought arrives.

I tried one usb-a to usb-a cable, and now I get maskrom mode with the following steps:
1, short-circuit pin#2 and pin#3
2, connect rock 3a otg and laptop with usb-a to usb-a cable
3, power on usb-c power

Now I get into maskrom mode.
Here is the serial output:

DDR Version V1.10 20210810
In
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB
tdqss: cs0 dqs0: 72ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,
tdqss: cs1 dqs0: 48ps, dqs1: -72ps, dqs2: -48ps, dqs3: -120ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x60

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x33
cs 0:
the read training result:
DQS0:0x37, DQS1:0x37, DQS2:0x3c, DQS3:0x34,
min  : 0x8  0x8  0x9  0x9  0x2  0x3  0x4  0x2 , 0x7  0x5  0x1  0x1  0xa  0x6  0x8  0x6 ,
       0xe  0xd  0xb  0x9  0x3  0x1  0x3  0x6 , 0x7  0x6  0x5  0x2  0xb  0xa  0x9  0xa ,
mid  :0x24 0x24 0x26 0x25 0x1d 0x1f 0x21 0x1d ,0x21 0x20 0x1c 0x1d 0x26 0x23 0x25 0x22 ,
      0x29 0x28 0x25 0x24 0x20 0x1d 0x1f 0x21 ,0x22 0x21 0x20 0x1e 0x25 0x27 0x24 0x26 ,
max  :0x40 0x41 0x43 0x42 0x39 0x3c 0x3e 0x39 ,0x3c 0x3c 0x37 0x3a 0x42 0x41 0x42 0x3e ,
      0x45 0x44 0x40 0x3f 0x3d 0x3a 0x3b 0x3d ,0x3e 0x3d 0x3b 0x3a 0x40 0x45 0x40 0x43 ,
range:0x38 0x39 0x3a 0x39 0x37 0x39 0x3a 0x37 ,0x35 0x37 0x36 0x39 0x38 0x3b 0x3a 0x38 ,
      0x37 0x37 0x35 0x36 0x3a 0x39 0x38 0x37 ,0x37 0x37 0x36 0x38 0x35 0x3b 0x37 0x39 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x61 0x63 0x64 0x62 0x59 0x5c 0x5e 0x5f 0x5c ,0x4d 0x4b 0x47 0x48 0x50 0x4f 0x51 0x4f 0x4c ,
      0x52 0x53 0x50 0x4e 0x4a 0x47 0x4b 0x4d 0x4d ,0x4b 0x49 0x47 0x46 0x4e 0x4f 0x4d 0x51 0x46 ,
mid  :0x7e 0x80 0x81 0x7e 0x75 0x78 0x7b 0x7b 0x78 ,0x6a 0x68 0x63 0x64 0x6c 0x6a 0x6c 0x6b 0x67 ,
      0x6f 0x6f 0x6c 0x6a 0x64 0x62 0x65 0x68 0x69 ,0x67 0x64 0x61 0x61 0x69 0x6b 0x67 0x6c 0x61 ,
max  :0x9c 0x9d 0x9f 0x9b 0x91 0x95 0x98 0x97 0x94 ,0x88 0x85 0x80 0x81 0x89 0x86 0x88 0x87 0x83 ,
      0x8d 0x8c 0x88 0x87 0x7e 0x7d 0x80 0x84 0x85 ,0x84 0x80 0x7c 0x7c 0x85 0x87 0x82 0x88 0x7d ,
range:0x3b 0x3a 0x3b 0x39 0x38 0x39 0x3a 0x38 0x38 ,0x3b 0x3a 0x39 0x39 0x39 0x37 0x37 0x38 0x37 ,
      0x3b 0x39 0x38 0x39 0x34 0x36 0x35 0x37 0x38 ,0x39 0x37 0x35 0x36 0x37 0x38 0x35 0x37 0x37 ,
cs 1:
the read training result:
DQS0:0x38, DQS1:0x39, DQS2:0x39, DQS3:0x34,
min  : 0x7  0x7  0x9  0x8  0x1  0x3  0x4  0x2 , 0x8  0x6  0x1  0x1  0xa  0x7  0x9  0x7 ,
       0xc  0xc  0xa  0x8  0x2  0x1  0x2  0x3 , 0x7  0x5  0x4  0x1  0xa  0x9  0x8  0xa ,
mid  :0x23 0x23 0x26 0x24 0x1d 0x1f 0x21 0x1e ,0x23 0x22 0x1d 0x1e 0x27 0x25 0x26 0x23 ,
      0x27 0x27 0x24 0x22 0x1e 0x1c 0x1d 0x1e ,0x23 0x20 0x1f 0x1d 0x24 0x26 0x23 0x26 ,
max  :0x40 0x40 0x44 0x41 0x39 0x3c 0x3f 0x3a ,0x3f 0x3e 0x39 0x3c 0x44 0x43 0x44 0x40 ,
      0x42 0x42 0x3e 0x3c 0x3a 0x37 0x38 0x3a ,0x3f 0x3c 0x3b 0x39 0x3f 0x44 0x3f 0x42 ,
range:0x39 0x39 0x3b 0x39 0x38 0x39 0x3b 0x38 ,0x37 0x38 0x38 0x3b 0x3a 0x3c 0x3b 0x39 ,
      0x36 0x36 0x34 0x34 0x38 0x36 0x36 0x37 ,0x38 0x37 0x37 0x38 0x35 0x3b 0x37 0x38 ,
the write training result:
DQS0:0x3c, DQS1:0x2a, DQS2:0x2d, DQS3:0x23,
min  :0x60 0x61 0x63 0x60 0x57 0x5b 0x5c 0x5d 0x5b ,0x51 0x50 0x4b 0x4d 0x54 0x52 0x54 0x53 0x50 ,
      0x55 0x56 0x50 0x50 0x4b 0x48 0x4c 0x4f 0x4f ,0x4c 0x4b 0x48 0x46 0x50 0x4f 0x4d 0x52 0x4a ,
mid  :0x7d 0x7e 0x80 0x7d 0x74 0x77 0x79 0x79 0x77 ,0x6e 0x6c 0x67 0x69 0x71 0x6e 0x70 0x6f 0x6c ,
      0x72 0x72 0x6d 0x6c 0x66 0x62 0x67 0x6a 0x6a ,0x6a 0x67 0x64 0x64 0x6c 0x6c 0x69 0x6f 0x65 ,
max  :0x9a 0x9c 0x9e 0x9b 0x91 0x94 0x97 0x96 0x93 ,0x8c 0x89 0x84 0x86 0x8e 0x8a 0x8c 0x8b 0x88 ,
      0x8f 0x8e 0x8a 0x88 0x81 0x7d 0x82 0x86 0x86 ,0x88 0x84 0x81 0x82 0x89 0x8a 0x86 0x8c 0x80 ,
range:0x3a 0x3b 0x3b 0x3b 0x3a 0x39 0x3b 0x39 0x38 ,0x3b 0x39 0x39 0x39 0x3a 0x38 0x38 0x38 0x38 ,
      0x3a 0x38 0x3a 0x38 0x36 0x35 0x36 0x37 0x37 ,0x3c 0x39 0x39 0x3c 0x39 0x3b 0x39 0x3a 0x36 ,
CA Training result:
cs:0 min  :0x47 0x49 0x40 0x42 0x40 0x3f 0x46 ,0x47 0x46 0x40 0x40 0x40 0x40 0x46 ,
cs:0 mid  :0x87 0x87 0x80 0x80 0x7f 0x7d 0x76 ,0x86 0x84 0x7f 0x7d 0x7f 0x7e 0x77 ,
cs:0 max  :0xc8 0xc5 0xc0 0xbf 0xbf 0xbc 0xa7 ,0xc6 0xc2 0xbf 0xbb 0xbf 0xbc 0xa8 ,
cs:0 range:0x81 0x7c 0x80 0x7d 0x7f 0x7d 0x61 ,0x7f 0x7c 0x7f 0x7b 0x7f 0x7c 0x62 ,
cs:1 min  :0x45 0x4d 0x40 0x45 0x40 0x43 0x48 ,0x45 0x4a 0x3f 0x41 0x3f 0x43 0x46 ,
cs:1 mid  :0x88 0x88 0x82 0x81 0x81 0x7e 0x7a ,0x86 0x84 0x81 0x7d 0x80 0x7e 0x78 ,
cs:1 max  :0xcc 0xc4 0xc4 0xbd 0xc3 0xba 0xad ,0xc8 0xbf 0xc3 0xb9 0xc2 0xba 0xaa ,
cs:1 range:0x87 0x77 0x84 0x78 0x83 0x77 0x65 ,0x83 0x75 0x84 0x78 0x83 0x77 0x64 ,
out
U-Boot SPL board init
U-Boot SPL 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34)
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
MMC error: The cmd index is 0, ret is -110
mmc_init: -110, time 5
spl: mmc init failed with error: -110
Trying to boot from MTD2
No misc partition
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(fe4f274c06...) + OK
## Checking uboot 0x00a00000 ... sha256(bc5ca511d2...) + OK
## Checking fdt 0x00b2f650 ... sha256(c721e0d639...) + OK
## Checking atf-2 0x00068000 ... sha256(8d44036095...) + OK
## Checking atf-3 0xfdcd0000 ... sha256(e410275b51...) + OK
## Checking atf-4 0xfdcc9000 ... sha256(990c53fc01...) + OK
## Checking atf-5 0x00066000 ... sha256(315a4195a9...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 538.549 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-181-gc9a647cae:cl
NOTICE:  BL31: Built : 10:55:41, Oct 18 2021
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    pmu v1 is valid
INFO:    dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO:    dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO:    dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO:    dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-g693c4cd017e-211223 #stephen (Jan 26 2022 - 11:14:34 +0800)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  7.7 GiB
Sysmem: init
Relocation Offset: ed349000
Relocation fdt: eb9f7320 - eb9fecd0
CR: M/C/I
Using default environment

Hotkey: ctrl+`
SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Bootdev(atags): mtd 2
PartType: EFI
No misc partition
boot mode: None
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu 1025000 uV
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Model: Radxa ROCK 3 Model A
rockchip_set_ethaddr: vendor_storage_write failed -5
rockchip_set_serialno: could not find efuse/otp device
download key pressed... entering download mode...
** Invalid partition 1 **
Enter rockusb failed, fallback to bootrom...

I’m afraid it is caused by the USB connection.

I just upload my tested spi images. https://dl.radxa.com/rock3/images/loader/rock-3a/

Can you try them also?

I can get into loader mode now if I flash the spi flash with idbloader.img and u-boot.itb.
If I flash a 16MB gpt spi image, I can’t get into loader mode.
But writing LAN MAC with RKDevInfoWriteTool.exe failed because this doesn’t support gpt.

Yes.

I just created one 16MB gpt spi image and flash it to SPI Flash.
Can’t get into loader mode either.

Check the documentation of https://github.com/rockchip-linux/tools/blob/master/windows/RKDevInfoWriteTool_1.2.6.zip. I don’t find any information about LAN MAC to vendor storage on SPI Nor Flash. But It supports for eMMC.

I use a script to create a 16M spi image and get vendor storage in spi flash work:

dd if=/dev/zero of=spi_image.img bs=1M count=0 seek=16
/usr/sbin/parted -s spi_image.img mklabel gpt
/usr/sbin/parted -s spi_image.img unit s mkpart idbloader 64 7167
/usr/sbin/parted -s spi_image.img unit s mkpart vnvm 7168 7679
/usr/sbin/parted -s spi_image.img unit s mkpart reserved_space 7680 8063
/usr/sbin/parted -s spi_image.img unit s mkpart reserved1 8064 8127
/usr/sbin/parted -s spi_image.img unit s mkpart uboot_env 8128 8191
/usr/sbin/parted -s spi_image.img unit s mkpart reserved2 8192 16383
/usr/sbin/parted -s spi_image.img unit s mkpart uboot 16384 32734
dd if=../repos/out/u-boot/idbloader.img of=spi_image.img seek=64 conv=notrunc
dd if=../repos/out/u-boot/u-boot.itb of=spi_image.img seek=16384 conv=notrunc

Now no need to struggle with RKDevInfoWriteTool.exe and loader mode.
FYI: https://github.com/radxa/debos-radxa/issues/11

1 Like