diff options
author | Zhuohao Lee <zhuohao@chromium.org> | 2018-07-25 11:39:23 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-07-31 07:15:46 -0700 |
commit | 143f2808ec04f3fb66b7d5821ec554f41993a7a8 (patch) | |
tree | 0557a6cdc9b8837ae41340e407bccb976a1daa8b /board/rammus/battery.c | |
parent | b4ba711ebaf7663b6ca7ddd33e942d6a7b6f52f7 (diff) | |
download | chrome-ec-143f2808ec04f3fb66b7d5821ec554f41993a7a8.tar.gz |
rammus: revise the gpio.inc, board.h and board.c
According to the proto schematics, revise the config
1. gpio.inc:
- Correct some pins assignment
- Remove unused pins
- Add TABLET_MODE_L, PP3300_USB_PD, EC_BRD_ID_EN,
LID_ACCEL_INT_L, TP_INT, TP_INT_EN
2. board.h:
- Remove unused options/code
- Add PWM related options/code to support kb light
- Add TABLET_SWITCH because of GMR support
- Add ANX3447 support
3. board.c:
- Remove unused code
- Add ANX3447 support
- Add temp sensor, ambient and eMMC
- Add PWM kb light
BUG=b:111579280
BRANCH=master
TEST=emerge-rammus chromeos-ec
Change-Id: Idbb1755f53c45018305a2724a14232a7cdab9acc
Signed-off-by: Zhuohao Lee <zhuohao@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1149772
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Diffstat (limited to 'board/rammus/battery.c')
-rw-r--r-- | board/rammus/battery.c | 92 |
1 files changed, 4 insertions, 88 deletions
diff --git a/board/rammus/battery.c b/board/rammus/battery.c index 642497cdfe..505c136d01 100644 --- a/board/rammus/battery.c +++ b/board/rammus/battery.c @@ -1,4 +1,4 @@ -/* Copyright 2017 The Chromium OS Authors. All rights reserved. +/* Copyright 2018 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. * @@ -31,6 +31,8 @@ static enum battery_present batt_pres_prev = BP_NOT_SURE; #define CHARGING_VOLTAGE_MV_SAFE 8400 #define CHARGING_CURRENT_MA_SAFE 1500 +/* TODO(b:111815315): Need to config/implement the battery related code */ + static const struct battery_info info = { .voltage_max = 8700, .voltage_normal = 7700, @@ -64,96 +66,10 @@ int board_cut_off_battery(void) return sb_write(SB_SHIP_MODE_REG, SB_SHUTDOWN_DATA); } -int charger_profile_override(struct charge_state_data *curr) -{ - int current; - int voltage; - /* battery temp in 0.1 deg C */ - int bat_temp_c; - - /* - * Keep track of battery temperature range: - * - * ZONE_0 ZONE_1 ZONE_2 ZONE_3 - * ---+------+--------+--------+------+--- Temperature (C) - * 0 5 12 45 50 - */ - enum { - TEMP_ZONE_0, /* 0 <= bat_temp_c <= 5 */ - TEMP_ZONE_1, /* 5 < bat_temp_c <= 12 */ - TEMP_ZONE_2, /* 12 < bat_temp_c <= 45 */ - TEMP_ZONE_3, /* 45 < bat_temp_c <= 50 */ - TEMP_ZONE_COUNT, - TEMP_OUT_OF_RANGE = TEMP_ZONE_COUNT - } temp_zone; - - current = curr->requested_current; - voltage = curr->requested_voltage; - bat_temp_c = curr->batt.temperature - 2731; - - /* - * If the temperature reading is bad, assume the temperature - * is out of allowable range. - */ - if ((curr->batt.flags & BATT_FLAG_BAD_TEMPERATURE) || - (bat_temp_c < 0) || (bat_temp_c > 500)) - temp_zone = TEMP_OUT_OF_RANGE; - else if (bat_temp_c <= 50) - temp_zone = TEMP_ZONE_0; - else if (bat_temp_c <= 120) - temp_zone = TEMP_ZONE_1; - else if (bat_temp_c <= 450) - temp_zone = TEMP_ZONE_2; - else - temp_zone = TEMP_ZONE_3; - - switch (temp_zone) { - case TEMP_ZONE_0: - voltage = CHARGING_VOLTAGE_MV_SAFE; - current = CHARGING_CURRENT_MA_SAFE; - break; - case TEMP_ZONE_1: - current = CHARGING_CURRENT_MA_SAFE; - break; - case TEMP_ZONE_2: - break; - case TEMP_ZONE_3: - voltage = CHARGING_VOLTAGE_MV_SAFE; - break; - case TEMP_OUT_OF_RANGE: - /* Don't charge if outside of allowable temperature range */ - current = 0; - voltage = 0; - curr->batt.flags &= ~BATT_FLAG_WANT_CHARGE; - curr->state = ST_IDLE; - break; - } - - curr->requested_voltage = MIN(curr->requested_voltage, voltage); - curr->requested_current = MIN(curr->requested_current, current); - - return 0; -} - -/* Customs options controllable by host command. */ -#define PARAM_FASTCHARGE (CS_PARAM_CUSTOM_PROFILE_MIN + 0) - -enum ec_status charger_profile_override_get_param(uint32_t param, - uint32_t *value) -{ - return EC_RES_INVALID_PARAM; -} - -enum ec_status charger_profile_override_set_param(uint32_t param, - uint32_t value) -{ - return EC_RES_INVALID_PARAM; -} - enum battery_present battery_hw_present(void) { /* The GPIO is low when the battery is physically present */ - return gpio_get_level(GPIO_BATTERY_PRESENT_L) ? BP_NO : BP_YES; + return gpio_get_level(GPIO_BATT_PRES_L) ? BP_NO : BP_YES; } static int battery_init(void) |