summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2014-10-09 11:55:26 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-10-10 02:43:39 +0000
commitfd7846fe094ae70fbbdc3026c4500999a0adf737 (patch)
tree265e5fcc982844fa2e114b228d284cee96c182a1
parent6f97b22ce727a4913dac3b271ec0912e4e1e3808 (diff)
downloadchrome-ec-fd7846fe094ae70fbbdc3026c4500999a0adf737.tar.gz
usb_pd: Add port parameter to pd_set_input_current_limit
Some platforms may need to take different actions depending on which port is requesting a limit. Add a new port parameter to the pd_set_input_current_limit API to accomodate this. BUG=chrome-os-partner:32003 TEST=Manual on samus_pd. Verify zinger charges battery. BRANCH=samus Change-Id: I1578252c751b3a80b4da6ca68e2a958934283cbf Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/222621 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Alec Berg <alecaberg@chromium.org>
-rw-r--r--board/dingdong/usb_pd_policy.c2
-rw-r--r--board/firefly/usb_pd_policy.c2
-rw-r--r--board/fruitpie/usb_pd_policy.c2
-rw-r--r--board/hoho/usb_pd_policy.c2
-rw-r--r--board/host/usb_pd_policy.c2
-rw-r--r--board/plankton/usb_pd_policy.c2
-rw-r--r--board/ryu/usb_pd_policy.c2
-rw-r--r--board/samus_pd/usb_pd_policy.c2
-rw-r--r--common/usb_pd_protocol.c6
-rw-r--r--include/usb_pd.h3
10 files changed, 13 insertions, 12 deletions
diff --git a/board/dingdong/usb_pd_policy.c b/board/dingdong/usb_pd_policy.c
index 57099a960d..8fcd833499 100644
--- a/board/dingdong/usb_pd_policy.c
+++ b/board/dingdong/usb_pd_policy.c
@@ -57,7 +57,7 @@ int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo)
return ma;
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
/* No battery, nothing to do */
return;
diff --git a/board/firefly/usb_pd_policy.c b/board/firefly/usb_pd_policy.c
index 9b91358eeb..5358eec678 100644
--- a/board/firefly/usb_pd_policy.c
+++ b/board/firefly/usb_pd_policy.c
@@ -64,7 +64,7 @@ int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo)
return ma;
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
/* No battery, nothing to do */
return;
diff --git a/board/fruitpie/usb_pd_policy.c b/board/fruitpie/usb_pd_policy.c
index 1e1de216a0..0c87d66f63 100644
--- a/board/fruitpie/usb_pd_policy.c
+++ b/board/fruitpie/usb_pd_policy.c
@@ -77,7 +77,7 @@ int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo)
return max_ma;
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
int rv = charger_set_input_current(MAX(max_ma,
CONFIG_CHARGER_INPUT_CURRENT));
diff --git a/board/hoho/usb_pd_policy.c b/board/hoho/usb_pd_policy.c
index 5523b2a95c..19881ac782 100644
--- a/board/hoho/usb_pd_policy.c
+++ b/board/hoho/usb_pd_policy.c
@@ -58,7 +58,7 @@ int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo)
return ma;
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
/* No battery, nothing to do */
return;
diff --git a/board/host/usb_pd_policy.c b/board/host/usb_pd_policy.c
index ffa6d53be9..3155a288a0 100644
--- a/board/host/usb_pd_policy.c
+++ b/board/host/usb_pd_policy.c
@@ -106,7 +106,7 @@ void pd_power_supply_reset(int port)
/* Not implemented */
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
/* Not implemented */
}
diff --git a/board/plankton/usb_pd_policy.c b/board/plankton/usb_pd_policy.c
index e611c8d827..a3136bfeed 100644
--- a/board/plankton/usb_pd_policy.c
+++ b/board/plankton/usb_pd_policy.c
@@ -83,7 +83,7 @@ int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo)
return ma;
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
/* No battery, nothing to do */
return;
diff --git a/board/ryu/usb_pd_policy.c b/board/ryu/usb_pd_policy.c
index 453e463d59..10ceb1c30a 100644
--- a/board/ryu/usb_pd_policy.c
+++ b/board/ryu/usb_pd_policy.c
@@ -78,7 +78,7 @@ int pd_choose_voltage(int cnt, uint32_t *src_caps, uint32_t *rdo)
return max_ma;
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
int rv = charge_set_input_current_limit(MAX(max_ma,
CONFIG_CHARGER_INPUT_CURRENT));
diff --git a/board/samus_pd/usb_pd_policy.c b/board/samus_pd/usb_pd_policy.c
index 2aff0210a9..7b7237059b 100644
--- a/board/samus_pd/usb_pd_policy.c
+++ b/board/samus_pd/usb_pd_policy.c
@@ -139,7 +139,7 @@ static void pd_send_ec_int(void)
gpio_set_level(GPIO_EC_INT, 0);
}
-void pd_set_input_current_limit(uint32_t max_ma)
+void pd_set_input_current_limit(int port, uint32_t max_ma)
{
pd_status.curr_lim_ma = max_ma;
pd_send_ec_int();
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index daf538ea85..4ed08a64d8 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -650,7 +650,7 @@ static void execute_hard_reset(int port)
PD_STATE_SNK_DISCONNECTED : PD_STATE_SRC_DISCONNECTED);
/* Clear the input current limit */
- pd_set_input_current_limit(0);
+ pd_set_input_current_limit(port, 0);
#else
set_state(port, PD_STATE_SRC_DISCONNECTED);
#endif
@@ -793,7 +793,7 @@ static void handle_ctrl_request(int port, uint16_t head,
set_state(port, PD_STATE_HARD_RESET);
} else if (pd[port].role == PD_ROLE_SINK) {
set_state(port, PD_STATE_SNK_READY);
- pd_set_input_current_limit(pd[port].curr_limit);
+ pd_set_input_current_limit(port, pd[port].curr_limit);
}
break;
case PD_CTRL_REJECT:
@@ -1499,7 +1499,7 @@ void pd_task(void)
/* Sink: detect disconnect by monitoring VBUS */
set_state(port, PD_STATE_SNK_DISCONNECTED);
/* Clear the input current limit */
- pd_set_input_current_limit(0);
+ pd_set_input_current_limit(port, 0);
/* set timeout small to reconnect fast */
timeout = 5*MSEC;
}
diff --git a/include/usb_pd.h b/include/usb_pd.h
index 8824eb3b33..895e4d3cc6 100644
--- a/include/usb_pd.h
+++ b/include/usb_pd.h
@@ -562,9 +562,10 @@ void pd_request_source_voltage(int port, int mv);
/**
* Set the input current limit.
*
+ * @port USB-C port number
* @max_ma Maximum current limit
*/
-void pd_set_input_current_limit(uint32_t max_ma);
+void pd_set_input_current_limit(int port, uint32_t max_ma);
/**
* Verify board specific health status : current, voltages...