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 */
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?