summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
Diffstat (limited to 'driver')
-rw-r--r--driver/accelgyro_icm42607.c4
-rw-r--r--driver/charger/bq25710.c2
-rw-r--r--driver/charger/isl923x.c2
-rw-r--r--driver/charger/isl9241.c2
-rw-r--r--driver/charger/sm5803.c2
-rw-r--r--driver/led/ds2413.c2
-rw-r--r--driver/nvidia_gpu.c2
-rw-r--r--driver/nvidia_gpu.h6
-rw-r--r--driver/tcpm/nct38xx.c5
-rw-r--r--driver/tcpm/rt1718s.c6
-rw-r--r--driver/tcpm/rt1718s.h9
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)