All of lore.kernel.org
 help / color / mirror / Atom feed
* Non-enumerable devices on USB and other enumerable buses
@ 2013-08-11 19:08 Mark Brown
  2013-08-11 22:08 ` Grant Likely
                   ` (2 more replies)
  0 siblings, 3 replies; 54+ messages in thread
From: Mark Brown @ 2013-08-11 19:08 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Felipe Balbi, Greg Kroah-Hartman, Grant Likely
  Cc: devicetree, linux-usb, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1665 bytes --]

Looking at the enumerable buses in the kernel I don't see any which have
real support for any kind of registration of devices prior to their
enumeration.  Similarly currently all the DT bindings in the kernel I've
been able to notice cover only non-enumerable buses.  This generally
makes sense where enumerable buses are used in standard fashions since
the binding would be at best redundant and at worst inaccurate.  However
there are often corner cases in embedded systems where hardware has been
hooked up outside of the normal enumeration mechanisms, for example with
software power control or extra signals wired.

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.

Another case that's going to be problematic once it's in mainline is
Slimbus - this is a bus used in some embedded audio subsystems which is
enumerable in a similar manner to USB but where the devices on the bus
are normally powered up only on demand (causing them to hotplug when
used and unplug when idle) and have at least interrupt lines wired to
the SoC using a normal interrupt outside the enumerable bus.

I know there's been some discussion of this topic but do we have any
general consensus on how to handle such things both from a Linux driver
model point of view and from a DT/ACPI point of view?

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

end of thread, other threads:[~2013-08-20 15:51 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-11 19:08 Non-enumerable devices on USB and other enumerable buses Mark Brown
2013-08-11 22:08 ` Grant Likely
2013-08-12 14:41   ` Mark Brown
2013-08-12  1:53 ` Alan Stern
2013-08-12  9:51   ` Mark Brown
2013-08-12 11:07     ` Mark Rutland
2013-08-12 11:32       ` Mark Brown
2013-08-12 18:08       ` Stephen Warren
2013-08-12 20:38         ` Mark Brown
2013-08-12  2:02 ` Greg Kroah-Hartman
2013-08-12 11:23   ` Mark Brown
2013-08-12 20:50     ` Greg Kroah-Hartman
2013-08-12 21:40       ` Mark Brown
2013-08-13  1:04         ` Alan Stern
2013-08-14 11:38           ` Mark Brown
2013-08-14 14:27             ` Alan Stern
2013-08-14 14:27               ` Alan Stern
2013-08-14 15:39               ` Mark Brown
2013-08-14 16:14                 ` Alan Stern
2013-08-14 16:14                   ` Alan Stern
2013-08-14 16:30                   ` Stephen Warren
2013-08-14 18:49                     ` Mark Brown
2013-08-14 17:30                   ` Mark Brown
2013-08-14 18:35                     ` Alan Stern
2013-08-14 18:35                       ` Alan Stern
2013-08-14 18:46                       ` Mark Brown
2013-08-14 19:39                         ` Alan Stern
2013-08-14 19:39                           ` Alan Stern
2013-08-14 20:16                           ` Paul Zimmerman
2013-08-14 23:59                             ` Mark Brown
2013-08-14 23:55                           ` Mark Brown
2013-08-15 14:42                             ` Alan Stern
2013-08-15 14:42                               ` Alan Stern
2013-08-15 17:10                               ` Mark Brown
2013-08-15 17:55                                 ` Alan Stern
2013-08-15 17:55                                   ` Alan Stern
2013-08-15 19:32                                   ` Mark Brown
2013-08-15 20:42                                     ` Alan Stern
2013-08-15 20:42                                       ` Alan Stern
2013-08-15 22:54                                       ` Mark Brown
2013-08-16 14:42                                         ` Alan Stern
2013-08-16 18:39                                           ` Mark Brown
2013-08-16 19:27                                             ` Alan Stern
2013-08-16 19:27                                               ` Alan Stern
2013-08-16 20:00                                               ` Mark Brown
2013-08-16 20:39                                                 ` Alan Stern
2013-08-16 20:39                                                   ` Alan Stern
2013-08-16 22:46                                                   ` Mark Brown
2013-08-17  1:29                                                     ` Alan Stern
2013-08-17  1:29                                                       ` Alan Stern
2013-08-19 12:17                                                       ` Ming Lei
2013-08-19 16:01                                                         ` Mark Brown
2013-08-20 13:19                                                           ` Ming Lei
2013-08-20 15:02                                                             ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.