rv1126b sdk移植

DDR

rkbin

bin/rv11/rv1126bp_ddr_v1.00.bin

v1.00

板子2 reboot异常
[   90.334976] reboot:Restarting system
DDR
950804cb85 wesley.yao 25/04/02-15:54:40,fwver: v1.00
 In
Derate1 tREFI1x SR93 PD13
R
ddrconf 4
rgef0
rgcsb0 1
ERR: Read gate CS0 err
error
ERR
板子2 USB烧写完固件重启异常
Model: Rockchip RV1126B-P EVB V14 Board
download key pressed... entering download mode...
RKUSB: LUN 0, dev 0, hwpart 0, sector 0x0, count 0xe90000
\usb device is high-speed
\DDR 950804cb85 wesley.yao 25/04/02-15:54:40,fwver: v1.00
 In
Derate1 tREFI1x SR93 PD13
R
ddrconf 4
rgef0
rgcsb0 1
ERR: Read gate CS0 err
error
ERR
板子1 reboot正常
[  204.1491857] reboot: Restarting system
DDR dad9baafa0 wesley.yao 25/04/02-16:32:32,fwver: v1.00
In
Derate1 tREFI1x SR93 PD13
rgefo
rgcsb0 5
rgefo
rgcsb0 5
rgef1
ddrconf 4
DDR4,324MHZ
BW=16 Col=10 Bk=4 BG=2 CS0 Row=17 CS=1 Die BW=16 Size=2048MB
Change to: 324MHz
clk skew:0x95
Read gate Cs0 result: Byte0 0x24f, Byte2 0x251
Read
train Cs0 result:
DOS0:
0x76
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
min :
mid :
0x3D x3D x38 x39 x3F x3B x37 x38
max:
0x70
0x7A 0x7A x71
0x72 0x7F
0x76 0x6F
range: 0x7A 0x7A 0x71 0x72 0x7F 0x76 0x6F 0x70
DOS2:0x76
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
min :
0x3F 0x3F x3E
0x3D x3C x3B x3C x3A
mid:
0x7B 0x78 0x76 0x78 0x75
0x7E 0x7E 0x7D
max:
range: 0x7E 0x7E 0x7D 0x7B 0x78 0x76 0x78 0x75
train Cs0 result:
Write
DOS0:
0x99
0x7A 0x7B 0x78 0x79 0x7C 0x7A 0x79 0x79 0x78
mln '
0x98 0x99 0x96 0x97 0x9A x98 0x97 0x97 0x97
mid:
0xB7 0xB8 0xB5 0xB6 0xB9 0xB6 0xB6 0xB5 0xB7
max:
range:0x3D 0x3D x3D0x3D x3Dx3x3Dx3
0x3F
D0S2:
0x96
0x79 0x79 0x79 0x78 0x77 0x77 0x78 0x77 0x79
mln :
mid:
0x97 0x97 0x98 0x97 0x96 0x95 0x96 0x96 0x98
0xB6 0xB6 0xB7 0xB6 xB5 0xB4 xB5 xB5
0xB7
maX:
range:0x3D 0x3D 0x3E0x3E 0x3E 0x3D x3D x3E x3
Change to:630MHz
clk skew: 0x95
Read gate cs0 result: Byte0 0x24a, Byte2 0x24e,
rx vref: 48.0%

v1.01

板子2 reboot正常 
[   57.706487] reboot: Restarting system
DDR 7d39fa586b wesley.yao 25/04/21-10:19:28,fwver: v1.01
 In
Derate1 tREFI1x SR93 PD13
rgef0
rgcsb0 5
rgef0
rgcsb0 5
rgef1
ddrconf 4
DDR4, 324MHz
BW=16 Col=10 Bk=4 BG=2 CS0_Row=17 CS=1 Die BW=16 Size=2048MB

Change to: 324MHz
clk skew: 0x94

Change to: 630MHz
clk skew: 0x94
rx vref: 46.0%
tx vref: 72.4%

