[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52092491.7060605@wwwdotorg.org>
Date: Mon, 12 Aug 2013 12:08:17 -0600
From: Stephen Warren <swarren@...dotorg.org>
To: Mark Rutland <mark.rutland@....com>
CC: Mark Brown <broonie@...nel.org>, Olof Johansson <olof@...om.net>,
Alan Stern <stern@...land.harvard.edu>,
"rob.herring@...xeda.com" <rob.herring@...xeda.com>,
Pawel Moll <Pawel.Moll@....com>,
Ian Campbell <ian.campbell@...rix.com>,
Felipe Balbi <balbi@...com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"grant.likely@...aro.org" <grant.likely@...aro.org>,
"devicetree@...nel.org" <devicetree@...nel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: Non-enumerable devices on USB and other enumerable buses
On 08/12/2013 05:07 AM, Mark Rutland wrote:
> [Adding Olof]
>
> On Mon, Aug 12, 2013 at 10:51:36AM +0100, Mark Brown wrote:
>> On Sun, Aug 11, 2013 at 09:53:01PM -0400, Alan Stern wrote:
>>> On Sun, 11 Aug 2013, Mark Brown wrote:
>>
>>>> One example that's bugging me right now is that on the Insignal Arndale
>>>> platform there's a USB hub connected to one of the USB ports on the SoC
>>>> (not as a PHY, it seems we also need the internal PHY running to talk to
>>>> the device). The hub needs to be "plugged" into the SoC after the SoC
>>>> USB controller has started with some GPIOs so we need to tell the system
>>>> that the hub exists and needs to be synchronised with the USB controller.
...
> As I understand it, the wifi chip on the Snow Chromebook has a similar
> issue -- it hangs off of a probeable SDIO bus, but needs a regulator
> poked for it to turn on and become probeable (see
> exynos_wifi_bt_set_power in [1]).
In this case, I wonder if it makes sense to model the extra requirements
as part of the bus/socket/... itself rather than as part of the device
that's attached to the bus.
It seems quite common for SDIO-based WiFi devices to need a few things:
* Regulator
* 32KHz clock
* Enable GPIO (-> rfkill?)
* Perhaps a reset GPIO
Physically, these are provided to the socket into which the WiFi device
plugs in. Perhaps we should try to explicitly model the socket (which I
guess is really the SDIO bus in a way) rather than attaching these new
resources to the controller or the device itself.
In a similar way, I wonder if the USB case can be considered the same
way? This seems less like a good fit since I don't expect the resources
are always so similar there, and also there's the case of the bus being
potentially behind a few levels of USB hub.
And of course it all gets a little more messy when you get
board-specific logic that needs setup, rather than something more common
across multiple devices.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists