u-boot rk356х (rockchip repository)
#1
small instruction for building u-boot surrounded by aarch64:

Code:
git clone --depth=1 -b next-dev https://github.com/rockchip-linux/u-boot.git u-boot
git clone --depth=1 https://github.com/rockchip-linux/rkbin.git rkbin
cd u-boot
wget https://gitlab.com/sndwvs/images_build_kit/-/raw/arm/patch/u-boot/rk3568/01-add-u-boot-quartz64.patch
patch -p1 < 01-add-u-boot-quartz64.patch
ln -sf ../rkbin/bin/rk35/rk3568_bl31_v1.24.elf bl31.elf
ln -sf ../rkbin/bin/rk35/rk3568_bl32_v1.05.bin tee.bin
make rk3566-quartz64_defconfig
make -j4 && make -j4 u-boot.itb
tools/mkimage -n rk356x -T rksd -d ../rkbin/bin/rk35/rk3566_ddr_1056MHz_v1.08.bin:spl/u-boot-spl.bin idblock.bin

# write sdcard
dd if=idblock.bin of=/dev/mmcblk0 seek=64
dd if=u-boot.itb of=/dev/mmcblk0p1

when building on x86_64 system use cross compiler gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz and:

Code:
make CROSS_COMPILE=< PATH CROSS COMPILER/aarch64-none-linux-gnu- > -j4 && make CROSS_COMPILE=< PATH CROSS COMPILER/aarch64-none-linux-gnu- > -j4 u-boot.itb


Quote:U-Boot SPL board init
U-Boot SPL 2017.09-rk3566 (Jul 25 2021 - 00:51:44)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
No misc partition
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256+ OK
## Checking uboot 0x00a00000 ... sha256+ OK
## Checking fdt 0x00b23d18 ... sha256+ OK
## Checking atf-2 0xfdcc9000 ... sha256+ OK
## Checking atf-3 0xfdcd0000 ... sha256+ OK
## Checking optee 0x08400000 ... sha256+ OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 257.451 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-135-gcda1658bc-dirty:xsf
NOTICE:  BL31: Built : 14:19:26, Jun  1 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
INFO:    BL31: Initializing BL32
I/TC:
I/TC: Start rockchip platform init
I/TC: Rockchip release version: 1.0
I/TC: OP-TEE version: 3.6.0-307-g0b06ae94 #1 Fri May  7 01:52:27 UTC 2021 aarch64
I/TC: Initialized
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-rk3566 (Jul 25 2021 - 00:57:20 +0300)

Model: Pine64 RK3566 Quartz64 Board
PreSerial: 2, raw, 0xfe660000
DRAM:  7.7 GiB
Sysmem: init
Relocation Offset: ed354000, fdt: eb9f99f8
no mmc device at slot 1
dwmmc@fe2b0000: 1 (SD), dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 1
MMC1: Legacy, 50Mhz
PartType: EFI
No misc partition
boot mode: None
FIT: No boot partition
No resource partition
Failed to load DTB
Failed to get kernel dtb, ret=-19
io-domain: OK

** Unable to use mmc 1:3 for loading the env **
Using default environment

Model: Pine64 RK3566 Quartz64 Board
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 100000 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 50000 KHz
Net:  clk_get_by_name(master_bus) failed: -22eqos_probe_resources() failed: -22No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0
## Booting FIT Image FIT: No boot partition
FIT: No FIT image
Could not find misc partition
ANDROID: reboot reason: "(none)"
optee api revision: 2.0
TEEC: Waring: Could not find security partition
Not AVB images, AVB skip
android_image_load_by_partname: Can't find part: boot
Android image load failed
Android boot failed, error -1.
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:2...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
212 bytes read in 17 ms (11.7 KiB/s)
1:      slarm64
Retrieving file: /Image
29239808 bytes read in 2476 ms (11.3 MiB/s)
append: root=/dev/mmcblk0p3 ro rootwait rootfstype=ext4 init=/sbin/init loglevel=4 earlycon=uart8250,mmio32,0xfe660000 console=tty1 console=ttyS2,1500000n8
Retrieving file: /dtb/rk3566-quartz64a.dtb
75961 bytes read in 85 ms (872.1 KiB/s)
Fdt Ramdisk skip relocation
## Flattened Device Tree blob at 0x0a100000
  Booting using the fdt blob at 0x0a100000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
  Using Device Tree in place at 000000000a100000, end 000000000a1158b8
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)
Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000)
Total: 2980.864 ms

Starting kernel ...
donation   slarm64

  Reply
#2
Hello, I followed you instruction and was able to build a uboot binary. I put this on a sd card as well as on an eMMC module with all the properties described on the wiki (partition named u-boot). As you can see this is the screenshot taken from cfdisk with the target sd-card:
[Image: VYx3wK2]

If you can't see it the 1st partition starts at block 16384 and ends at block 49151. It has the name/label "uboot"

But, u-boot doesn't start. Instead I get this hardware information over the UART:

picocom v3.1

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 1500000
parity is      : none
databits are  : 8
stopbits are  : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is    : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is    : none
initstring    : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready


DDR Version V1.08 20210520
ln
ddrconfig:7
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=8192MB
wrlvl:clk skew:0x80,0x80
tdqss_skew:
cs 0 dqs 0: 3
cs 0 dqs 1: -4
cs 0 dqs 2: -2
cs 0 dqs 3: -7
cs 0 dqs 4: 0
cs 1 dqs 0: 2
cs 1 dqs 1: -4
cs 1 dqs 2: -2
cs 1 dqs 3: -5
cs 1 dqs 4: 0
cs 0 dqs 0: 72ps
cs 0 dqs 1: -96ps
cs 0 dqs 2: -48ps
cs 0 dqs 3: -168ps
cs 1 dqs 0: 48ps
cs 1 dqs 1: -96ps
cs 1 dqs 2: -48ps
cs 1 dqs 3: -120ps
tdqss.min:-168,mid:-48,max:72
change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
PHY drv:clk:0x1a,0x1a,ca:0x1a,0x1a,DQ:0x1e,0x1e,odt:0x0,0xa
vrefinner:0x55, vrefout:0x100
dram drv:40,odt:0
vref_ca:00000071
minca:0x80,ck:0x80,ab:0x80,0x80, min_ck:0x0
get_clk_dqs_def_val: tdqs2dq:0
clk:0x61, clk_delta:-31,max_freq:1056
skew.dqs[0][0]:0x63
skew.dqs[0][1]:0x5e
skew.dqs[0][2]:0x60
skew.dqs[0][3]:0x5b
skew.dqs[1][0]:0x62
skew.dqs[1][1]:0x5e
skew.dqs[1][2]:0x60
skew.dqs[1][3]:0x5d
cs 0:
the read training result:
DQS0:0x6f:
DQ0:min:0x0,mid:0x3d,max:0x7b,range:0x7b
DQ1:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ2:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ3:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ4:min:0x0,mid:0x38,max:0x70,range:0x70
DQ5:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ6:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ7:min:0x0,mid:0x39,max:0x72,range:0x72

DQS1:0x72:
DQ8:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ9:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ10:min:0x0,mid:0x3b,max:0x76,range:0x76
DQ11:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ12:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ13:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ14:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ15:min:0x0,mid:0x3e,max:0x7c,range:0x7c

DQS2:0x70:
DQ16:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ17:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ18:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ19:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ20:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ21:min:0x0,mid:0x37,max:0x6e,range:0x6e
DQ22:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ23:min:0x0,mid:0x38,max:0x71,range:0x71

DQS3:0x6d:
DQ24:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ25:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ26:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ27:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ28:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ29:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ30:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ31:min:0x0,mid:0x3f,max:0x7e,range:0x7e

the write training result:
DQS0:0x63:
DQ0:min:0x59,mid:0x78,max:0x97,range:0x3e
DQ1:min:0x5a,mid:0x78,max:0x97,range:0x3d
DQ2:min:0x5a,mid:0x78,max:0x97,range:0x3d
DQ3:min:0x5a,mid:0x78,max:0x97,range:0x3d
DQ4:min:0x56,mid:0x74,max:0x93,range:0x3d
DQ5:min:0x57,mid:0x75,max:0x94,range:0x3d
DQ6:min:0x58,mid:0x76,max:0x95,range:0x3d
DQ7:min:0x58,mid:0x76,max:0x95,range:0x3d
DM0:min:0x58,mid:0x76,max:0x95,range:0x3d

DQS1:0x5e:
DQ8:min:0x51,mid:0x70,max:0x8f,range:0x3e
DQ9:min:0x51,mid:0x6f,max:0x8e,range:0x3d
DQ10:min:0x50,mid:0x6e,max:0x8d,range:0x3d
DQ11:min:0x50,mid:0x6e,max:0x8d,range:0x3d
DQ12:min:0x53,mid:0x71,max:0x90,range:0x3d
DQ13:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ14:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ15:min:0x53,mid:0x71,max:0x90,range:0x3d
DM1:min:0x51,mid:0x6f,max:0x8e,range:0x3d

