diff options
author | Rajesh Kumar <rajesh3.kumar@intel.com> | 2022-01-12 12:59:06 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-01-14 06:07:51 +0000 |
commit | cf4a5378bbd0f02b7e41185b27bf782b6d9ba10a (patch) | |
tree | 3d33927eeecedbec77c5a11a23621868b590060f | |
parent | 46ce0e81810be20b84bef7b1ded4cb0028b2ef13 (diff) | |
download | chrome-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.yaml | 3 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/BUILD.py | 1 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/CMakeLists.txt | 4 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/battery.dts | 15 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/battery_present.c | 21 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/gpio.dts | 12 | ||||
-rw-r--r-- | zephyr/projects/brya/brya/prj.conf | 12 |
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 |