summaryrefslogtreecommitdiff
path: root/zephyr/projects/intelrvp/adlrvp/src/adlrvp.c
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2022-09-21 14:10:01 -0700
committerTom Hughes <tomhughes@chromium.org>2022-09-22 12:49:33 -0700
commit2bcf863b492fe7ed8105c853814dba6ed32ba719 (patch)
treefcf6ce5810f9ff9e3c8cce434812dd75492269ed /zephyr/projects/intelrvp/adlrvp/src/adlrvp.c
parente5fb0b9ba488614b5684e640530f00821ab7b943 (diff)
parent28712dae9d7ed1e694f7622cc083afa71090d4d5 (diff)
downloadchrome-ec-2bcf863b492fe7ed8105c853814dba6ed32ba719.tar.gz
Merge remote-tracking branch cros/main into firmware-fpmcu-bloonchipper-releasefirmware-fpmcu-bloonchipper-release
Generated by: ./util/update_release_branch.py --board bloonchipper --relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware- fpmcu-bloonchipper-release Relevant changes: git log --oneline e5fb0b9ba4..28712dae9d -- board/hatch_fp board/bloonchipper common/fpsensor docs/fingerprint driver/fingerprint util/getversion.sh ded9307b79 util/getversion.sh: Fix version when not in a git repo 956055e692 board: change Google USB vendor info 71b2ef709d Update license boilerplate text in source code files 33e11afda0 Revert "fpsensor: Build fpsensor source file with C++" c8d0360723 fpsensor: Build fpsensor source file with C++ bc113abd53 fpsensor: Fix g++ compiler error 150a58a0dc fpsensor: Fix fp_set_sensor_mode return type b33b5ce85b fpsensor: Remove nested designators for C++ compatibility 2e864b2539 tree-wide: const-ify argv for console commands 56d8b360f9 test: Add test for get ikm failure when seed not set 3a3d6c3690 test: Add test for fpsensor trivial key failure 233e6bbd08 fpsensor_crypto: Abstract calls to hmac_SHA256 0a041b285b docs/fingerprint: Typo correction c03fab67e2 docs/fingerprint: Fix the path of fputils.py 0b5d4baf5a util/getversion.sh: Fix empty file list handling 6e128fe760 FPMCU dev board environment with Satlab 3eb29b6aa5 builtin: Move ssize_t to sys/types.h 345d62ebd1 docs/fingerprint: Update power numbers for latest dartmonkey release c25ffdb316 common: Conditionally support printf %l and %i modifiers 9a3c514b45 test: Add a test to check if the debugger is connected 54e603413f Move standard library tests to their own file 43fa6b4bf8 docs/fingerprint: Update power numbers for latest bloonchipper release 25536f9a84 driver/fingerprint/fpc/bep/fpc_sensor_spi.c: Format with clang-format 4face99efd driver/fingerprint/fpc/libfp/fpc_sensor_pal.h: Format with clang-format 738de2b575 trng: Rename rand to trng_rand 14b8270edd docs/fingerprint: Update dragonclaw power numbers 0b268f93d1 driver/fingerprint/fpc/libfp/fpc_private.c: Format with clang-format f80da163f2 driver/fingerprint/fpc/libfp/fpc_private.h: Format with clang-format 5e9c85c9b1 driver/fingerprint/fpc/libfp/fpc_sensor_pal.c: Format with clang-format c1f9dd3cf8 driver/fingerprint/fpc/libfp/fpc_bio_algorithm.h: Format with clang-format eb1e1bed8d driver/fingerprint/fpc/libfp/fpc1145_private.h: Format with clang-format 6e7b611821 driver/fingerprint/fpc/bep/fpc_bio_algorithm.h: Format with clang-format e0589cd5e2 driver/fingerprint/fpc/bep/fpc1035_private.h: Format with clang-format 7905e556a0 common/fpsensor/fpsensor_crypto.c: Format with clang-format 21289d170c driver/fingerprint/fpc/bep/fpc1025_private.h: Format with clang-format 98a20f937e common/fpsensor/fpsensor_state.c: Format with clang-format a2d255d8af common/fpsensor/fpsensor.c: Format with clang-format 73055eeb3f driver/fingerprint/fpc/bep/fpc_private.c: Format with clang-format 0f7b5cb509 common/fpsensor/fpsensor_private.h: Format with clang-format 1ceade6e65 driver/fingerprint/fpc/bep/fpc_private.h: Format with clang-format dc3e9008b8 board/hatch_fp/board.h: Format with clang-format dca9d74321 Revert "trng: Rename rand to trng_rand" a6b0b3554f trng: Rename rand to trng_rand 28d0b75b70 third_party/boringssl: Remove unused header BRANCH=None BUG=b:246424843 b:234181908 b:244781166 b:234181908 b:244387210 BUG=b:242720240 chromium:1098010 b:180945056 b:236025198 b:234181908 BUG=b:234181908 b:237344361 b:131913998 b:236386294 b:234143158 BUG=b:234781655 b:215613183 b:242720910 TEST=`make -j buildall` TEST=./test/run_device_tests.py --board bloonchipper Test "aes": PASSED Test "cec": PASSED Test "cortexm_fpu": PASSED Test "crc": PASSED Test "flash_physical": PASSED Test "flash_write_protect": PASSED Test "fpsensor_hw": PASSED Test "fpsensor_spi_ro": PASSED Test "fpsensor_spi_rw": PASSED Test "fpsensor_uart_ro": PASSED Test "fpsensor_uart_rw": PASSED Test "mpu_ro": PASSED Test "mpu_rw": PASSED Test "mutex": PASSED Test "pingpong": PASSED Test "printf": PASSED Test "queue": PASSED Test "rollback_region0": PASSED Test "rollback_region1": PASSED Test "rollback_entropy": PASSED Test "rtc": PASSED Test "sha256": PASSED Test "sha256_unrolled": PASSED Test "static_if": PASSED Test "stdlib": PASSED Test "system_is_locked_wp_on": PASSED Test "system_is_locked_wp_off": PASSED Test "timer_dos": PASSED Test "utils": PASSED Test "utils_str": PASSED Test "stm32f_rtc": PASSED Test "panic_data_bloonchipper_v2.0.4277": PASSED Test "panic_data_bloonchipper_v2.0.5938": PASSED Force-Relevant-Builds: all Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I264ad0ffe7afcd507a1e483c6e934a9c4fea47c3
Diffstat (limited to 'zephyr/projects/intelrvp/adlrvp/src/adlrvp.c')
-rw-r--r--zephyr/projects/intelrvp/adlrvp/src/adlrvp.c81
1 files changed, 29 insertions, 52 deletions
diff --git a/zephyr/projects/intelrvp/adlrvp/src/adlrvp.c b/zephyr/projects/intelrvp/adlrvp/src/adlrvp.c
index bcb9bba1a8..ce5196c60d 100644
--- a/zephyr/projects/intelrvp/adlrvp/src/adlrvp.c
+++ b/zephyr/projects/intelrvp/adlrvp/src/adlrvp.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -29,9 +29,8 @@
#include "usbc_ppc.h"
#include "util.h"
-
-#define CPRINTF(format, args...) cprintf(CC_COMMAND, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_COMMAND, format, ## args)
+#define CPRINTF(format, args...) cprintf(CC_COMMAND, format, ##args)
+#define CPRINTS(format, args...) cprints(CC_COMMAND, format, ##args)
/* TCPC AIC GPIO Configuration */
const struct tcpc_aic_gpio_config_t tcpc_aic_gpios[] = {
@@ -96,27 +95,6 @@ struct ppc_config_t ppc_chips[] = {
BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == CONFIG_USB_PD_PORT_MAX_COUNT);
unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips);
-/* USB Mux Configuration for Soc side BB-Retimers for Dual retimer config */
-static struct usb_mux soc_side_bb_retimer0_usb_mux = {
- .usb_port = TYPE_C_PORT_0,
- .next_mux = USB_MUX_NEXT_POINTER(DT_NODELABEL(usbc_port0), 0),
- .driver = &bb_usb_retimer,
- .hpd_update = bb_retimer_hpd_update,
- .i2c_port = I2C_PORT_TYPEC_0,
- .i2c_addr_flags = I2C_PORT0_BB_RETIMER_SOC_ADDR,
-};
-
-#if defined(HAS_TASK_PD_C1)
-static struct usb_mux soc_side_bb_retimer1_usb_mux = {
- .usb_port = TYPE_C_PORT_1,
- .next_mux = USB_MUX_NEXT_POINTER(DT_NODELABEL(usbc_port1), 0),
- .driver = &bb_usb_retimer,
- .hpd_update = bb_retimer_hpd_update,
- .i2c_port = I2C_PORT_TYPEC_1,
- .i2c_addr_flags = I2C_PORT1_BB_RETIMER_SOC_ADDR,
-};
-#endif
-
/* Cache BB retimer power state */
static bool cache_bb_enable[CONFIG_USB_PD_PORT_MAX_COUNT];
@@ -124,8 +102,8 @@ void board_overcurrent_event(int port, int is_overcurrented)
{
/* Port 0 & 1 and 2 & 3 share same line for over current indication */
#if defined(HAS_TASK_PD_C2)
- enum ioex_signal oc_signal = port < TYPE_C_PORT_2 ?
- IOEX_USB_C0_C1_OC : IOEX_USB_C2_C3_OC;
+ enum ioex_signal oc_signal = port < TYPE_C_PORT_2 ? IOEX_USB_C0_C1_OC :
+ IOEX_USB_C2_C3_OC;
#else
enum ioex_signal oc_signal = IOEX_USB_C0_C1_OC;
#endif
@@ -211,11 +189,11 @@ void set_charger_system_voltage(void)
* on AC or AC+battery
*/
if (extpower_is_present() && battery_is_present()) {
- bq25710_set_min_system_voltage(CHARGER_SOLO,
- battery_get_info()->voltage_min);
+ bq25710_set_min_system_voltage(
+ CHARGER_SOLO, battery_get_info()->voltage_min);
} else {
- bq25710_set_min_system_voltage(CHARGER_SOLO,
- battery_get_info()->voltage_max);
+ bq25710_set_min_system_voltage(
+ CHARGER_SOLO, battery_get_info()->voltage_max);
}
break;
@@ -224,8 +202,7 @@ void set_charger_system_voltage(void)
break;
}
}
-DECLARE_HOOK(HOOK_AC_CHANGE, set_charger_system_voltage,
- HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_AC_CHANGE, set_charger_system_voltage, HOOK_PRIO_DEFAULT);
static void configure_charger(void)
{
@@ -246,26 +223,29 @@ static void configure_charger(void)
static void configure_retimer_usbmux(void)
{
+ struct usb_mux *mux;
+
switch (ADL_RVP_BOARD_ID(board_get_version())) {
case ADLN_LP5_ERB_SKU_BOARD_ID:
case ADLN_LP5_RVP_SKU_BOARD_ID:
/* enable TUSB1044RNQR redriver on Port0 */
- usb_muxes[TYPE_C_PORT_0].i2c_addr_flags =
- TUSB1064_I2C_ADDR14_FLAGS;
- usb_muxes[TYPE_C_PORT_0].driver =
- &tusb1064_usb_mux_driver;
- usb_muxes[TYPE_C_PORT_0].hpd_update = tusb1044_hpd_update;
+ mux = USB_MUX_POINTER(DT_NODELABEL(usb_mux_chain_0), 0);
+ mux->i2c_addr_flags = TUSB1064_I2C_ADDR14_FLAGS;
+ mux->driver = &tusb1064_usb_mux_driver;
+ mux->hpd_update = tusb1044_hpd_update;
#if defined(HAS_TASK_PD_C1)
- usb_muxes[TYPE_C_PORT_1].driver = NULL;
- usb_muxes[TYPE_C_PORT_1].hpd_update = NULL;
+ mux = USB_MUX_POINTER(DT_NODELABEL(usb_mux_chain_1), 0);
+ mux->driver = NULL;
+ mux->hpd_update = NULL;
#endif
break;
case ADLP_LP5_T4_RVP_SKU_BOARD_ID:
/* No retimer on Port-2 */
#if defined(HAS_TASK_PD_C2)
- usb_muxes[TYPE_C_PORT_2].driver = NULL;
+ mux = USB_MUX_POINTER(DT_NODELABEL(usb_mux_chain_2), 0);
+ mux->driver = NULL;
#endif
break;
@@ -275,15 +255,13 @@ static void configure_retimer_usbmux(void)
* Change the default usb mux config on runtime to support
* dual retimer topology.
*/
- usb_muxes[TYPE_C_PORT_0].next_mux
- = &soc_side_bb_retimer0_usb_mux;
+ USB_MUX_ENABLE_ALTERNATIVE(usb_mux_alt_chain_0);
#if defined(HAS_TASK_PD_C1)
- usb_muxes[TYPE_C_PORT_1].next_mux
- = &soc_side_bb_retimer1_usb_mux;
+ USB_MUX_ENABLE_ALTERNATIVE(usb_mux_alt_chain_1);
#endif
break;
- /* Add additional board SKUs */
+ /* Add additional board SKUs */
default:
break;
@@ -357,8 +335,7 @@ __override int board_get_version(void)
* This loop retries to ensure rail is settled and read is successful
*/
for (i = 0; i < RVP_VERSION_READ_RETRY_CNT; i++) {
-
- rv = gpio_pin_get_dt(&bom_id_config[0]);
+ rv = gpio_pin_get_dt(&bom_id_config[0]);
if (rv >= 0)
break;
@@ -374,21 +351,21 @@ __override int board_get_version(void)
* BOM ID [2] : IOEX[0]
* BOM ID [1:0] : IOEX[15:14]
*/
- bom_id = gpio_pin_get_dt(&bom_id_config[0]) << 2;
+ bom_id = gpio_pin_get_dt(&bom_id_config[0]) << 2;
bom_id |= gpio_pin_get_dt(&bom_id_config[1]) << 1;
bom_id |= gpio_pin_get_dt(&bom_id_config[2]);
/*
* FAB ID [1:0] : IOEX[2:1] + 1
*/
- fab_id = gpio_pin_get_dt(&fab_id_config[0]) << 1;
+ fab_id = gpio_pin_get_dt(&fab_id_config[0]) << 1;
fab_id |= gpio_pin_get_dt(&fab_id_config[1]);
fab_id += 1;
/*
* BOARD ID[5:0] : IOEX[13:8]
*/
- board_id = gpio_pin_get_dt(&board_id_config[0]) << 5;
+ board_id = gpio_pin_get_dt(&board_id_config[0]) << 5;
board_id |= gpio_pin_get_dt(&board_id_config[1]) << 4;
board_id |= gpio_pin_get_dt(&board_id_config[2]) << 3;
board_id |= gpio_pin_get_dt(&board_id_config[3]) << 2;
@@ -450,4 +427,4 @@ static int board_pre_task_peripheral_init(const struct device *unused)
return 0;
}
SYS_INIT(board_pre_task_peripheral_init, APPLICATION,
- CONFIG_APPLICATION_INIT_PRIORITY);
+ CONFIG_APPLICATION_INIT_PRIORITY);