i.MX8MQ Boot issue at cold Temperature (<0 C)

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

i.MX8MQ Boot issue at cold Temperature (<0 C)

Jump to solution
2,966 Views
nirmalluhana
Contributor IV

Hello,

 

Release: Yocto-Sumo (4.14.78_1.0.0_GA)

Board: i.MX8MQ based custom board

We have facing cold boot issue in iMX8MQ based custom board.

As we decrease the temperature below 0C our board not booting up and stuck after the DDR training logs.

It will start booting automatically after CPU junction temperature exceeds the 8C.

Attached logs for reference.

U-Boot SPL 2018.03-master_v2018.03+g2e7c702 (Sep 02 2019 - 08:56:08 +0000)
PMIC: PFUZE100 ID=0x10
DDRINFO: start lpddr4 ddr init
DRAM PHY training for 3200MTS
check ddr4_pmu_train_imem code
check ddr4_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr4_pmu_train_dmem code pass
Training PASS
DRAM PHY training for 667MTS
check ddr4_pmu_train_imem code
check ddr4_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr4_pmu_train_dmem code pass
Training PASS
DRAM PHY training for 3200MTS
check ddr4_pmu_train_imem code
check ddr4_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr4_pmu_train_dmem code pass
Training PASS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1


U-Boot 2018.03-master_v2018.03+g2e7c702 (Sep 02 2019 - 08:56:08 +0000)

CPU: Freescale i.MX8MQ rev2.0 1300 MHz (running at 800 MHz)
CPU: Industrial temperature grade (-40C to 105C)

Also, we are not getting negative temperature values of CPU junction temperature. For, that we need to apply some patch to get the negative temperature values as per below thread.

Link: https://community.nxp.com/thread/447602 

1) Can anyone please provide the patch to get negative temperature values.

2) For the cold boot issue, we need to do any changes from firmware side? 

Best regards,

Nirmal

Labels (1)
1 Solution
2,567 Views
igorpadykov
NXP Employee
NXP Employee

Hi Nirmal

regarding" i.MX8MQ TMU is not able to read negative temperature",

as stated in sect.5.4.2.2 Features i.MX8MQ Reference Manual:

"Temperature measurement range 0-85°C."

pastedImage_1.jpg

Best regards
igor

View solution in original post

5 Replies
2,567 Views
igorpadykov
NXP Employee
NXP Employee

Hi Nirmal

in general temperature dependancy may be related to

drive strength settings (Write Driver Impedance), one can check

Chapter 4 How to bring up a new MX8MSCALE board MSCALE_DDR_Tool_User_Guide.pdf

in ddr test package

i.MX8 MSCALE SERIES DDR Tool Release (V2.10) 

Regarding patch suggest to create service request https://community.nxp.com/docs/DOC-329745 

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

2,567 Views
nirmalluhana
Contributor IV

Hello Igor,

Thanks for your response.

Our board is working if we decreasing the ambient temperature from 0C to -40C.

At that time eMMC device is operating on HS400 mode with 40 or 65-ohm drive strength.

When we failed to cold boot below 0C, the eMMC device is operating on DDR50 mode with 65-ohm drive strength in U-boot. So, we believe both drive strength will also work with DDR50 mode.

Do we still require to reduce the drive strength at the U-boot level for the cold boot?  

About Crystal oscillator, We used -40 ~ +85C operating temp supported oscillator. We observed the board is auto boot while iMX8 junction temp cross 0C during temp ramp up from lower temp to higher temp i.e. -20C to +20C. 

About DDR, looking at the logs provided above it passed the training.

Best regards,

Nirmal

0 Kudos
2,567 Views
igorpadykov
NXP Employee
NXP Employee

Hi Nirmal

>Do we still require to reduce the drive strength at the U-boot level for the cold boot?

in general you should verify that emmc drive strength will also work in all modes at all temperatures

and probably consult with emmc vendor about temperature emmc drive strength dependancy.

May be useful to experiment with emmc from other vendors.

Below link gives good overview (applicable also for i.MX8M) emmc drive strength issues:

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

Best regards
igor

2,567 Views
nirmalluhana
Contributor IV

Hello Igor,

Thanks for your response.

We observed that i.MX8MQ TMU is not able to read negative temperature values and gives the error of invalid sensor data after enabling the debug prints in arch/arm/mach-imx/cpu.c file. Hence, our board is failed to boot at the temperature below 0C.

If we disabled CONFIG_NXP_TMU macro in the defconfig file then we are able to boot the board below 0C as it is not going to check CPU die temperature. 

Can you please provide more information due to which reason we stuck at u-boot as mentioned in above logs when CONFIG_NXP_TMU macro is enabled as there is no blocker available in the code?

To read CPU die negative temperature we required the patch and we also generated the ticket on the link which you provided. But still, we don't get any patch related that.

Best regards,

Nirmal

0 Kudos
2,568 Views
igorpadykov
NXP Employee
NXP Employee

Hi Nirmal

regarding" i.MX8MQ TMU is not able to read negative temperature",

as stated in sect.5.4.2.2 Features i.MX8MQ Reference Manual:

"Temperature measurement range 0-85°C."

pastedImage_1.jpg

Best regards
igor