Change to: 780MHz
clk skew: 0x94
rx vref: 46.0%
tx vref: 72.4%

Change to: 1056MHz
clk skew: 0x94
Read gate CS0 result: Byte0 0x241, Byte2 0x243,
rx vref: 48.0%
Read train CS0 result:
DQS0: 0x3f
min:   0x08 0x08 0x02 0x01 0x0A 0x02 0x05 0x02
mid:   0x22 0x24 0x1C 0x1C 0x28 0x1D 0x1E 0x1C
max:   0x3D 0x40 0x36 0x37 0x46 0x39 0x38 0x36
range: 0x35 0x38 0x34 0x36 0x3C 0x37 0x33 0x34
DQS2: 0x3f
min:   0x0A 0x08 0x0B 0x0A 0x05 0x06 0x08 0x01
mid:   0x27 0x25 0x27 0x26 0x23 0x22 0x24 0x1E
max:   0x44 0x43 0x44 0x43 0x42 0x3E 0x41 0x3C
range: 0x3A 0x3B 0x39 0x39 0x3D 0x38 0x39 0x3B
tx vref: 70.4%
Write train CS0 result:
DQS0: 0xa4
min:   0x89 0x88 0x81 0x85 0x8C 0x86 0x84 0x83 0x81
mid:   0xA3 0xA4 0x9B 0x9E 0xA8 0xA0 0x9E 0x9D 0x9E
max:   0xBE 0xC1 0xB5 0xB8 0xC5 0xBA 0xB8 0xB7 0xBC
range: 0x35 0x39 0x34 0x33 0x39 0x34 0x34 0x34 0x3B
DQS2: 0x9d
min:   0x87 0x86 0x86 0x85 0x80 0x7E 0x82 0x7E 0x86
mid:   0xA2 0xA1 0xA1 0xA1 0x9D 0x9A 0x9E 0x9B 0xA4
max:   0xBE 0xBC 0xBD 0xBD 0xBA 0xB7 0xBA 0xB9 0xC2
range: 0x37 0x36 0x37 0x38 0x3A 0x39 0x38 0x3B 0x3C
out
U-Boot SPL board init
U-Boot SPL 2017.09-g4d9e803d49-250331-dirty #freeware (Apr 23 2025 - 17:57:54)
SPL Hotkey: ctrl+c

memtester 

add to rootfs

./build.sh buildroot-config
./build.sh bconfig

test log 

Loop 100/100:
  Stuck Address       : ok
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok
  Block Sequential    : ok
  Checkerboard        : ok
  Bit Spread          : ok
  Bit Flip            : ok
  Walking Ones        : ok
  Walking Zeroes      : ok
  8-bit Writes        : ok
  16-bit Writes       : ok


*************************************************************
memtester result:
Log: had found 0 failures.

Status: PASS.

*************************************************************

分区

parameter.txt

device/rockchip/rv1126b/parameter.txt

IPC rv1126bp-buildroot
partition name size name size
p1 env 32K uboot 4M
p2 idblock 512K misc 4M
p3 uboot 4M boot 64M
p4 boot 11M recovery 128M
p5 rootfs 1G backup 32M
p6 oem 1G rootfs 6G
p7 userdata 5G oem 128M
p8 userdata

oem

device/rockchip/common/extra-parts/oem/normal

preloader

DDR 7d39fa586b wesley.yao 25/04/21-10:19:28,fwver: v1.01
 In
Derate1 tREFI1x SR93 PD13
rgef0
rgcsb0 5
rgef0
rgcsb0 5
rgef1
ddrconf 4
DDR4, 324MHz
BW=16 Col=10 Bk=4 BG=2 CS0_Row=17 CS=1 Die BW=16 Size=2048MB

Change to: 324MHz
clk skew: 0x94

Change to: 630MHz
clk skew: 0x94
rx vref: 46.0%
tx vref: 72.4%

Change to: 780MHz
clk skew: 0x94
rx vref: 46.0%
tx vref: 72.4%

