Imx7 Sim driver dead after suspend

Hi all,

I use the imx_sim.c driver in my imx7 Linux kernel to communicate with a sim card. Until now everything worked perfectly as I expected, but after introducing a suspend command into my system, the sim driver does not behave after returning to normal mode.

I use kernel
4.14.170-3.0.4+gbaa6c24

What would typically cause the device driver to be non-functional after coming out of suspend?

I looked with oscilloscope and the SIM signals are totally dead after returning to normal mode from suspend

On resume driver should re-init all required HW. Looks like your version of imx_sim.c has it not implemented or implemented incorrectly. Could you try a 5.4 kernel? The imx_sim.c looks much more mature there.

I tried with the changes from 5.4, no luck.

My final solution was to load the driver as a module and then to remove and reload the module after suspend

Hi @eoin_oc1 !

Could you please share more information about your setup?

  • Which Colibri iMX7 version are you using?
  • Which carrier board (Toradex’s or custom) are you using? If Toradex’s, which version?

Best regards,