2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-17 01:34:00 +08:00
linux-next/Documentation/power
Enric Balletbo i Serra a4496d52b3 power: supply: add input power and voltage limit properties
For thermal management strategy you might be interested on limit the
input power for a power supply. We already have current limit but
basically what we probably want is to limit power. So, introduce the
input_power_limit property.

Although the common use case is limit the input power, in some
specific cases it is the voltage that is problematic (i.e some regulators
have different efficiencies at higher voltage resulting in more heat).
So introduce also the input_voltage_limit property.

This happens in one Chromebook and is used on the Pixel C's thermal
management strategy to effectively limit the input power to 5V 3A when
the screen is on. When the screen is on, the display, the CPU, and the GPU
all contribute more heat to the system than while the screen is off, and
we made a tradeoff to throttle the charger in order to give more of the
thermal budget to those other components.

So there's nothing fundamentally broken about the hardware that would
cause the Pixel C to malfunction if we were charging at 9V or 12V instead
of 5V when the screen is on, i.e. if userspace doesn't change this.

What would happen is that you wouldn't meet Google's skin temperature
targets on the system if the charger was allowed to run at 9V or 12V with
the screen on.

For folks hacking on Pixel Cs (which is now outside of Google's official
support window for Android) and customizing their own kernel and userspace
this would be acceptable, but we wanted to expose this feature in the
power supply properties because the feature does exist in the Emedded
Controller firmware of the Pixel C and all of Google's Chromebooks with
USB-C made since 2015 in case someone running an up to date kernel wanted
to limit the charging power for thermal or other reasons.

This patch exposes a new property, similar to input current limit, to
re-configure the maximum voltage from the external supply at runtime
based on system-level knowledge or user input.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2019-06-28 17:28:27 +02:00
..
powercap PowerCap: Documentation 2013-10-17 00:36:06 +02:00
regulator Documentation: Use "while" instead of "whilst" 2018-11-20 09:30:43 -07:00
apm-acpi.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
basic-pm-debugging.txt PM / sleep: Update some system sleep documentation 2016-08-13 02:54:04 +02:00
charger-manager.txt Documentation: Charger Manager: Fix spelling mistakes 2014-09-16 11:01:27 +02:00
drivers-testing.txt PM: Fix references to basic-pm-debugging.txt in drivers-testing.txt 2010-12-24 15:02:41 +01:00
energy-model.txt PM/EM: Document the Energy Model framework 2019-01-27 12:29:37 +01:00
freezing-of-tasks.txt PM / reboot: Eliminate race between reboot and suspend 2018-08-06 12:35:20 +02:00
interface.txt Documentation: fix ref to power basic-pm-debugging 2017-10-19 12:57:58 -06:00
opp.txt PM / OPP: Update Documentation to remove RCU specific bits 2017-01-30 09:22:23 +01:00
pci.txt PCI / PM: Support for LEAVE_SUSPENDED driver flag 2017-11-27 01:20:59 +01:00
pm_qos_interface.txt PM / QoS: Drop PM_QOS_FLAG_REMOTE_WAKEUP 2017-10-14 01:04:31 +02:00
power_supply_class.txt power: supply: add input power and voltage limit properties 2019-06-28 17:28:27 +02:00
runtime_pm.txt PM / runtime: Drop children check from __pm_runtime_set_status() 2017-11-16 22:51:22 +01:00
s2ram.txt PM / sleep: Mention async suspend in PM_TRACE documentation 2015-01-30 01:29:46 +01:00
suspend-and-cpuhotplug.txt PM / reboot: Eliminate race between reboot and suspend 2018-08-06 12:35:20 +02:00
suspend-and-interrupts.txt genirq / PM: describe IRQF_COND_SUSPEND 2015-03-06 01:28:14 +01:00
swsusp-and-swap-files.txt
swsusp-dmcrypt.txt docs: fix locations of several documents that got moved 2016-10-24 08:12:35 -02:00
swsusp.txt PM / hibernate: Documentation: fix image_size default value 2018-09-10 12:07:06 +02:00
tricks.txt update email address 2010-07-19 10:56:54 +02:00
userland-swsusp.txt Documentation: power: Fix typo in Documentation/power 2014-11-08 09:15:14 -05:00
video.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00