Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jul 2013 13:32:37 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Jack Wilborn <jkwilborn@gmail.com>
Cc:        Alexander Motin <mav@freebsd.org>, Ilya Bakulin <ilya@bakulin.de>, freebsd-arm@freebsd.org, freebsd-embedded@freebsd.org
Subject:   Re: [PATCH] SDIO support for Globalscale Dreamplug
Message-ID:  <67798E6A-3B0E-4C2F-AD0F-7D3FF3B0A127@bsdimp.com>
In-Reply-To: <CAKmExv0tjx_P3S_bUteYpvKnnRhe3=zovo%2BdAvmdtK6eaFSMsQ@mail.gmail.com>
References:  <20130702145905.GA1847@olymp.kibab.com> <51D3097A.8010601@FreeBSD.org> <CAKmExv0tjx_P3S_bUteYpvKnnRhe3=zovo%2BdAvmdtK6eaFSMsQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jul 2, 2013, at 12:20 PM, Jack Wilborn wrote:
> Nice, how do we include this code in our builds?

Apply the patches and build a kernel.

> How is it invoked?

Boot the kernel with a supported SDIO card.

> Main
> question is that are these structures in an area that is protected so =
that
> only root can modify them?

All this is kernel-level code.

> I don't know enough about about SD cards to know if they are alike in =
the
> communications to them.

They are quite similar. SDIO cards are basically SD cards that also have =
non-block-sized transfers and interrupt signaling.

>  I'd like to see more about this and see it in the
> test bed to give you more feedback.  Having taught C for 15 years, I'm =
ok
> with reading and understanding the code, but to make it usable is the
> bottom line.  Nice work, I'm sure it would be an asset to all of us.
>=20
> I'm a little groggy about this so if I missed anything, please =
overlook
> it.  I like it!
>=20
> Jack
>=20
>=20
> On Tue, Jul 2, 2013 at 10:10 AM, Alexander Motin <mav@freebsd.org> =
wrote:
>=20
>> On 02.07.2013 17:59, Ilya Bakulin wrote:
>>=20
>>> 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.
>>>=20
>>> 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.
>>>=20
>>> What is already implemented:
>>>  * SDIO card detection;
>>>  * CIS reading, both common CIS and individual functions' CIS;
>>>  * Function enable.
>>>=20
>>> My questions, need answers before I can move further:
>>>  * Where should I store information retrieved from the CIS?

The PC Card bus, which also has a CIS, stores it in the slot that it has =
for a card. In PC Card land, the CIS is shared between multiple devices, =
so we divide things up accordingly.

>>>    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.

That's quite similar to how we do it for PC Card and CardBus.

>> 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.

How is it a mess?

>>   * Should I add any methods to the existing interface files?
>>>=20
>>>  * 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...
>>>=20
>>=20
>> 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.

Older versions of the card are SDIO. I have one, somewhere. I'll send it =
along if I can find it, if you'd like.

>> 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.

There's a standard SDIO Bluetooth interface, so this would be a good =
place to start.

Warner

>> [1] =
http://people.freebsd.org/~**raj/misc/mv_sdio.c<http://people.freebsd.org/=
~raj/misc/mv_sdio.c>
>>> [2] http://lists.freebsd.org/**pipermail/freebsd-arm/2012-**
>>> =
June/003543.html<http://lists.freebsd.org/pipermail/freebsd-arm/2012-June/=
003543.html>
>>>=20
>>=20
>> --
>> Alexander Motin
>>=20
>> ______________________________**_________________
>> freebsd-arm@freebsd.org mailing list
>> =
http://lists.freebsd.org/**mailman/listinfo/freebsd-arm<http://lists.freeb=
sd.org/mailman/listinfo/freebsd-arm>
>> To unsubscribe, send any mail to =
"freebsd-arm-unsubscribe@**freebsd.org<freebsd-arm-unsubscribe@freebsd.org=
>
>> "
>>=20
> _______________________________________________
> freebsd-embedded@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-embedded
> To unsubscribe, send any mail to =
"freebsd-embedded-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?67798E6A-3B0E-4C2F-AD0F-7D3FF3B0A127>