VIM3/VIM3L AOSP Android 14.0 Upside Down Cake

Pls updat the branch name in your site as

repo init -u BayLibre / amlogic / Android TV / aosp / kernel / manifest · GitLab -b yukawa-android14-6.1

@xiong.zhang I build kernel;

mkdir ~/Projects/khadas-kernel/ && cd $_
repo init -u https://gitlab.baylibre.com/baylibre/amlogic/atv/aosp/kernel/manifest.git -b yukawa-android14-6.1
repo sync -c -j16

cd ~/Projects/khadas-kernel/
export DIST_DIR=~/Projects/khadas-aosp-14/device/amlogic/yukawa-kernel/6.1
tools/bazel run //yukawa-device:yukawa_dist -- --dist_dir=$DIST_DIR

cd ~/Projects/khadas-aosp-14/
source build/envsetup.sh && lunch yukawa-user/yukawa-userdebug
make bootimage vendorimage

~/Projects/khadas-aosp-14/out/target/product/yukawa$ fastboot flash boot boot.img
< waiting for any device >
Sending 'boot_a' (65536 KB)                        OKAY [  3.407s]
Writing 'boot_a'                                   OKAY [  1.987s]
Finished. Total time: 5.413s

~/Projects/khadas-aosp-14/out/target/product/yukawa$ fastboot flash vendor vendor.img
Sending 'vendor' (158672 KB)                       OKAY [  8.318s]
Writing 'vendor'                                   FAILED (remote: 'invalid partition or device')
fastboot: error: Command failed


It gives coul not fnd the mmc vendor partition.


These are the serial debug of device

Starting download of 67108864 bytes                                                                                            
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
....................................................................                                                           
downloading of 67108864 bytes finished                                                                                         
Flashing Raw Image                                                                                                             
........ wrote 67108864 bytes to 'boot_a'                                                                                      
** Bad device specification mmc vendor_a **                                                                                    
** Bad device specification mmc vendor_a **                                                                                    
Couldn't find partition mmc vendor_a                                                                                           
** Bad device specification mmc vendor **                                                                                      
** Bad device specification mmc vendor **                                                                                      
Couldn't find partition mmc vendor                                                                                             
Starting download of 162480128 bytes                                                                                           
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
..........................................................................                                                     
.......................................................                                                                        
downloading of 162480128 bytes finished                                                                                        
** Bad device specification mmc vendor **                                                                                      
** Bad device specification mmc vendor **                                                                                      
Couldn't find partition mmc vendor

source build/envsetup.sh && lunch yukawa-userdebug

@xiong.zhang , it gives
~/Projects/khadas-aosp-14$ lunch yukawa-userdebug
Invalid lunch combo: yukawa-userdebug
Valid combos must be of the form -- when using
the legacy format. Run ‘lunch --help’ for usage.

At your previous messages it says;

  • VIM3
source build/envsetup.sh && lunch yukawa-trunk_staging-userdebug

At Projects/khadas-aosp-14/device/amlogic/yukawa/AndroidProducts.mk ;
COMMON_LUNCH_CHOICES :=
yukawa-trunk_staging-userdebug

@xiong.zhang

When I press F 3 times to set the device for fastboot mode,
I am always getting this message;

~/Projects/khadas-aosp-14/out/host/linux-x86/bin$ /home/beko/Projects/khadas-aosp-14/out/host/linux-x86/bin/fastboot device -l

< waiting for any device >

Then I checked the dev,ce is detected or not;

/Projects/khadas-aosp-14/out/host/linux-x86/bin$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 014: ID 1b8e:c003 Amlogic, Inc. GX-CHIP
Bus 001 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 0bda:b85b Realtek Semiconductor Corp. Bluetooth Radio
Bus 001 Device 002: ID 0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I also define new udev rule as;
SUBSYSTEM==“usb”, TAG+=“uaccess”, ATTR{idVendor}==“1b8e”, ATTR{idProduct}==“c003”, MODE:=“0660”

And also change the usb port but nothing changed.

How can I solve this problem. I can not run board now.

The board debug output is

bl31 reboot reason: 0xd
bl31 reboot reason: 0x0
system cmd 1.
G12B:BL:6e7c85:2a3b91;FEAT:E0F83180:402000;POC:F;RCY:0;EMMC:0;READ:0;CHK:1F;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: 204910

BL2 Built : 16:01:39, May 25 2020. g12b gb6bfa83 - gongwei.chen@droid11-sz