DQS2:0x60:
DQ16:min:0x56,mid:0x75,max:0x94,range:0x3e
DQ17:min:0x56,mid:0x75,max:0x94,range:0x3e
DQ18:min:0x55,mid:0x73,max:0x92,range:0x3d
DQ19:min:0x55,mid:0x73,max:0x92,range:0x3d
DQ20:min:0x53,mid:0x72,max:0x91,range:0x3e
DQ21:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ22:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ23:min:0x54,mid:0x72,max:0x90,range:0x3c
DM2:min:0x55,mid:0x73,max:0x92,range:0x3d

DQS3:0x5b:
DQ24:min:0x50,mid:0x6e,max:0x8d,range:0x3d
DQ25:min:0x50,mid:0x6e,max:0x8c,range:0x3c
DQ26:min:0x4f,mid:0x6d,max:0x8c,range:0x3d
DQ27:min:0x4e,mid:0x6c,max:0x8b,range:0x3d
DQ28:min:0x51,mid:0x6f,max:0x8e,range:0x3d
DQ29:min:0x51,mid:0x6f,max:0x8e,range:0x3d
DQ30:min:0x50,mid:0x6e,max:0x8d,range:0x3d
DQ31:min:0x52,mid:0x70,max:0x8e,range:0x3c
DM3:min:0x4f,mid:0x6d,max:0x8c,range:0x3d

cs 1:
the read training result:
DQS0:0x6f:
DQ0:min:0x0,mid:0x3d,max:0x7b,range:0x7b
DQ1:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ2:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ3:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ4:min:0x0,mid:0x38,max:0x71,range:0x71
DQ5:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ6:min:0x0,mid:0x3b,max:0x76,range:0x76
DQ7:min:0x0,mid:0x39,max:0x72,range:0x72

DQS1:0x72:
DQ8:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ9:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ10:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ11:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ12:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ13:min:0x0,mid:0x3d,max:0x7b,range:0x7b
DQ14:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ15:min:0x0,mid:0x3e,max:0x7d,range:0x7d

DQS2:0x72:
DQ16:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ17:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ18:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ19:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ20:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ21:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ22:min:0x0,mid:0x38,max:0x70,range:0x70
DQ23:min:0x0,mid:0x39,max:0x73,range:0x73

DQS3:0x6d:
DQ24:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ25:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ26:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ27:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ28:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ29:min:0x0,mid:0x3d,max:0x7b,range:0x7b
DQ30:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ31:min:0x0,mid:0x3e,max:0x7d,range:0x7d

the write training result:
DQS0:0x63:
DQ0:min:0x58,mid:0x77,max:0x96,range:0x3e
DQ1:min:0x59,mid:0x77,max:0x96,range:0x3d
DQ2:min:0x59,mid:0x78,max:0x97,range:0x3e
DQ3:min:0x59,mid:0x77,max:0x96,range:0x3d
DQ4:min:0x55,mid:0x73,max:0x92,range:0x3d
DQ5:min:0x56,mid:0x74,max:0x93,range:0x3d
DQ6:min:0x57,mid:0x75,max:0x94,range:0x3d
DQ7:min:0x57,mid:0x75,max:0x94,range:0x3d
DM0:min:0x57,mid:0x75,max:0x94,range:0x3d

DQS1:0x5e:
DQ8:min:0x53,mid:0x71,max:0x90,range:0x3d
DQ9:min:0x53,mid:0x71,max:0x90,range:0x3d
DQ10:min:0x52,mid:0x70,max:0x8e,range:0x3c
DQ11:min:0x51,mid:0x6f,max:0x8e,range:0x3d
DQ12:min:0x54,mid:0x72,max:0x91,range:0x3d
DQ13:min:0x54,mid:0x72,max:0x90,range:0x3c
DQ14:min:0x55,mid:0x72,max:0x90,range:0x3b
DQ15:min:0x55,mid:0x73,max:0x91,range:0x3c
DM1:min:0x53,mid:0x71,max:0x8f,range:0x3c

DQS2:0x60:
DQ16:min:0x57,mid:0x76,max:0x95,range:0x3e
DQ17:min:0x56,mid:0x75,max:0x94,range:0x3e
DQ18:min:0x55,mid:0x73,max:0x92,range:0x3d
DQ19:min:0x55,mid:0x73,max:0x92,range:0x3d
DQ20:min:0x54,mid:0x72,max:0x91,range:0x3d
DQ21:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ22:min:0x53,mid:0x71,max:0x90,range:0x3d
DQ23:min:0x55,mid:0x73,max:0x91,range:0x3c
DM2:min:0x55,mid:0x73,max:0x92,range:0x3d

DQS3:0x5b:
DQ24:min:0x52,mid:0x71,max:0x90,range:0x3e
DQ25:min:0x52,mid:0x70,max:0x8f,range:0x3d
DQ26:min:0x51,mid:0x70,max:0x8f,range:0x3e
DQ27:min:0x50,mid:0x6e,max:0x8d,range:0x3d
DQ28:min:0x54,mid:0x72,max:0x91,range:0x3d
DQ29:min:0x53,mid:0x72,max:0x91,range:0x3e
DQ30:min:0x52,mid:0x70,max:0x8f,range:0x3d
DQ31:min:0x54,mid:0x72,max:0x91,range:0x3d
DM3:min:0x51,mid:0x70,max:0x8f,range:0x3e

CA Training result:
clk_a:0x61, clk_b:0x61
reg0x26c:0x0, 0x0
cs0 chA ca0 min: 0x45, mid:0x86 max:0xc7, range:0x82
cs0 chA ca1 min: 0x49, mid:0x86 max:0xc4, range:0x7b
cs0 chA ca2 min: 0x41, mid:0x82 max:0xc4, range:0x83
cs0 chA ca3 min: 0x45, mid:0x81 max:0xbe, range:0x79
cs0 chA ca4 min: 0x42, mid:0x82 max:0xc3, range:0x81
cs0 chA ca5 min: 0x44, mid:0x80 max:0xbd, range:0x79
cs0 chA  CS min: 0x45, mid:0x75 max:0xa6, range:0x61
cs0 chB ca0 min: 0x43, mid:0x84 max:0xc5, range:0x82
cs0 chB ca1 min: 0x46, mid:0x83 max:0xc1, range:0x7b
cs0 chB ca2 min: 0x41, mid:0x82 max:0xc3, range:0x82
cs0 chB ca3 min: 0x45, mid:0x81 max:0xbd, range:0x78
cs0 chB ca4 min: 0x3f, mid:0x81 max:0xc3, range:0x84
cs0 chB ca5 min: 0x44, mid:0x80 max:0xbd, range:0x79
cs0 chB  CS min: 0x45, mid:0x75 max:0xa5, range:0x60
cs1 chA ca0 min: 0x44, mid:0x85 max:0xc7, range:0x83
cs1 chA ca1 min: 0x49, mid:0x86 max:0xc3, range:0x7a
cs1 chA ca2 min: 0x41, mid:0x82 max:0xc3, range:0x82
cs1 chA ca3 min: 0x45, mid:0x81 max:0xbd, range:0x78
cs1 chA ca4 min: 0x3f, mid:0x81 max:0xc3, range:0x84
cs1 chA ca5 min: 0x44, mid:0x80 max:0xbd, range:0x79
cs1 chA  CS min: 0x45, mid:0x75 max:0xa5, range:0x60
cs1 chB ca0 min: 0x43, mid:0x84 max:0xc6, range:0x83
cs1 chB ca1 min: 0x47, mid:0x84 max:0xc1, range:0x7a
cs1 chB ca2 min: 0x41, mid:0x82 max:0xc4, range:0x83
cs1 chB ca3 min: 0x45, mid:0x81 max:0xbe, range:0x79
cs1 chB ca4 min: 0x42, mid:0x82 max:0xc3, range:0x81
cs1 chB ca5 min: 0x44, mid:0x80 max:0xbd, range:0x79
cs1 chB  CS min: 0x44, mid:0x74 max:0xa5, range:0x61
RX DQS Train result:
cs0, DQS0:cyc:3,oph:0,dll:4
cs0, DQS1:cyc:3,oph:0,dll:8
cs0, DQS2:cyc:3,oph:0,dll:3
cs0, DQS3:cyc:3,oph:0,dll:7
cs1, DQS0:cyc:3,oph:0,dll:4
cs1, DQS1:cyc:3,oph:0,dll:13
cs1, DQS2:cyc:3,oph:0,dll:4
cs1, DQS3:cyc:3,oph:0,dll:10
get tdqqs2dq:458 ps
change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
PHY drv:clk:0x1a,0x1a,ca:0x1a,0x1a,DQ:0x1e,0x1e,odt:0x0,0xa
vrefinner:0x55, vrefout:0x100
dram drv:40,odt:0
vref_ca:00000071
minca:0x80,ck:0x80,ab:0x80,0x80, min_ck:0x0
get_clk_dqs_def_val: tdqs2dq:458
clk:0x58, clk_delta:-40,max_freq:1056
skew.dqs[0][0]:0x5c
skew.dqs[0][1]:0x52
skew.dqs[0][2]:0x55
skew.dqs[0][3]:0x4d
skew.dqs[1][0]:0x5b
skew.dqs[1][1]:0x52
skew.dqs[1][2]:0x55
skew.dqs[1][3]:0x50
cs 0:
the read training result:
DQS0:0x6f:
DQ0:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ1:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ2:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ3:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ4:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ5:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ6:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ7:min:0x0,mid:0x38,max:0x71,range:0x71

