Can I use 1GB LPDDR4 to boot up the system?

Which Khadas SBC do you use?

VIM3 pro

Which system do you use? Android, Ubuntu, OOWOW or others?

ubuntu

Which version of system do you use? Khadas official images, self built images, or others?

vim3-ubuntu-20.04-server-linux-4.9-fenix-1.4-221229-emmc

Please describe your issue below:

It look like DRAM training is pass ?!
But OS is hang on Starting kernel…
So, can I use 1GB Low power DRAM(Mxx, Hxx, Sxx [manufacturer] ) to boot up the system?

Post a console log of your issue below:


G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:F;RCY:0;EMMC:0;READ:0;0.
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:20000703
L2:00008067
L3:14000000
B2:00402000
B1:e0f83180

TE: 142780

BL2 Built : 19:23:21, Sep 18 2020. g12b g9fde858 - gongwei.chen@droid11-sz

Board ID = 10
Set A53 clk to 24M
Set A73 clk to 24M
Set clk81 to 24M
A53 clk: 1200 MHz
A73 clk: 1200 MHz
CLK81: 166.6M
smccc: 000276f7
eMMC boot @ 0
sw8 s
board id: 10
Load FIP HDR DDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
Get wrong ddr fw magic! Error!!
fw parse done
PIEI prepare done
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
result: 255
Cfg max: 12, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe

LPDDR4_PHY_V_0_1_22-Built : 14:57:26, Sep  1 2020. g12b g3c95fed - gongwei.chen@droid11-sz
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 12, cur: 2. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of Write leveling coarse delay
INFO : End of read delay center optimization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

soc_vref_reg_value 0x 0000001e 0000001f 0000001e 0000001f 0000001e 00000020 0000001e 0000001f 0000001e 0000001d 0000001d 0000001e 0000001c 0000001e 0000001e 00000020 0000001e 0000001e 0000001d 0000001d 0000001f 0000001d 0000001c 0000001d 0000001f 0000001d 0000001f 0000001e 0000001f 0000001f 0000001f 0000001d dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004 
 dram_vref_reg_value 0x 0000004a
2D training succeed
auto size-- 65535DDR cs0 size: 1024MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 00c0002bDDR size: 1024MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 425
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000ce600, part: 0
0.0;M3 CHK:0;cm4_sp_mode 0

MVN_1=0x00000000

MVN_2=0x00000000

[Image: g12b_v1.1.3390-6ac5299 2019-09-26 14:10:05 luan.yuan@droid15-sz]

OPS=0x10

ring efuse init

chipver efuse init

29 0b 10 00 01 1a 20 00 00 01 37 38 37 50 43 50 

[0.018961 Inits done]

secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:58:17, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast


U-Boot 2015.01 (Dec 29 2022 - 03:32:44)

DRAM:  1 GiB
Relocation Offset is: 36e42000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 0000000037f392b0
aml_i2c_init_port init regs for 0
MCU version: 0x00 0x03
MCU version is to low! Doesn't support froce boot from SD card.
MMC:   aml_priv->desc_buf = 0x0000000033e32a70
aml_priv->desc_buf = 0x0000000033e34db0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x3ff2800
emmc/sd response timeout, cmd55, status=0x3ff2800
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x1, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x12000
[mmc_startup] mmc refix success
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
start dts,buffer=0000000033e37620,dt_addr=0000000033e37620
get_partition_from_dts() 91: ret 0
parts: 3
00:      logo0000000000800000 1
01:   ramdisk0000000002000000 1
02:    rootfsffffffffffffffff 4
init_part() 297: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x6c00000 
In:    serial
Out:   serial
Err:   serial
reboot_mode=cold_boot
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3477: calc db520827, store db520827
_verify_dtb_checksum()-3477: calc db520827, store db520827
dtb_read()-3694: total valid 2
update_old_dtb()-3675: do nothing
aml_i2c_init_port init regs for 0
fusb302_init: Device ID: 0x91
CC connected in 0 as UFP
fusb302 detect chip.port_num = 0
gpio: pin GPIOA_13 (gpio 77) value is 1
gpio: pin GPIOA_13 (gpio 77) value is 0
gpio: pin GPIOA_8 (gpio 72) value is 0

