LX2080

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

LX2080

583 Views
YY2410
Contributor III

When the LX2080 processor is subjected to high and low temperature tests with a temperature range of -25°C to 50°C, and when it has just transitioned from high temperature to low temperature, or from low temperature to high temperature, when powered on, it prints up to:

"EEPROM: Read failed.
In: serial_pl01x
Out: serial_pl01x
Err: serial_pl01x
Net: "

It then freezes, but after maintaining the temperature for a while, it returns to normal. What is the reason for this?

Tags (1)
0 Kudos
Reply
3 Replies

563 Views
yipingwang
NXP TechSupport
NXP TechSupport

EEPROM / I²C bus instability caused by rapid temperature gradients

Why?

During a rapid temperature change:

  1. Component mismatch and timing shift
  • EEPROM, pull‑up resistors, and CPU I/O input thresholds shift.
  • EEPROM internal oscillator becomes temporarily unstable.
  • I²C timing margins are invalid for a short period after the transition.

Result → CPU tries to read the EEPROM at boot, but the EEPROM is not ready → read fails → U‑Boot gets stuck.

 

  1. EEPROM power‑up time becomes longer at temperature extremes

At cold temperatures (−25 °C):

  • EEPROM internal charge pumps stabilize slowly.
  • Some EEPROMs require up to 10–20 ms more power‑up time.

At hot temperatures (+50 °C):

  • Leakage increases, causing delayed startup.

If the CPU boots too fast, the EEPROM may still be busy.

Result → “EEPROM: Read failed” at boot immediately after a temperature change.

 

  1. I²C bus signal integrity degraded by temperature

Temperature affects:

  • Line impedance
  • Rise time (due to pull‑up value changes)
  • Capacitance of PCB traces

When switching temperatures quickly, condensation-like micro effects or mechanical stress also temporarily change bus characteristics.

Result → I²C read NACK → bootloader hangs.

 

  1. Crystal / oscillator drift immediately after temperature shock

If the EEPROM or CPU uses an external oscillator:

  • Rapid temperature swing causes temporary frequency drift.
  • Drift exceeds I²C timing margin.

Result → CPU and EEPROM cannot communicate until the board stabilizes.

 

Recommended Fixes

  1. Add EEPROM startup delay in bootloader (U‑Boot)

Before reading EEPROM, add:

  • 10–50 ms fixed delay, or
  • Retry logic (e.g., 5 times with 10 ms spacing)
  1. Strengthen I²C pull‑ups

If currently 4.7 kΩ, switch to 2.2 kΩ or 3.3 kΩ to improve rise time at low temperature.

  1. Ensure EEPROM meets temperature spec

Check EEPROM datasheet:

  • Operating temperature range
  • Power‑up requirements
  • I²C timing under temperature extremes

If it’s commercial-grade (0–70°C), upgrade to industrial grade (−40–85°C).

  1. Improve PCB layout if needed
  • Shorter I²C lines
  • Reduced bus capacitance
  • Proper shielding / grounding
  1. Add power‑rail soft‑start or stability buffers
0 Kudos
Reply

543 Views
YY2410
Contributor III

This occasionally prints an extra line, with the error shown below:
“Loading Environment from SPIFlash... SF: Detected mx25uw51245g with page size 256 Bytes, erase size 64 KiB, total 64 MiB
OK
EEPROM: Read failed.
In: serial_pl01x
Out: serial_pl01x
Err: serial_pl01x
Net: Could not get PHY for mdio@8b97000: addr 15”

The error “EEPROM: Read failed.” also appears under normal conditions and does not affect our boot or functionality. It gets stuck at the MDIO section, where four PHY chips are connected to MDIO. What could be the issue and how can it be resolved?

Err: serial_pl01x
Net: Could not get PHY for mdio@8b97000: addr 15

0 Kudos
Reply

539 Views
yipingwang
NXP TechSupport
NXP TechSupport

