diff options
Diffstat (limited to 'driver')
-rw-r--r-- | driver/accelgyro_icm42607.c | 4 | ||||
-rw-r--r-- | driver/charger/bq25710.c | 2 | ||||
-rw-r--r-- | driver/charger/isl923x.c | 2 | ||||
-rw-r--r-- | driver/charger/isl9241.c | 2 | ||||
-rw-r--r-- | driver/charger/sm5803.c | 2 | ||||
-rw-r--r-- | driver/led/ds2413.c | 2 | ||||
-rw-r--r-- | driver/nvidia_gpu.c | 2 | ||||
-rw-r--r-- | driver/nvidia_gpu.h | 6 | ||||
-rw-r--r-- | driver/tcpm/nct38xx.c | 5 | ||||
-rw-r--r-- | driver/tcpm/rt1718s.c | 6 | ||||
-rw-r--r-- | driver/tcpm/rt1718s.h | 9 |
11 files changed, 26 insertions, 16 deletions
diff --git a/driver/accelgyro_icm42607.c b/driver/accelgyro_icm42607.c index 48518fa315..07582ba88e 100644 --- a/driver/accelgyro_icm42607.c +++ b/driver/accelgyro_icm42607.c @@ -9,6 +9,7 @@ */ #include "accelgyro.h" +#include "builtin/endian.h" #include "console.h" #include "driver/accelgyro_icm42607.h" #include "driver/accelgyro_icm_common.h" @@ -960,6 +961,9 @@ static int icm42607_read_temp(const struct motion_sensor_t *s, int *temp_ptr) if (ret != EC_SUCCESS) return ret; + /* This register is big-endian and not configurable */ + val = be16toh(val); + /* ensure correct propagation of 16 bits sign bit */ val = sign_extend(val, 15); diff --git a/driver/charger/bq25710.c b/driver/charger/bq25710.c index 222d2f58a4..a13770a02c 100644 --- a/driver/charger/bq25710.c +++ b/driver/charger/bq25710.c @@ -9,7 +9,7 @@ #include "battery_smart.h" #include "bq257x0_regs.h" #include "charge_ramp.h" -#include "charge_state_v2.h" +#include "charge_state.h" #include "charger.h" #include "common.h" #include "console.h" diff --git a/driver/charger/isl923x.c b/driver/charger/isl923x.c index a5fae9329d..997838f53e 100644 --- a/driver/charger/isl923x.c +++ b/driver/charger/isl923x.c @@ -9,7 +9,7 @@ #include "battery.h" #include "battery_smart.h" #include "builtin/assert.h" -#include "charge_state_v2.h" +#include "charge_state.h" #include "charger.h" #include "common.h" #include "compile_time_macros.h" diff --git a/driver/charger/isl9241.c b/driver/charger/isl9241.c index 2bb3d75f28..3529f9d2a5 100644 --- a/driver/charger/isl9241.c +++ b/driver/charger/isl9241.c @@ -1215,7 +1215,7 @@ static int isl9241_ramp_get_current_limit(int chgnum) static void isl9241_restart_charge_voltage_when_full(void) { if (!chipset_in_or_transitioning_to_state(CHIPSET_STATE_ON) && - charge_get_state() == PWR_STATE_CHARGE_NEAR_FULL && + led_pwr_get_state() == PWR_STATE_CHARGE_NEAR_FULL && battery_get_disconnect_state() == BATTERY_NOT_DISCONNECTED) { charger_discharge_on_ac(1); msleep(50); diff --git a/driver/charger/sm5803.c b/driver/charger/sm5803.c index 391c60956a..a3e22c5b8b 100644 --- a/driver/charger/sm5803.c +++ b/driver/charger/sm5803.c @@ -7,7 +7,7 @@ #include "atomic.h" #include "battery.h" #include "battery_smart.h" -#include "charge_state_v2.h" +#include "charge_state.h" #include "charger.h" #include "extpower.h" #include "gpio.h" diff --git a/driver/led/ds2413.c b/driver/led/ds2413.c index 5268e52ac0..1b91f2b2b1 100644 --- a/driver/led/ds2413.c +++ b/driver/led/ds2413.c @@ -107,7 +107,7 @@ static void onewire_led_tick(void) } /* Translate charge state to LED color */ - switch (charge_get_state()) { + switch (led_pwr_get_state()) { case PWR_STATE_IDLE: new_color = LED_GREEN; break; diff --git a/driver/nvidia_gpu.c b/driver/nvidia_gpu.c index b8a2195470..ff6e5fe39b 100644 --- a/driver/nvidia_gpu.c +++ b/driver/nvidia_gpu.c @@ -100,7 +100,7 @@ static void evaluate_d_notify_level(void) for (lvl = D_NOTIFY_5; lvl >= D_NOTIFY_1; lvl--) { if (policy[lvl].power_source == D_NOTIFY_DC) { - if (soc <= policy[lvl].dc.min_battery_soc) { + if (soc <= policy[lvl].dc.max_battery_soc) { set_d_notify_level(lvl); break; } diff --git a/driver/nvidia_gpu.h b/driver/nvidia_gpu.h index bfd1bba287..9d87914a91 100644 --- a/driver/nvidia_gpu.h +++ b/driver/nvidia_gpu.h @@ -35,7 +35,7 @@ struct d_notify_policy { unsigned int min_charger_watts; } ac; struct { - unsigned int min_battery_soc; + unsigned int max_battery_soc; } dc; }; }; @@ -50,9 +50,9 @@ struct d_notify_policy { .power_source = D_NOTIFY_AC_DC, \ } -#define DC_ATLEAST_SOC(S) \ +#define DC_ATMOST_SOC(S) \ { \ - .power_source = D_NOTIFY_DC, .dc.min_battery_soc = (S), \ + .power_source = D_NOTIFY_DC, .dc.max_battery_soc = (S), \ } void nvidia_gpu_init_policy(const struct d_notify_policy *policies); diff --git a/driver/tcpm/nct38xx.c b/driver/tcpm/nct38xx.c index 120749fb62..3c4565cfd5 100644 --- a/driver/tcpm/nct38xx.c +++ b/driver/tcpm/nct38xx.c @@ -115,11 +115,6 @@ static int nct38xx_init(int port) /* Set FRS direction for SNK detect, if FRS is enabled */ if (tcpm_tcpc_has_frs_control(port)) { - reg = TCPC_REG_DEV_CAP_2_SNK_FR_SWAP; - rv = tcpc_write(port, TCPC_REG_DEV_CAP_2, reg); - if (rv) - return rv; - reg = TCPC_REG_CONFIG_EXT_1_FR_SWAP_SNK_DIR; rv = tcpc_write(port, TCPC_REG_CONFIG_EXT_1, reg); if (rv) diff --git a/driver/tcpm/rt1718s.c b/driver/tcpm/rt1718s.c index 3d4303a8b7..e8ee85368a 100644 --- a/driver/tcpm/rt1718s.c +++ b/driver/tcpm/rt1718s.c @@ -7,6 +7,7 @@ * RT1718S TCPC Driver */ +#include "battery.h" #include "console.h" #include "driver/tcpm/rt1718s.h" #include "driver/tcpm/tcpci.h" @@ -261,6 +262,11 @@ static int rt1718s_init(int port) { static bool need_sw_reset = true; + /* Do not reset the TCPC when device is no battery connected, otherwise + * the SINK GPIO to the PPC may be reset, and cause a brown-out. + */ + need_sw_reset &= battery_is_present() == BP_YES; + if (!system_jumped_late() && need_sw_reset) { RETURN_ERROR(rt1718s_sw_reset(port)); need_sw_reset = false; diff --git a/driver/tcpm/rt1718s.h b/driver/tcpm/rt1718s.h index 76bbfd48a8..d14e2bd498 100644 --- a/driver/tcpm/rt1718s.h +++ b/driver/tcpm/rt1718s.h @@ -92,9 +92,14 @@ #define RT1718S_ENA_SRC_VBUS_CTRL 0xE1 #define RT1718S_FAULT_OC1_VBUS_CTRL 0xE3 #define RT1718S_GPIO1_VBUS_CTRL 0xEA -#define RT1718S_GPIO1_VBUS_CTRL_FRS_RX_VBUS BIT(6) +#define RT1718S_GPIO_VBUS_CTRL_FRS_RX_VBUS BIT(6) +#define RT1718S_GPIO_VBUS_CTRL_FRS_TX_VBUS BIT(5) +#define RT1718S_GPIO_VBUS_CTRL_ENA_SRC_HV_VBUS_GPIO BIT(4) +#define RT1718S_GPIO_VBUS_CTRL_ENA_SRC_VBUS_GPIO BIT(3) +#define RT1718S_GPIO_VBUS_CTRL_DIS_SRC_VBUS_GPIO BIT(2) +#define RT1718S_GPIO_VBUS_CTRL_ENA_SNK_VBUS_GPIO BIT(1) +#define RT1718S_GPIO_VBUS_CTRL_DIS_SNK_VBUS_GPIO BIT(0) #define RT1718S_GPIO2_VBUS_CTRL 0xEB -#define RT1718S_GPIO2_VBUS_CTRL_FRS_RX_VBUS BIT(6) #define RT1718S_VBUS_CTRL_EN 0xEC #define RT1718S_VBUS_CTRL_EN_GPIO2_VBUS_PATH_EN BIT(7) #define RT1718S_VBUS_CTRL_EN_GPIO1_VBUS_PATH_EN BIT(6) |