Change to: 1056MHz
clk skew: 0x94
Read gate CS0 result: Byte0 0x241, Byte2 0x244,
rx vref: 46.0%
Read train CS0 result:
DQS0: 0x40
min:   0x08 0x09 0x02 0x04 0x0B 0x03 0x05 0x03
mid:   0x24 0x25 0x1D 0x1E 0x29 0x1F 0x20 0x1D
max:   0x40 0x42 0x38 0x39 0x48 0x3B 0x3B 0x38
range: 0x38 0x39 0x36 0x35 0x3D 0x38 0x36 0x35
DQS2: 0x3f
min:   0x0A 0x07 0x0A 0x09 0x03 0x04 0x07 0x02
mid:   0x27 0x25 0x28 0x26 0x21 0x21 0x24 0x1D
max:   0x45 0x44 0x46 0x44 0x40 0x3E 0x42 0x39
range: 0x3B 0x3D 0x3C 0x3B 0x3D 0x3A 0x3B 0x37
tx vref: 70.4%
Write train CS0 result:
DQS0: 0xa4
min:   0x89 0x88 0x81 0x85 0x8C 0x86 0x84 0x83 0x81
mid:   0xA3 0xA4 0x9B 0x9E 0xA8 0xA0 0x9E 0x9D 0x9E
max:   0xBE 0xC0 0xB5 0xB8 0xC5 0xBA 0xB9 0xB7 0xBC
range: 0x35 0x38 0x34 0x33 0x39 0x34 0x35 0x34 0x3B
DQS2: 0x9d
min:   0x87 0x86 0x86 0x85 0x80 0x7E 0x82 0x7E 0x86
mid:   0xA2 0xA1 0xA2 0xA1 0x9D 0x9A 0x9E 0x9B 0xA4
max:   0xBE 0xBC 0xBE 0xBD 0xBA 0xB7 0xBA 0xB9 0xC2
range: 0x37 0x36 0x38 0x38 0x3A 0x39 0x38 0x3B 0x3C
out

u-boot 2017.09

U-Boot SPL board init
U-Boot SPL 2017.09-g4d9e803d49-250331-dirty #freeware (May 12 2025 - 10:40:28)
sfc cmd=9fH(6BH-x4)
unknown raw ID 0 0 0
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
MMC: no card present
mmc_init: -123, time 2
spl: mmc init failed with error: -123
Trying to boot from MMC1
Best phase range 12-270 (24 len)
Successfully tuned phase to 147, used 3ms
SPL: A/B-slot: _a, successful: 0, tries-remain: 7
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x40040000 (lzma @0x40240000) ... sha256(68ddfba4de...) + sha256(fe14f8b16e...) + OK
## Checking uboot 0x40200000 (lzma @0x40400000) ... sha256(b6b5dddbad...) + sha256(7a8aa92761...) + OK
## Checking fdt 0x402c61d0 ... sha256(ed624e2763...) + OK
## Checking atf-2 0x3ff1e000 ... sha256(013785ced7...) + OK
Jumping to U-Boot(0x40200000) via ARM Trusted Firmware(0x40040000)
Total: 237.71/282.807 ms

INFO:    Preloader serial: 0
NOTICE:  BL31: v2.12(release):v2.12.0-15-ga2173dab6:derrick.huang, fwver: v1.00
NOTICE:  BL31: Built : 17:19:13, Mar 31 2025
INFO:    SOC (0x52561126)
INFO:    soc warm boot, reset status: 0xbeef0001
INFO:    ARM GICv2 driver initialized
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 1
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 = 0x40200000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-g4d9e803d49-250331-dirty #freeware (May 12 2025 - 10:40:28 +0800)

Model: Rockchip RV1126B Evaluation board
MPIDR: 0x0
Serial: raw, 0x20810000
DRAM:  2 GiB
Sysmem: init
Relocation Offset: 7fbeb000
Relocation fdt: bd9faec0 - bd9fecf0
CR: M/C/I
Using default environment

