As stated, our VIM3 is no longer booting into Linux correctly. For a while, it was working normally while using the SD card with the EMMC empty and unused. However, I attempted to use the EMMC as additional file storage and upon rebooting I am having memory issues. It seems the DMA memory pool is not being initialized, and I am seeing a line which suggests the DDR size is 0. When I cat /proc/iomem in Linux I also see all options are allocated to 00000000 - 00000000.
I have exhausted many options trying to recover the board, such as completely erasing the EMMC, using official images for both EMMC and SD card, changing power supplies, SD cards, etc. It is worth noting I had created a partition on the /dev/mmcblk0 device which I assumed was the EMMC as it had 14+ GB of space available, and believe this has broken something. I also have tried Krescue on an SD card to erase everything and flash a raw EMMC image on the board but to no avail. I also tried some of the uboot commands such as store erase, init and many others. The only thing I have noticed is that with Krescue when I cat /proc/iomem, devices do seem to be allocated the correct addresses. I have not tried Krescue flashed directly onto EMMC however.
I have attached a log of a full boot with this official image: vim3-ubuntu-20.04-server-linux-4.9-fenix-1.4-221229-emmc.img.xz
This was after using Krescue to erase SPI flash and EMMC flash, supposedly fully. I would like to get the board functioning again, but at this point have no clue how to proceed. Are there any additional things I can try to reset the board to a complete factory default?
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: 236675
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: 0003e5be
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 0000002b 00000029 00000027 00000028 00000028 00000028 00000027 00000026 00000029 00000028 00000028 00000028 00000028 00000027 00000028 00000027 00000025 00000026 00000025 00000025 00000026 00000026 00000027 00000027 00000025 00000026 00000025 00000025 00000026 00000027 00000025 00000027 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004
dram_vref_reg_value 0x 00000013
2D training succeed
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 00c0002cDDR size: 2048MB
cs0 DataBus test pass
cs0 AddrBus test pass
non-sec scramble use zero key
ddr scramble enabled
100bdlr_step_size ps== 437
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 1f 17 00 00 04 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: 2 GiB
Relocation Offset is: 76e42000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 0000000077f392b0
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 = 0x0000000073e32a70
aml_priv->desc_buf = 0x0000000073e34db0
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=0000000073e37620,dt_addr=0000000073e37620
get_partition_from_dts() 91: ret 0
parts: 3
00: logo 0000000000800000 1
01: ramdisk 0000000002000000 1
02: rootfs ffffffffffffffff 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 e85c090e, store e85c090e
_verify_dtb_checksum()-3477: calc e85c090e, store e85c090e
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:17:1f: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:44:51
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
edid preferred_mode is <NULL>[0]
hdr mode is 0
dv mode is ver:0 len: 0
hdr10+ mode is 0
HDMI cable is NOT connected
hpd_state=0
[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 48 ms (21.5 MiB/s)
[OSD]osd_hw.free_dst_data: 0,1079,0,1919
[OSD]osd1_update_disp_freescale_enable
cvbs: outputmode[panel] is invalid
hdmitx: outputmode[panel] is invalid
vpp: vpp_matrix_update: 0
vpp: g12a/b post2(bit12) matrix: YUV limit -> RGB ..............
lcd: enable: TS050, mipi, 1080x1920@55.0Hz
lcd: tablet driver init(ver 20180718): mipi
lcd: lcd_pll_wait_lock: pll_lock=1, wait_loop=1
vpp: vpp_init_lcd_gamma_table
lcd: pixel_clk = 120.000MHz, bit_rate = 960.000MHz, lanebyteclk = 120.000MHz
lcd: Waiting STOP STATE LANE
lcd: dsi init on
lcd: bl: set level: 100, last level: 0
lcd: bl: aml_bl_power_ctrl: 1
lcd: clear mute
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:44:51
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
gpio: pin GPIOAO_7 (gpio 7) value is 1
saradc: 0x34c, 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 -- : 0
pll tsensor avg: 0x1f95, u_efuse: 0x8085
temp1: 33
ddr tsensor avg: 0x1fa4, u_efuse: 0x802a
temp2: 35
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 4 ms (2.4 MiB/s)
cfgload: applying boot.ini...
[#] Script a:73e39010 l:10259 c:0 s:0 - run
Starting boot.ini...
saradc: 0x34c, hw_ver: 0x34 (VIM3.V14)
mac address: c8:63:14:73:44:51
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 264 ms (33.1 MiB/s)
29245952 bytes read in 827 ms (33.7 MiB/s)
90241 bytes read in 10 ms (8.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 73573000, end 73e2f6d3 ... OK
Loading Device Tree to 000000001ffe6000, end 000000001fffffff ... OK
Starting kernel ...
uboot time: 5450653 us
[ 0.358230@3] codec_mm_module_init
[ 0.364984@3] clkmsr ffd18004.meson_clk_msr: failed to get msr ring reg0
[ 0.541012@3] dmi: Firmware registration failed.
[ 0.544972@3] lcd: error: failed to get null
[ 0.544993@3] lcd: error: Out of clock range, reset to default setting
[ 0.545077@3] lcd: error: lcd_debug_info_if is null
[ 0.983556@2] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.004893@2] meson_cpufreq_init:don't find the node <dynamic_gp1_clk>
[ 1.006722@2] meson_cpufreq_init:don't find the node <dynamic_gp1_clk>
[ 1.008491@2] ff803000.serial: clock gate not found
[ 1.063167@2] meson-remote ff808040.rc: don't find the node <led_blink>
[ 1.064212@2] meson-remote ff808040.rc: don't find the node <led_blink_frq>
[ 1.071770@2] efuse efuse: open efuse clk gate error!!
[ 1.083135@2] fb: failed to init reserved memory
[ 1.111193@2] meson-fb meson-fb: create ion_client ffffffc073a62240, handle=ffffffc073a61580
[ 1.111197@2] meson-fb meson-fb: ion memory(0): created fb at 0x000000006b400000, size 75 MiB
[ 6.267849@0] di_get_vpu_clkb: get clk vpu error.
[ 6.269104@0] get fclk_div5 err
[ 6.270071@0] vdin_drv_probe: vdin cannot get msr clk !!!
[ 6.275902@0] get fclk_div5 err
[ 6.278610@0] vdin_drv_probe: vdin cannot get msr clk !!!
[ 6.287145@0] amlvideo2 probe called
[ 6.287701@0] amlvideo2 probe called
[ 6.291676@0] Reserved memory: failed to init DMA memory pool at 0x0000000075800000, size 0 MiB
[ 6.304133@2] meson-mmc: >>>>>>>>hostbase ffffff80088f3000, dmode
[ 6.360846@0] meson-mmc: >>>>>>>>hostbase ffffff80088fc000, dmode
[ 6.402620@0] meson-mmc: >>>>>>>>hostbase ffffff8008b0a000, dmode
[ 6.404956@0] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 6.414435@0] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 6.421519@0] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 6.428764@0] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 6.432028@0] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 6.443000@1] cectx ff80023c.aocec: cec driver date:2019/6/13:early suspend not report pw status
[ 6.443000@1]
[ 6.449977@1] cectx ff80023c.aocec: compatible:amlogic, aocec-g12a
[ 6.455698@1] cectx ff80023c.aocec: cecb_ver:0x1
[ 6.460290@1] cectx ff80023c.aocec: line_reg:0x1
[ 6.464913@2] cectx ff80023c.aocec: line_bit:0x3
[ 6.469466@2] cectx ff80023c.aocec: ee_to_ao:0x1
[ 6.474350@2] cectx ff80023c.aocec: not find 'port_num'
[ 6.479386@2] cectx ff80023c.aocec: using cec:1
[ 6.483788@2] cectx ff80023c.aocec: no hdmirx regs
[ 6.488524@2] cectx ff80023c.aocec: no hhi regs
[ 6.493033@2] cectx ff80023c.aocec: not find 'output'
[ 6.499511@2] cectx ff80023c.aocec: irq cnt:2
[ 6.502520@2] cectx ff80023c.aocec: wakeup_reason:0x0
[ 6.507470@2] cectx ff80023c.aocec: cev val1: 0x0;val2: 0x0
[ 6.512964@2] cectx ff80023c.aocec: aml_cec_probe success end
[ 6.963677@2] defendkey ff630218.defendkey: Reserved memory is not enough!
[ 7.177663@2] asoc-aml-card auge_sound: control 2:0:0:I2SIn CLK:0 is already present
[ 7.179757@2] snd_tdm ff642000.audiobus:tdma: ASoC: Failed to add I2SIn CLK: -16
[ 7.187131@2] aml_dai_tdm_probe, failed add snd tdm controls
[ 7.192771@2] asoc-aml-card auge_sound: control 2:0:0:I2SIn CLK:0 is already present
[ 7.200485@2] snd_tdm ff642000.audiobus:tdmc: ASoC: Failed to add I2SIn CLK: -16
[ 7.207850@2] aml_dai_tdm_probe, failed add snd tdm controls
[ 7.577766@2] edt_ft5x06 3-0038: touchscreen probe failed
[ 7.583322@3] rtc-hym8563 4-0051: hctosys: unable to read the hardware clock
[ 7.703361@3] thermal thermal_zone0: binding zone soc_thermal with cdev thermal-cpufreq-0 failed:-22
[ 7.706925@3] thermal thermal_zone0: binding zo~SELinux: Could not open policy file <= /etc/selinux/targeted/policy/policy.32: No such file or directory
[ 17.657929@1] cgroup: cgroup2: unknown option "nsdelegate"
[ 18.682753@0] meson-mmc: sdio: resp_timeout,vstat:0x9dff0800,virqc:3fff
[ 18.683727@0] meson-mmc: sdio: err: wait for desc write back, bus_fsm:0x7
[ 18.691508@0] meson-mmc: sdio: resp_timeout,vstat:0xa1ff2800,virqc:3fff
[ 18.697073@0] meson-mmc: sdio: err: wait for irq service, bus_fsm:0x8
[ 18.708022@0] meson-mmc: sdio: resp_timeout,vstat:0x9dff0800,virqc:3fff
[ 18.710073@0] meson-mmc: sdio: err: wait for desc write back, bus_fsm:0x7
[ 18.865200@2] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 18.886227@2] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 19.217468@3] No find node.
[ 19.291285@5] Amlogic A/V streaming port init
[ 19.458592@4] iq name from dts config is ----> os08a10
[ 19.477075@0] config sensor os08a10 driver.
[ 19.482865@4] pwr_enable: get_named_gpio power-enable fail
[ 19.482866@4] set power fail
[ 19.503432@0] arm_sensor_i2c_probe: start to probe
[ 19.504253@0] system_i2c_init:success to add i2c driver
[ 19.511806@4] system_i2c_read:failed to read reg data: rc -6, saddr 0x36
[ 19.516376@4] system_i2c_read:failed to read reg data: rc -6, saddr 0x36
[ 19.522358@4] system_i2c_read:failed to read reg data: rc -6, saddr 0x36
[ 19.552765@5] system_i2c_read:failed to read reg data: rc -6, saddr 0x36
[ 19.552906@5] system_i2c_read:failed to read reg data: rc -6, saddr 0x36
[ 19.553039@5] system_i2c_read:failed to read reg data: rc -6, saddr 0x36
[ 19.720472@2] meson-fb meson-fb: create ion_client ffffffc073a62240, handle=ffffffc014e05f80
[ 19.723467@2] meson-fb meson-fb: ion memory(1): created fb at 0x0000000070000000, size 1 MiB
[ 20.763441@2] meson-fb meson-fb: create ion_client ffffffc073a62240, handle=ffffffc014e05840
[ 20.766256@2] meson-fb meson-fb: ion memory(2): created fb at 0x0000000070100000, size 1 MiB
[ 21.789681@2] meson-fb meson-fb: create ion_client ffffffc073a62240, handle=ffffffc014e05580
[ 21.792468@2] meson-fb meson-fb: ion memory(3): created fb at 0x0000000070200000, size 8 MiB
[ 22.912268@3] meson-remote ff808040.rc: remote_ioctl invalid user space pointer
[ 24.784256@1] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 24.807743@0] meson-mmc: Tuning transfer error: nmatch=0 tuning_err:0xffffffac
[ 25.122991@0] CONFIG-ERROR) dhd_conf_set_intiovar: txbf setting failed -23
Ubuntu 20.04.5 LTS Khadas ttyS0
Khadas login: