unable to flash yocto images to eMMC using MFGTool-iMX6SL

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

unable to flash yocto images to eMMC using MFGTool-iMX6SL

2,309 Views
jansirani
Contributor III

Hai,

we are having a custom board same as iMX6SLEVK but difference is , in our custom board we mounted eMMC also.

So according to the schematic ,SD2 channel is used for boot purpose for both SDcard and eMMC.

As CD and WP pins are not required for the eMMC we commented those pin configuration in imx6sl-evk.dts

i.e

&usdhc2 {
    pinctrl-names = "default", "state_100mhz", "state_200mhz";
    pinctrl-0 = <&pinctrl_usdhc2_1>;
    pinctrl-1 = <&pinctrl_usdhc2_1_100mhz>;
    pinctrl-2 = <&pinctrl_usdhc2_1_200mhz>;
    //cd-gpios = <&gpio5 0 0>;
    //wp-gpios = <&gpio4 29 0>;
    keep-power-in-suspend;
    enable-sdio-wakeup;
    status = "okay";
};

Then compiled the images (uboot.bin,uImage and rootfs.tar).

Inorder to flash images to eMMC using Mfgtools compiled Mfg firmware images also .

when we start the Mfgtool.exe , it is getting stop at Starting Linux..... without any errors in the Mfgtools.exe.

i.e

"U-Boot 2013.04 (Oct 03 2016 - 15:23:09)

 

CPU:   Freescale i.MX6SL rev1.2 at 792 MHz
CPU:   Temperature 38 C, calibration data: 0x5aa51e69
Reset cause: POR
Board: MX6SLEVK
I2C:   ready
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Entered into mmc_init()
*** Warning - bad CRC, using default environment

 

In:    serial
Out:   serial
Err:   serial
Found PFUZE100! deviceid=10,revid=11
Entered into mmc_init()
mmc1(part 0) is current device
Net:   FEC [PRIME]
Warning: failed to set MAC address

 

Boot from USB for mfgtools
Use default environment for mfgtools
Run bootcmd_mfg: run mfgtool_args;bootm ${loadaddr} ${initrd_addr} ${fdt_addr};
Hit any key to stop autoboot:  0
## Booting kernel from Legacy Image at 80800000 ...
   Image Name:   Linux-3.10.17-1.0.0_ga+g232293e
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5182880 Bytes = 4.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 83800000 ...
   Image Name:   initramfs
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4399687 Bytes = 4.2 MiB
   Load Address: 12c00000
   Entry Point:  12c00000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Loading Kernel Image ... OK
OK
switch to ldo_bypass mode!
   Using Device Tree in place at 83000000, end 8300b484

 

Starting kernel ...

"

for reference please find the attached Mfgtool logs also.

 

why Mfgtool is getting stop showing "No Device Connected"

How to rectify this?

 

Thanks and regards,

D.Jansirani

Original Attachment has been moved to: MfgTool.log.zip

Labels (3)
0 Kudos
8 Replies

1,495 Views
srikanthmediset
Contributor I

Hi Jansi Rani,

  

    I am trying to flash iMX6slevk board with android KK4.4.3_2.0.0-ga using MFG tool into eMMC. My board is also of 512MB RAM.I applied all the patches and flashed into board but my u-boot is not at all coming up so that I am not able to find any logs in the console.

   Is the DDR test is necessary in this case or do you found the solution for this case. Can you please help me.

Regards,

srikanth.

0 Kudos

1,495 Views
igorpadykov
NXP Employee
NXP Employee

if hanging occurs when Mfgtools.exe  is getting stop at "Starting kernel
then it is necessary to rebuild mfg tools firmware (files in ..Profiles/Linux/OS Firmware/firmware)
with uboot changes. Please check sect.6.3 MFGTool attached Yocto Guide.

~igor

0 Kudos

1,495 Views
jansirani
Contributor III

Hi igorpadykov

As we are correcly not aware how to build Mfgtoold firmware we are flashing an sdcard image as per the Freescale_Yocto_Project_User's_Guide.pdf in section 6.1

i.e $ sudo dd if=<image name>.sdcard of=/dev/sd<partition> bs=1M && sync

 