DQS1:0x72:
DQ8:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ9:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ10:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ11:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ12:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ13:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ14:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ15:min:0x0,mid:0x3e,max:0x7c,range:0x7c

DQS2:0x70:
DQ16:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ17:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ18:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ19:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ20:min:0x0,mid:0x39,max:0x73,range:0x73
DQ21:min:0x0,mid:0x37,max:0x6e,range:0x6e
DQ22:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ23:min:0x0,mid:0x38,max:0x71,range:0x71

DQS3:0x6d:
DQ24:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ25:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ26:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ27:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ28:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ29:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ30:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ31:min:0x0,mid:0x3f,max:0x7e,range:0x7e

the write training result:
DQS0:0x5c:
DQ0:min:0x5e,mid:0x7c,max:0x9b,range:0x3d
DQ1:min:0x62,mid:0x7e,max:0x9b,range:0x39
DQ2:min:0x62,mid:0x7f,max:0x9c,range:0x3a
DQ3:min:0x5f,mid:0x7d,max:0x9b,range:0x3c
DQ4:min:0x5a,mid:0x77,max:0x95,range:0x3b
DQ5:min:0x5a,mid:0x78,max:0x96,range:0x3c
DQ6:min:0x5c,mid:0x7a,max:0x98,range:0x3c
DQ7:min:0x5d,mid:0x7a,max:0x98,range:0x3b
DM0:min:0x5c,mid:0x79,max:0x97,range:0x3b

DQS1:0x52:
DQ8:min:0x50,mid:0x6f,max:0x8e,range:0x3e
DQ9:min:0x51,mid:0x6f,max:0x8d,range:0x3c
DQ10:min:0x4f,mid:0x6d,max:0x8b,range:0x3c
DQ11:min:0x4f,mid:0x6c,max:0x89,range:0x3a
DQ12:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ13:min:0x53,mid:0x70,max:0x8e,range:0x3b
DQ14:min:0x53,mid:0x70,max:0x8e,range:0x3b
DQ15:min:0x54,mid:0x71,max:0x8e,range:0x3a
DM1:min:0x51,mid:0x6e,max:0x8c,range:0x3b

DQS2:0x55:
DQ16:min:0x57,mid:0x75,max:0x94,range:0x3d
DQ17:min:0x58,mid:0x76,max:0x94,range:0x3c
DQ18:min:0x56,mid:0x73,max:0x91,range:0x3b
DQ19:min:0x55,mid:0x73,max:0x91,range:0x3c
DQ20:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ21:min:0x52,mid:0x6e,max:0x8b,range:0x39
DQ22:min:0x52,mid:0x6f,max:0x8c,range:0x3a
DQ23:min:0x54,mid:0x71,max:0x8e,range:0x3a
DM2:min:0x55,mid:0x72,max:0x90,range:0x3b

DQS3:0x4d:
DQ24:min:0x4f,mid:0x6d,max:0x8b,range:0x3c
DQ25:min:0x4f,mid:0x6c,max:0x8a,range:0x3b
DQ26:min:0x4e,mid:0x6b,max:0x89,range:0x3b
DQ27:min:0x4d,mid:0x6a,max:0x88,range:0x3b
DQ28:min:0x51,mid:0x6f,max:0x8d,range:0x3c
DQ29:min:0x51,mid:0x6f,max:0x8d,range:0x3c
DQ30:min:0x50,mid:0x6d,max:0x8b,range:0x3b
DQ31:min:0x52,mid:0x70,max:0x8e,range:0x3c
DM3:min:0x4e,mid:0x6b,max:0x89,range:0x3b

cs 1:
the read training result:
DQS0:0x6f:
DQ0:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ1:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ2:min:0x0,mid:0x3e,max:0x7d,range:0x7d
DQ3:min:0x0,mid:0x3c,max:0x79,range:0x79
DQ4:min:0x0,mid:0x38,max:0x71,range:0x71
DQ5:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ6:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ7:min:0x0,mid:0x39,max:0x72,range:0x72

DQS1:0x72:
DQ8:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ9:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ10:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ11:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ12:min:0x0,mid:0x3e,max:0x7c,range:0x7c
DQ13:min:0x0,mid:0x3d,max:0x7b,range:0x7b
DQ14:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ15:min:0x0,mid:0x3e,max:0x7c,range:0x7c

DQS2:0x72:
DQ16:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ17:min:0x0,mid:0x3d,max:0x7b,range:0x7b
DQ18:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ19:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ20:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ21:min:0x0,mid:0x37,max:0x6f,range:0x6f
DQ22:min:0x0,mid:0x38,max:0x70,range:0x70
DQ23:min:0x0,mid:0x39,max:0x73,range:0x73

DQS3:0x6d:
DQ24:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ25:min:0x0,mid:0x3a,max:0x75,range:0x75
DQ26:min:0x0,mid:0x3a,max:0x74,range:0x74
DQ27:min:0x0,mid:0x37,max:0x6e,range:0x6e
DQ28:min:0x0,mid:0x3f,max:0x7e,range:0x7e
DQ29:min:0x0,mid:0x3d,max:0x7a,range:0x7a
DQ30:min:0x0,mid:0x3c,max:0x78,range:0x78
DQ31:min:0x0,mid:0x3e,max:0x7d,range:0x7d

the write training result:
DQS0:0x5c:
DQ0:min:0x5d,mid:0x7b,max:0x9a,range:0x3d
DQ1:min:0x5e,mid:0x7c,max:0x9a,range:0x3c
DQ2:min:0x5f,mid:0x7d,max:0x9b,range:0x3c
DQ3:min:0x5e,mid:0x7c,max:0x9a,range:0x3c
DQ4:min:0x57,mid:0x75,max:0x94,range:0x3d
DQ5:min:0x59,mid:0x77,max:0x95,range:0x3c
DQ6:min:0x5a,mid:0x78,max:0x97,range:0x3d
DQ7:min:0x5b,mid:0x79,max:0x97,range:0x3c
DM0:min:0x5b,mid:0x78,max:0x95,range:0x3a

DQS1:0x52:
DQ8:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ9:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ10:min:0x51,mid:0x6e,max:0x8c,range:0x3b
DQ11:min:0x50,mid:0x6d,max:0x8b,range:0x3b
DQ12:min:0x56,mid:0x73,max:0x91,range:0x3b
DQ13:min:0x56,mid:0x73,max:0x90,range:0x3a
DQ14:min:0x56,mid:0x73,max:0x90,range:0x3a
DQ15:min:0x56,mid:0x73,max:0x90,range:0x3a
DM1:min:0x53,mid:0x70,max:0x8e,range:0x3b

DQS2:0x55:
DQ16:min:0x58,mid:0x76,max:0x95,range:0x3d
DQ17:min:0x58,mid:0x76,max:0x95,range:0x3d
DQ18:min:0x56,mid:0x74,max:0x92,range:0x3c
DQ19:min:0x55,mid:0x73,max:0x92,range:0x3d
DQ20:min:0x53,mid:0x71,max:0x8f,range:0x3c
DQ21:min:0x52,mid:0x6f,max:0x8c,range:0x3a
DQ22:min:0x52,mid:0x6f,max:0x8d,range:0x3b
DQ23:min:0x55,mid:0x71,max:0x8e,range:0x39
DM2:min:0x55,mid:0x72,max:0x90,range:0x3b

DQS3:0x4d:
DQ24:min:0x52,mid:0x70,max:0x8f,range:0x3d
DQ25:min:0x52,mid:0x70,max:0x8e,range:0x3c
DQ26:min:0x50,mid:0x6e,max:0x8d,range:0x3d
DQ27:min:0x50,mid:0x6d,max:0x8b,range:0x3b
DQ28:min:0x54,mid:0x72,max:0x91,range:0x3d
DQ29:min:0x54,mid:0x72,max:0x91,range:0x3d
DQ30:min:0x52,mid:0x70,max:0x8f,range:0x3d
DQ31:min:0x55,mid:0x73,max:0x92,range:0x3d
DM3:min:0x51,mid:0x6f,max:0x8d,range:0x3c

