[PATCH] SDIO support for Globalscale Dreamplug

Alexander Motin mav at FreeBSD.org
Tue Jul 2 17:10:31 UTC 2013


On 02.07.2013 17:59, Ilya Bakulin wrote:
> Hi list,
> I'm currently developing a SDIO driver for the Globalscale Dreamplug.
> I have taken SDIO patch for Marvell SoC from [1].
> After that I have written some SDIO-related code in sys/dev/mmc/mmc.c,
> using OpenBSD SDIO code and the patch from Ben Gray ([2]) as a starting point.
>
> I have taken Warner's wish to have SDIO code in MMC bus into account, so there
> is no extra layer of abstraction in my code, SDIO devices will attach directly
> to MMC bus. This makes possible to implement combo cards support in the future,
> although I don't support them in my code atm.
>
> What is already implemented:
>   * SDIO card detection;
>   * CIS reading, both common CIS and individual functions' CIS;
>   * Function enable.
>
> My questions, need answers before I can move further:
>   * Where should I store information retrieved from the CIS?
>     As far as I understand, I should use mmc_ivars structure for that.
>     But in SDIO case the relationship between MMC bus and SDIO card is 1:1,
>     and storing the information about the card in mmc_softc sounds like
>     a good idea -- then I can pass only mmc_softc structure to all functions
>     that need to work with the attached SDIO card.

I think SD world is a terrible mess by itself. I would like to not add 
more. Functions that suppose card access should take card-specific 
structure or device as an argument, not a bus ones.

>   * Should I add any methods to the existing interface files?
>
>   * Are there any devices on the market that use SDIO interface and which
>     chipsets are supported in FreeBSD? Any Atheros devices?
>     Adrian, what do you think?
>     I have only Dreamplug with Marvell SDIO-based WLAN chip, that doesn't have
>     an opensource driver even for Linux...

Recently I've bought EyeFi card hoping it is combined SD+SDIO, but seems 
like card's WiFi part is completely autonomous and controlled via file 
access on storage and not really SDIO.

I would try to look for SDIO Bluetooth card. I think such ones still 
could be found on eBay, and I think there are some specifications for 
that. Though I've never looked inside.

> [1] http://people.freebsd.org/~raj/misc/mv_sdio.c
> [2] http://lists.freebsd.org/pipermail/freebsd-arm/2012-June/003543.html

-- 
Alexander Motin


More information about the freebsd-embedded mailing list