amlkey_init() enter!
[EFUSE_MSG]keynum is 1
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
vpu: vpu_module_init_config
vpp: vpp_init
vpp: vpp osd2 matrix rgb2yuv..............
cvbs: cpuid:0x29
LCD_RESET PIN: 0
lcd: detect mode: tablet, key_valid: 0
lcd: detect lcd_clk_path: 1
lcd: load config from dts
lcd: pinctrl_version: 2
lcd: use panel_type=lcd_0
lcd: bl: pinctrl_version: 2
lcd: bl: name: backlight_pwm, method: 1
lcd: bl: aml_bl_power_ctrl: 0
Net:   dwmac.ff3f0000
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 1
MACADDR:02:00:00:20:1a:01(from chipid)

upgrade_step=2
reboot_mode:::: cold_boot

amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 1
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet

mac address: c8:63:14:73:38:c4
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
edid preferred_mode is 1080p60hz[16]
hdr mode is 0
dv  mode is ver:0  len: 0
hdr10+ mode is 0
edid extension block number : 2
Dump EDID Rawdata
00ffffffffffff000469e52201010101021a010380301b78ea43f5a756539c26
105054afef80714f8180818fb30081409500a9400101023a801871382d40582c
4500dc0c1100001e000000fd00384b1e530f000a202020202020000000fc0056
583232390a20202020202020000000ff0047314c4d52533030323033320a01b4
02031df14a900403011412051f1013230907078301000065030c002000023a80
1871382d40582c4500dc0c1100001e011d8018711c1620582c2500dc0c110000
9e011d007251d01e206e285500dc0c1100001e8c0ad08a20e02d10103e9600dc
0c110000180000000000000000000000000000000000000000000000000000b6
Manufacturer: ACI Model 22e5 Serial Number 16843009
EDID version: 1.3
Established timings supported:
  720x400@70Hz
  640x480@60Hz
  640x480@72Hz
  640x480@75Hz
  800x600@56Hz
  800x600@60Hz
  800x600@72Hz
  800x600@75Hz
  832x624@75Hz
  1024x768@60Hz
  1024x768@70Hz
  1024x768@75Hz
  1280x1024@75Hz
  1152x870@75Hz
Standard timings supported:
  1152x864@75Hz
  1280x1024@60Hz
  1280x1024@75Hz
  1680x1050@60Hz
  1280x960@60Hz
  1440x900@60Hz
  1600x1200@60Hz
Detailed mode (1) : Clock 148 MHz, 476 mm x 268 mm
               1920 2008 2052 2200 hborder 0
               1080 1084 1089 1125 vborder 0
               +hsync +vsync 
Monitor ranges (GTF): 56-75Hz V, 30-83kHz H, max dotclock 150MHz
Monitor name: VX229
Serial number: G1LMRS002032
Has 1 extension blocks
Checksum: 0xb4 (valid)

CEA extension block
Extension version: 3
25 bytes of CEA data
    VIC  16 1920x1080@60Hz (native)
    VIC   4 1280x720@60Hz 
    VIC   3 720x480@60Hz 
    VIC   1 640x480@60Hz 
    VIC  20 1920x1080i@50Hz 
    VIC  18 720x576@50Hz 
    VIC   5 1920x1080i@60Hz 
    VIC  31 1920x1080@50Hz 
    VIC  16 1920x1080@60Hz 
    VIC  19 1280x720@50Hz 
    Linear PCM, max channels 2
  Vendor-specific data block, OUI 000c03 (HDMI)
Detailed mode (1) : Clock 148 MHz, 476 mm x 268 mm
               1920 2008 2052 2200 hborder 0
               1080 1084 1089 1125 vborder 0
               +hsync +vsync 
Detailed mode (1) : Clock 74 MHz, 476 mm x 268 mm
               1920 2008 2052 2200 hborder 0
                540  542  547  562 vborder 0
               +hsync +vsync interlaced 
Detailed mode (1) : Clock 74 MHz, 476 mm x 268 mm
               1280 1390 1430 1650 hborder 0
                720  725  730  750 vborder 0
               +hsync +vsync 
Detailed mode (1) : Clock 27 MHz, 476 mm x 268 mm
                720  736  798  858 hborder 0
                480  489  495  525 vborder 0
               -hsync -vsync 
Checksum: 0xb6 (valid)

