summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajesh Kumar <rajesh3.kumar@intel.com>2022-01-12 12:59:06 -0800
committerCommit Bot <commit-bot@chromium.org>2022-01-14 06:07:51 +0000
commitcf4a5378bbd0f02b7e41185b27bf782b6d9ba10a (patch)
tree3d33927eeecedbec77c5a11a23621868b590060f
parent46ce0e81810be20b84bef7b1ded4cb0028b2ef13 (diff)
downloadchrome-ec-cf4a5378bbd0f02b7e41185b27bf782b6d9ba10a.tar.gz
zephyr: brya: Enable battery
This enables the configuration for battery BUG=b:202701454 BRANCH=none TEST=Checked battery info using EC console command "battery" Signed-off-by: Rajesh Kumar <rajesh3.kumar@intel.com> Change-Id: I5a0f67c03b531a7e239da2719b785aba357dad86 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3384482 Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
-rw-r--r--zephyr/dts/bindings/gpio/gpio-enum-name.yaml3
-rw-r--r--zephyr/projects/brya/brya/BUILD.py1
-rw-r--r--zephyr/projects/brya/brya/CMakeLists.txt4
-rw-r--r--zephyr/projects/brya/brya/battery.dts15
-rw-r--r--zephyr/projects/brya/brya/battery_present.c21
-rw-r--r--zephyr/projects/brya/brya/gpio.dts12
-rw-r--r--zephyr/projects/brya/brya/prj.conf12
7 files changed, 68 insertions, 0 deletions
diff --git a/zephyr/dts/bindings/gpio/gpio-enum-name.yaml b/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
index b086246681..97301f9004 100644
--- a/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
+++ b/zephyr/dts/bindings/gpio/gpio-enum-name.yaml
@@ -55,6 +55,8 @@ properties:
- GPIO_EC_I2C5_BATTERY_SDA
- GPIO_EC_I2C7_EEPROM_PWR_SCL_R
- GPIO_EC_I2C7_EEPROM_PWR_SDA_R
+ - GPIO_EC_I2C_BAT_SCL
+ - GPIO_EC_I2C_BAT_SDA
- GPIO_EC_I2C_SENSOR_SCL
- GPIO_EC_I2C_SENSOR_SDA
- GPIO_EC_I2C_USBC_PD_INT
@@ -121,6 +123,7 @@ properties:
- GPIO_I2C_E_SDA
- GPIO_I2C_F_SCL
- GPIO_I2C_F_SDA
+ - GPIO_ID_1_EC_BATT_PRES_ODL
- GPIO_IMVP9_VRRDY_OD
- GPIO_KBD_KSO2
- GPIO_EC_KB_BL_EN_L
diff --git a/zephyr/projects/brya/brya/BUILD.py b/zephyr/projects/brya/brya/BUILD.py
index 45d6dca977..6f23fdc96d 100644
--- a/zephyr/projects/brya/brya/BUILD.py
+++ b/zephyr/projects/brya/brya/BUILD.py
@@ -6,6 +6,7 @@ register_npcx_project(
project_name="brya",
zephyr_board="brya",
dts_overlays=[
+ "battery.dts",
"cbi_eeprom.dts",
"fan.dts",
"gpio.dts",
diff --git a/zephyr/projects/brya/brya/CMakeLists.txt b/zephyr/projects/brya/brya/CMakeLists.txt
index 857e59eb47..3afdac2af0 100644
--- a/zephyr/projects/brya/brya/CMakeLists.txt
+++ b/zephyr/projects/brya/brya/CMakeLists.txt
@@ -17,3 +17,7 @@ zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_CBI_EEPROM
"${PLATFORM_EC_BASEBOARD}/cbi.c")
zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_PWM_KBLIGHT
"kblight_hooks.c")
+zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_BATTERY
+ "${PLATFORM_EC_BASEBOARD}/battery_presence.c")
+zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_BATTERY
+ "battery_present.c")
diff --git a/zephyr/projects/brya/brya/battery.dts b/zephyr/projects/brya/brya/battery.dts
new file mode 100644
index 0000000000..85bf217884
--- /dev/null
+++ b/zephyr/projects/brya/brya/battery.dts
@@ -0,0 +1,15 @@
+/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/ {
+ batteries {
+ default_battery: batgqa05l22 {
+ compatible = "powertech,batgqa05l22";
+ };
+ lgc_ac17a8m {
+ compatible = "lgc,ac17a8m";
+ };
+ };
+};
diff --git a/zephyr/projects/brya/brya/battery_present.c b/zephyr/projects/brya/brya/battery_present.c
new file mode 100644
index 0000000000..5c37ea1663
--- /dev/null
+++ b/zephyr/projects/brya/brya/battery_present.c
@@ -0,0 +1,21 @@
+/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "battery.h"
+#include "cbi.h"
+#include "gpio.h"
+
+enum battery_present battery_hw_present(void)
+{
+ enum gpio_signal batt_pres;
+
+ if (get_board_id() == 1)
+ batt_pres = GPIO_ID_1_EC_BATT_PRES_ODL;
+ else
+ batt_pres = GPIO_EC_BATT_PRES_ODL;
+
+ /* The GPIO is low when the battery is physically present */
+ return gpio_get_level(batt_pres) ? BP_NO : BP_YES;
+}
diff --git a/zephyr/projects/brya/brya/gpio.dts b/zephyr/projects/brya/brya/gpio.dts
index a751b61ca9..2236f29c72 100644
--- a/zephyr/projects/brya/brya/gpio.dts
+++ b/zephyr/projects/brya/brya/gpio.dts
@@ -24,6 +24,18 @@
gpios = <&gpioa 3 GPIO_INPUT>;
enum-name = "GPIO_BATT_PRES_ODL";
};
+ id_1_ec_batt_pres_odl {
+ gpios = <&gpioe 1 GPIO_INPUT>;
+ enum-name = "GPIO_ID_1_EC_BATT_PRES_ODL";
+ };
+ ec_i2c_bat_scl {
+ gpios = <&gpio3 3 GPIO_INPUT>;
+ enum-name = "GPIO_EC_I2C_BAT_SCL";
+ };
+ ec_i2c_bat_sda {
+ gpios = <&gpio3 6 GPIO_INPUT>;
+ enum-name = "GPIO_EC_I2C_BAT_SDA";
+ };
ec_kb_bl_en_l {
gpios = <&gpio8 6 GPIO_OUT_HIGH>;
enum-name = "GPIO_EC_KB_BL_EN_L";
diff --git a/zephyr/projects/brya/brya/prj.conf b/zephyr/projects/brya/brya/prj.conf
index 107d8d013f..7dfe2d62ab 100644
--- a/zephyr/projects/brya/brya/prj.conf
+++ b/zephyr/projects/brya/brya/prj.conf
@@ -109,6 +109,18 @@ CONFIG_PLATFORM_EC_PWM_KBLIGHT=y
CONFIG_PLATFORM_EC_WORKAROUND_FLASH_DOWNLOAD_API=y
+# Battery
+CONFIG_PLATFORM_EC_BATTERY=y
+CONFIG_PLATFORM_EC_BATTERY_SMART=y
+CONFIG_PLATFORM_EC_BATTERY_FUEL_GAUGE=y
+CONFIG_PLATFORM_EC_BATTERY_CUT_OFF=y
+CONFIG_PLATFORM_EC_BATTERY_HW_PRESENT_CUSTOM=y
+CONFIG_PLATFORM_EC_BATTERY_REVIVE_DISCONNECT=y
+
+# USB-C and charging
+CONFIG_PLATFORM_EC_USBC=n
+CONFIG_PLATFORM_EC_CHARGER=n
+
CONFIG_SYSCON=y
# PWM