DM: v2
mmc@21470000: 0, mmc@21d60000: 1
Best phase range 12-270 (24 len)
Successfully tuned phase to 147, used 3ms
Bootdev(atags): mmc 0
MMC0: HS200, 200Mhz
PartType: EFI
boot mode: normal
RESC: 'boot', blk@0x0000ec34
resource: sha256+
FIT: no signed, no conf required
DTB: rk-kernel.dtb
HASH(ce): OK
I2c0 speed: 100000Hz
can't find shutdown-sequence prop
can't find vb-shutdown-sequence prop
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_npu 850000 uV
vdd_arm 850000 uV
Model: Rockchip RV1126B-P EVB V14 Board
CLK: (sync kernel. arm: enter 0 KHz, init 0 KHz, kernel 0N/A)
  gpll 1188000 KHz
  aupll 786431 KHz
  cpll 1000000 KHz
  aclk_peri_root 200000 KHz
  pclk_peri_root 100000 KHz
  aclk_top_root 600000 KHz
  pclk_top_root 100000 KHz
  aclk_bus_root 400000 KHz
  hclk_bus_root 200000 KHz
  pclk_bus_root 100000 KHz
  busclk_pmu_src 100000 KHz
Net:   Net Initialization Skipped
No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0
## Booting FIT Image at 0xbca73680 with size 0x00d86800
Fdt Ramdisk skip relocation
## Loading kernel from FIT Image at bca73680 ...
   Using 'conf' configuration
## Verified-boot: 0
   Trying 'kernel' kernel subimage
     Description:  unavailable
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0xbca83480
     Data Size:    14116872 Bytes = 13.5 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x40200000
     Entry Point:  0x40200000
     Hash algo:    sha256
     Hash value:   bd378517efa8041400c09f897cfe27233f4d3775bb3ceda76a86b54262b475c9
   Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at bca73680 ...
   Using 'conf' configuration
   Trying 'fdt' fdt subimage
     Description:  unavailable
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0xbca73e80
     Data Size:    62828 Bytes = 61.4 KiB
     Architecture: AArch64
     Load Address: 0x48300000
     Hash algo:    sha256
     Hash value:   abbc3d0ccd5c64e1b3fa7b659576d35e01e1e482dc0fdb357e7daa9fdc7a2562
   Verifying Hash Integrity ... sha256+ OK
   Loading fdt from 0x48300000 to 0x48300000
   Booting using the fdt blob at 0x48300000
   Loading Kernel Image from 0xbca83480 to 0x40200000 ... OK
   kernel loaded at 0x40200000, end = 0x40f76808
   Using Device Tree in place at 0000000048300000, end 000000004831256b
Adding bank: 0x40200000 - 0xc0000000 (size: 0x7fe00000)
Total: 575.225/623.922 ms

Starting kernel ...

DDR

USB disk

=> gpi set 208 1
gpio: pin 208 (gpio 208) value is 1
=> usb start
starting USB...
Bus usb@21480000: USB EHCI 1.00
Bus usb@214c0000: USB OHCI 1.0
Bus usb@21500000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@21480000 for devices... 1 USB Device(s) found
scanning bus usb@214c0000 for devices... 1 USB Device(s) found
scanning bus usb@21500000 for devices... Device NOT ready
   Request Sense returned 02 3A 00
2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
=> usb tree
USB device tree:
  1  Hub (480 Mb/s, 0mA)
     u-boot EHCI Host Controller

  1  Hub (12 Mb/s, 0mA)
      U-Boot Root Hub

  1  Hub (5 Gb/s, 0mA)
  |  U-Boot XHCI Host Controller
  |
  +-2  Mass Storage (480 Mb/s, 100mA)
       Kingston DataTraveler 3.0 E0D55E6B64641620B8301269

=> usb dev 0

Device 0: Vendor: Kingston Rev: 0000 Prod: DataTraveler 3.0
            Type: Removable Hard Disk
            Capacity: 29560.0 MB = 28.8 GB (60538881 x 512)
... is now current device
=> usb read 0x82000000 0 1

