scarlet: Adapt to the master branch

To port Scarlet from firmware-gru-8785.B to master, we need
some change in naming/definition of variables/functions.

BUG=b:62307687
CQ-DEPEND=CL:524034, CL:524973, CL:524981
BRANCH=gru
TEST=build image and boot Scarlet

Change-Id: I20c1a4f311c9250a3bf1a2a5b0c70dd0f7c7e45b
Reviewed-on: https://chromium-review.googlesource.com/524987
Commit-Ready: Philip Chen <philipchen@chromium.org>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
This commit is contained in:
Philip Chen
2017-06-05 14:08:48 -07:00
committed by chrome-bot
parent d8036441ca
commit aafff584ae
5 changed files with 31 additions and 37 deletions

View File

@@ -47,8 +47,6 @@ int board_cut_off_battery(void)
return rv ? EC_RES_ERROR : EC_RES_SUCCESS;
}
static int battery_not_disconnected;
enum battery_disconnect_state battery_get_disconnect_state(void)
{
uint8_t data[6];
@@ -60,21 +58,20 @@ enum battery_disconnect_state battery_get_disconnect_state(void)
* This assumes the battery will not go to disconnect state during
* runtime.
*/
if (battery_not_disconnected)
static int not_disconnected;
if (not_disconnected)
return BATTERY_NOT_DISCONNECTED;
if (extpower_is_present()) {
/* Check if battery charging + discharging is disabled. */
rv = sb_write(SB_MANUFACTURER_ACCESS, PARAM_OPERATION_STATUS);
rv = sb_read_mfgacc(PARAM_OPERATION_STATUS,
SB_ALT_MANUFACTURER_ACCESS, data, sizeof(data));
if (rv)
return BATTERY_DISCONNECT_ERROR;
rv = sb_read_string(I2C_PORT_BATTERY, BATTERY_ADDR,
SB_ALT_MANUFACTURER_ACCESS, data, 6);
if (rv || (~data[3] & (BATTERY_DISCHARGING_DISABLED |
BATTERY_CHARGING_DISABLED))) {
battery_not_disconnected = 1;
if (~data[3] & (BATTERY_DISCHARGING_DISABLED |
BATTERY_CHARGING_DISABLED)) {
not_disconnected = 1;
return BATTERY_NOT_DISCONNECTED;
}
@@ -82,20 +79,15 @@ enum battery_disconnect_state battery_get_disconnect_state(void)
* Battery is neither charging nor discharging. Verify that
* we didn't enter this state due to a safety fault.
*/
rv = sb_write(SB_MANUFACTURER_ACCESS, PARAM_SAFETY_STATUS);
if (rv)
return BATTERY_DISCONNECT_ERROR;
rv = sb_read_string(I2C_PORT_BATTERY, BATTERY_ADDR,
SB_ALT_MANUFACTURER_ACCESS, data, 6);
rv = sb_read_mfgacc(PARAM_SAFETY_STATUS,
SB_ALT_MANUFACTURER_ACCESS, data, sizeof(data));
if (rv || data[2] || data[3] || data[4] || data[5])
return BATTERY_DISCONNECT_ERROR;
/* No safety fault, battery is disconnected */
return BATTERY_DISCONNECTED;
}
battery_not_disconnected = 1;
not_disconnected = 1;
return BATTERY_NOT_DISCONNECTED;
}
@@ -116,8 +108,7 @@ int charger_profile_override(struct charge_state_data *curr)
curr->state = ST_IDLE;
now_discharging = 0;
/* Don't start charging if battery is nearly full */
} else if ((curr->batt.status & STATUS_FULLY_CHARGED) &&
battery_not_disconnected) {
} else if (curr->batt.status & STATUS_FULLY_CHARGED) {
curr->requested_current = curr->requested_voltage = 0;
curr->batt.flags &= ~BATT_FLAG_WANT_CHARGE;
curr->state = ST_DISCHARGE;

View File

@@ -18,7 +18,7 @@
#include "driver/accel_kionix.h"
#include "driver/accel_kx022.h"
#include "driver/accelgyro_bmi160.h"
#include "driver/charger/bd99955.h"
#include "driver/charger/bd9995x.h"
#include "driver/tcpm/fusb302.h"
#include "extpower.h"
#include "gpio.h"
@@ -178,7 +178,8 @@ uint16_t tcpc_get_alert_status(void)
int board_set_active_charge_port(int charge_port)
{
enum bd99955_charge_port bd99955_port;
enum bd9995x_charge_port bd9995x_port;
int bd9995x_port_select = 1;
static int initialized;
/*
@@ -201,10 +202,11 @@ int board_set_active_charge_port(int charge_port)
/* Don't charge from a source port */
if (board_vbus_source_enabled(charge_port))
return -1;
bd99955_port = BD99955_CHARGE_PORT_VBUS;
bd9995x_port = bd9995x_pd_port_to_chg_port(charge_port);
break;
case CHARGE_PORT_NONE:
bd99955_port = BD99955_CHARGE_PORT_NONE;
bd9995x_port_select = 0;
bd9995x_port = BD9995X_CHARGE_PORT_BOTH;
break;
default:
panic("Invalid charge port\n");
@@ -212,10 +214,11 @@ int board_set_active_charge_port(int charge_port)
}
initialized = 1;
return bd99955_select_input_port(bd99955_port);
return bd9995x_select_input_port(bd9995x_port, bd9995x_port_select);
}
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma)
void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
/*
* Ignore lower charge ceiling on PD transition if our battery is
@@ -230,7 +233,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma)
}
charge_set_input_current_limit(MAX(charge_ma,
CONFIG_CHARGER_INPUT_CURRENT));
CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
}
int extpower_is_present(void)
@@ -242,7 +245,7 @@ int extpower_is_present(void)
if (board_vbus_source_enabled(0))
return 0;
else
return bd99955_is_vbus_provided(BD99955_CHARGE_PORT_VBUS);
return bd9995x_is_vbus_provided(BD9995X_CHARGE_PORT_VBUS);
}
int pd_snk_is_vbus_provided(int port)
@@ -250,7 +253,7 @@ int pd_snk_is_vbus_provided(int port)
if (port)
panic("Invalid charge port\n");
return bd99955_is_vbus_provided(BD99955_CHARGE_PORT_VBUS);
return bd9995x_is_vbus_provided(BD9995X_CHARGE_PORT_VBUS);
}
static void board_spi_enable(void)
@@ -403,6 +406,8 @@ int board_get_version(void)
/* Mutexes */
static struct mutex g_base_mutex;
struct bmi160_drv_data_t g_bmi160_data;
/* Matrix to rotate accelerometer into standard reference frame */
const matrix_3x3_t base_standard_ref = {
{ FLOAT_TO_FP(-1), 0, 0},
@@ -416,6 +421,8 @@ const matrix_3x3_t lid_standard_ref = {
{ 0, 0, FLOAT_TO_FP(1)}
};
struct bmp280_drv_data_t bmp280_drv_data;
struct motion_sensor_t motion_sensors[] = {
/*
* Note: bmi160: supports accelerometer and gyro sensor

View File

@@ -140,9 +140,6 @@
#define PD_POWER_SUPPLY_TURN_OFF_DELAY 50000 /* us */
#define PD_VCONN_SWAP_DELAY 5000 /* us */
/* start as a sink in case we have no other power supply/battery */
#define PD_DEFAULT_STATE PD_STATE_SNK_DISCONNECTED
/* Optional features for test commands */
#define CONFIG_CMD_CHARGER_PSYS

View File

@@ -39,7 +39,7 @@ GPIO_INT(WARM_RESET_REQ, PIN(7, 3), GPIO_INT_RISING | GPIO_PULL_DOWN,
GPIO_INT(AP_OVERTEMP, PIN(7, 4), GPIO_INT_RISING | GPIO_PULL_DOWN,
overtemp_interrupt)
GPIO_INT(CHARGER_INT_L, PIN(3, 3), GPIO_INT_FALLING | GPIO_PULL_UP,
bd99955_vbus_interrupt)
bd9995x_vbus_interrupt)
GPIO_INT(BASE_SIXAXIS_INT_L,PIN(4, 0), GPIO_INT_FALLING | GPIO_SEL_1P8V,
bmi160_interrupt)

View File

@@ -7,7 +7,7 @@
#include "charge_manager.h"
#include "common.h"
#include "console.h"
#include "driver/charger/bd99955.h"
#include "driver/charger/bd9995x.h"
#include "gpio.h"
#include "hooks.h"
#include "host_command.h"
@@ -81,8 +81,7 @@ static void board_vbus_update_source_current(int port)
int pd_set_power_supply_ready(int port)
{
/* Ensure we're not charging from this port */
if (charge_manager_get_active_charge_port() == port)
bd99955_select_input_port(BD99955_CHARGE_PORT_NONE);
bd9995x_select_input_port(bd9995x_pd_port_to_chg_port(port), 0);
/* Ensure we advertise the proper available current quota */
charge_manager_source_port(port, 1);