Thread (9 messages) 9 messages, 3 authors, 2016-05-04

Re: [RESEND PATCH v10 4/4] power: wm831x_power: Support USB charger current limit management

From: Manish Badarkhe <hidden>
Date: 2016-05-03 04:00:52
Also in: lkml

On Tue, May 3, 2016 at 9:00 AM, Baolin Wang [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Integrate with the newly added USB charger interface to limit the current
we draw from the USB input based on the input device configuration
identified by the USB stack, allowing us to charge more quickly from high
current inputs without drawing more current than specified from others.

Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Baolin Wang <redacted>
Acked-by: Lee Jones <redacted>
Acked-by: Charles Keepax <redacted>
Acked-by: Peter Chen <redacted>
Acked-by: Sebastian Reichel <sre@kernel.org>
---
 drivers/power/wm831x_power.c     |   69 ++++++++++++++++++++++++++++++++++++++
 include/linux/mfd/wm831x/pdata.h |    3 ++
 2 files changed, 72 insertions(+)
diff --git a/drivers/power/wm831x_power.c b/drivers/power/wm831x_power.c
index 7082301..cef1812 100644
--- a/drivers/power/wm831x_power.c
+++ b/drivers/power/wm831x_power.c
@@ -13,6 +13,7 @@
 #include <linux/platform_device.h>
 #include <linux/power_supply.h>
 #include <linux/slab.h>
+#include <linux/usb/charger.h>

 #include <linux/mfd/wm831x/core.h>
 #include <linux/mfd/wm831x/auxadc.h>
@@ -31,6 +32,8 @@ struct wm831x_power {
        char usb_name[20];
        char battery_name[20];
        bool have_battery;
+       struct usb_charger *usb_charger;
+       struct notifier_block usb_notify;
 };

 static int wm831x_power_check_online(struct wm831x *wm831x, int supply,
@@ -125,6 +128,43 @@ static enum power_supply_property wm831x_usb_props[] = {
        POWER_SUPPLY_PROP_VOLTAGE_NOW,
 };

+/* In milliamps */
+static const unsigned int wm831x_usb_limits[] = {
+       0,
+       2,
+       100,
+       500,
+       900,
+       1500,
+       1800,
+       550,
+};
Just for curiosity, How these current limits are getting decided?
Can we have some proper defines over here so that it can be grasped easily?

Thanks
Manish Badarkhe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help