summaryrefslogtreecommitdiff
path: root/common/usb_pd_policy.c
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 /common/usb_pd_policy.c
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 'common/usb_pd_policy.c')
-rw-r--r--common/usb_pd_policy.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c
index f36ec396ab..4b8fa85071 100644
--- a/common/usb_pd_policy.c
+++ b/common/usb_pd_policy.c
@@ -629,7 +629,7 @@ static int command_pe(int argc, char **argv)
return EC_ERROR_PARAM_COUNT;
/* command: pe <port> <subcmd> <args> */
port = strtoi(argv[1], &e, 10);
- if (*e || port >= CONFIG_USB_PD_PORT_MAX_COUNT)
+ if (*e || port >= board_get_usb_pd_port_count())
return EC_ERROR_PARAM2;
if (!strncasecmp(argv[2], "dump", 4))
dump_pe(port);
@@ -884,7 +884,7 @@ static int command_cable(int argc, char **argv)
if (argc < 2)
return EC_ERROR_PARAM_COUNT;
port = strtoi(argv[1], &e, 0);
- if (*e || port >= CONFIG_USB_PD_PORT_MAX_COUNT)
+ if (*e || port >= board_get_usb_pd_port_count())
return EC_ERROR_PARAM2;
if (!cable[port].is_identified) {
@@ -984,7 +984,7 @@ static enum ec_status hc_remote_pd_discovery(struct host_cmd_handler_args *args)
const uint8_t *port = args->params;
struct ec_params_usb_pd_discovery_entry *r = args->response;
- if (*port >= CONFIG_USB_PD_PORT_MAX_COUNT)
+ if (*port >= board_get_usb_pd_port_count())
return EC_RES_INVALID_PARAM;
r->vid = pd_get_identity_vid(*port);
@@ -1006,7 +1006,7 @@ static enum ec_status hc_remote_pd_get_amode(struct host_cmd_handler_args *args)
const struct ec_params_usb_pd_get_mode_request *p = args->params;
struct ec_params_usb_pd_get_mode_response *r = args->response;
- if (p->port >= CONFIG_USB_PD_PORT_MAX_COUNT)
+ if (p->port >= board_get_usb_pd_port_count())
return EC_RES_INVALID_PARAM;
/* no more to send */