SDIO over USB for USB264x chips

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I developed a hardware that has a Microchip USB2642 (USB Hub with MMC
interface, former SMSC, former ChipIdea), which is kernel supported by
chipidea IP (ci_hdrc) driver.

I connected a Bluegiga WF111-A WiFi module to the MMC interface of the
USB2642. So, in a hardware sense, everything is fine.

This USB2642 chip is dual-role USB Hub with a SD card interface and
compatible with USB Mass Storage spec.

The problem is that the only driver available from BlueGiga uses linux
MMC stack. So although usb-storage detects the module as a SCSI disk
interface (/dev/sda), the driver doesn't work, as it searches the MMC
stack for the module, and finds nothing.

The document at
http://ww1.microchip.com/downloads/en/DeviceDoc/50002277A.pdf
specifies a SCSI command set to passthrough SDIO communication on top
of Mass Storage interface.

I see myself with 2 options: rewrite the driver or implementing
something in linux to "link" the Mass Storage interface and SDIO.

I started a thread at linux-usb asking for guidance in using
usb-storage layer and got a much better approach, which would be
implementing a "custom" sdio_bus that actually uses SCSI as client to
send the commands.

Taking a look at sdio implementation it seems this is not easily
doable without changing how sdio_bus works (it seems tight up with mmc
stack, no "multiple" sdio_buses possible right now).

Taking a look at sdio implementation, I think that to allow a MMC
driver to attach to the MMC stack (using sdio_register_driver) and
also use the USB Mass Storage bridge provided by the chip, I could
write a MMC host that is actually a SCSI client and sends the commands
through the SCSI layer as specified by the referenced document.

In this case, I would be able to achieve the goal of using the
existing BlueGiga driver (which register itself using
sdio_register_driver) and don't mess around the mmc core
implementation.

Can someone with better experience on MMC stack tell me this is the
right approach?

Thanks in advance!
-- 
Raphael Derosso Pereira
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux