Prev: tty: usb_serial_mos7720: Fix get_lsr_info
Next: [PATCH] block: fix bio_add_page for non trivial merge_bvec_fn case
From: David Brownell on 26 Jan 2010 10:20 On Tuesday 26 January 2010, Felipe Balbi wrote: > but when suspended, we have to cut power ASAP. If not enumerated we can > still draw power for a few miliseconds due to dead battery provision. When suspended, it's OK to draw a small amount of power. On the order of one milliamp, based on the config that's active ... instead of, often, hundreds. That limit is why for example a PXA 255 could never get certified as a bus-powered peripheral. It required much more than that when in suspend mode. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: David Brownell on 26 Jan 2010 10:30 On Tuesday 26 January 2010, Felipe Balbi wrote: > > > >Thing is, supplying current is a bit more involved. �If the > >board can't supply 300 mA, the USB configuration selection > >mechanism has to know that, so it never selects peripheral > >configurations which require that much current. > > but that's done already by the usb core, no ? It rules out configuration > based on the hub->power_budget (can't remember if the field is that > exact name). Yes, it handles that ... but where does the power budget come from? That's what I meant by "more involved". As in, the host/supplying side of the power equation can't be event driven like the peripheral/consuming side can. And that's another reason I think it's best to fully solve the common (peripheral, recharge-that-batter) case first. - Dave -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: David Brownell on 26 Jan 2010 10:40 On Tuesday 26 January 2010, Felipe Balbi wrote: > just remember of another problem which I couldn't solve yet: > > if you boot the board with the usb cable already attached, then we miss > the first notification because when the notifier is called, usb > controller driver isn't probed yet. That's part of why the OTG transceiver driver has methods used by host and peripheral drivers to register themselves. Standard init sequence there is to do nothing until both drivers are fully initialized ... last step being to register the drivers with the transceiver. That way the transceiver can know when its peer drivers are ready. Example: VBUS present from a host. If the board runs in OTG mode, as soon as both drivers are registered then the B-Default state machine would start running ... and that involves (see the OTG state machine!) issuing a VBBUS event. Same thing can be done with the power events. As soon as an event listener is registered, it could be fed any events it missed. (Just one approach; one must sort out any other interdependencies too. In this case, it can make sense to consume 100mA current right away, and then adjust the draw later if needed.) - Dave -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: David Brownell on 26 Jan 2010 10:50 On Tuesday 26 January 2010, Mark Brown wrote: > > > Yes please - it's not just chargers either, this can also be used by > > > PMICs which do power path management that includes USB. > > > Color me confused ... what do you mean by "power path"? > > In the sort of design I'm talking about there is generally a system > power rail which is generated from the various power sources available > to the system, which might include a combination of batteries, USB and > wall adaptors. Just as an example: drivers/mfd/tps6510.c supports exactly that trio of power sources. More than one system rail though, which (as you know) is pretty common -- core != I/O. It's *way* simpler than e.g. the TWL6030. :) > The power path management logic is the hardware which > controls which of these are actually being used as supplies, and may > also include battery charger management. > > > Do you mean something like "the board as a whole can take N mA of > > current from USB", rather than specifically addressing a charger? > > Pretty much, from this point of view. OK -- clear now. > > It's not uncommon to do things like use VBUS current to power the > > USB circuitry, too. �That can leave less for other purposes. �All > > of that being rather board-specific. > > In this sort of design either VBUS goes through the power path > management logic before anything else gets to use it or the hardware > will know about the headroom it needs to leave. �The power path > management will usually do things like try to suppliment VBUS with any > battery that's available to generate the main system supply rail. > > This all needs to function without software since it tends to get used > to decide things like if the system is able to begin power up at all, . Yep. That's part of the reason the USB specs have hard rules about having 100 mA available (for some period) even before software can come up. Bus powered devices can come up on that 100mA, running enough to enumerate ... and request more power, if they need it. Not all Linux systems can boot with that little power! - Dave -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mark Brown on 26 Jan 2010 11:20 On Tue, Jan 26, 2010 at 07:44:46AM -0800, David Brownell wrote: > On Tuesday 26 January 2010, Mark Brown wrote: > > In the sort of design I'm talking about there is generally a system > > power rail which is generated from the various power sources available > > to the system, which might include a combination of batteries, USB and > > wall adaptors. > Just as an example: drivers/mfd/tps6510.c supports exactly > that trio of power sources. Yup, it's a fairly standard feature set for all in one PMICs, WM835x and WM831x are also examples of this. > More than one system rail though, > which (as you know) is pretty common -- core != I/O. Yes, in this context the system rail is the supply input to the regulators rather than the regulated voltages that are (mostly) used directly by the chips. > Bus powered devices can come up on that 100mA, running > enough to enumerate ... and request more power, if they > need it. > Not all Linux systems can boot with that little power! Some can even brown themselves out going full pelt with the full 500mA supply if there's no battery to supplement it :/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 Prev: tty: usb_serial_mos7720: Fix get_lsr_info Next: [PATCH] block: fix bio_add_page for non trivial merge_bvec_fn case |