Spaces:
Sleeping
Sleeping
Ticket Name: TDA2SA: tda2xx uboot can't load kernel image | |
Query Text: | |
Part Number: TDA2SA Hi, I am working on my custom board tda2xx and try booting from emmc. I refer to http://processors.wiki.ti.com/index.php?title=Processor_SDK_Linux_Automotive_Software_Developers_Guide#Using_eMMC_Boot and do all should be setting. After switch boot mode to emmc boot, I got the error message that can't get the kernel image: Booting from eMMC ... Wrong Image Format for bootm command ERROR: can't get kernel image! => There some problem I had found: 1. It can't boot uboot (no logs) often. I often reset power many times to get success boot uboot. 2. My custom board PMICs are not connected to SOC and it can't fix right now. 3. The bootpart have changed to 0:2 not 1:2 I had set in uboot. Is it right? Please help to boot from emmc. Thanks. Terry | |
Responses: | |
I use VSDK3.07. attach boot log 7206.uboot.txt U-Boot SPL 2016.05 (Oct 21 2019 - 21:04:35) | |
DRA752-GP ES2.0 | |
Trying to boot from MMC2_2 | |
reading single-stage-boot.dtb | |
spl_load_image_fat_os: error reading image single-stage-boot.dtb, err - -1 | |
reading u-boot.img | |
reading u-boot.img | |
U-Boot 2016.05 (Oct 21 2019 - 21:04:35 +0800) | |
CPU : DRA752-GP ES2.0 | |
Board: D3 TDA2x | |
I2C: ready | |
DRAM: i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
2 GiB | |
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
** Bad device mmc 0 ** | |
Using default environment | |
i2c_write: pads on bus probably not configured (status=0x10) | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not turn CLK32KGAUDIO on: err = 2 | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
Unable to read Board-ID | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
Unable to read Baseboard-ID | |
i2c_probe: pads on bus probably not configured (status=0x10) | |
Unable to read Expansion-ID | |
SCSI: 0 device not found | |
ERROR: scsi device not found | |
at drivers/block/disk-uclass.c:43/scsi_init() | |
Net: <ethaddr> not set. Validating first E-fuse MAC | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
Could not get PHY for cpsw: addr 2 | |
cpsw | |
Hit any key to stop autoboot: 0 | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
Tuning failed, dropping HS200 mode. | |
dropping DDR52 mode. | |
switch to partitions #0, OK | |
mmc1(part 0) is current device | |
Tuning failed, dropping HS200 mode. | |
dropping DDR52 mode. | |
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 | |
mmc part - lists available partition on current mmc device | |
mmc dev [dev] [part] - show or set current mmc device [partition] | |
mmc list - lists available devices | |
mmc hwpartition [args...] - does hardware partitioning | |
arguments (sizes in 512-byte blocks): | |
[user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes | |
[gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition | |
[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 bootbus dev boot_bus_width reset_boot_bus_width boot_mode | |
- Set the BOOT_BUS_WIDTH field of the specified device | |
mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB> | |
- Change sizes of boot and RPMB partitions of specified device | |
mmc partconf dev boot_ack boot_partition partition_access | |
- Change the bits of the PARTITION_CONFIG field of the specified device | |
mmc rst-function dev value | |
- Change the RST_n_FUNCTION field of the specified device | |
WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. | |
mmc setdsr <value> - set DSR register value | |
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 | |
mmc part - lists available partition on current mmc device | |
mmc dev [dev] [part] - show or set current mmc device [partition] | |
mmc list - lists available devices | |
mmc hwpartition [args...] - does hardware partitioning | |
arguments (sizes in 512-byte blocks): | |
[user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes | |
[gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition | |
[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 bootbus dev boot_bus_width reset_boot_bus_width boot_mode | |
- Set the BOOT_BUS_WIDTH field of the specified device | |
mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB> | |
- Change sizes of boot and RPMB partitions of specified device | |
mmc partconf dev boot_ack boot_partition partition_access | |
- Change the bits of the PARTITION_CONFIG field of the specified device | |
mmc rst-function dev value | |
- Change the RST_n_FUNCTION field of the specified device | |
WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. | |
mmc setdsr <value> - set DSR register value | |
Booting from eMMC ... | |
Wrong Image Format for bootm command | |
ERROR: can't get kernel image! | |
=> printenv | |
arch=arm | |
args_fit=setenv bootargs console=${console} | |
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype} | |
baseboard_name=unknown_baseboard | |
baseboard_rev=unknown | |
baudrate=115200 | |
board=tda2x | |
board_findfdt=if test $board_name = tda2eco; then setenv fdtfile d3-tda2ex-fpd4ch.dtb; fi;if test $board_name = tda2eco_tda2x; then setenv fdtfile d3-tda2x-fpd4ch.dtb; fi;if test $baseboard_name = tda2xde_fpd8ch; then setenv fdtfile d3-tda2x-fpd8ch.dtb; fi;if test $fdtfile = undefined; then setenv fdtfile d3-tda2eco-som.dtb; fi; | |
board_name=unknown_board | |
board_rev=unknown | |
boot_fdt=try | |
boot_fit=0 | |
boot_os=0 | |
boot_part=9 | |
bootargs=androidboot.serialno=0400e0174aba8802 | |
bootcmd=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot ...;setenv dofastboot 0; saveenv;echo Booting into fastboot ...; fastboot 0; fi;if test ${boot_fit} -eq 1; then run update_to_fit;fi;run findfdt; run envboot; run mmcboot;run emmc_android_boot; | |
bootdelay=2 | |
bootdir=/boot | |
bootenvfile=uEnv.txt | |
bootfile=zImage | |
bootm_size=0x10000000 | |
bootpart=0:2 | |
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr} | |
console=ttyO0,115200n8 | |
cpu=armv7 | |
dofastboot=0 | |
emmc_android_boot=setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; setenv fdt_part 3; setenv boot_part 9; if test $reboot_image = recovery; then setenv boot_part 8; setenv reboot_image boot; saveenv; fi;setenv machid fe6; mmc dev $mmcdev; mmc rescan; part start mmc ${mmcdev} ${fdt_part} fdt_start; part size mmc ${mmcdev} ${fdt_part} fdt_size; part start mmc ${mmcdev} ${boot_part} boot_start; part size mmc ${mmcdev} ${boot_part} boot_size; mmc read ${fdtaddr} ${fdt_start} ${fdt_size}; mmc read ${loadaddr} ${boot_start} ${boot_size}; echo Booting from eMMC ...; bootm $loadaddr $loadaddr $fdtaddr; | |
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi; | |
eth1addr=90:9a:77:8d:af:a5 | |
ethact=cpsw | |
ethaddr=90:9a:77:8d:af:a4 | |
eval_bootargs=setenv bootargs androidboot.serialno=${serial#} | |
expansion_name=unknown_expansion | |
fdt_addr_r=0x88000000 | |
fdt_part=3 | |
fdtaddr=0x88000000 | |
fdtfile=d3-tda2eco-som.dtb | |
findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfile dra7-evm.dtb; fi;if test $board_name = dra72x-revc; then setenv fdtfile dra72-evm-revc.dtb; fi;if test $board_name = dra72x; then setenv fdtfile dra72-evm.dtb; fi;if test $board_name = dra71x; then setenv fdtfile dra71-evm.dtb; fi;if test $board_name = dra76x; then setenv fdtfile dra76-evm.dtb; fi;if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = beagle_x15_revb1; then setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;if test $board_name = am57xx_evm; then setenv fdtfile am57xx-evm.dtb; fi;if test $board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-evm-reva3.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = no; then setenv fdtfile am572x-idk.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am572x-idk-lcd-osd.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am572x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = no; then setenv fdtfile am571x-idk.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am571x-idk-lcd-osd.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am571x-idk-lcd-osd101t2587.dtb; fi;if test $board_findfdt != undefined; then run board_findfdt; fi;if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi; | |
finduuid=part uuid mmc ${bootpart} uuid | |
fit_bootfile=fitImage.itb | |
fit_loadaddr=0x88000000 | |
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize} | |
kernel_addr_r=0x82000000 | |
loadaddr=0x82000000 | |
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile} | |
loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr | |
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile} | |
loadfit=run args_fit; bootm ${loadaddr}#${fdtfile}; | |
loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile} | |
machid=fe6 | |
mmcboot=if mmc dev ${mmcdev}; then setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then run loadfdt; echo Booting from mmc${mmcdev} ...; run args_mmc; bootz ${loadaddr} - ${fdtaddr}; fi; fi; fi; | |
mmcdev=1 | |
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; | |
mmcrootfstype=ext4 rootwait | |
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp | |
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr} | |
netloadfdt=tftp ${fdtaddr} ${fdtfile} | |
netloadimage=tftp ${loadaddr} ${bootfile} | |
nfsopts=nolock | |
partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs} | |
pxefile_addr_r=0x80100000 | |
ramdisk_addr_r=0x88080000 | |
rdaddr=0x88080000 | |
reboot_image=boot | |
rootpath=/export/rootfs | |
scriptaddr=0x80000000 | |
serial#=0400e0174aba8802 | |
soc=omap5 | |
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off | |
stderr=serial | |
stdin=serial | |
stdout=serial | |
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile} | |
usbtty=cdc_acm | |
vendor=d3 | |
ver=U-Boot 2016.05 (Oct 21 2019 - 21:04:35 +0800) | |
vram=16M | |
Environment size: 6097/65532 bytes | |
=> | |
Hi, Before I answer the question. Have you got the Processor SDK Linux booting from the emmc device? Have you ported the u-boot for your custom board? Did you modify the boot command for the right device that is enumerated as emmc? I see lot of i2c errors, mmc errors, etc. You need to fix them first before going ahead. Regards, Nikhil D | |
Hi Nikhil D, Anser your question below: Have you got the Processor SDK Linux booting from the emmc device? NO. I use PROCESSOR-SDK-VISION 3.07 and it can boot linux from SD card on my custom board after some code modified. We want to boot from emmc so that would be a product. I refer to some threads : https://e2e.ti.com/support/processors/f/791/t/802605?tisearch=e2e-sitesearch&keymatch=tda2%2525252525252520linux%2525252525252520emmc https://e2e.ti.com/support/processors/f/791/t/795035?tisearch=e2e-sitesearch&keymatch=dra7-evm-infoadas.dtb but not success yet. Have you ported the u-boot for your custom board? NO. For SD card can boot the linux, I don't look into u-boot yet. Did you modify the boot command for the right device that is enumerated as emmc? I had modify boot command.I think it is right. Can you help to check it? uenv.txt: fdtfile=d3-tda2x-fpd8ch.dtb args_mmc=part uuid mmc 1:2 uuid; setenv bootargs "console=ttyO0,115200n8 vram=16M root=PARTUUID=${uuid} rw rootwait rootfs=/dev/mmcblk1p2 ip=none mem=512M cma=64M" mmc: => mmc list OMAP SD/MMC: 0 OMAP SD/MMC: 1 (eMMC) I see lot of i2c errors, mmc errors, etc. You need to fix them first before going ahead. Some i2c error is to read the id, some error is to control PMIC. I believe the PMIC may lead some problem because PMICs are not connected to SOC. If PMIC would be a issue, how to skip that? When use SD card boot mode, kernel will boot up and mount the emmc partition. It can read/write emmc. I will check i2c error message and fix it. Regards, Terry | |
Hi, Can you please ensure that the two partitions can be enumerated using the u-boot Then, stop at the u-boot prompt, change the environment variables and try to do a boot from emmc. Regards, Nikhil D | |
Hi Nikhil D, 1. How to ensure the two partitions can be enumerated ? When I use the "mmc part" command at uboot prompt, it shows: => mmc part Partition Map for MMC device 1 -- Partition Type: DOS Part Start Sector Num Sectors UUID Type 1 63 144522 00000000-01 0c Boot 2 144585 7405965 00000000-02 83 => Then I change to SD boot, and in linux use fdisk -l root@dra7xx-evm:~# fdisk -l Disk /dev/mmcblk0: 7867 MB, 7867465728 bytes 4 heads, 16 sectors/track, 240096 cylinders Units = cylinders of 64 * 512 = 32768 bytes Device Boot Start End Blocks Id System /dev/mmcblk0p1 * 33 8224 262144 c Win95 FAT32 (LBA) Partition 1 does not end on cylinder boundary /dev/mmcblk0p2 8225 240096 7419904 83 Linux Partition 2 does not end on cylinder boundary Disk /dev/mmcblk1: 3867 MB, 3867148288 bytes 255 heads, 63 sectors/track, 470 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/mmcblk1p1 * 1 9 72261 c Win95 FAT32 (LBA) /dev/mmcblk1p2 10 470 3702982+ 83 Linux Disk /dev/mmcblk1boot1: 2 MB, 2097152 bytes 4 heads, 16 sectors/track, 64 cylinders Units = cylinders of 64 * 512 = 32768 bytes Disk /dev/mmcblk1boot1 doesn't contain a valid partition table Disk /dev/mmcblk1boot0: 2 MB, 2097152 bytes 4 heads, 16 sectors/track, 64 cylinders Units = cylinders of 64 * 512 = 32768 bytes Disk /dev/mmcblk1boot0 doesn't contain a valid partition table root@dra7xx-evm:~# /dev/mmcblk1 is emmc. The number displyed in uboot and in linux are not the same. 2. I reset uboot env variables follow: => env default -a ## Resetting to default environment => setenv bootpart 1:2 => setenv mmcdev 1 => saveenv Saving Environment to FAT... i2c_write: pads on bus probably not configured (status=0x10) tps65903x: could not set LDO1 voltage. Card did not respond to voltage select! ** Bad device mmc 0 ** => It still fail to load kernel. Regards, Terry | |
Hi Terry, mmc list shows the different mmc devices. mmc dev N selects the device to be used. Nikhil D | |
Hi Nikhil D, mmc commands show below: => mmc list OMAP SD/MMC: 0 OMAP SD/MMC: 1 (eMMC) => mmc dev 1 Tuning failed, dropping HS200 mode. dropping DDR52 mode. switch to partitions #0, OK mmc1(part 0) is current device => mmc part Partition Map for MMC device 1 -- Partition Type: DOS Part Start Sector Num Sectors UUID Type 1 63 144522 00000000-01 0c Boot 2 144585 7405965 00000000-02 83 => Full boot log attached 4774.uboot.txt | |
U-Boot SPL 2016.05 (Oct 23 2019 - 18:08:17) | |
DRA752-GP ES2.0 | |
Trying to boot from MMC2_2 | |
reading single-stage-boot.dtb | |
spl_load_image_fat_os: error reading image single-stage-boot.dtb, err - -1 | |
reading u-boot.img | |
reading u-boot.img | |
U-Boot 2016.05 (Oct 23 2019 - 18:08:17 +0800) | |
CPU : DRA752-GP ES2.0 | |
Board: D3 TDA2x | |
I2C: ready | |
DRAM: i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
2 GiB | |
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
** Bad device mmc 0 ** | |
Using default environment | |
i2c_write: pads on bus probably not configured (status=0x10) | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not turn CLK32KGAUDIO on: err = 2 | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
Unable to read Board-ID | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
Unable to read Baseboard-ID | |
i2c_probe: pads on bus probably not configured (status=0x10) | |
Unable to read Expansion-ID | |
SCSI: 0 device not found | |
ERROR: scsi device not found | |
at drivers/block/disk-uclass.c:43/scsi_init() | |
Net: <ethaddr> not set. Validating first E-fuse MAC | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
i2c_read (addr phase): pads on bus probably not configured (status=0x10) | |
Could not get PHY for cpsw: addr 2 | |
cpsw | |
Hit any key to stop autoboot: 0 | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
i2c_write: pads on bus probably not configured (status=0x10) | |
tps65903x: could not set LDO1 voltage. | |
Card did not respond to voltage select! | |
Tuning failed, dropping HS200 mode. | |
dropping DDR52 mode. | |
switch to partitions #0, OK | |
mmc1(part 0) is current device | |
Tuning failed, dropping HS200 mode. | |
dropping DDR52 mode. | |
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 | |
mmc part - lists available partition on current mmc device | |
mmc dev [dev] [part] - show or set current mmc device [partition] | |
mmc list - lists available devices | |
mmc hwpartition [args...] - does hardware partitioning | |
arguments (sizes in 512-byte blocks): | |
[user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes | |
[gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition | |
[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 bootbus dev boot_bus_width reset_boot_bus_width boot_mode | |
- Set the BOOT_BUS_WIDTH field of the specified device | |
mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB> | |
- Change sizes of boot and RPMB partitions of specified device | |
mmc partconf dev boot_ack boot_partition partition_access | |
- Change the bits of the PARTITION_CONFIG field of the specified device | |
mmc rst-function dev value | |
- Change the RST_n_FUNCTION field of the specified device | |
WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. | |
mmc setdsr <value> - set DSR register value | |
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 | |
mmc part - lists available partition on current mmc device | |
mmc dev [dev] [part] - show or set current mmc device [partition] | |
mmc list - lists available devices | |
mmc hwpartition [args...] - does hardware partitioning | |
arguments (sizes in 512-byte blocks): | |
[user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes | |
[gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition | |
[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 bootbus dev boot_bus_width reset_boot_bus_width boot_mode | |
- Set the BOOT_BUS_WIDTH field of the specified device | |
mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB> | |
- Change sizes of boot and RPMB partitions of specified device | |
mmc partconf dev boot_ack boot_partition partition_access | |
- Change the bits of the PARTITION_CONFIG field of the specified device | |
mmc rst-function dev value | |
- Change the RST_n_FUNCTION field of the specified device | |
WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. | |
mmc setdsr <value> - set DSR register value | |
Booting from eMMC ... | |
Wrong Image Format for bootm command | |
ERROR: can't get kernel image! | |
=> mmc list | |
OMAP SD/MMC: 0 | |
OMAP SD/MMC: 1 (eMMC) | |
=> mmc dev 1 | |
Tuning failed, dropping HS200 mode. | |
dropping DDR52 mode. | |
switch to partitions #0, OK | |
mmc1(part 0) is current device | |
=> mmc part | |
Partition Map for MMC device 1 -- Partition Type: DOS | |
Part Start Sector Num Sectors UUID Type | |
1 63 144522 00000000-01 0c Boot | |
2 144585 7405965 00000000-02 83 | |
=> | |
Hi Nikhil D, Can you advise where might be the cause? I don't resolve it yet. Thank you. Terry | |
One option I can suggest you is to debug the whole cmd execution all the way. Use printenv bootcmd It will display a list of commands that u-boot shell would run. Follow the links and understand what exactly is happening. You can manually run commands in the variables, e.g. run args_mmc At every step, check if the command did everything right. Focus especially on commands involving mmc This will help you root cause the issue to exact command failure. Regards, NIkhil D | |