Hi, my company has a product that uses the IMX25 with Linux 2.6.31-207-g7286c01
with some units we are having a problem that the SIM module just stops working.
It seems that no register configuration makes it work again, the only way to return operation, is by cutting the microprocessor battery power supply.
After that, when started again the SIM module will start to work.
I compared the SIM configuration registers of a board with the problem and a board where the SIM is working. In both, the registers values seems to be the same.
I also compared the signals, and found out that the clock and reset signal seems to be fine, but the data signal never goes up.
The 3Volt bit in the port control register is at 1 and the od_config for the SIM (port0) is also at 1.
So maybe is a GPIO configuration.
Searching in the kernel source code, i found that the pin is configured with these parameters
/* SIM1 TX */
{
MX25_PIN_CSI_D5, MUX_CONFIG_ALT4,
PAD_CTL_SRE_FAST |
PAD_CTL_DRV_HIGH | PAD_CTL_DRV_3_3V |
PAD_CTL_HYS_CMOS | PAD_CTL_22K_PU |
PAD_CTL_PUE_PULL | PAD_CTL_ODE_OpenDrain | PAD_CTL_PKE_ENABLE,
},
The thing is, nothing seems wrong. So is there any other configuration that could cause something like this?
Thanks,
Lucas
The issue mostly looks like not to be software-defined, but as some external effect like ESD, for example, or unstable supply voltage. Please check.
Also, does the issue occur only on selected units, or it can occur randomly on any unit? How often the issue occurs? Please check.
Have a great day,
Artur
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Ok. We are trying to test for external effects like ESD or supply voltage. Is there any other factor that could cause something similar so that we can include in our tests?
Thanks,
Lucas
Hi Artur, thanks for the answer, I will run some more tests. The problem seems to be random.
One thing that I noticed is like I said, the problem is related to CSI_D5, so I tried using this pin as GPIO, but it simply doesnt work, i cant raise the pin signal if the test is running in a unit with the problem.
Anyway, I'll try to get some more info.
Thanks,
Lucas