RK3568 Android固件介绍、固件烧录、开机进系统

  编译生成的固件在rockdev/Image-rk3568_r目录下,包含如下文件:

  baseparameter.img:

  boot-debug.img://usr固件往往没有root权限,此时可以烧它以进行root权限操作

  boot.img? ?//包含了kernel.img、resource.img、ramdisk,但Android不能直接烧kernel.img和resource.img了,取而代之的是boot.img。需要使用build.sh -K 命令来编译 kernel从而得到boot.img。

  config.cfg? ?//烧写工具的配置文件 ,可以直接导入烧写工具显示需要烧写的选项

  dtbo.img? //由dts编译得到,修改了dts将会编到这里

  MiniLoaderAll.bin? //很底层的loader程序,包含一级loader

  misc.img? //包含recovery-wipe开机标识信息,烧写它后会进行recovery

  parameter.txt? ?//分区表

  pcba_small_misc.img //包含pcba开机标识信息,烧写后会进入简易版pcba模式

  pcba_whole_misc.img //包含pcba开机标识信息,烧写后会进入完整版pcba模式

  recovery.img? //包含了recovery-ramdis、kernel、dtb、resource等,是一个精简版的小系统。完整烧录固件后第一次开机或者从未正常进系统时? 开机要先跑这个;正常进过系统后 再开机 就不会跑这里了,在某些条件 如进recovery才会跑这里。所以,当遇到烧录后无法正常开机,我们改了kernel,则一定要记得烧recovery.img和boot.img 或者全烧。

  resource.img? //开机logo、开机充电logo等资源

  super.img??//包含odm、product、vendor、system、system_ext分区内容 ;所以改了Android系统层 要烧这个

  uboot.img?? //uboot

  update.img? //这是由零散固件打包而成的

  vbmeta.img?? //包含avb校验信息,用于AVB校验

  我们可以烧分散的img:(红色部分)

  也可以烧update.img,等同于全烧。

  注:(trust.img 包含BL31、BL32 ,RK3566/RK3568没生成这个,所以不需要烧写trust.img了)

  安装文件在SDK/RKTools/windows/DriverAssitant_v5.1.1.zip

  

  如果以前已安装过旧版的驱动,则需更新,先卸载再安装即可。

  新版驱动支持新型号芯片 也兼容旧芯片的。

  烧录固件前,如果板子已烧录过别人的固件,先确认一下板子能否正常开机、常见模块如屏、TP、HDMI等是否正常;接串口打印看能否正常抓log;看ADB功能是否正常。

  SDK/RKTools/windows/AndroidTool/RKDevTool_Release_v2.84.zip

  烧录RK3568 Android11的固件,要用v2.84版。新版工具支持新型号芯片 也兼容旧芯片的。

  此工具免安装,解压,双击?RKDevTool.exe 直接运行即可。

  此工具有三个界面:

  烧录分散固件的界面:

  一般先选parameter,工具由parameter.txt知道要烧哪些分区 及 分区表是怎样的。

  选了不同的parameter.txt,工具界面会变的。

  

  烧录update.img固件界面:

  

  注:烧分散固件或统一固件 都要在loader模式或maskroom模式下才能烧。

  可以由adb模式切换到loader模式;

  白片会进maskroom模式;或者短接板子触点 进maskroom;

  在loader模式下 可以全烧 也可烧几个需要的分区(一般parameter也是要烧的)。

  maskroom模式 一定要全烧,不能烧部分。

  高级功能界面,如固件解包、读取各种信息、从机器中导出某个分区镜像、擦除EMMC中的某一部分等:

  烧完固件后 PC工具会触发板子自动开机

  看log

  通过top看有哪些进程,判断系统已经起来。

  看PC有没有识别到ADB设备。

  第一次烧录会先执行recovery,再跑普通模式的uboot 、kernel。重刷了misc.img 后也会先跑一次recovery 再跑普通模式的uboot 、kernel。

  烧完固件 自动重启,先执行一次recovery

  先初始化DDR,打印DDR相关信息,然后DDR逐步升频 一个个try:

  如果容量不对? 或者跑到某些频点就失败,则需检查硬件DDR部分。

  DDR Version V1.11 20211103

  In

  ddrconfig:0

  LP4 MR14:0x4d

  LPDDR4, 324MHz

  BW=32 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=4096MB

  tdqss: cs0 dqs0: 361ps, dqs1: 265ps, dqs2: 313ps, dqs3: 192ps,

  change to: 324MHz

  PHY drv:clk:38,ca:38,DQ:30,odt:0

  vrefinner:41%, vrefout:41%

  dram drv:40,odt:0

  clk skew:0x58

  change to: 528MHz

  PHY drv:clk:38,ca:38,DQ:30,odt:0

  vrefinner:41%, vrefout:41%

  dram drv:40,odt:0

  clk skew:0x78

  change to: 780MHz

  PHY drv:clk:38,ca:38,DQ:30,odt:0

  vrefinner:41%, vrefout:41%

  dram drv:40,odt:0

  clk skew:0x5c

  change to: 1560MHz(final freq)

  PHY drv:clk:38,ca:38,DQ:30,odt:60

  vrefinner:16%, vrefout:29%

  dram drv:40,odt:80

  vref_ca:00000068

  clk skew:0x19

  cs 0:

  the read training result:

  DQS0:0x32, DQS1:0x32, DQS2:0x33, DQS3:0x2b,

  min ?: 0xf ?0xd 0x12 ?0xf ?0x2 ?0x6 ?0x9 ?0x4 , 0xc ?0xb ?0x7 ?0x3 0x10 ?0xb 0x13 ?0xb ,

  0x14 0x13 ?0xc ?0xb ?0x4 ?0x1 ?0x4 ?0x5 , 0xc ?0x8 ?0x9 ?0x1 ?0xf ?0xe ?0xd ?0xe ,

  mid ?:0x2a 0x28 0x2d 0x2a 0x1d 0x21 0x24 0x1f ,0x27 0x25 0x1e 0x1e 0x2a 0x26 0x2a 0x25 ,

  0x2f 0x2d 0x27 0x26 0x1f 0x1d 0x1f 0x21 ,0x25 0x21 0x21 0x1c 0x29 0x28 0x25 0x29 ,

  max ?:0x45 0x44 0x48 0x45 0x39 0x3d 0x40 0x3a ,0x42 0x3f 0x35 0x39 0x45 0x42 0x41 0x3f ,

  0x4a 0x47 0x42 0x41 0x3b 0x3a 0x3b 0x3d ,0x3f 0x3a 0x3a 0x37 0x43 0x42 0x3e 0x44 ,

  range:0x36 0x37 0x36 0x36 0x37 0x37 0x37 0x36 ,0x36 0x34 0x2e 0x36 0x35 0x37 0x2e 0x34 ,

  0x36 0x34 0x36 0x36 0x37 0x39 0x37 0x38 ,0x33 0x32 0x31 0x36 0x34 0x34 0x31 0x36 ,

  the write training result:

  DQS0:0x61, DQS1:0x4d, DQS2:0x57, DQS3:0x3f,

  min ?:0xab 0xad 0xb2 0xad 0x9f 0xa1 0xa6 0xa5 0xa5 ,0x97 0x98 0x90 0x92 0x9d 0x9c 0x9c 。。。。。。

  CA Training result:

  cs:0 min ?:0x3e 0x36 0x30 0x29 0x33 0x27 0x34 ,0x40 0x36 0x35 0x2f 0x33 0x2c 0x39 ,

  cs:0 mid ?:0x79 0x77 0x6b 0x68 0x6d 0x67 0x61 ,0x7b 0x77 0x70 0x6c 0x6e 0x6b 0x64 ,

  cs:0 max ?:0xb5 0xb8 0xa6 0xa8 0xa8 0xa8 0x8e ,0xb7 0xb9 0xac 0xaa 0xaa 0xaa 0x90 ,

  cs:0 range:0x77 0x82 0x76 0x7f 0x75 0x81 0x5a ,0x77 0x83 0x77 0x7b 0x77 0x7e 0x57 ,

  out

  准备执行Uboot:

  U-Boot SPL board init

  U-Boot SPL 2017.09-gaaca6ffec1-211203 #zzz (Dec 03 2021 - 18:42:16)

  unknown raw ID phN

  unrecognized JEDEC id bytes: 00, 00, 00

  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

  Magic is incorrect.

  Error validating A/B metadata from disk. Resetting and writing new A/B metadata to disk.

  SPL: A/B-slot: _a, successful: 0, tries-remain: 7

  Trying fit image at 0x4000 sector

  ## Verified-boot: 0

  ## Checking atf-1 0x00040000 ... sha256(fe4f274c06...) + OK

  ## Checking uboot 0x00a00000 ... sha256(232cd51e70...) + OK

  ## Checking fdt 0x00b2fd30 ... sha256(9679fe2a45...) + 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

  ## Checking optee 0x08400000 ... sha256(08e1fd41e1...) + OK

  Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)

  Total: 246.927 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= 1560MHz

  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: OP-TEE version: 3.13.0-595-gf5add58be #hisping.lin (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #26 Tue Dec 21 15:50:44 CST 2021 aarch64

  I/TC: Primary CPU initializing

  I/TC: Primary CPU switching to normal world boot

  INFO: ? ?BL31: Preparing for EL3 exit to normal world

  INFO: ? ?Entry point address = 0xa00000

  INFO: ? ?SPSR = 0x3c9

  //uboot已经运行起来

  U-Boot 2017.09 #ubuntu (Apr 10 2022 - 22:25:43 +0800)

  Model: Rockchip RK3568 Evaluation Board

  PreSerial: 2, raw, 0xfe660000

  DRAM: ?4 GiB

  Sysmem: init

  Relocation Offset: ed349000

  Relocation fdt: eb9f8a08 - eb9fecd8

  CR: M/C/I

  Using default environment

  dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0

  Bootdev(atags): mmc 0

  MMC0: HS200, 200Mhz

  PartType: EFI

  DM: v1

  boot mode: recovery (misc)

  boot mode: recovery (misc)

  Android 11.0, Build 2021.8, v2

  Found DTB in recovery part

  DTB: rk-kernel.dtb

  HASH(c): OK

  ANDROID: fdt overlay OK

  I2c0 speed: 100000Hz

  vsel-gpios- not found! Error: -2

  vdd_cpu init 900000 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: Rockchip RK3568 EVB1 DDR4 V10 Board

  Rockchip UBOOT DRM driver version: v1.0.1

  VOP have 2 active VP

  vp0 have layer nr:3[1 3 5 ], primary plane: 5

  vp1 have layer nr:3[0 2 4 ], primary plane: 4

  vp2 have layer nr:0[], primary plane: 0

  Using display timing dts

  dsi@fe060000: ?detailed mode clock 132000 kHz, flags[8000000a]

  H: 1080 1095 1097 1127

  V: 1920 1935 1937 1952

  bus_format: 100e

  VOP update mode to: 1080x1920p0, type: MIPI0 for VP1

  rockchip_vop2_init:No hdmi0_phy_pll_uboot clk found, use system clk

  rockchip_vop2_init:No hdmi1_phy_pll_uboot clk found, use system clk

  VOP VP1 enable Smart0[654x270->654x270@213x825] fmt[2] addr[0xedf04000]

  final DSI-Link bandwidth: 876 Mbps x 4

  disp info 0, type:11, id:0

  hdmi@fe0a0000 disconnected

  CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)

  apll 1416000 KHz

  dpll 780000 KHz

  gpll 1188000 KHz

  cpll 1000000 KHz

  npll 1200000 KHz

  vpll 660000 KHz

  hpll 24000 KHz

  ppll 200000 KHz

  armclk 1416000 KHz

  aclk_bus 150000 KHz

  pclk_bus 100000 KHz

  aclk_top_high 500000 KHz

  aclk_top_low 400000 KHz

  hclk_top 150000 KHz

  pclk_top 100000 KHz

  aclk_perimid 300000 KHz

  hclk_perimid 150000 KHz

  pclk_pmu 100000 KHz

  Net: ? eth1: ethernet@fe010000, eth0: ethernet@fe2a0000

  Hit key to stop autoboot('CTRL+C'): ?0

  ANDROID: reboot reason: "recovery"

  optee api revision: 2.0

  Vboot=0, AVB images, AVB verify

  read_is_device_unlocked() ops returned that device is UNLOCKED

  avb_footer.c:41: ERROR: Footer magic is incorrect.

  avb_vbmeta_image.c:65: ERROR: Magic is incorrect.

  avb_slot_verify.c:773: ERROR: recovery: Error verifying vbmeta image: invalid vbmeta header

  Verify recovery with vbmeta.

  avb_slot_verify.c:762: ERROR: vbmeta: Error verifying vbmeta image: OK_NOT_SIGNED

  get image from preloaded partition...

  ANDROID: Hash OK

  Could not find "system" partition

  Booting IMAGE kernel at 0x00280000 with fdt at 0x0a100000...

  Fdt Ramdisk skip relocation

  ## Booting Android Image at 0x0027f800 ...

  Kernel: 0x00280000 - 0x020c6008 (31001 KiB)

  ramdisk: ? ?0x0a200000 - 0x0c6bc120 (37617 KiB)

  ## Flattened Device Tree blob at 0x0a100000

  Booting using the fdt blob at 0x0a100000

  XIP Kernel Image from 0x00280000 to 0x00280000 ... OK

  kernel loaded at 0x00280000, end = 0x020c6008

  'reserved-memory' linux,cma: addr=10000000 size=800000

  'reserved-memory' ramoops@110000: addr=110000 size=f0000

  Using Device Tree in place at 000000000a100000, end 000000000a12442a

  vp0, plane_mask:0x2a, primary-id:5, curser-id:-1

  vp1, plane_mask:0x15, primary-id:4, curser-id:-1

  vp2, plane_mask:0x0, primary-id:0, curser-id:-1

  Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)

  Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)

  Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000)

  Total: 2814.32 ms

  Starting kernel ...

  [ ? ?0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]

  [ ? ?0.000000] Linux version 4.19.219 (ubuntu@ubuntu-VirtualBox) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #9 SMP PREEMPT Sun Apr 10 22:36:11 CST 2022

  [ ? ?0.000000] Machine model: Rockchip RK3568 EVB1 DDR4 V10 Board

  [ ? ?0.000000] earlycon: uart8250 at MMIO32 0x00000000fe660000 (options '')

  [ ? ?0.000000] bootconsole [uart8250] enabled

  [ ? ?0.000000] Reserved memory: created CMA memory pool at 0x0000000010000000, size 8 MiB

  [ ? ?0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool

  [ ? ?0.000000] psci: probing for conduit method from DT.

  [ ? ?0.000000] psci: PSCIv1.1 detected in firmware.

  [ ? ?0.000000] psci: Using standard PSCI v0.2 function IDs

  [ ? ?0.000000] psci: Trusted OS migration not required

  [ ? ?0.000000] psci: SMC Calling Convention v1.2

  [ ? ?0.000000] percpu: Embedded 24 pages/cpu s58968 r8192 d31144 u98304

  [ ? ?0.000000] Detected VIPT I-cache on CPU0

  [ ? ?0.000000] CPU features: detected: Virtualization Host Extensions

  [ ? ?0.000000] CPU features: detected: Speculative Store Bypassing Safe (SSBS)

  [ ? ?0.000000] Built 1 zonelists, mobility grouping on. ?Total pages: 1027656

  [ ? ?0.000000] Kernel command line: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal ?androidboot.dtb_idx=0 androidboot.dtbo_idx=0 ?androidboot.verifiedbootstate=orange androidboot.serialno=a3b1698a32424d64 console=ttyFIQ0 androidboot.baseband=N/A androidboot.wificountrycode=CN androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 androidboot.verifiedbootstate=orange firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 buildvariant=userdebug earlycon=uart8250,mmio32,0xfe660000 androidboot.boot_devices=fe310000.sdhci,fe330000.nandc

  [ ? ?0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)

  [ ? ?0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)

  [ ? ?0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off

  [ ? ?0.000000] software IO TLB: mapped [mem 0xe9f00000-0xedf00000] (64MB)

  [ ? ?0.000000] Memory: 3941380K/4175872K available (15422K kernel code, 2072K rwdata, 9304K rodata, 4160K init, 949K bss, 226300K reserved, 8192K cma-reserved)

  [ ? ?0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1

  [ ? ?0.000000] rcu: Preemptible hierarchical RCU implementation.

  [ ? ?0.000000] rcu: ? ? RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.

  [ ? ?0.000000] ?Tasks RCU enabled.

  [ ? ?0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4

  [ ? ?0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0

  [ ? ?0.000000] GICv3: GIC: Using split EOI/Deactivate mode

  。。。。。。

  分区信息:

  recovery filesystem table

  =========================

  0 /mnt/internal_sd ?vfat /dev/block/platform/ff0f0000.dwmmc/by-name/user 0

  1 /mnt/external_sd ?vfat /dev/block/mmcblk0p1 0

  2 /system ?ext4 /dev/block/by-name/system 0

  3 /vendor ?ext4 /dev/block/by-name/vendor 0

  4 /odm ?ext4 /dev/block/by-name/odm 0

  5 /product ?ext4 /dev/block/by-name/product 0

  6 /system_ext ?ext4 /dev/block/by-name/system_ext 0

  7 /cache ?ext4 /dev/block/by-name/cache 0

  8 /metadata ?ext4 /dev/block/by-name/metadata 0

  9 /data ?f2fs /dev/block/by-name/userdata 0

  10 /cust ?ext4 /dev/block/by-name/cust 0

  11 /custom ?ext4 /dev/block/by-name/custom 0

  12 /radical_update ?ext4 /dev/block/by-name/radical_update 0

  13 /misc ?emmc /dev/block/by-name/misc 0

  14 /uboot ?emmc /dev/block/by-name/uboot 0

  15 /charge ?emmc /dev/block/by-name/charge 0

  16 /resource ?emmc /dev/block/by-name/resource 0

  17 /parameter ?emmc /dev/block/by-name/parameter 0

  18 /boot ?emmc /dev/block/by-name/boot 0

  19 /recovery ?emmc /dev/block/by-name/recovery 0

  20 /backup ?emmc /dev/block/by-name/backup 0

  21 /frp ?emmc /dev/block/by-name/frp 0

  22 /trust ?emmc /dev/block/by-name/trust 0

  23 /baseparamer ?emmc /dev/block/by-name/baseparamer 0

  24 /vbmeta ?emmc /dev/block/by-name/vbmeta 0

  25 /dtbo ?emmc /dev/block/by-name/dtbo 0

  26 /vendor_boot ?emmc /dev/block/by-name/vendor_boot 0

  27 /tmp ?ramdisk ramdisk 0

  exit=================

  result_point[0] is ----/dev/block/mmcblk2

  111

  emmc_point is /dev/block/mmcblk2

  sd_point is (null)

  sd_point_2 is (null)

  read cmdline

  I:Boot command: boot-recovery

  I:Got 2 arguments from boot message

  ensure_path_mounted path=/cache/recovery/last_locale

  I:[libfs_mgr]superblock s_max_mnt_count:65535,/dev/block/by-name/cache

  [ ? ?3.551143] EXT4-fs (mmcblk2p10): mounted filesystem with ordered data mode. Opts:

  I:[libfs_mgr]__mount(source=/dev/block/by-name/cache,target=/cache,type=ext4)=0: Success

  Loading make_device from librecovery_ui_ext.so

  W:Failed to read max brightness: No such file or directory

  I:Screensaver disabled

  [ ? ?3.557174] rockchip-dmc dmc: cpu0 policy NULL

  。。。。。。

  [ ? ?7.353879] rockchip-dmc dmc: cpu3 policy NULL

  Rebooting...

  [ ? ?7.396652] rk808 0-0020: reboot: not restore POWER_EN

  [ ? ?7.397046] rockchip-vop2 fe040000.vop: [drm:vop2_crtc_atomic_disable] Crtc atomic disable vp0

  Failed to drmModePageFlip: Device or resource busy

  [ ? ?7.438006] rkisp_hw fdff0000.rkisp: rkisp_hw_shutdown

  [ ? ?7.445380] mpp_rkvdec2 fdf80200.rkvdec: shutdown device

  [ ? ?7.445865] mpp_jpgdec fded0000.jpegd: shutdown device

  [ ? ?7.446320] mpp-iep2 fdef0000.iep: shutdown device

  [ ? ?7.446752] mpp_vepu2 fdee0000.vepu: shutdown device

  [ ? ?7.447216] mpp_vdpu2 fdea0400.vdpu: shutdown device

  libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 123 (recovery), pid 117 (recovery)

  [ ? ?7.448514] mpp_rkvenc fdf40000.rkvenc: shutdown device

  [ ? ?7.448977] mpp_rkvenc fdf40000.rkvenc: shutdown success

  [ ? ?7.449799] rknand_shutdown...

  [ ? ?7.450687] reboot: Restarting system with command 'userrequested,recovery'

  recovery执行完毕,重新启动,开始走正常启动流程

  DDR Version V1.11 20211103

  In

  ddrconfig:0

  LP4 MR14:0x4d

  LPDDR4, 324MHz

  BW=32 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=4096MB

  tdqss: cs0 dqs0: 385ps, dqs1: 289ps, dqs2: 337ps, dqs3: 241ps,

  change to: 324MHz

  PHY drv:clk:38,ca:38,DQ:30,odt:0

  vrefinner:41%, vrefout:41%

  dram drv:40,odt:0

  clk skew:0x58

  。。。。。。

  change to: 1560MHz(final freq)

  PHY drv:clk:38,ca:38,DQ:30,odt:60

  vrefinner:16%, vrefout:29%

  dram drv:40,odt:80

  vref_ca:00000068

  clk skew:0x1d

  cs 0:

  the read training result:

  DQS0:0x31, DQS1:0x30, DQS2:0x32, DQS3:0x29,

  。。。。。。。

  U-Boot 2017.09 #ubuntu (Apr 10 2022 - 22:25:43 +0800)

  Model: Rockchip RK3568 Evaluation Board

  PreSerial: 2, raw, 0xfe660000

  DRAM: ?4 GiB

  Sysmem: init

  Relocation Offset: ed349000

  Relocation fdt: eb9f8a08 - eb9fecd8

  CR: M/C/I

  Using default environment

  dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0

  Bootdev(atags): mmc 0

  MMC0: HS200, 200Mhz

  PartType: EFI

  DM: v1

  boot mode: recovery (misc)

  boot mode: normal

  Android 11.0, Build 2021.8, v2

  Found DTB in boot part

  DTB: rk-kernel.dtb

  ANDROID: Hash OK

  Could not find "system" partition

  Booting IMAGE kernel at 0x00280000 with fdt at 0x0a100000...

  Fdt Ramdisk skip relocation

  ## Booting Android Image at 0x0027f800 ...

  Kernel: 0x00280000 - 0x020c6008 (31001 KiB)

  ramdisk: ? ?0x0a200000 - 0x0a2c8c37 (804 KiB)

  ## Flattened Device Tree blob at 0x0a100000

  Booting using the fdt blob at 0x0a100000

  XIP Kernel Image from 0x00280000 to 0x00280000 ... OK

  kernel loaded at 0x00280000, end = 0x020c6008

  'reserved-memory' linux,cma: addr=10000000 size=800000

  'reserved-memory' ramoops@110000: addr=110000 size=f0000

  Using Device Tree in place at 000000000a100000, end 000000000a12442a

  vp0, plane_mask:0x2a, primary-id:5, curser-id:-1

  vp1, plane_mask:0x15, primary-id:4, curser-id:-1

  vp2, plane_mask:0x0, primary-id:0, curser-id:-1

  Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)

  Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000)

  Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000)

  Total: 2193.283 ms

  Starting kernel ...

  [ ? ?0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]

  [ ? ?0.000000] Linux version 4.19.219 (ubuntu@ubuntu-VirtualBox) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05), GNU ld (Linaro_Binutils-2017.05) 2.27.0.20161019) #9 SMP PREEMPT Sun Apr 10 22:36:11 CST 2022

  [ ? ?0.000000] Machine model: Rockchip RK3568 EVB1 DDR4 V10 Board

  [ ? ?0.000000] earlycon: uart8250 at MMIO32 0x00000000fe660000 (options '')

  [ ? ?0.000000] bootconsole [uart8250] enabled

  [ ? ?0.000000] Reserved memory: created CMA memory pool at 0x0000000010000000, size 8 MiB

  [ ? ?0.000000] CPU features: detected: Speculative Store Bypassing Safe (SSBS)

  [ ? ?0.000000] Built 1 zonelists, mobility grouping on. ?Total pages: 1027656

  [ ? ?0.000000] Kernel command line: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal ?androidboot.dtb_idx=0 androidboot.dtbo_idx=0 ?androidboot.verifiedbootstate=orange androidboot.serialno=a3b1698a32424d64 console=ttyFIQ0 androidboot.baseband=N/A androidboot.wificountrycode=CN androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 androidboot.verifiedbootstate=orange firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 buildvariant=userdebug earlycon=uart8250,mmio32,0xfe660000 androidboot.boot_devices=fe310000.sdhci,fe330000.nandc

  [ ? ?0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)

  [ ? ?0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)

  [ ? ?0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off

  。。。。。。

  [ ? 69.993688] healthd: battery l=50 v=3 t=2.6 h=2 st=3 fc=100 chg=au

  console:/ $

  console:/ $

  console:/ $ ps

  USER ? ? ? ? ? ?PID ? PPID ? ? VSZ ? ?RSS WCHAN ? ? ? ? ? ?ADDR S NAME

  shell ? ? ? ? ? 149 ? ? ?1 10771076 ?2860 sigsuspend ? ? ? ? ?0 S sh

  shell ? ? ? ? ?1971 ? ?149 10773488 ?3260 0 ? ? ? ? ? ? ? ? ? 0 R ps

  console:/ $

  console:/ $ top

  Mem: ?3983888K total, ?1973356K used, ?2010532K free, ?93392896 buffers

  Swap: ?1991940K total, ? ? ? ? 0 used, ?1991940K free, ?1042660K cached

  400%cpu ? 1?? 0%nice ? 2%sys 396%idle ? 0%iow ? 1%irq ? 0%sirq ? 0%host

  PID USER ? ? ? ? PR ?NI VIRT ?RES ?SHR S[%CPU] %MEM ? ? TIME+ ARGS

  2000 shell ? ? ? ?20 ? 0 ?10G 4.4M 3.4M R ?2.6 ? 0.1 ? 0:00.25 top

  .......

  1559 u0_a71 ? ? ? 20 ? 0 ?13G 118M ?78M S ?0.0 ? 3.0 ? 0:01.97 android.process.acore

  ttings

  990 radio ? ? ? ?20 ? 0 ?13G 145M ?96M S ?0.0 ? 3.7 ? 0:09.86 com.android.phone

  968 secure_elem+ 20 ? 0 ?13G 100M ?62M S ?0.0 ? 2.5 ? 0:00.13 com.android.se

  939 u0_a115 ? ? ?20 ? 0 ?13G 226M 148M S ?0.0 ? 5.8 ? 0:06.11 com.android.launcher3

  908 network_sta+ 20 ? 0 ?13G 116M ?77M S ?0.0 ? 2.9 ? 0:00.34 com.android.networkstack.process

  885 webview_zyg+ 20 ? 0 1.6G ?63M ?33M S ?0.0 ? 1.6 ? 0:00.06 webview_zygote

  671 u0_a121 ? ? ?20 ? 0 ?13G 113M ?73M S ?0.0 ? 2.8 ? 0:01.85 com.android.permissioncontroller

  645 u0_a113 ? ? ?20 ? 0 ?14G 257M 168M S ?0.0 ? 6.5 ? 0:10.53 com.android.systemui

  438 system ? ? ? 18 ?-2 ?16G 424M 342M S ?0.0 ?10.9 ? 0:26.43 system_server

  ......

  361 incidentd ? ?20 ? 0 ?10G 4.8M 4.0M S ?0.0 ? 0.1 ? 0:00.03 incidentd

  356 drm ? ? ? ? ?20 ? 0 ?21M 6.3M 5.3M S ?0.0 ? 0.1 ? 0:00.05 drmserver

  351 cameraserver 20 ? 0 ?48M ?18M ?15M S ?0.0 ? 0.4 ? 0:00.38 cameraserver

  350 nobody ? ? ? 20 ? 0 ?10G 3.2M 2.6M S ?0.0 ? 0.0 ? 0:00.01 traced

  349 nobody ? ? ? 20 ? 0 ?10G 3.1M 2.5M S ?0.0 ? 0.0 ? 0:00.02 traced_probes

  347 shell ? ? ? ?20 ? 0 ?10G 5.0M 4.3M S ?0.0 ? 0.1 ? 0:00.07 adbd --root_seclabel=u:r:su:s0

  312 gpu_service ?20 ? 0 ?10G 6.3M 5.2M S ?0.0 ? 0.1 ? 0:00.06 gpuservice

  310 credstore ? ?20 ? 0 ?10G 7.1M 6.1M S ?0.0 ? 0.1 ? 0:00.05 credstore /data/misc/credstore

  309 audioserver ?20 ? 0 ?11G ?21M ?18M S ?0.0 ? 0.5 ? 0:00.58 audioserver

  通过看关键服务 和 APK 特别是launcher apk是否跑起来,可以判断系统是否已经正常跑起来。

  成功开机后,后续开机就不跑recovery 直接跑正常模式了。

  详情请看