CA Training result:
clk_a:0x58, clk_b:0x58
reg0x26c:0x0, 0x0
cs0 chA ca0 min: 0x47, mid:0x89 max:0xcb, range:0x84
cs0 chA ca1 min: 0x4e, mid:0x8a max:0xc6, range:0x78
cs0 chA ca2 min: 0x41, mid:0x83 max:0xc6, range:0x85
cs0 chA ca3 min: 0x48, mid:0x82 max:0xbd, range:0x75
cs0 chA ca4 min: 0x42, mid:0x84 max:0xc6, range:0x84
cs0 chA ca5 min: 0x47, mid:0x81 max:0xbc, range:0x75
cs0 chA  CS min: 0x48, mid:0x79 max:0xaa, range:0x62
cs0 chB ca0 min: 0x44, mid:0x86 max:0xc9, range:0x85
cs0 chB ca1 min: 0x4a, mid:0x86 max:0xc2, range:0x78
cs0 chB ca2 min: 0x41, mid:0x83 max:0xc6, range:0x85
cs0 chB ca3 min: 0x48, mid:0x82 max:0xbd, range:0x75
cs0 chB ca4 min: 0x40, mid:0x82 max:0xc5, range:0x85
cs0 chB ca5 min: 0x46, mid:0x81 max:0xbc, range:0x76
cs0 chB  CS min: 0x47, mid:0x78 max:0xa9, range:0x62
cs1 chA ca0 min: 0x46, mid:0x89 max:0xcc, range:0x86
cs1 chA ca1 min: 0x4e, mid:0x8a max:0xc6, range:0x78
cs1 chA ca2 min: 0x41, mid:0x83 max:0xc6, range:0x85
cs1 chA ca3 min: 0x47, mid:0x82 max:0xbd, range:0x76
cs1 chA ca4 min: 0x41, mid:0x83 max:0xc5, range:0x84
cs1 chA ca5 min: 0x47, mid:0x81 max:0xbc, range:0x75
cs1 chA  CS min: 0x48, mid:0x78 max:0xa9, range:0x61
cs1 chB ca0 min: 0x44, mid:0x86 max:0xc9, range:0x85
cs1 chB ca1 min: 0x4a, mid:0x86 max:0xc3, range:0x79
cs1 chB ca2 min: 0x41, mid:0x83 max:0xc6, range:0x85
cs1 chB ca3 min: 0x48, mid:0x83 max:0xbe, range:0x76
cs1 chB ca4 min: 0x42, mid:0x83 max:0xc5, range:0x83
cs1 chB ca5 min: 0x46, mid:0x81 max:0xbd, range:0x77
cs1 chB  CS min: 0x46, mid:0x77 max:0xa8, range:0x62
RX DQS Train result:
cs0, DQS0:cyc:3,oph:1,dll:22
cs0, DQS1:cyc:3,oph:1,dll:30
cs0, DQS2:cyc:3,oph:1,dll:21
cs0, DQS3:cyc:3,oph:1,dll:27
cs1, DQS0:cyc:3,oph:1,dll:23
cs1, DQS1:cyc:3,oph:2,dll:7
cs1, DQS2:cyc:3,oph:1,dll:23
cs1, DQS3:cyc:3,oph:2,dll:2
change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
PHY drv:clk:0x1a,0x1a,ca:0x1a,0x1a,DQ:0x1e,0x1e,odt:0x0,0xa
vrefinner:0x55, vrefout:0x100
dram drv:40,odt:0
vref_ca:00000071
minca:0x7f,ck:0x80,ab:0x80,0x80, min_ck:0x1
get_clk_dqs_def_val: tdqs2dq:458
clk:0x58, clk_delta:-40,max_freq:1056
skew.dqs[0][0]:0x5f
skew.dqs[0][1]:0x4f
skew.dqs[0][2]:0x54
skew.dqs[0][3]:0x48
skew.dqs[1][0]:0x5c
skew.dqs[1][1]:0x4f
skew.dqs[1][2]:0x54
skew.dqs[1][3]:0x4d
cs 0:
the read training result:
DQS0:0x57:
DQ0:min:0xe,mid:0x38,max:0x62,range:0x54
DQ1:min:0xe,mid:0x37,max:0x61,range:0x53
DQ2:min:0x10,mid:0x3b,max:0x66,range:0x56
DQ3:min:0xf,mid:0x38,max:0x62,range:0x53
DQ4:min:0x2,mid:0x2d,max:0x58,range:0x56
DQ5:min:0x4,mid:0x30,max:0x5d,range:0x59
DQ6:min:0x8,mid:0x32,max:0x5d,range:0x55
DQ7:min:0x6,mid:0x30,max:0x5a,range:0x54

DQS1:0x55:
DQ8:min:0x8,mid:0x32,max:0x5c,range:0x54
DQ9:min:0x8,mid:0x32,max:0x5c,range:0x54
DQ10:min:0x4,mid:0x2e,max:0x58,range:0x54
DQ11:min:0x1,mid:0x2c,max:0x58,range:0x57
DQ12:min:0xb,mid:0x35,max:0x60,range:0x55
DQ13:min:0xb,mid:0x34,max:0x5e,range:0x53
DQ14:min:0xd,mid:0x37,max:0x62,range:0x55
DQ15:min:0x9,mid:0x33,max:0x5e,range:0x55

DQS2:0x57:
DQ16:min:0xe,mid:0x39,max:0x65,range:0x57
DQ17:min:0xf,mid:0x38,max:0x62,range:0x53
DQ18:min:0xc,mid:0x36,max:0x60,range:0x54
DQ19:min:0x9,mid:0x34,max:0x60,range:0x57
DQ20:min:0x6,mid:0x30,max:0x5a,range:0x54
DQ21:min:0x2,mid:0x2b,max:0x54,range:0x52
DQ22:min:0x2,mid:0x2c,max:0x56,range:0x54
DQ23:min:0x6,mid:0x2e,max:0x57,range:0x51

DQS3:0x50:
DQ24:min:0x7,mid:0x31,max:0x5c,range:0x55
DQ25:min:0x4,mid:0x2d,max:0x57,range:0x53
DQ26:min:0x5,mid:0x2d,max:0x56,range:0x51
DQ27:min:0x1,mid:0x28,max:0x50,range:0x4f
DQ28:min:0x9,mid:0x34,max:0x60,range:0x57
DQ29:min:0x9,mid:0x33,max:0x5e,range:0x55
DQ30:min:0x7,mid:0x31,max:0x5b,range:0x54
DQ31:min:0x9,mid:0x34,max:0x60,range:0x57

the write training result:
DQS0:0x5f:
DQ0:min:0x73,mid:0x91,max:0xaf,range:0x3c
DQ1:min:0x76,mid:0x93,max:0xb0,range:0x3a
DQ2:min:0x76,mid:0x93,max:0xb0,range:0x3a
DQ3:min:0x75,mid:0x92,max:0xaf,range:0x3a
DQ4:min:0x6d,mid:0x89,max:0xa6,range:0x39
DQ5:min:0x6f,mid:0x8b,max:0xa8,range:0x39
DQ6:min:0x71,mid:0x8e,max:0xab,range:0x3a
DQ7:min:0x72,mid:0x8e,max:0xaa,range:0x38
DM0:min:0x71,mid:0x8c,max:0xa8,range:0x37

DQS1:0x4f:
DQ8:min:0x5c,mid:0x7a,max:0x98,range:0x3c
DQ9:min:0x5d,mid:0x79,max:0x96,range:0x39
DQ10:min:0x5c,mid:0x78,max:0x94,range:0x38
DQ11:min:0x59,mid:0x75,max:0x92,range:0x39
DQ12:min:0x65,mid:0x7f,max:0x99,range:0x34
DQ13:min:0x66,mid:0x7f,max:0x98,range:0x32
DQ14:min:0x68,mid:0x80,max:0x99,range:0x31
DQ15:min:0x67,mid:0x80,max:0x99,range:0x32
DM1:min:0x5d,mid:0x79,max:0x96,range:0x39

DQS2:0x54:
DQ16:min:0x69,mid:0x87,max:0xa5,range:0x3c
DQ17:min:0x6a,mid:0x87,max:0xa5,range:0x3b
DQ18:min:0x66,mid:0x83,max:0xa0,range:0x3a
DQ19:min:0x66,mid:0x83,max:0xa1,range:0x3b
DQ20:min:0x5f,mid:0x7b,max:0x97,range:0x38
DQ21:min:0x5c,mid:0x77,max:0x93,range:0x37
DQ22:min:0x5f,mid:0x7a,max:0x95,range:0x36
DQ23:min:0x66,mid:0x7f,max:0x98,range:0x32
DM2:min:0x66,mid:0x80,max:0x9a,range:0x34

DQS3:0x48:
DQ24:min:0x5a,mid:0x77,max:0x95,range:0x3b
DQ25:min:0x58,mid:0x75,max:0x93,range:0x3b
DQ26:min:0x57,mid:0x74,max:0x92,range:0x3b
DQ27:min:0x55,mid:0x72,max:0x90,range:0x3b
DQ28:min:0x5c,mid:0x79,max:0x96,range:0x3a
DQ29:min:0x5c,mid:0x79,max:0x96,range:0x3a
DQ30:min:0x5c,mid:0x77,max:0x93,range:0x37
DQ31:min:0x5f,mid:0x7b,max:0x97,range:0x38
DM3:min:0x58,mid:0x75,max:0x92,range:0x3a