It seems that you didn't specify PHY address correctly in the dts file.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2325279%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELX2080%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2325279%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EWhen%20the%20LX2080%20processor%20is%20subjected%20to%20high%20and%20low%20temperature%20tests%20with%20a%20temperature%20range%20of%20-25%C2%B0C%20to%2050%C2%B0C%2C%20and%20when%20it%20has%20just%20transitioned%20from%20high%20temperature%20to%20low%20temperature%2C%20or%20from%20low%20temperature%20to%20high%20temperature%2C%20when%20powered%20on%2C%20it%20prints%20up%20to%3A%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%22EEPROM%3A%20Read%20failed.%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EIn%3A%20serial_pl01x%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EOut%3A%20serial_pl01x%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EErr%3A%20serial_pl01x%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3ENet%3A%20%22%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EIt%20then%20freezes%2C%20but%20after%20maintaining%20the%20temperature%20for%20a%20while%2C%20it%20returns%20to%20normal.%20What%20is%20the%20reason%20for%20this%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2325526%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LX2080%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2325526%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3EEEPROM%20%2F%20I%C2%B2C%20bus%20instability%20caused%20by%20rapid%20temperature%20gradients%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EWhy%3F%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EDuring%20a%20rapid%20temperature%20change%3A%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3E%3CSTRONG%3E%20Component%20mismatch%20and%20timing%20shift%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CUL%3E%0A%3CLI%3EEEPROM%2C%20pull%E2%80%91up%20resistors%2C%20and%20CPU%20I%2FO%20input%20thresholds%20shift.%3C%2FLI%3E%0A%3CLI%3EEEPROM%20internal%20oscillator%20becomes%20temporarily%20unstable.%3C%2FLI%3E%0A%3CLI%3EI%C2%B2C%20timing%20margins%20are%20invalid%20for%20a%20short%20period%20after%20the%20transition.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSTRONG%3EResult%3C%2FSTRONG%3E%20%E2%86%92%20CPU%20tries%20to%20read%20the%20EEPROM%20at%20boot%2C%20but%20the%20EEPROM%20is%20not%20ready%20%E2%86%92%20read%20fails%20%E2%86%92%20U%E2%80%91Boot%20gets%20stuck.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3COL%20start%3D%222%22%3E%0A%3CLI%3E%3CSTRONG%3E%20EEPROM%20power%E2%80%91up%20time%20becomes%20longer%20at%20temperature%20extremes%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3EAt%20cold%20temperatures%20(%E2%88%9225%20%C2%B0C)%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EEEPROM%20internal%20charge%20pumps%20stabilize%20slowly.%3C%2FLI%3E%0A%3CLI%3ESome%20EEPROMs%20require%20%3CEM%3Eup%20to%2010%E2%80%9320%20ms%3C%2FEM%3E%20more%20power%E2%80%91up%20time.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EAt%20hot%20temperatures%20(%2B50%20%C2%B0C)%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ELeakage%20increases%2C%20causing%20delayed%20startup.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EIf%20the%20CPU%20boots%20%3CEM%3Etoo%20fast%3C%2FEM%3E%2C%20the%20EEPROM%20may%20still%20be%20busy.%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EResult%3C%2FSTRONG%3E%20%E2%86%92%20%E2%80%9CEEPROM%3A%20Read%20failed%E2%80%9D%20at%20boot%20immediately%20after%20a%20temperature%20change.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3COL%20start%3D%223%22%3E%0A%3CLI%3E%3CSTRONG%3E%20I%C2%B2C%20bus%20signal%20integrity%20degraded%20by%20temperature%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3ETemperature%20affects%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ELine%20impedance%3C%2FLI%3E%0A%3CLI%3ERise%20time%20(due%20to%20pull%E2%80%91up%20value%20changes)%3C%2FLI%3E%0A%3CLI%3ECapacitance%20of%20PCB%20traces%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EWhen%20switching%20temperatures%20quickly%2C%20condensation-like%20micro%20effects%20or%20mechanical%20stress%20also%20temporarily%20change%20bus%20characteristics.%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EResult%3C%2FSTRONG%3E%20%E2%86%92%20I%C2%B2C%20read%20NACK%20%E2%86%92%20bootloader%20hangs.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3COL%20start%3D%224%22%3E%0A%3CLI%3E%3CSTRONG%3E%20Crystal%20%2F%20oscillator%20drift%20immediately%20after%20temperature%20shock%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3EIf%20the%20EEPROM%20or%20CPU%20uses%20an%20external%20oscillator%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ERapid%20temperature%20swing%20causes%20temporary%20frequency%20drift.%3C%2FLI%3E%0A%3CLI%3EDrift%20exceeds%20I%C2%B2C%20timing%20margin.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSTRONG%3EResult%3C%2FSTRONG%3E%20%E2%86%92%20CPU%20and%20EEPROM%20cannot%20communicate%20until%20the%20board%20stabilizes.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSTRONG%3ERecommended%20Fixes%3C%2FSTRONG%3E%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3E%3CSTRONG%3E%20Add%20EEPROM%20startup%20delay%20in%20bootloader%20(U%E2%80%91Boot)%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3EBefore%20reading%20EEPROM%2C%20add%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E10%E2%80%9350%20ms%20fixed%20delay%2C%20or%3C%2FLI%3E%0A%3CLI%3ERetry%20logic%20(e.g.%2C%205%20times%20with%2010%20ms%20spacing)%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3COL%20start%3D%222%22%3E%0A%3CLI%3E%3CSTRONG%3E%20Strengthen%20I%C2%B2C%20pull%E2%80%91ups%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3EIf%20currently%204.7%E2%80%AFk%CE%A9%2C%20switch%20to%20%3CSTRONG%3E2.2%3C%2FSTRONG%3E%3CSTRONG%3E%E2%80%AFk%3C%2FSTRONG%3E%3CSTRONG%3E%CE%A9%3C%2FSTRONG%3E%20or%20%3CSTRONG%3E3.3%3C%2FSTRONG%3E%3CSTRONG%3E%E2%80%AFk%3C%2FSTRONG%3E%3CSTRONG%3E%CE%A9%3C%2FSTRONG%3E%20to%20improve%20rise%20time%20at%20low%20temperature.%3C%2FP%3E%0A%3COL%20start%3D%223%22%3E%0A%3CLI%3E%3CSTRONG%3E%20Ensure%20EEPROM%20meets%20temperature%20spec%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3ECheck%20EEPROM%20datasheet%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EOperating%20temperature%20range%3C%2FLI%3E%0A%3CLI%3EPower%E2%80%91up%20requirements%3C%2FLI%3E%0A%3CLI%3EI%C2%B2C%20timing%20under%20temperature%20extremes%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EIf%20it%E2%80%99s%20commercial-grade%20(0%E2%80%9370%C2%B0C)%2C%20upgrade%20to%20%3CSTRONG%3Eindustrial%20grade%20(%E2%88%9240%E2%80%9385%C2%B0C)%3C%2FSTRONG%3E.%3C%2FP%3E%0A%3COL%20start%3D%224%22%3E%0A%3CLI%3E%3CSTRONG%3E%20Improve%20PCB%20layout%20if%20needed%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CUL%3E%0A%3CLI%3EShorter%20I%C2%B2C%20lines%3C%2FLI%3E%0A%3CLI%3EReduced%20bus%20capacitance%3C%2FLI%3E%0A%3CLI%3EProper%20shielding%20%2F%20grounding%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3COL%20start%3D%225%22%3E%0A%3CLI%3E%3CSTRONG%3E%20Add%20power%E2%80%91rail%20soft%E2%80%91start%20or%20stability%20buffers%3C%2FSTRONG%3E%3C%2FLI%3E%0A%3C%2FOL%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326093%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LX2080%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326093%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EThis%20occasionally%20prints%20an%20extra%20line%2C%20with%20the%20error%20shown%20below%3A%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%E2%80%9CLoading%20Environment%20from%20SPIFlash...%20SF%3A%20Detected%20mx25uw51245g%20with%20page%20size%20256%20Bytes%2C%20erase%20size%2064%20KiB%2C%20total%2064%20MiB%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EOK%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EEEPROM%3A%20Read%20failed.%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EIn%3A%20serial_pl01x%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EOut%3A%20serial_pl01x%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3EErr%3A%20serial_pl01x%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3ENet%3A%20Could%20not%20get%20PHY%20for%20mdio%408b97000%3A%20addr%2015%E2%80%9D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EThe%20error%20%E2%80%9CEEPROM%3A%20Read%20failed.%E2%80%9D%20also%20appears%20under%20normal%20conditions%20and%20does%20not%20affect%20our%20boot%20or%20functionality.%20It%20gets%20stuck%20at%20the%20MDIO%20section%2C%20where%20four%20PHY%20chips%20are%20connected%20to%20MDIO.%20What%20could%20be%20the%20issue%20and%20how%20can%20it%20be%20resolved%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EErr%3A%20serial_pl01x%3CBR%20%2F%3ENet%3A%20Could%20not%20get%20PHY%20for%20mdio%408b97000%3A%20addr%2015%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326129%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LX2080%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326129%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIt%20seems%20that%20you%20didn't%20specify%20PHY%20address%20correctly%20in%20the%20dts%20file.%3C%2FP%3E%3C%2FLINGO-BODY%3E