Hi, the txs02612 is the eMMC/µSD switch in the Pyra.
We already had a very simple driver that just provides a /sys node to throw the toggle.
I have now hacked something that better resembles how I think it should be:
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/le...
This driver registers itself as an sdio client of the omap5 mmc interface where the tx202612 is connected to.
Then, it shall register two new mmc interfaces for both ports.
The driver should then intercept all mmc requests going to the new mmc interfaces, turn the switch as needed (potentially blocking) and forward to the omap5 mmc interface for really handling the request.
So far for the general idea.
The hack mentioned above works to the level that the mmc/sdio subsystem finds the driver, but then it issues some sdio command to read the vendor id for matching. This times out since the switch does not handle sdio... It just transparently forwards everything and nobody returns a vendor it.
So the driver isn't really probed and no new mmc interfaces are registered.
Hints how to continue work are welcome.
BR, Nikolaus