summaryrefslogtreecommitdiff
path: root/zephyr/program/corsola
diff options
context:
space:
mode:
authorYH Lin <yueherngl@google.com>2023-05-11 20:47:00 +0000
committerYH Lin <yueherngl@google.com>2023-05-11 20:47:00 +0000
commit8641442366bd7c2c133e302a57f904dfac3c896b (patch)
treed0dca100ca02a89210decc54b7124d26bb75ef6a /zephyr/program/corsola
parente79a9dab1721c3d7da1475f3f802c4ea871a48ec (diff)
parent5df400b0377c9e1b5bb6cfc53ba7dfedde91f944 (diff)
downloadchrome-ec-8641442366bd7c2c133e302a57f904dfac3c896b.tar.gz
Merge remote-tracking branch cros/main into firmware-brya-14505.B-main
Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file baseboard/brya/relevant-paths.txt firmware-brya-14505.B-main Relevant changes: git log --oneline e79a9dab17..5df400b037 -- baseboard/brya board/agah board/anahera board/banshee board/brya board/crota board/felwinter board/gimble board/hades board/kano board/marasov board/mithrax board/omnigul board/osiris board/primus board/redrix board/taeko board/taniks board/vell board/volmar driver/bc12/pi3usb9201_public.* driver/charger/bq25710.* driver/ppc/nx20p348x.* driver/ppc/syv682x_public.* driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.* driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake* include/intel_x86.h power/alderlake* power/intel_x86.c util/getversion.sh 76d2b9b1e4 battery: Deprecate CONFIG_BATTERY_LEVEL_NEAR_FULL 3d5b996f73 Hades: Fast forward DSW_PWROK to PCH_PWROK 56af450c1a Agah: Fast forward DSW_PWROK to PCH_PWROK b729eab7c7 charger: Move charger_state_v2.h into charge_state.h 47acf64182 charger: Rename charge_get_state() to led_pwr_get_state() 632c7c935a power/x86: Add dedicated interrupt handler for pwrok 0fff3a0bd4 omnigul: Add condition use Accel and Gyro by FWCONFIG. 7540daff3f driver/tcpm/nct38xx: Remove write to RO register 3f279f30d4 GPU: Rename DC_ATLEAST_SOC to DC_ATMOST_SOC BRANCH=None BUG=b:218332694 b:216485035 b:280818345 b:280351196 b:280001153 BUG=b:279918234 TEST=`emerge-[brya,hades,draco] chromeos-ec` Force-Relevant-Builds: all Change-Id: I19f2f6c5573d8c748ac63b488a808f10de352b1d Signed-off-by: YH Lin <yueherngl@google.com>
Diffstat (limited to 'zephyr/program/corsola')
-rw-r--r--zephyr/program/corsola/magikarp/project.overlay6
-rw-r--r--zephyr/program/corsola/src/npcx_usbc.c30
-rw-r--r--zephyr/program/corsola/src/usbc.c2
-rw-r--r--zephyr/program/corsola/starmie/project.overlay4
-rw-r--r--zephyr/program/corsola/tentacruel/project.overlay6
-rw-r--r--zephyr/program/corsola/tentacruel/src/temp.c2
-rw-r--r--zephyr/program/corsola/voltorb/project.conf1
-rw-r--r--zephyr/program/corsola/voltorb/project.overlay15
8 files changed, 44 insertions, 22 deletions
diff --git a/zephyr/program/corsola/magikarp/project.overlay b/zephyr/program/corsola/magikarp/project.overlay
index 3628f6770d..349e066f07 100644
--- a/zephyr/program/corsola/magikarp/project.overlay
+++ b/zephyr/program/corsola/magikarp/project.overlay
@@ -224,8 +224,7 @@
bat-power-state-charge {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= Empty, <= 94%) */
- batt-lvl = <BATTERY_LEVEL_EMPTY
- (BATTERY_LEVEL_NEAR_FULL - 3)>;
+ batt-lvl = <BATTERY_LEVEL_EMPTY 94>;
color-0 {
led-color = <&color_battery_amber>;
};
@@ -234,8 +233,7 @@
bat-power-state-charge-near-full {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= 95%, <= Full) */
- batt-lvl = <(BATTERY_LEVEL_NEAR_FULL - 2)
- BATTERY_LEVEL_FULL>;
+ batt-lvl = <95 BATTERY_LEVEL_FULL>;
color-0 {
led-color = <&color_battery_white>;
};
diff --git a/zephyr/program/corsola/src/npcx_usbc.c b/zephyr/program/corsola/src/npcx_usbc.c
index 10a977696e..2e1d8d11c5 100644
--- a/zephyr/program/corsola/src/npcx_usbc.c
+++ b/zephyr/program/corsola/src/npcx_usbc.c
@@ -11,6 +11,7 @@
#endif
#include "baseboard_usbc_config.h"
+#include "battery.h"
#include "console.h"
#include "driver/ppc/nx20p348x.h"
#include "driver/tcpm/anx7447.h"
@@ -53,8 +54,10 @@ DECLARE_HOOK(HOOK_INIT, board_usb_mux_init, HOOK_PRIO_INIT_I2C + 1);
void board_tcpc_init(void)
{
- /* Only reset TCPC if not sysjump */
- if (!system_jumped_late()) {
+ /* Reset TCPC if we only we have a battery connected, or the SINK
+ * gpio to the PPC might be reset and cause brown-out.
+ */
+ if (!system_jumped_late() && battery_is_present() == BP_YES) {
/* TODO(crosbug.com/p/61098): How long do we need to wait? */
board_reset_pd_mcu();
}
@@ -84,7 +87,13 @@ __override int board_rt1718s_init(int port)
{
static bool gpio_initialized;
- if (!system_jumped_late() && !gpio_initialized) {
+ /* Reset TCPC sink/source control when it's a power-on reset or has a
+ * battery. Do not alter the carried GPIO status or this might stop PPC
+ * sinking and brown-out the system when battery disconnected.
+ */
+ if (!system_jumped_late() && !gpio_initialized &&
+ (battery_is_present() == BP_YES ||
+ (system_get_reset_flags() & EC_RESET_FLAG_POWER_ON))) {
/* set GPIO 1~3 as push pull, as output, output low. */
rt1718s_gpio_set_flags(port, RT1718S_GPIO1, GPIO_OUT_LOW);
rt1718s_gpio_set_flags(port, RT1718S_GPIO2, GPIO_OUT_LOW);
@@ -94,11 +103,18 @@ __override int board_rt1718s_init(int port)
/* gpio1 low, gpio2 output high when receiving frs signal */
RETURN_ERROR(rt1718s_update_bits8(port, RT1718S_GPIO1_VBUS_CTRL,
- RT1718S_GPIO1_VBUS_CTRL_FRS_RX_VBUS,
+ RT1718S_GPIO_VBUS_CTRL_FRS_RX_VBUS,
0));
- RETURN_ERROR(rt1718s_update_bits8(port, RT1718S_GPIO2_VBUS_CTRL,
- RT1718S_GPIO2_VBUS_CTRL_FRS_RX_VBUS,
- 0xFF));
+ /* GPIO1 EN_SNK high when received TCPCI SNK enabled command */
+ RETURN_ERROR(rt1718s_update_bits8(
+ port, RT1718S_GPIO1_VBUS_CTRL,
+ RT1718S_GPIO_VBUS_CTRL_ENA_SNK_VBUS_GPIO, 0xFF));
+ /* GPIO2 EN_SRC high when received TCPCI SRC enabled command */
+ RETURN_ERROR(rt1718s_update_bits8(
+ port, RT1718S_GPIO2_VBUS_CTRL,
+ RT1718S_GPIO_VBUS_CTRL_FRS_RX_VBUS |
+ RT1718S_GPIO_VBUS_CTRL_ENA_SRC_VBUS_GPIO,
+ 0xFF));
/* Trigger GPIO 1/2 change when FRS signal received */
RETURN_ERROR(rt1718s_update_bits8(
diff --git a/zephyr/program/corsola/src/usbc.c b/zephyr/program/corsola/src/usbc.c
index 181b3df141..71c02ff54f 100644
--- a/zephyr/program/corsola/src/usbc.c
+++ b/zephyr/program/corsola/src/usbc.c
@@ -6,7 +6,7 @@
/* Corsola baseboard-specific USB-C configuration */
#include "baseboard_usbc_config.h"
-#include "charge_state_v2.h"
+#include "charge_state.h"
#include "console.h"
#include "ec_commands.h"
#include "extpower.h"
diff --git a/zephyr/program/corsola/starmie/project.overlay b/zephyr/program/corsola/starmie/project.overlay
index d8c6a48631..2358026e2d 100644
--- a/zephyr/program/corsola/starmie/project.overlay
+++ b/zephyr/program/corsola/starmie/project.overlay
@@ -20,8 +20,8 @@
/ {
batteries {
- default_battery: c235 {
- compatible = "celxpert,c235-41", "battery-smart";
+ default_battery: b300049 {
+ compatible = "celxpert,b300049", "battery-smart";
};
};
gpio-interrupts {
diff --git a/zephyr/program/corsola/tentacruel/project.overlay b/zephyr/program/corsola/tentacruel/project.overlay
index 79e8f4a05b..e23d3561e8 100644
--- a/zephyr/program/corsola/tentacruel/project.overlay
+++ b/zephyr/program/corsola/tentacruel/project.overlay
@@ -270,8 +270,7 @@
bat-power-state-charge {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= Empty, <= 94%) */
- batt-lvl = <BATTERY_LEVEL_EMPTY
- (BATTERY_LEVEL_NEAR_FULL - 3)>;
+ batt-lvl = <BATTERY_LEVEL_EMPTY 94>;
color-0 {
led-color = <&color_battery_amber>;
};
@@ -280,8 +279,7 @@
bat-power-state-charge-near-full {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= 95%, <= Full) */
- batt-lvl = <(BATTERY_LEVEL_NEAR_FULL - 2)
- BATTERY_LEVEL_FULL>;
+ batt-lvl = <95 BATTERY_LEVEL_FULL>;
color-0 {
led-color = <&color_battery_white>;
};
diff --git a/zephyr/program/corsola/tentacruel/src/temp.c b/zephyr/program/corsola/tentacruel/src/temp.c
index 2e584640be..72fcc526bd 100644
--- a/zephyr/program/corsola/tentacruel/src/temp.c
+++ b/zephyr/program/corsola/tentacruel/src/temp.c
@@ -62,7 +62,7 @@ static void current_update(void)
temp = average_tempature();
#ifndef CONFIG_TEST
- if (charge_get_state() == PWR_STATE_DISCHARGE) {
+ if (led_pwr_get_state() == PWR_STATE_DISCHARGE) {
current_level = 0;
uptime = 0;
dntime = 0;
diff --git a/zephyr/program/corsola/voltorb/project.conf b/zephyr/program/corsola/voltorb/project.conf
index 3cb4f46e06..d2693d0de8 100644
--- a/zephyr/program/corsola/voltorb/project.conf
+++ b/zephyr/program/corsola/voltorb/project.conf
@@ -41,6 +41,7 @@ CONFIG_PLATFORM_EC_EXTPOWER_DEBOUNCE_MS=800
# Battery config
CONFIG_PLATFORM_EC_BATT_FULL_CHIPSET_OFF_INPUT_LIMIT_MV=15000
+CONFIG_PLATFORM_EC_SMART_BATTERY_OPTIONAL_MFG_FUNC=y
# Remove debug options and features for FW QUAL
CONFIG_PLATFORM_EC_SYSTEM_UNLOCKED=n
diff --git a/zephyr/program/corsola/voltorb/project.overlay b/zephyr/program/corsola/voltorb/project.overlay
index 7ae230a47e..e5c5df3ab7 100644
--- a/zephyr/program/corsola/voltorb/project.overlay
+++ b/zephyr/program/corsola/voltorb/project.overlay
@@ -81,17 +81,26 @@
compatible = "cros-ec,led-policy";
/* Voltorb LED bat charge */
- bat-power-state-charge {
+ bat-power-state-charge-lvl-1 {
charge-state = "PWR_STATE_CHARGE";
/* Battery percent range (>= Empty, <= 96%) */
- batt-lvl = <BATTERY_LEVEL_EMPTY
- (BATTERY_LEVEL_NEAR_FULL - 1)>;
+ batt-lvl = <BATTERY_LEVEL_EMPTY 96>;
color-0 {
led-color = <&color_amber>;
};
};
+ bat-power-state-charge-lvl-2 {
+ charge-state = "PWR_STATE_CHARGE";
+ /* Battery percent range (>= 97, <= 100%) */
+ batt-lvl = <97 100>;
+
+ color-0 {
+ led-color = <&color_blue>;
+ };
+ };
+
/* Voltorb LED bat charge near full */
bat-power-state-charge-near-full {
charge-state = "PWR_STATE_CHARGE_NEAR_FULL";