Board ID = 6
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: 00036953
eMMC boot @ 1
sw8 s
board id: 6
Load FIP HDR DDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 1
Get wrong ddr fw magic! Error!!
fw parse done
PIEI prepare done
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 : 16:01:44, May 25 2020. g12b gb6bfa83 - gongwei.chen@droid11-sz
ddr clk to 1608MHz
00000000
emmc switch 1 ok

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 00000025 00000027 00000027 00000027 00000026 00000028 00000026 00000027 00000026 00000029 00000027 00
dram_vref_reg_value 0x 00000015
2D training succeed
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 2048MB
DMC_DDR_CTRL: 00e00024DDR size: 3928MB
cs0 DataBus test pass
cs1 DataBus test pass
cs0 AddrBus test pass
cs1 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 1 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 1
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000c0c00, part: 1
0.0;M3 CHK:0;cm4_sp_mode 0
[Image: g12b_v1.1.3394-7d43064d5 2020-05-07 15:37:11 gongwei.chen@droid11-sz]
OPS=0x10
ring efuse init
chipver efuse init
29 0b 10 00 01 07 0d 00 00 08 31 36 39 4e 4e 50
[0.929997 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE: BL31: v1.3(release):d9e1bbe85
NOTICE: BL31: Built : 19:07:43, Sep 7 2020
NOTICE: BL31: G12A normal boot!
NOTICE: BL31: BL33 decompress pass
ERROR: Error initializing runtime service opteed_fast

<debug_uart>

U-Boot 2024.01-rc1-18687-g1aa26a76a4e7 (Feb 15 2024 - 18:39:08 +0100) khadas-vim3

Model: Khadas VIM3
SoC: Amlogic Meson G12B (A311D) Revision 29:b (10:2)
DRAM: 2 GiB (effective 3.8 GiB)
Core: 410 devices, 36 uclasses, devicetree: separate
MMC: sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from MMC… *** Warning - bad CRC, using default environment

In: usbkbd,serial
Out: vidconsole,serial
Err: vidconsole,serial
Net: eth0: ethernet@ff3f0000
Hit any key to stop autoboot: 0
Verify GPT: success!
dev: pinctrl@14
dev: pinctrl@40
gpio: pin 88 (gpio 88) value is 1
BCB: Recovery boot…
Running Recovery…
switch to partitions #0, OK
mmc2(part 0) is current device
misc partition number:0x2
ANDROID: Booting slot: a
A/B cmdline addition: androidboot.slot_suffix=_a
Running without AVB…

MMC read: dev # 2, block # 41984, count 131072 … 131072 blocks read: OK
mmc - MMC sub system

Usage:
mmc info - display info of the current MMC device
mmc read addr blk# cnt
mmc write addr blk# cnt
mmc erase blk# cnt
mmc rescan [mode]
mmc part - lists available partition on current mmc device
mmc dev [dev] [part] [mode] - show or set current mmc device [partition] and set mode

  • the required speed mode is passed as the index from the following list
    [MMC_LEGACY, MMC_HS, SD_HS, MMC_HS_52, MMC_DDR_52, UHS_SDR12, UHS_SDR25,
    UHS_SDR50, UHS_DDR50, UHS_SDR104, MMC_HS_200, MMC_HS_400, MMC_HS_400_ES]
    mmc list - lists available devices
    mmc wp [PART] - power on write protect boot partitions
    arguments:
    PART - [0|1]
    : 0 - first boot partition, 1 - second boot partition
    if not assigned, write protect all boot partitions
    mmc hwpartition - does hardware partitioning
    arguments (sizes in 512-byte blocks):
    USER - <{on|off}>
    : sets user data area attributes
    GP - <{gp1|gp2|gp3|gp4}> <{on|off}>
    : general purpose partition
    MODE - <{check|set|complete}>
    : mode, complete set partitioning completed
    WARNING: Partitioning is a write-once setting once it is set to complete.
    Power cycling is required to initialize partitions after set to complete.
    mmc setdsr - set DSR register value

Failed to boot Android…
resetting …
bl31 reboot reason: 0xd
bl31 reboot reason: 0x0
system cmd 1.

@xiong.zhang
I also got this issue at Rebuilding All Associated Android Images when building kernel

$ source build/envsetup.sh && lunch yukawa-userdebug
Invalid lunch combo: yukawa-userdebug
Valid combos must be of the form -- when using
the legacy format. Run ‘lunch --help’ for usage.

Is this a typo - “yukawa-userdebug” ?or something wrong within the code??
And I wonder that do I need to build kernel and bootloader to boot device? Or just build the android part? It seems all images are there after building android.

Hello Xiong,
Flashing of the android images from the AOSP workspace caused the error of Android boot failed, error -22 , as most of them are getting.
As a next step I build the kernel and flashed the boot.img and vendor.img.
Post this VIM3 board is looping into the kernel boot. Image attached below,

By the way, do we need to flash only the boot.img and vendor.img or need to flash all remaining images?

Any support is appreaciated.

Regards
Bhushan