linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* How to support SDIO wifi/bt in DT
@ 2014-01-16 13:36 Russell King - ARM Linux
  2014-01-16 13:51 ` Chen-Yu Tsai
                   ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Russell King - ARM Linux @ 2014-01-16 13:36 UTC (permalink / raw)
  To: linux-arm-kernel

Okay, I'm hitting something of a dead end with trying to work out how to
support this in DT.

The Wifi/BT (bcrmfmac) device has multiple connections to the host device
- it has a SDIO connection, a UART connection, and an audio connection.
In addition, a series of GPIOs are wired to control this device:

- Reset for bluetooth plus two additional GPIOs (unused I think)
- Reset for Wifi plus two additional GPIOs (again, I think unused)
- GPIO to control regulator supplying power to the Wifi/BT chip
- GPIO to control regulator supplying power to the oscillator for
  the Wifi/BT chip.

The Wifi/BT chip can only be detected via probing the SDIO connection, and
only when the device has been powered up and released from reset - so we
have to power up and reset the bcrm device before we probe via the SDIO
bus.

While it's possible to attach the power supply for the Wifi/BT chip to the
vmmc-supply property of the host, it's not possible to do that with the
oscillator supply.  Neither is there any provision for manipulating the
GPIOs to deal with the resets.

I can't find any examples of anything similar in our existing set of DT
files, so I suspect either this is a device which no one supports on any
DT platform, or there's some clever way to handle this.

How do other people support this in DT?  Do they hack up some platform
specific code (which isn't nice)?  What other solutions are there to get
around this problem?  How does this kind of thing get represented in DT?

(Don't suggest adding DT support to the bcrmfmac driver - this is a
chicken-and-egg problem.  The driver isn't being probed at the moment
because the device is powered down and/or held in reset, so is
undetectable.  The kernel needs to power it up and release the reset
so it becomes detectable.)

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2014-02-05 17:11 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-16 13:36 How to support SDIO wifi/bt in DT Russell King - ARM Linux
2014-01-16 13:51 ` Chen-Yu Tsai
2014-01-16 14:02 ` Arnd Bergmann
2014-01-16 17:15   ` Olof Johansson
2014-01-16 19:58     ` Russell King - ARM Linux
2014-01-16 20:00       ` Olof Johansson
2014-01-16 20:03         ` Russell King - ARM Linux
2014-01-17  9:39         ` Alexandre Belloni
2014-01-17 10:06           ` Chen-Yu Tsai
2014-01-17 10:14             ` Alexandre Belloni
2014-01-17 10:44           ` Andrew Lunn
2014-02-05 17:11             ` Mark Brown
2014-01-16 21:46     ` Arnd Bergmann
2014-01-16 21:52       ` Olof Johansson
2014-01-16 22:14       ` Marcel Holtmann
2014-01-17  3:08     ` Nicolas Pitre
2014-01-17 14:47       ` Arnd Bergmann
2014-01-17 15:14       ` Rob Herring
2014-01-17 16:58         ` Nicolas Pitre
2014-01-19 19:29           ` Olof Johansson
2014-01-19 20:28             ` Arnd Bergmann
2014-01-19 23:26               ` Olof Johansson
2014-01-19 23:09             ` Alexandre Belloni
2014-01-19 23:30               ` Olof Johansson
2014-01-20  3:57                 ` Olof Johansson
2014-01-17  9:02     ` Alexandre Belloni
2014-01-17  9:38       ` Nicolas Ferre
2014-01-16 14:08 ` Alexandre Belloni
2014-01-16 14:34   ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).