We have a system that uses OMAP3530 and a LSR TiWi R2 module (copied from the OMAP3530 evm + Wl1271 daughtercard). As far as we know the system is working correctly on a small number of units. System is running 2.6.32 kernel with (I think) WL1271 SDK v3.0.01.06-WL6.1.6.3 General Available Release derived binaries.
Looking at the WLAN IRQ signal from the TiWi module to the OMAP with an oscilloscope, I see some odd behavior.
1) before I load the tiwlan_drv.ko the signal is low - signal is expected to be active low, it's odd that the module default state for an interrupt is active.
2) after initiating loading the tiwlan_drv.ko module, the signal goes to about 1V. There are some low pulses, and then it holds at 1V. The IO voltage on the TiWi and OMAP is 1.8V.
3) when I run ifconfig up tiwlan0 the signal changes to the correct 1.8V and starts periodically interrupting and the system works as expected.
The signal is a direct connect between the TiWi and GPIO149 on the omap. There are no other pullups/pulldowns.
My main concern is in the period where the signal is at 1V on a 1.8V GPIO. Does anything in the tiwlan_drv.ko and later steps rely on proper functioning of the interrupt before the ifconfig command does whatever it does to set the IO drive correctly? Are we just getting lucky with the voltage thresholds on the chips we have?
I assume there are different drive options in the WL1271 that get set up. I checked the OMAP GPIO pinmux on GPIO149 (interrupt line) and from u-boot the pin is setup as an input with no pullup/pulldown. After tiwlan_drv.ko the pinmux is changed to a pulldown and doesn't change.