diff options
author | Kornel Dulęba <korneld@google.com> | 2023-03-13 09:29:22 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-03-15 09:19:37 +0000 |
commit | 1fb66a343d42b8829823d3d3ae6bc4ccd390ff41 (patch) | |
tree | 126ac4f0f989ceb9630438993b407f83b22ec722 | |
parent | cfe834c45efaf97632abc49102852c4c3575b380 (diff) | |
download | chrome-ec-1fb66a343d42b8829823d3d3ae6bc4ccd390ff41.tar.gz |
skyrim: Validate usb port number in ppc_config
On skyrim only port0 is supported in current limiter logic.
Add a check to verify that.
Update the test accordingly
BUG=b:267205976
TEST=./twister -i -T zephyr/test/skyrim
BRANCH=none
Change-Id: I04d5cd68ff99b72b0fa4884cbb3b09849f61407e
Signed-off-by: Kornel Dulęba <korneld@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4334556
Reviewed-by: Robert Zieba <robertzieba@google.com>
5 files changed, 16 insertions, 0 deletions
diff --git a/zephyr/program/skyrim/crystaldrift/src/ppc_config.c b/zephyr/program/skyrim/crystaldrift/src/ppc_config.c index 3913fda4dc..0e5cd33606 100644 --- a/zephyr/program/skyrim/crystaldrift/src/ppc_config.c +++ b/zephyr/program/skyrim/crystaldrift/src/ppc_config.c @@ -23,6 +23,9 @@ int board_aoz1380_set_vbus_source_current_limit(int port, enum tcpc_rp_value rp) { int rv = EC_SUCCESS; + if (port != 0) + return EC_ERROR_INVAL; + rv = gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(ioex_usb_c0_ilim_3a_en), (rp == TYPEC_RP_3A0) ? 1 : 0); diff --git a/zephyr/program/skyrim/frostflow/src/ppc_config.c b/zephyr/program/skyrim/frostflow/src/ppc_config.c index 513c025dec..3f5658f3a2 100644 --- a/zephyr/program/skyrim/frostflow/src/ppc_config.c +++ b/zephyr/program/skyrim/frostflow/src/ppc_config.c @@ -23,6 +23,9 @@ int board_aoz1380_set_vbus_source_current_limit(int port, enum tcpc_rp_value rp) { int rv = EC_SUCCESS; + if (port != 0) + return EC_ERROR_INVAL; + rv = gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(ioex_usb_c0_ilim_3a_en), (rp == TYPEC_RP_3A0) ? 1 : 0); diff --git a/zephyr/program/skyrim/markarth/src/ppc_config.c b/zephyr/program/skyrim/markarth/src/ppc_config.c index 4bbc877714..25c36b0c48 100644 --- a/zephyr/program/skyrim/markarth/src/ppc_config.c +++ b/zephyr/program/skyrim/markarth/src/ppc_config.c @@ -23,6 +23,9 @@ int board_aoz1380_set_vbus_source_current_limit(int port, enum tcpc_rp_value rp) { int rv = EC_SUCCESS; + if (port != 0) + return EC_ERROR_INVAL; + rv = gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(ioex_usb_c0_ilim_3a_en), (rp == TYPEC_RP_3A0) ? 1 : 0); diff --git a/zephyr/program/skyrim/skyrim/src/ppc_config.c b/zephyr/program/skyrim/skyrim/src/ppc_config.c index 047103baee..5ce6403062 100644 --- a/zephyr/program/skyrim/skyrim/src/ppc_config.c +++ b/zephyr/program/skyrim/skyrim/src/ppc_config.c @@ -23,6 +23,9 @@ int board_aoz1380_set_vbus_source_current_limit(int port, enum tcpc_rp_value rp) { int rv = EC_SUCCESS; + if (port != 0) + return EC_ERROR_INVAL; + rv = gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(ioex_usb_c0_ilim_3a_en), (rp == TYPEC_RP_3A0) ? 1 : 0); diff --git a/zephyr/test/skyrim/tests/common/src/ppc_config.c b/zephyr/test/skyrim/tests/common/src/ppc_config.c index 0721e9c313..ca759fa66a 100644 --- a/zephyr/test/skyrim/tests/common/src/ppc_config.c +++ b/zephyr/test/skyrim/tests/common/src/ppc_config.c @@ -42,6 +42,10 @@ ZTEST(ppc_config, board_aoz1380_set_vbus_source_current_limit) rv = board_aoz1380_set_vbus_source_current_limit(0, TYPEC_RP_1A5); zassert_equal(rv, EC_SUCCESS); zassert_equal(gpio_emul_output_get(gpio->port, gpio->pin), 0); + + /* Only port0 is supported. */ + rv = board_aoz1380_set_vbus_source_current_limit(1, TYPEC_RP_1A5); + zassert_equal(rv, EC_ERROR_INVAL); } ZTEST(ppc_config, ppc_interrupt) |