cs 1:
the read training result:
DQS0:0x55:
DQ0:min:0xd,mid:0x37,max:0x61,range:0x54
DQ1:min:0xe,mid:0x37,max:0x61,range:0x53
DQ2:min:0xf,mid:0x39,max:0x64,range:0x55
DQ3:min:0xd,mid:0x36,max:0x60,range:0x53
DQ4:min:0x2,mid:0x2d,max:0x58,range:0x56
DQ5:min:0x3,mid:0x2e,max:0x5a,range:0x57
DQ6:min:0x7,mid:0x31,max:0x5c,range:0x55
DQ7:min:0x6,mid:0x2f,max:0x59,range:0x53

DQS1:0x55:
DQ8:min:0x7,mid:0x31,max:0x5b,range:0x54
DQ9:min:0x7,mid:0x31,max:0x5b,range:0x54
DQ10:min:0x2,mid:0x2c,max:0x57,range:0x55
DQ11:min:0x1,mid:0x2c,max:0x57,range:0x56
DQ12:min:0xc,mid:0x35,max:0x5f,range:0x53
DQ13:min:0xa,mid:0x33,max:0x5d,range:0x53
DQ14:min:0xd,mid:0x37,max:0x62,range:0x55
DQ15:min:0x9,mid:0x34,max:0x5f,range:0x56

DQS2:0x58:
DQ16:min:0xe,mid:0x39,max:0x64,range:0x56
DQ17:min:0xf,mid:0x38,max:0x61,range:0x52
DQ18:min:0xa,mid:0x34,max:0x5f,range:0x55
DQ19:min:0x8,mid:0x33,max:0x5e,range:0x56
DQ20:min:0x6,mid:0x30,max:0x5a,range:0x54
DQ21:min:0x1,mid:0x2a,max:0x54,range:0x53
DQ22:min:0x3,mid:0x2c,max:0x55,range:0x52
DQ23:min:0x6,mid:0x2f,max:0x58,range:0x52

DQS3:0x50:
DQ24:min:0x9,mid:0x32,max:0x5c,range:0x53
DQ25:min:0x6,mid:0x2f,max:0x58,range:0x52
DQ26:min:0x6,mid:0x2e,max:0x56,range:0x50
DQ27:min:0x2,mid:0x29,max:0x50,range:0x4e
DQ28:min:0x9,mid:0x34,max:0x60,range:0x57
DQ29:min:0x9,mid:0x32,max:0x5c,range:0x53
DQ30:min:0x8,mid:0x31,max:0x5a,range:0x52
DQ31:min:0xa,mid:0x34,max:0x5f,range:0x55

the write training result:
DQS0:0x5f:
DQ0:min:0x71,mid:0x8e,max:0xac,range:0x3b
DQ1:min:0x72,mid:0x8f,max:0xad,range:0x3b
DQ2:min:0x73,mid:0x90,max:0xae,range:0x3b
DQ3:min:0x71,mid:0x8f,max:0xad,range:0x3c
DQ4:min:0x6a,mid:0x87,max:0xa4,range:0x3a
DQ5:min:0x6c,mid:0x88,max:0xa5,range:0x39
DQ6:min:0x6f,mid:0x8c,max:0xa9,range:0x3a
DQ7:min:0x70,mid:0x8c,max:0xa8,range:0x38
DM0:min:0x6d,mid:0x89,max:0xa6,range:0x39

DQS1:0x4f:
DQ8:min:0x64,mid:0x7f,max:0x9b,range:0x37
DQ9:min:0x65,mid:0x7e,max:0x98,range:0x33
DQ10:min:0x5e,mid:0x7a,max:0x97,range:0x39
DQ11:min:0x5c,mid:0x78,max:0x94,range:0x38
DQ12:min:0x67,mid:0x81,max:0x9b,range:0x34
DQ13:min:0x69,mid:0x82,max:0x9b,range:0x32
DQ14:min:0x6a,mid:0x85,max:0xa0,range:0x36
DQ15:min:0x6a,mid:0x85,max:0xa1,range:0x37
DM1:min:0x66,mid:0x7f,max:0x99,range:0x33

DQS2:0x54:
DQ16:min:0x6a,mid:0x88,max:0xa6,range:0x3c
DQ17:min:0x6a,mid:0x87,max:0xa5,range:0x3b
DQ18:min:0x67,mid:0x84,max:0xa1,range:0x3a
DQ19:min:0x67,mid:0x84,max:0xa1,range:0x3a
DQ20:min:0x5f,mid:0x7b,max:0x98,range:0x39
DQ21:min:0x5d,mid:0x78,max:0x94,range:0x37
DQ22:min:0x5f,mid:0x7a,max:0x95,range:0x36
DQ23:min:0x67,mid:0x7f,max:0x98,range:0x31
DM2:min:0x66,mid:0x80,max:0x9b,range:0x35

DQS3:0x48:
DQ24:min:0x5f,mid:0x7d,max:0x9b,range:0x3c
DQ25:min:0x5e,mid:0x7b,max:0x98,range:0x3a
DQ26:min:0x5d,mid:0x7a,max:0x97,range:0x3a
DQ27:min:0x5b,mid:0x78,max:0x96,range:0x3b
DQ28:min:0x67,mid:0x83,max:0xa0,range:0x39
DQ29:min:0x66,mid:0x83,max:0xa0,range:0x3a
DQ30:min:0x65,mid:0x7f,max:0x9a,range:0x35
DQ31:min:0x69,mid:0x85,max:0xa2,range:0x39
DM3:min:0x5e,mid:0x7b,max:0x98,range:0x3a

CA Training result:
clk_a:0x58, clk_b:0x58
reg0x26c:0x0, 0x0
cs0 chA ca0 min: 0x49, mid:0x8c max:0xcf, range:0x86
cs0 chA ca1 min: 0x53, mid:0x8d max:0xc8, range:0x75
cs0 chA ca2 min: 0x3d, mid:0x82 max:0xc8, range:0x8b
cs0 chA ca3 min: 0x4a, mid:0x81 max:0xb9, range:0x6f
cs0 chA ca4 min: 0x3d, mid:0x82 max:0xc8, range:0x8b
cs0 chA ca5 min: 0x48, mid:0x7f max:0xb7, range:0x6f
cs0 chA  CS min: 0x4a, mid:0x7b max:0xad, range:0x63
cs0 chB ca0 min: 0x45, mid:0x88 max:0xcc, range:0x87
cs0 chB ca1 min: 0x4c, mid:0x87 max:0xc3, range:0x77
cs0 chB ca2 min: 0x3c, mid:0x81 max:0xc7, range:0x8b
cs0 chB ca3 min: 0x4a, mid:0x81 max:0xb8, range:0x6e
cs0 chB ca4 min: 0x3b, mid:0x81 max:0xc7, range:0x8c
cs0 chB ca5 min: 0x47, mid:0x7f max:0xb8, range:0x71
cs0 chB  CS min: 0x49, mid:0x7a max:0xab, range:0x62
cs1 chA ca0 min: 0x47, mid:0x8b max:0xd0, range:0x89
cs1 chA ca1 min: 0x53, mid:0x8d max:0xc7, range:0x74
cs1 chA ca2 min: 0x3b, mid:0x81 max:0xc8, range:0x8d
cs1 chA ca3 min: 0x49, mid:0x81 max:0xb9, range:0x70
cs1 chA ca4 min: 0x3c, mid:0x81 max:0xc7, range:0x8b
cs1 chA ca5 min: 0x48, mid:0x80 max:0xb8, range:0x70
cs1 chA  CS min: 0x4a, mid:0x7b max:0xac, range:0x62
cs1 chB ca0 min: 0x46, mid:0x89 max:0xcd, range:0x87
cs1 chB ca1 min: 0x4e, mid:0x88 max:0xc3, range:0x75
cs1 chB ca2 min: 0x3d, mid:0x82 max:0xc8, range:0x8b
cs1 chB ca3 min: 0x4b, mid:0x82 max:0xb9, range:0x6e
cs1 chB ca4 min: 0x3d, mid:0x82 max:0xc7, range:0x8a
cs1 chB ca5 min: 0x48, mid:0x80 max:0xb9, range:0x71
cs1 chB  CS min: 0x47, mid:0x78 max:0xaa, range:0x63
RX DQS Train result:
cs0, DQS0:cyc:3,oph:4,dll:4
cs0, DQS1:cyc:3,oph:4,dll:14
cs0, DQS2:cyc:3,oph:3,dll:30
cs0, DQS3:cyc:3,oph:4,dll:11
cs1, DQS0:cyc:3,oph:4,dll:5
cs1, DQS1:cyc:3,oph:4,dll:24
cs1, DQS2:cyc:3,oph:4,dll:5
cs1, DQS3:cyc:3,oph:4,dll:19
change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
PHY drv:clk:0x1a,0x1a,ca:0x1a,0x1a,DQ:0x1e,0x1e,odt:0x0,0xa
vrefinner:0x55, vrefout:0x100
dram drv:40,odt:80
vref_ca:00000071
minca:0x7f,ck:0x80,ab:0x80,0x80, min_ck:0x1
get_clk_dqs_def_val: tdqs2dq:458
clk:0x39, clk_delta:-71,max_freq:1056
skew.dqs[0][0]:0x42
skew.dqs[0][1]:0x2d
skew.dqs[0][2]:0x33
skew.dqs[0][3]:0x23
skew.dqs[1][0]:0x3f
skew.dqs[1][1]:0x2d
skew.dqs[1][2]:0x33
skew.dqs[1][3]:0x29
cs 0:
the read training result:
DQS0:0x3e:
DQ0:min:0xd,mid:0x2a,max:0x47,range:0x3a
DQ1:min:0xd,mid:0x29,max:0x46,range:0x39
DQ2:min:0xf,mid:0x2d,max:0x4b,range:0x3c
DQ3:min:0xe,mid:0x2a,max:0x46,range:0x38
DQ4:min:0x2,mid:0x1f,max:0x3d,range:0x3b
DQ5:min:0x4,mid:0x22,max:0x41,range:0x3d
DQ6:min:0x7,mid:0x24,max:0x42,range:0x3b
DQ7:min:0x6,mid:0x22,max:0x3f,range:0x39

