Imx6q SoM Bootloader not Getting flashed?

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

Imx6q SoM Bootloader not Getting flashed?

629 Views
bhagathsingh
Contributor I
Hi all,
I have made a System on Module (SoM) based on Imx6q SoC with 4 GB RAM and 32 GB eMMC storage. The SoM is a double sided PCB with almost exactly same component placement, PCB stack up and routing typologies (DDR3 & eMMC routing is exactly the same) as that of the sabresd eval board.  Even the components used for the assembly are the same as that of eval board.
The problem that I am facing is the yield. When 10 numbers of prototype board are assembled, 7 of them have passed and 3 have failed to load the Android 7 OS. I had done the DDR stress test which it passes but it fails to load the bootloader.
Even with this yield, we had tried to get 100 boards assembled out of which 27 had failed (Bottloader is not).
 
In all of the boards, the PMIC output voltages are correct and the soldering is checked & verified with AOI & XRAY machines. I randomly started to heat the SoC with a hot air blower and then tried flashing the OS, and surprisingly it flashed the Android OS. This trick worked every time (I tried flashing the Android OS 10 times and more, while the PCB is around 40 to 50 degrees, and it always flashed). However, as you may expect, these SoM fails to boot after a while and does not flash the Android OS when tried again. 
I am trying to find the root cause for this problem and any guidance would be greatly helpful.
Labels (3)
3 Replies

493 Views
igorpadykov
NXP Employee
NXP Employee

Hi Bhagath

if heating helps, it is likely the memory drive strength is too high causing more overshoots and

undershoots. One can look at similar issue on below link and tweak drive strength

https://community.nxp.com/thread/332110 

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

493 Views
bhagathsingh
Contributor I

Hello Igor,

As per the post suggestion, I have made the below changes in imx6qdl-sabresd.dtsi file present in arch/arm/boot/dts path.

pinctrl_usdhc4: usdhc4grp {
//Old Default values
/*fsl,pins = <
MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
>;*/
//New settings for 50MHz, 130 Ohm drive strength, 22K Ohm Pull up
fsl,pins = <
MX6QDL_PAD_SD4_CMD__SD4_CMD 0x1F011
MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10011
MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x1F011
MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x1F011
MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x1F011
MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x1F011
MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x1F011
MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x1F011
MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x1F011
MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x1F011
>;
};

After this changes, the same problem still persist in the board. I have attached the log file here.

Kindly share your thoughts on this.

Thanks

Bhagath

0 Kudos

493 Views
igorpadykov
NXP Employee
NXP Employee

Hi Bhagath

you should find experimentally best options. Also heating effect may

point to poor soldering contacts (one can resolder chip) and crystal

(24MHz, 32.768KHz) instabilities.

Best regards
igor

0 Kudos