mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 18:41:11 +00:00
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:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user