usb read: device 0 block # 0, count 1 ... 1 blocks read: OK
=> fatls usb 0
            System Volume Information/
            LOST.DIR/

USB_BOOT

make ARCH=arm64 savedefconfig
cp -ar defconfig configs/rv1126b_defconfig
git diff

--- a/configs/rv1126b_defconfig
+++ b/configs/rv1126b_defconfig
@@ -6,6 +6,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_SYS_MALLOC_F_LEN=0x80000
 CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.sh"
 CONFIG_ROCKCHIP_RV1126B=y
+CONFIG_ROCKCHIP_USB_BOOT=y
 CONFIG_ROCKCHIP_FIT_IMAGE=y
 CONFIG_ROCKCHIP_VENDOR_PARTITION=y
 CONFIG_USING_KERNEL_DTB_V2=y

bug fix

drivers/usb/common/common.c
    return USB_DR_MODE_HOST
common/usb_hub.c
common/usb_storage.c

UART password

Ctrl+C,回车

--- a/common/cli.c
+++ b/common/cli.c
@@ -218,7 +218,7 @@ err:
 #ifndef CONFIG_CONSOLE_DISABLE_CLI
 void cli_loop(void)
 {
-#ifdef CONFIG_HUSH_PARSER
+#ifndef CONFIG_HUSH_PARSER
        parse_file_outer();
        /* This point is never reached */
        for (;;);

common/cli_simple.c

partitions

defconfig

configs/rv1126b_defconfig

make ARCH=arm64 menuconfig进入u-boot menuconfig去除Rockchip pre-loader serial。
 -> ARM architecture
[ ] Rockchip pre-loader serial
make ARCH=arm64 savedefconfig保存缺省配置文件。
cp -ar defconfig configs/rv1126b_defconfig更新缺省配置文件。

bootdelay

bootdelay修改为3,调试用。

CONFIG_BOOTDELAY=3

调试串口波特率

默认波特率1.5M,如需修改为115200,rv1126b_defconfig,增加# CONFIG_ROCKCHIP_PRELOADER_SERIAL is not set,删除CONFIG_BAUDRATE=1500000

--- a/configs/rv1126b_defconfig
+++ b/configs/rv1126b_defconfig
@@ -9,6 +9,7 @@ CONFIG_ROCKCHIP_RV1126B=y
 CONFIG_ROCKCHIP_FIT_IMAGE=y
 CONFIG_ROCKCHIP_VENDOR_PARTITION=y
 CONFIG_USING_KERNEL_DTB_V2=y
+# CONFIG_ROCKCHIP_PRELOADER_SERIAL is not set
 CONFIG_ROCKCHIP_FIT_IMAGE_PACK=y
 CONFIG_ROCKCHIP_NEW_IDB=y
 CONFIG_ROCKCHIP_EMMC_IOMUX=y
@@ -138,7 +139,6 @@ CONFIG_TPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_RESET_ROCKCHIP=y
-CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_BASE=0x20810000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART_SHIFT=2

kernel 6.1.118

调试串口波特率

--- a/arch/arm64/boot/dts/rockchip/rv1126b.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rv1126b.dtsi
@@ -395,7 +395,7 @@
        rockchip,serial-id = <0>;
        rockchip,wake-irq = <0>;
        rockchip,irq-mode-enable = <1>;
-       rockchip,baudrate = <1500000>;  /* Only 115200 and 1500000 */
+       rockchip,baudrate = <115200>;  /* Only 115200 and 1500000 */
        interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
        status = "disabled";
    };

USB Host

4G

dmesg|grep usb

[    1.978895] ehci-platform 21480000.usb: EHCI Host Controller
[    1.978904] ohci-platform 214c0000.usb: Generic Platform OHCI controller
[    1.978917] ehci-platform 21480000.usb: new USB bus registered, assigned bus number 1
[    1.978923] ohci-platform 214c0000.usb: new USB bus registered, assigned bus number 2
[    1.979030] ohci-platform 214c0000.usb: irq 124, io mem 0x214c0000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值