summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2017-10-05 08:15:12 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-10-05 21:24:46 -0700
commit286b800f14b139ca5d349d35142d7f31f3655689 (patch)
tree1dad9a731db2ede5712aea0aac164120a9d6fe00 /common
parent1e72cc1f5719d5c5df6dbe76a8c86f60a525fe1a (diff)
downloadchrome-ec-286b800f14b139ca5d349d35142d7f31f3655689.tar.gz
pd: Move *_set_input_current() to common code
Boards that use charge_manager have identical implementations of typec_set_input_current_limit() and pd_set_input_current_limit(), so move these functions to charge_manager. BUG=b:67413505 TEST=`make buildall -j`, also verify that fizz continues to power-on and boot AP, in both protected and unprotected mode, with barrel jack power and with zinger. BRANCH=None Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I99a5314d02c4696db944c0f8ac689405f4f1f707 Reviewed-on: https://chromium-review.googlesource.com/701412 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/charge_manager.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c
index 71169fe97f..05656c5aa0 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -823,6 +823,26 @@ static void charge_manager_make_change(enum charge_manager_change_type change,
hook_call_deferred(&charge_manager_refresh_data, 0);
}
+void pd_set_input_current_limit(int port, uint32_t max_ma,
+ uint32_t supply_voltage)
+{
+ struct charge_port_info charge;
+
+ charge.current = max_ma;
+ charge.voltage = supply_voltage;
+ charge_manager_update_charge(CHARGE_SUPPLIER_PD, port, &charge);
+}
+
+void typec_set_input_current_limit(int port, uint32_t max_ma,
+ uint32_t supply_voltage)
+{
+ struct charge_port_info charge;
+
+ charge.current = max_ma;
+ charge.voltage = supply_voltage;
+ charge_manager_update_charge(CHARGE_SUPPLIER_TYPEC, port, &charge);
+}
+
void charge_manager_update_charge(int supplier,
int port,
struct charge_port_info *charge)