DQS1:0x3c:
DQ8:min:0x7,mid:0x25,max:0x43,range:0x3c
DQ9:min:0x7,mid:0x25,max:0x44,range:0x3d
DQ10:min:0x3,mid:0x21,max:0x40,range:0x3d
DQ11:min:0x1,mid:0x20,max:0x3f,range:0x3e
DQ12:min:0xb,mid:0x29,max:0x47,range:0x3c
DQ13:min:0xb,mid:0x28,max:0x46,range:0x3b
DQ14:min:0xd,mid:0x2a,max:0x48,range:0x3b
DQ15:min:0x8,mid:0x26,max:0x45,range:0x3d

DQS2:0x41:
DQ16:min:0xf,mid:0x2e,max:0x4e,range:0x3f
DQ17:min:0x11,mid:0x2e,max:0x4b,range:0x3a
DQ18:min:0xe,mid:0x2c,max:0x4a,range:0x3c
DQ19:min:0xb,mid:0x29,max:0x48,range:0x3d
DQ20:min:0x6,mid:0x24,max:0x43,range:0x3d
DQ21:min:0x2,mid:0x20,max:0x3e,range:0x3c
DQ22:min:0x2,mid:0x20,max:0x3f,range:0x3d
DQ23:min:0x6,mid:0x23,max:0x40,range:0x3a

DQS3:0x36:
DQ24:min:0x8,mid:0x25,max:0x43,range:0x3b
DQ25:min:0x4,mid:0x21,max:0x3e,range:0x3a
DQ26:min:0x5,mid:0x21,max:0x3d,range:0x38
DQ27:min:0x1,mid:0x1c,max:0x38,range:0x37
DQ28:min:0xa,mid:0x28,max:0x46,range:0x3c
DQ29:min:0xa,mid:0x27,max:0x44,range:0x3a
DQ30:min:0x8,mid:0x24,max:0x40,range:0x38
DQ31:min:0xb,mid:0x28,max:0x46,range:0x3b

the write training result:
DQS0:0x42:
DQ0:min:0x69,mid:0x84,max:0x9f,range:0x36
DQ1:min:0x6d,mid:0x88,max:0xa3,range:0x36
DQ2:min:0x6f,mid:0x8a,max:0xa5,range:0x36
DQ3:min:0x6d,mid:0x88,max:0xa3,range:0x36
DQ4:min:0x5e,mid:0x79,max:0x94,range:0x36
DQ5:min:0x63,mid:0x7c,max:0x96,range:0x33
DQ6:min:0x67,mid:0x81,max:0x9c,range:0x35
DQ7:min:0x69,mid:0x81,max:0x9a,range:0x31
DM0:min:0x66,mid:0x80,max:0x9a,range:0x34

DQS1:0x2d:
DQ8:min:0x53,mid:0x70,max:0x8d,range:0x3a
DQ9:min:0x53,mid:0x6e,max:0x89,range:0x36
DQ10:min:0x4f,mid:0x6a,max:0x85,range:0x36
DQ11:min:0x4e,mid:0x69,max:0x85,range:0x37
DQ12:min:0x57,mid:0x71,max:0x8c,range:0x35
DQ13:min:0x56,mid:0x70,max:0x8b,range:0x35
DQ14:min:0x59,mid:0x71,max:0x8a,range:0x31
DQ15:min:0x58,mid:0x71,max:0x8a,range:0x32
DM1:min:0x54,mid:0x6d,max:0x87,range:0x33

DQS2:0x33:
DQ16:min:0x5c,mid:0x78,max:0x94,range:0x38
DQ17:min:0x5b,mid:0x77,max:0x94,range:0x39
DQ18:min:0x58,mid:0x72,max:0x8d,range:0x35
DQ19:min:0x57,mid:0x72,max:0x8d,range:0x36
DQ20:min:0x54,mid:0x6c,max:0x85,range:0x31
DQ21:min:0x4f,mid:0x65,max:0x7b,range:0x2c
DQ22:min:0x52,mid:0x67,max:0x7c,range:0x2a
DQ23:min:0x56,mid:0x6d,max:0x85,range:0x2f
DM2:min:0x57,mid:0x71,max:0x8b,range:0x34

DQS3:0x23:
DQ24:min:0x4e,mid:0x6b,max:0x89,range:0x3b
DQ25:min:0x4e,mid:0x65,max:0x7d,range:0x2f
DQ26:min:0x4c,mid:0x64,max:0x7c,range:0x30
DQ27:min:0x4b,mid:0x60,max:0x76,range:0x2b
DQ28:min:0x52,mid:0x6c,max:0x87,range:0x35
DQ29:min:0x53,mid:0x6c,max:0x86,range:0x33
DQ30:min:0x50,mid:0x68,max:0x81,range:0x31
DQ31:min:0x55,mid:0x70,max:0x8b,range:0x36
DM3:min:0x4d,mid:0x64,max:0x7c,range:0x2f

cs 1:
the read training result:
DQS0:0x3d:
DQ0:min:0xd,mid:0x2a,max:0x47,range:0x3a
DQ1:min:0xd,mid:0x2a,max:0x47,range:0x3a
DQ2:min:0xe,mid:0x2c,max:0x4a,range:0x3c
DQ3:min:0xc,mid:0x29,max:0x46,range:0x3a
DQ4:min:0x2,mid:0x20,max:0x3e,range:0x3c
DQ5:min:0x3,mid:0x22,max:0x41,range:0x3e
DQ6:min:0x7,mid:0x24,max:0x42,range:0x3b
DQ7:min:0x6,mid:0x22,max:0x3f,range:0x39

DQS1:0x3b:
DQ8:min:0x7,mid:0x23,max:0x40,range:0x39
DQ9:min:0x6,mid:0x23,max:0x41,range:0x3b
DQ10:min:0x3,mid:0x20,max:0x3d,range:0x3a
DQ11:min:0x2,mid:0x1f,max:0x3d,range:0x3b
DQ12:min:0xc,mid:0x28,max:0x44,range:0x38
DQ13:min:0xb,mid:0x27,max:0x44,range:0x39
DQ14:min:0xd,mid:0x2a,max:0x47,range:0x3a
DQ15:min:0x9,mid:0x26,max:0x44,range:0x3b

DQS2:0x41:
DQ16:min:0x10,mid:0x2e,max:0x4c,range:0x3c
DQ17:min:0x10,mid:0x2c,max:0x48,range:0x38
DQ18:min:0xc,mid:0x29,max:0x47,range:0x3b
DQ19:min:0xb,mid:0x28,max:0x46,range:0x3b
DQ20:min:0x6,mid:0x24,max:0x42,range:0x3c
DQ21:min:0x1,mid:0x1e,max:0x3c,range:0x3b
DQ22:min:0x3,mid:0x21,max:0x3f,range:0x3c
DQ23:min:0x6,mid:0x23,max:0x40,range:0x3a

DQS3:0x37:
DQ24:min:0x9,mid:0x26,max:0x43,range:0x3a
DQ25:min:0x6,mid:0x22,max:0x3f,range:0x39
DQ26:min:0x6,mid:0x22,max:0x3f,range:0x39
DQ27:min:0x1,mid:0x1c,max:0x38,range:0x37
DQ28:min:0xb,mid:0x29,max:0x48,range:0x3d
DQ29:min:0xa,mid:0x27,max:0x44,range:0x3a
DQ30:min:0x8,mid:0x24,max:0x41,range:0x39
DQ31:min:0xb,mid:0x29,max:0x47,range:0x3c

