summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKarthikeyan Ramasubramanian <kramasub@google.com>2019-10-02 15:09:45 -0600
committerCommit Bot <commit-bot@chromium.org>2019-11-09 02:16:42 +0000
commit27db31e6d02a54d5706d8cb4d1b5db6ff757f659 (patch)
tree638e3c80f757205774cc62037b056dc9cab64132 /test
parentffb96cd5ba990c8d6d91a044105eb225087781aa (diff)
downloadchrome-ec-27db31e6d02a54d5706d8cb4d1b5db6ff757f659.tar.gz
Add a board specific helper to return USB PD port count
Certain SKUs of certain boards have less number of USB PD ports than configured in CONFIG_USB_PD_PORT_MAX_COUNT. Hence define an overrideable board specific helper to return the number of USB PD ports. This helps to avoid initiating a PD firmware update in SKUs where there are less number of USB PD ports. Also update charge manager to ensure that absent/ invalid PD ports are skipped during port initialization and management. BUG=b:140816510, b:143196487 BRANCH=octopus TEST=make -j buildall; Boot to ChromeOS in bobba(2A + 2C config) and garg(2A + 1C + 1HDMI config). Change-Id: Ie345cef470ad878ec443ddf4797e5d17cfe1f61e Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1879338 Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Karthikeyan Ramasubramanian <kramasub@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/charge_manager.c10
-rw-r--r--test/usb_pd.c2
2 files changed, 6 insertions, 6 deletions
diff --git a/test/charge_manager.c b/test/charge_manager.c
index 30c9efc69b..7fb8685aef 100644
--- a/test/charge_manager.c
+++ b/test/charge_manager.c
@@ -78,7 +78,7 @@ enum battery_present battery_is_present(void)
static void clear_new_power_requests(void)
{
int i;
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; ++i)
+ for (i = 0; i < board_get_usb_pd_port_count(); ++i)
new_power_request[i] = 0;
}
@@ -115,7 +115,7 @@ static void initialize_charge_table(int current, int voltage, int ceil)
charge.current = current;
charge.voltage = voltage;
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; ++i) {
+ for (i = 0; i < board_get_usb_pd_port_count(); ++i) {
for (j = 0; j < CEIL_REQUESTOR_COUNT; ++j)
charge_manager_set_ceil(i, j, ceil);
charge_manager_update_dualrole(i, CAP_DEDICATED);
@@ -141,12 +141,12 @@ static int test_initialization(void)
/* Initialize all supplier/port pairs, except for the last one */
for (i = 0; i < CHARGE_SUPPLIER_COUNT; ++i)
- for (j = 0; j < CONFIG_USB_PD_PORT_MAX_COUNT; ++j) {
+ for (j = 0; j < board_get_usb_pd_port_count(); ++j) {
if (i == 0)
charge_manager_update_dualrole(j,
CAP_DEDICATED);
if (i == CHARGE_SUPPLIER_COUNT - 1 &&
- j == CONFIG_USB_PD_PORT_MAX_COUNT - 1)
+ j == board_get_usb_pd_port_count() - 1)
break;
charge_manager_update_charge(i, j, &charge);
}
@@ -157,7 +157,7 @@ static int test_initialization(void)
/* Update last pair and verify a charge port has been selected */
charge_manager_update_charge(CHARGE_SUPPLIER_COUNT-1,
- CONFIG_USB_PD_PORT_MAX_COUNT-1,
+ board_get_usb_pd_port_count()-1,
&charge);
wait_for_charge_manager_refresh();
TEST_ASSERT(active_charge_port != CHARGE_PORT_NONE);
diff --git a/test/usb_pd.c b/test/usb_pd.c
index 96d18beafd..6ec9b3ffda 100644
--- a/test/usb_pd.c
+++ b/test/usb_pd.c
@@ -147,7 +147,7 @@ static void init_ports(void)
{
int i;
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; ++i) {
+ for (i = 0; i < board_get_usb_pd_port_count(); ++i) {
pd_port[i].host_mode = 0;
pd_port[i].partner_role = -1;
pd_port[i].has_vbus = 0;