AnsweredAssumed Answered

Imx6qsabresd core board without PMIC. Download L4.1.15 image from YOCTO to EMMC by MFGTOOL failed and show “can’t find PMIC” in log. After modifying the UBOOT, download is stuck at “UTP: Waiting for device to appear”

Question asked by di wu on Dec 28, 2017
Latest reply on Dec 29, 2017 by di wu

Imx6qsabresd core board without PMIC. Download L4.1.15 image from YOCTO to EMMC by MFGTOOL failed and show “can’t find PMICin log. After modifying the UBOOT, download is stuck at “UTP: Waiting for device to appear”.

 

I’ve bought a imx6qsabresd board from TOPEET whose Chinese name is 迅为. There is no PMIC in the core board. And image can be downloaded to EMMC perfectly by using the MFGTOOL supplied by TOPEET, which means the hardware functions well. The kernel version of TOPEET is L3.0.35.

 

I want to download L4.1.15 got from YOCTO to EMMC in this board. What I’ve done is as bellows.

 

1. Follow the instruction of i.MX_Yocto_Project_User's_Guide. Finally get the code after bitbake fsl-image-qt5 is finished.

2. Download “L4.1.15_2.0.0-ga_mfg-tools” from NXP. After correcting the configurations of cfg.ini and ucl2.xml, I try to download to EMMC for the first time. It failed and showed can’t find PMIC in log.

3. bitbake fsl-image-mfgtool-initramfs. When the bitbake is finished, two new folder named u-boot-imx-mfgtool and mfgtool-linux-imx each are showed up under <build dir>/ tmp/work/imx6qsabresd-poky-linux-gnueabi. I directly modify the source code in the original file to make sure less mistakes I would make.

4. To avoid the fault “can’t find PMIC”, I modified the code in u-boot-imx-mfgtool as bellows.

4.1 u-boot-imx-mfgtool/include/configs/mx6_common.h

#undef CONFIG_LDO_BYPASS_CHECK

4.2 u-boot-imx-mfgtool /include/configs/mx6sabre_common.h

/* PMIC */

#if 0

#define CONFIG_POWER

#define CONFIG_POWER_I2C

#define CONFIG_POWER_PFUZE100

#define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08

#endif

4.3 u-boot-imx-mfgtool/board/freescale/mx6sabresd/mx6sabresd.c

disable the content in power_init_board(void)

5. Found that the DDR and EMMC are also changed in TOPEET board. 2G DDR use 4 pieces of  K4B4G1646 and 16G EMMC uses KLMAG2. I modify the mx6q_4x_mt41j128.cfg under u-boot-imx-mfgtool/board/freescale/mx6sabresd according to the code provided by TOPEET. But I’ve changed nothing about the configurations of EMMC.

6. Run bitbake -c menuconfig -v mfgtool-linux-imx to exclude the PF0100.

7. Sequentially run bitbake -c compile -f -v u-boot-imx-mfgtool

bitbake -c deploy -f -v u-boot-imx-mfgtool

bitbake -c compile -f -v mfgtool-linux-imx

bitbake mfgtool-linux-imx -c compile_kernelmodules -f -v

bitbake -c deploy -f -v mfgtool-linux-imx

bitbake fsl-image-mfgtool-initramfs

And get the images as bellows.

u-boot-mfgtool-2016.03-r0.imx

zImage_mfgtool

zImage-imx6q-sabresd-ldo.dtb

fsl-image-mfgtool-initramfs-imx6qsabresd.rootfs.cpio.gz.u-boot

    rename and replace the corresponding files in the firmware fold of MFGTOOL.

 

8. Try to download to EMMC for the second time. And It stuck at “UTP: Waiting for device to appear”.

 

It seems the g_mass_storage whose vid is 066F and pid is 37FF is never showed up or can't be recognized by PC at least. I check the circuit diagram that USB_OTG_VBUS is enable by EIM_D22(E23) and USB_OTG_ID is connected to W23, which is exactly the same with the official board. I track the voltage level by oscilloscope. And it turns out that USB_OTG_ID is always high while USB_OTG_VBUS is stable during the download.

 

I’m confused. Is there anything I’ve missed? Can somebody help?

Log is attached.

 

Thanks in advance.

Attachments

Outcomes