the write training result:
DQS0:0x42:
DQ0:min:0x67,mid:0x83,max:0x9f,range:0x38
DQ1:min:0x69,mid:0x85,max:0xa1,range:0x38
DQ2:min:0x6b,mid:0x86,max:0xa1,range:0x36
DQ3:min:0x69,mid:0x83,max:0x9e,range:0x35
DQ4:min:0x5b,mid:0x77,max:0x93,range:0x38
DQ5:min:0x5e,mid:0x79,max:0x95,range:0x37
DQ6:min:0x63,mid:0x7e,max:0x9a,range:0x37
DQ7:min:0x66,mid:0x7f,max:0x98,range:0x32
DM0:min:0x64,mid:0x7d,max:0x97,range:0x33

DQS1:0x2d:
DQ8:min:0x57,mid:0x73,max:0x90,range:0x39
DQ9:min:0x57,mid:0x72,max:0x8d,range:0x36
DQ10:min:0x53,mid:0x6d,max:0x88,range:0x35
DQ11:min:0x52,mid:0x6c,max:0x87,range:0x35
DQ12:min:0x5b,mid:0x75,max:0x90,range:0x35
DQ13:min:0x5a,mid:0x74,max:0x8e,range:0x34
DQ14:min:0x5c,mid:0x74,max:0x8d,range:0x31
DQ15:min:0x5b,mid:0x75,max:0x8f,range:0x34
DM1:min:0x57,mid:0x72,max:0x8d,range:0x36

DQS2:0x33:
DQ16:min:0x5d,mid:0x79,max:0x95,range:0x38
DQ17:min:0x5d,mid:0x79,max:0x95,range:0x38
DQ18:min:0x58,mid:0x73,max:0x8f,range:0x37
DQ19:min:0x58,mid:0x73,max:0x8e,range:0x36
DQ20:min:0x54,mid:0x6c,max:0x85,range:0x31
DQ21:min:0x50,mid:0x64,max:0x78,range:0x28
DQ22:min:0x52,mid:0x69,max:0x81,range:0x2f
DQ23:min:0x56,mid:0x6e,max:0x86,range:0x30
DM2:min:0x59,mid:0x72,max:0x8c,range:0x33

DQS3:0x23:
DQ24:min:0x55,mid:0x72,max:0x8f,range:0x3a
DQ25:min:0x53,mid:0x6d,max:0x87,range:0x34
DQ26:min:0x52,mid:0x6b,max:0x85,range:0x33
DQ27:min:0x4f,mid:0x67,max:0x80,range:0x31
DQ28:min:0x57,mid:0x72,max:0x8d,range:0x36
DQ29:min:0x58,mid:0x73,max:0x8f,range:0x37
DQ30:min:0x56,mid:0x6e,max:0x87,range:0x31
DQ31:min:0x5b,mid:0x76,max:0x91,range:0x36
DM3:min:0x52,mid:0x6c,max:0x86,range:0x34

CA Training result:
clk_a:0x39, clk_b:0x39
reg0x26c:0x0, 0x0
cs0 chA ca0 min: 0x58, mid:0x91 max:0xca, range:0x72
cs0 chA ca1 min: 0x4d, mid:0x91 max:0xd6, range:0x89
cs0 chA ca2 min: 0x4d, mid:0x86 max:0xbf, range:0x72
cs0 chA ca3 min: 0x40, mid:0x83 max:0xc7, range:0x87
cs0 chA ca4 min: 0x4d, mid:0x85 max:0xbe, range:0x71
cs0 chA ca5 min: 0x3f, mid:0x82 max:0xc5, range:0x86
cs0 chA  CS min: 0x4d, mid:0x7c max:0xab, range:0x5e
cs0 chB ca0 min: 0x51, mid:0x8a max:0xc3, range:0x72
cs0 chB ca1 min: 0x43, mid:0x89 max:0xcf, range:0x8c
cs0 chB ca2 min: 0x4a, mid:0x84 max:0xbe, range:0x74
cs0 chB ca3 min: 0x40, mid:0x83 max:0xc7, range:0x87
cs0 chB ca4 min: 0x49, mid:0x82 max:0xbc, range:0x73
cs0 chB ca5 min: 0x3b, mid:0x7f max:0xc4, range:0x89
cs0 chB  CS min: 0x4b, mid:0x79 max:0xa8, range:0x5d
cs1 chA ca0 min: 0x56, mid:0x90 max:0xca, range:0x74
cs1 chA ca1 min: 0x4e, mid:0x91 max:0xd4, range:0x86
cs1 chA ca2 min: 0x4d, mid:0x85 max:0xbe, range:0x71
cs1 chA ca3 min: 0x40, mid:0x83 max:0xc7, range:0x87
cs1 chA ca4 min: 0x4b, mid:0x84 max:0xbd, range:0x72
cs1 chA ca5 min: 0x3d, mid:0x81 max:0xc5, range:0x88
cs1 chA  CS min: 0x4e, mid:0x7c max:0xab, range:0x5d
cs1 chB ca0 min: 0x52, mid:0x8b max:0xc4, range:0x72
cs1 chB ca1 min: 0x44, mid:0x89 max:0xcf, range:0x8b
cs1 chB ca2 min: 0x4c, mid:0x85 max:0xbf, range:0x73
cs1 chB ca3 min: 0x40, mid:0x84 max:0xc9, range:0x89
cs1 chB ca4 min: 0x4c, mid:0x84 max:0xbc, range:0x70
cs1 chB ca5 min: 0x3d, mid:0x81 max:0xc6, range:0x89
cs1 chB  CS min: 0x4a, mid:0x79 max:0xa8, range:0x5e
RX DQS Train result:
cs0, DQS0:cyc:3,oph:5,dll:19
cs0, DQS1:cyc:3,oph:5,dll:31
cs0, DQS2:cyc:3,oph:5,dll:16
cs0, DQS3:cyc:3,oph:5,dll:28
cs1, DQS0:cyc:3,oph:5,dll:20
cs1, DQS1:cyc:3,oph:6,dll:16
cs1, DQS2:cyc:3,oph:5,dll:19
cs1, DQS3:cyc:3,oph:6,dll:7
out


Is there anything else to trace why the bootloader isn't working?

Thank you in advance

BR Chris
  Reply
#3
it is worth clarifying that in addition to 1 partition named uboot, the bootloader is looking for an EFI partition
Code:
Device          Start      End Sectors  Size Type
/dev/mmcblk0p1  16384    49151  32768  16M Microsoft basic data
/dev/mmcblk0p2  49152  573439  524288  256M EFI System
/dev/mmcblk0p3 573440 10557406 9983967  4.8G Linux filesystem

Code:
Device          Start      End Sectors Type-UUID                            UUID                                 Name  Attrs
/dev/mmcblk0p1  16384    49151   32768 EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 925E253E-2941-EA43-A7B9-050C9065846B uboot
/dev/mmcblk0p2  49152   573439  524288 C12A7328-F81F-11D2-BA4B-00A0C93EC93B C375ECD8-92DC-0D42-ABCA-8046B74A3DC2       
/dev/mmcblk0p3 573440 10557406 9983967 0FC63DAF-8483-4772-8E79-3D69D8477DE4 C9EAC18A-C5FD-9E45-BB11-9CBB6A12F588 

creating partitions:

Code:
echo -e "\ng\nn\n1\n16384\n+16M\nt\n11\nn\n2\n\n+256M\nt\n2\n1\nn\n\n\n\nw" | fdisk /dev/mmcblk0
echo -e "\nx\nn\n1\nuboot\nr\nw" | fdisk /dev/mmcblk0
donation   slarm64

  Reply
#4
Did Github already censor the patch file, or?
Code:
$ wget https://gitlab.com/sndwvs/images_build_kit/-/raw/arm/patch/u-boot/rk3566/add-u-boot-quartz64.patch