After flashing if we use the sdcard in iMX6SLEVK ,it will boot but the same in our custom board will stop at "starting kernel....."

 please guide where we missed?

0 Kudos

1,495 Views
igorpadykov
NXP Employee
NXP Employee

one can try to check cma size, defined in imx_v7_defconfig and decrease it.

Also use for debug AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors

http://www.nxp.com/files/32bit/doc/app_note/AN4553.pdf 

~igor

0 Kudos

1,495 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jansi

if Mfgtool stops at "Starting Linux" this may point that memory is not

working properly, please run DDR Test

https://community.freescale.com/docs/DOC-105652 

and rebuild firmware with updated calibration settings (defined in uboot *.cfg file)

for emmc dts one can look at SabreSD usdhc4:

linux-2.6-imx.git - Freescale i.MX Linux Tree 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,495 Views
jansirani
Contributor III

Hi igorpadykov

Thanks for the reply.

for emmc dts we will check with sabreSD board.

Mean while we want to check for Sdcard also.

As our custom board is designed same as iMX6SLEVK  sdcard images we want to check with our board.

one major difference in the boards are : in our custom board we used 512MB LPDDR2 where as in iMX6SLEVK it is 1GB LPDDR2.

so in uboot/git/include/configs/mx6slevk.h

#define PHYS_SDRAM_SIZE SZ_1G changed to #define PHYS_SDRAM_SIZE SZ_512M

compiled the images and tried to flash the images to sdcard of our custom board using Mfgtools.exe  but it is getting stop at "Starting kernel ..."

where as the same images we can able to flash to sdcard  for iMX6SLEVK and booting also properly happening in iMX6SLEVK.

Please tell us still in which places of uboot and kernel  we have to change the LPDDR2 size to 512MB in Yocto(3.10.17).

0 Kudos

1,495 Views
igorpadykov
NXP Employee
NXP Employee

please run ddr test and update with its results board *.cfg file located in

uboot/board/freescale/mx6slevk/

~igor

0 Kudos

1,495 Views
jansirani
Contributor III

After ddr test we updated read and write calibrations in the following files

$yocto/fsl-release-bsp/core-image-minimal/tmp/work/imx6slevk-poky-linux-gnueabi/u-boot-imx/2013.04-r0/git/board/freescale/mx6slevk/imximage.cfg file:

-DATA 4 0x021b0848 0x3e3c4446

-DATA 4 0x021b0850 0x3030312b

+DATA 4 0x021b0848 0x403e4046

+DATA 4 0x021b0850 0x3a363c32

$yocto/fsl-release-bsp/core-image-minimal/tmp/work/imx6slevk-poky-linux-gnueabi/u-boot-imx/2013.04-r0/git/board/freescale/mx6slevk/plugin.S file :

-ldr r2, =0x4241444a

-ldr r2, =0x3030312b

to

+ldr r2, =0x403e4046

+ldr r2, =0x3a363c32

still kernel is getting stuck @ Starting kernel.....

Please chekc below for Logs :

U-Boot 2013.04 (Oct 05 2016 - 18:44:41)

CPU:   Freescale i.MX6SL rev1.2 at 396 MHz
CPU:   Temperature 30 C, calibration data: 0x57e50469
Reset cause: POR
Board: MX6SLEVK
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Found PFUZE100! deviceid=10,revid=11
mmc1 is current device
Net:   Phy not found
PHY reset timed out
FEC [PRIME]
Warning: failed to set MAC address

Normal Boot
Hit any key to stop autoboot:  0
mmc1 is current device
mmc1 is current device
reading boot.scr
** Unable to read file boot.scr **
reading uImage
5260936 bytes read in 259 ms (19.4 MiB/s)
Booting from mmc ...
reading imx6sl-evk.dtb
33925 bytes read in 18 ms (1.8 MiB/s)
## Booting kernel from Legacy Image at 80800000 ...
   Image Name:   Linux-3.10.17-1.0.0_ga+g232293e
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5260872 Bytes = 5 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Loading Kernel Image ... OK
OK
switch to ldo_bypass mode!
   Using Device Tree in place at 83000000, end 8300b484

Starting kernel ...

Thanks and Regards,

D.Jansirani

0 Kudos