Problem Description :
We have developed a board using Jorjin module (DM3730 + PMIC TPS65950). For USB and Ethernet interface we use USB3320 and LAN9514, which is similar to Beagle board Xm-A3. USB3320 used is industrial grade(-40 degC to +85 degC ) whereas LAN9514 used is commercial grade IC (0 degC to +70 degC ). We plan to replace the LAN9514 and related components with industrial grade for testing but this hardware change may take some time.
We observed during HALT test (highly accelerated life test which finds weak links on the board by exposing the board from +125 degC to – 50 degC for some time ) that after exposing the board to cold temperatures of -5 degC or below, when we give power cycle to the board, we find that USB and Ethernet stops functioning.
On USB optical mouse we observe that the red LED flashes for a second and followed by that it goes off whereas during normal operation it persists. Incase of Ethernet, link and activity LED doesn’t blink or glow at all. Its permanently off.
If we keep the board running without a power cycle from room temperature to -45degC we don’t observe this issue. It works perfectly fine.
If we soak (power off the board and expose the board with cold temperature) the board for 20 minutes and then power cycle the board this issue can be seen consistently. Then, If we let the board run for some time and then power cycle, it works fine as if board needs some heat at power up.
Log for failed observation is attached.
Experiments carried
Experiment 1: We changed the run time usb power management option in kernel. We adjusted the DPLL5 settings so as to keep the PHY clock as close as possible to 120MHz over the long term. We used below link for doing this change.
References : http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/537/t/249322.aspx
Experiment 2: Changed gpio_signal 147 of DM3730 processor to output 1 to reset the USB3320 chip. This signal was defined as input in the kernel ver2.6. We made it as output and drove 1 on to this pin. This was implemented since this pattern is seen only during power cycle and we suspect that there could be issues with powerup sequence.
Experiment 3: Unloaded and reloaded USB driver in a script. This was done once at the startup of the application and we kept polling whether driver is loaded. Basically monitoring peripherals.
Please suggest a work around to resolve this issue through software/kernel changes.