--2021-09-04 13:14:11--  https://gitlab.com/sndwvs/images_build_kit/-/raw/arm/patch/u-boot/rk3566/add-u-boot-quartz64.patch
CA証明書 '/etc/ssl/certs/ca-certificates.crt' をロードしました
gitlab.com (gitlab.com) をDNSに問いあわせています... 172.65.251.78
gitlab.com (gitlab.com)|172.65.251.78|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 404 Not Found
2021-09-04 13:14:11 エラー 404: Not Found。
母語は日本語ですが、英語も喋れます(ry
  Reply
#5
Code:
wget https://gitlab.com/sndwvs/images_build_kit/-/raw/arm/patch/u-boot/rk3568/01-add-u-boot-quartz64.patch
  Reply
#6
(09-03-2021, 11:21 PM)t4_4t Wrote:
Code:
wget https://gitlab.com/sndwvs/images_build_kit/-/raw/arm/patch/u-boot/rk3568/01-add-u-boot-quartz64.patch

Thanks, that worked.
Next problem though:

Code:
$ make -j4 && make -j4 u-boot.itb
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
  CFG     tpl/u-boot.cfg
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
cc1: すべての警告はエラーとして取り扱われます
cc1: すべての警告はエラーとして取り扱われます
cc1: すべての警告はエラーとして取り扱われます
make[1]: *** [scripts/Makefile.autoconf:79: u-boot.cfg] エラー 1
make[1]: *** 未完了のジョブを待っています....
make[1]: *** [scripts/Makefile.autoconf:50: include/autoconf.mk.dep] エラー 1
cc1: すべての警告はエラーとして取り扱われます
make[1]: *** [scripts/Makefile.autoconf:83: spl/u-boot.cfg] エラー 1
make[1]: *** [scripts/Makefile.autoconf:87: tpl/u-boot.cfg] エラー 1
make: *** 'include/config/uboot.release' に必要なターゲット 'include/config/auto.conf' を make するルールがありません.  中止.

For translation sake:
エラー: 不明なレジスタ名です = Error: it's an unknown register name.
すべての警告はエラーとして取り扱われます = All warnings are being treated like errors.
エラー = Error.
未完了のジョブを待っています = Waiting for incomplete jobs.
'include/config/uboot.release' に必要なターゲット 'include/config/auto.conf' を make するルールがありません. 中止. = There is no rule to do make in 'include/config/auto.conf', which is a necessary target for 'include/config/uboot.release'. Suspending.

Note: translations might sound weird, which is the usual result of projects being commonly localized by either native/fluent Japanese speakers that can barely speak any English, or native/fluent English speakers that can barely speak any Japanese.
母語は日本語ですが、英語も喋れます(ry
  Reply
#7
英語だと消耗が激しいから、日本語でいくな


buid するためには、少なくとも "arm64" のバイナリを生成できる build 環境が必要。
(raspi-4とか、その手の類のSBCを持ってれば 既に揃ってる条件のハズだが…)

> cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
...

あなたが提示したエラーメッセージを見る限り、そうなっているようには見えないね
(x86/64 環境とかで、クロス・ビルドでやろうとしてね?)


生成された "u-boot" は上手く動くか?、それは自体は未確認だが
mara が提示したコード、多少のワーニングが出る程度で ビルド自体は問題無く出来るよ。
  Reply
#8
(09-04-2021, 12:19 AM)ryo Wrote:
(09-03-2021, 11:21 PM)t4_4t Wrote:
Code:
wget https://gitlab.com/sndwvs/images_build_kit/-/raw/arm/patch/u-boot/rk3568/01-add-u-boot-quartz64.patch

Thanks, that worked.
Next problem though:

Code:
$ make -j4 && make -j4 u-boot.itb
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
  CFG     tpl/u-boot.cfg
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
cc1: エラー: 不明なレジスタ名です: x18 [-Werror]
cc1: すべての警告はエラーとして取り扱われます
cc1: すべての警告はエラーとして取り扱われます
cc1: すべての警告はエラーとして取り扱われます
make[1]: *** [scripts/Makefile.autoconf:79: u-boot.cfg] エラー 1
make[1]: *** 未完了のジョブを待っています....
make[1]: *** [scripts/Makefile.autoconf:50: include/autoconf.mk.dep] エラー 1
cc1: すべての警告はエラーとして取り扱われます
make[1]: *** [scripts/Makefile.autoconf:83: spl/u-boot.cfg] エラー 1
make[1]: *** [scripts/Makefile.autoconf:87: tpl/u-boot.cfg] エラー 1
make: *** 'include/config/uboot.release' に必要なターゲット 'include/config/auto.conf' を make するルールがありません.  中止.

For translation sake:
エラー: 不明なレジスタ名です = Error: it's an unknown register name.
すべての警告はエラーとして取り扱われます = All warnings are being treated like errors.
エラー = Error.
未完了のジョブを待っています = Waiting for incomplete jobs.
'include/config/uboot.release' に必要なターゲット 'include/config/auto.conf' を make するルールがありません.  中止. = There is no rule to do make in 'include/config/auto.conf', which is a necessary target for 'include/config/uboot.release'. Suspending.

Note: translations might sound weird, which is the usual result of projects being commonly localized by either native/fluent Japanese speakers that can barely speak any English, or native/fluent English speakers that can barely speak any Japanese.

for this type of assembly (on x86_64 systems), you need to specify the cross compiler aarch64
Code:
make CROSS_COMPILE=<PATH CROSS COMPILER> -j4 && make CROSS_COMPILE=<PATH CROSS COMPILER> -j4 u-boot.itb
donation   slarm64

  Reply
#9
(09-04-2021, 06:53 AM)mara Wrote: for this type of assembly (on x86_64 systems), you need to specify the cross compiler aarch64
Code:
make CROSS_COMPILE=<PATH CROSS COMPILER> -j4 && make CROSS_COMPILE=<PATH CROSS COMPILER> -j4 u-boot.itb

I was just following the orders following the commands in the first post, so I assumed they were properly tested and working.
I struggled with this one a bit, especially since I didn't expect that "<PATH CROSS COMPILER>" would literally be "aarch64-linux-gnu-" (and yes, including that trailling hyphen at the end).

There were warnings and notices, which perhaps wouldn't affect too much:
Code:
tools/rockchip/boot_merger.c: 関数 ‘mergeBoot’ 内:
tools/rockchip/boot_merger.c:700:43: 警告: ‘%s’ directive output may be truncated writing up to 813 bytes into a region of size 5 [-Wformat-truncation=]
  700 |         snprintf(buffer, sizeof(buffer), "%s", chip);
      |                                           ^~
......
  742 |                 chipType = convertChipType(chip + 2);
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~
tools/rockchip/boot_merger.c:700:9: 備考: ‘snprintf’ output between 1 and 814 bytes into a destination of size 5
  700 |         snprintf(buffer, sizeof(buffer), "%s", chip);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  HOSTCC  tools/rockchip/sha.o
  HOSTCC  tools/rockchip/crc32_rk.o
tools/rockchip/boot_merger.c: 関数 ‘main’ 内:
tools/rockchip/boot_merger.c:895:18: 警告: array subscript 20 is outside array bounds of ‘char[20]’ [-Warray-bounds]
  895 |         str[len] = 0;
      |         ~~~~~~~~~^~~
tools/rockchip/boot_merger.c:933:14: 備考: while referencing ‘name’
  933 |         char name[MAX_NAME_LEN];
      |              ^~~~
  HOSTCC  tools/rockchip/resource_tool.o
  HOSTCC  tools/rockchip/bmp2gray16.o
  HOSTCC  tools/proftool
tools/rockchip/bmp2gray16.c: 関数 ‘usage’ 内:
tools/rockchip/bmp2gray16.c:121:25: 警告: ‘%s’ directive argument is not a nul-terminated string [-Wformat-overflow=]
  121 |         printf("Version %s (zwp@rock-chips.com)\n", version);
      |                         ^~                          ~~~~~~~
tools/rockchip/bmp2gray16.c:109:19: 備考: referenced argument declared here
  109 | static const char version[4] = "1.00";
      |                   ^~~~~~~

Along with an error, although it seems like compilation went on regardless.
Code:
CC      net/tftp.o
lib/avb/libavb/avb_slot_verify.c: In function 'load_and_verify_vbmeta':
lib/avb/libavb/avb_slot_verify.c:476:40: error: 'found' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  476 |     loaded_partition->partition_name = avb_strdup(found);
      |                                        ^~~~~~~~~~~~~~~~~
lib/avb/libavb/avb_slot_verify.c:299:15: note: 'found' was declared here
  299 |   const char* found;
      |               ^~~~~
  CC      drivers/video/drm/analogix_dp.o
  LD      net/built-in.o
  CC      test/dm/cmd_dm.o
  LD      test/dm/built-in.o
  CC      drivers/video/drm/analogix_dp_reg.o
cc1: all warnings being treated as errors
make[2]: *** [scripts/Makefile.build:280: lib/avb/libavb/avb_slot_verify.o] エラー 1
make[1]: *** [scripts/Makefile.build:425: lib/avb/libavb] エラー 2
make: *** [Makefile:1305: lib] エラー 2
make: *** 未完了のジョブを待っています....
  LD      drivers/watchdog/built-in.o
  CC      drivers/video/drm/rockchip_lvds.o
  CC      drivers/video/drm/rockchip_panel.o
  LD      drivers/video/drm/built-in.o
  LD      drivers/video/built-in.o
  LD      drivers/built-in.o

There is some Japanese text here, but the only important line is what I already translated previously, so I guess I don't need to repeat it again.

However, it does seem like compilation failed after all?
Because now I'm getting this roadblock:

Code:
$ tools/mkimage -n rk356x -T rksd -d ../rkbin/bin/rk35/rk3566_ddr_1056MHz_v1.08.bin:spl/u-boot-spl.bin idblock.bin
tools/mkimage: Can't open spl/u-boot-spl.bin: No such file or directory
tools/mkimage: Can't open spl/u-boot-spl.bin: No such file or directory

The spl folder:
Code:
$ ls spl
include  u-boot.cfg
母語は日本語ですが、英語も喋れます(ry
  Reply
#10
which version of the cross compiler?
donation   slarm64

  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)