khadas_support_mode 1080p60hz
bestmode is 1080p60hz, IEEEOUI 0x000c03
HDMI Mode
hpd_state=1
[OSD]load fb addr from dts:/meson-fb
[OSD]set initrd_high: 0x7f800000
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff01fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=5760, height=2160
card out
** Bad device mmc 0 **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
1080138 bytes read in 47 ms (21.9 MiB/s)
[OSD]osd_hw.free_dst_data: 0,1919,0,1079
[OSD]osd1_update_disp_freescale_enable
cvbs: outputmode[1080p60hz] is invalid
vpp: vpp_matrix_update: 2
set hdmitx VIC = 16
config HPLL = 5940000 frac_rate = 1
HPLL: 0x3b3a04f7
HPLL: 0x1b3a04f7
HPLLv1: 0xdb3a04f7
config HPLL done
j = 6  vid_clk_div = 1
hdmitx: set enc for VIC: 16
hdmitx phy setting done
enc_vpu_bridge_reset[1312]
rx version is 1.4 or below  div=10
vpp: Rx hdr_info.hdr_sup_eotf_smpte_st_2084 = 0

amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 1
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet

mac address: c8:63:14:73:38:c4
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
gpio: pin GPIOAO_7 (gpio 7) value is 1
saradc: 0x34d, hw_ver: 0x34 (VIM3.V14)
Product checking: pass! Hardware version: VIM3.V14
normal power on
boot wol: disable
port mode is usb3.0
Hit Enter or space or Ctrl+C key to stop autoboot -- :  1  0 
pll tsensor avg: 0x1f31, u_efuse: 0x80d7
temp1: 29
ddr tsensor avg: 0x1f3e, u_efuse: 0x806b
temp2: 31
device cool done
cfgload: start ...
cfgload: reading /boot.ini from mmc 0:1 ...
card out
** Bad device mmc 0 **
cfgload: no /boot.ini or empty file on mmc 0:1
cfgload: reading /boot/boot.ini from mmc 0:1 ...
card out
** Bad device mmc 0 **
cfgload: no /boot/boot.ini or empty file on mmc 0:1
cfgload: reading /boot.ini from mmc 1:1 ...
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
cfgload: no /boot.ini or empty file on mmc 1:1
cfgload: reading /boot/boot.ini from mmc 1:1 ...
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
cfgload: no /boot/boot.ini or empty file on mmc 1:1
cfgload: reading /boot/boot.ini from mmc 1:5 ...
10279 bytes read in 5 ms (2 MiB/s)
cfgload: applying boot.ini...
[#] Script a:33e39010 l:10259 c:0 s:0 - run
Starting boot.ini...
saradc: 0x34c, hw_ver: 0x34 (VIM3.V14)

mac address: c8:63:14:73:38:c4
uboot type: vendor
Scanning mmc 0:1...
card out
** Bad device mmc 0 **
Scanning mmc 0:5...
card out
** Bad device mmc 0 **
Scanning mmc 1:1...
** Unrecognized filesystem type **
Scanning mmc 1:5...
9160467 bytes read in 266 ms (32.8 MiB/s)
29245952 bytes read in 829 ms (33.6 MiB/s)
90241 bytes read in 9 ms (9.6 MiB/s)
4561 bytes read in 5 ms (890.6 KiB/s)
Import env.txt
Can not get u-boot part UUID, set to NULL
Booting legacy kernel...
port mode is usb3.0
Apply dtbo uart3
225 bytes read in 9 ms (24.4 KiB/s)
Apply dtbo pwm_f
345 bytes read in 9 ms (37.1 KiB/s)
Apply dtbo i2c3
223 bytes read in 7 ms (30.3 KiB/s)
Apply dtbo i2s
3330 bytes read in 8 ms (406.3 KiB/s)
Apply dtbo os08a10
1072 bytes read in 9 ms (116.2 KiB/s)
Apply dtbo watchdog
222 bytes read in 10 ms (21.5 KiB/s)
HDMI: Autodetect: 1080p60hz
## Loading init Ramdisk from Legacy Image at 13000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (uncompressed)
   Data Size:    9160403 Bytes = 8.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
load dtb from 0x1000000 ......
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
   reserving fdt memory region: addr=1000000 size=17000
   Loading Ramdisk to 33573000, end 33e2f6d3 ... OK
   Loading Device Tree to 000000001ffe6000, end 000000001fffffff ... OK

Starting kernel ...

uboot time: 5359570 us

No, you can’t. Current firmware is optimized for current DDR.

Hi Khadas

Got it.
Thank you for your reply!!