Hi, * Michael Mrozek <EvilDragon@xxxxxxxxxxxxxxx> [160328 16:16]: > Hi, > > as we now have the first prototypes running so far, I was able to do > some testings with them. > > Right now, the OMAP5 seems to eat quite a bit of power, even when > basically doing nothing (a LOT more than the DM3730 or OMAP3 uses). > > Having it idling around doesn't use less power than running LibreOffice > and typing a text, for example. > > Right now, I get about 6 - 7 hours of usage with a 6000mAh battery (and > everything enabled), whereas I have about 8 hours with a 4400mAh > battery (and also everything enabled) on the Pandora. > > I think Nikolaus mentioned at some time that power saving features for > the OMAP5 are missing in the kernel (SmartReflex maybe?), so I wanted > to check for the status about that and what can be improved. Well some PM features work for omap4, so getting to the same point with omap5 should be doable. We need to check the various IDLEST registers to make sure various devices are idled, and then the hardware should start entering deeper idle states depending what support is implemented for the SoC. The device drivers for most part already idle things using kernel PM runtime. And roughly the steps to get the device to hitting deeper idle states is: 1. Disconnect USB cable(s) 2. Unload ehci-omap and ohci-omap3 4. Configure UART timeouts 5. Blank the display And then it's up to what is implemented for the SoC to for the idle modes, which certainly needs work for omap5. The autoidle timeouts for UARTs can be enabled with something like: #!/bin/bash uarts=$(find /sys/class/tty/tty[SO]*/device/power/ -type d) for uart in $uarts; do echo 3000 > $uart/autosuspend_delay_ms 2>&1 done uarts=$(find /sys/class/tty/tty[SO]*/power/ -type d 2>/dev/null) for uart in $uarts; do echo enabled > $uart/wakeup 2>&1 echo auto > $uart/control 2>&1 done echo 1 > /sys/kernel/debug/pm_debug/enable_off_mode > In theory, the OMAP5 should use less power for the same tasks the > DM3730 or OMAP4 can do, but use more power for more CPU usage (which > sounds logical). > > Right now, it seems the kernel is fixed to 1GHz and 1,5GHz (or 500Mhz > and 1GHz on our kernel, as we changed the settings). > > If I understood correctly, it only uses these settings. > Does that mean it will always use at least the power it needs to run at > 500Mhz? AFAIR, the DM3730 / OMAP3 can go down to around 30Mhz. The dm3730 can do < 10 mW while running and idle with WLAN connected with the mainline kernel.. But not with libertas_sdio, that seems to have no PM support :) Not sure what kind of numbers omap5 should be able to get, but my guess is we should reasonably easily get to 500 mW with LCD blanked and device idle as listed above. That's what omap4 pandaboard es seems to measure at with current mainline kernel, so I don't see why omap5 could not do the same. > So the question is, how can we improve that? > > * Add more voltages so it can scale better? (how low can the OMAP5 go?) > * Is SmartReflex active, can this be checked? Is that something that > can be improved? > > Idling around, the Pandora can hold up to 40 hours... so the Pyra > should be able to do more with a 6000mAh battery. > > And at least my Smartphone with an OMAP4 can idle for over 20 hours with > a 1500mAh battery, the OMAP5 can't be that much different. > > What are we missing here? I've added linux-omap, Tero and Nishanth to Cc as they may be able to provide some more info. Cheers, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html