summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlec Berg <alecaberg@chromium.org>2015-07-10 17:39:54 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-07-13 03:18:32 +0000
commit16d40b0b3c567a5e18ea28469a09f860819d3fdd (patch)
treed1ec5c17739e7e0d4aae60ae3b40d845f0ec45e2
parent79195818caeff76a6eb3a3d4991b095920b55e33 (diff)
downloadchrome-ec-16d40b0b3c567a5e18ea28469a09f860819d3fdd.tar.gz
cleanup: define one set of USB charger voltage and min current
Remove duplicate definitions of USB charger min current across boards and make one set of defines for standard USB charger voltage and minimum USB charger current. BUG=none BRANCH=smaug TEST=make -j buildall Change-Id: Ib842fafb317417c8de9a67d314fdde4c1e47ad9d Signed-off-by: Alec Berg <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/284956 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--board/glados/board.c9
-rw-r--r--board/kunimitsu/board.c9
-rw-r--r--board/lucid/board.c10
-rw-r--r--board/oak/board.c10
-rw-r--r--board/ryu/board.c14
-rw-r--r--board/ryu_p4p5/board.c14
-rw-r--r--board/samus_pd/board.c17
-rw-r--r--common/usb_charger.c2
-rw-r--r--include/charge_manager.h2
-rw-r--r--include/usb_charge.h5
10 files changed, 39 insertions, 53 deletions
diff --git a/board/glados/board.c b/board/glados/board.c
index 208357700d..7537558266 100644
--- a/board/glados/board.c
+++ b/board/glados/board.c
@@ -39,9 +39,6 @@
#define I2C_ADDR_BD99992 0x60
-/* Default input current limit when VBUS is present */
-#define DEFAULT_CURR_LIMIT 500 /* mA */
-
/* Exchange status with PD MCU. */
static void pd_mcu_interrupt(enum gpio_signal signal)
{
@@ -58,8 +55,8 @@ static void update_vbus_supplier(int port, int vbus_level)
* ourselves, then update the VBUS supplier.
*/
if (!vbus_level || !usb_charger_port_is_sourcing_vbus(port)) {
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge.current = vbus_level ? DEFAULT_CURR_LIMIT : 0;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge.current = vbus_level ? USB_CHARGER_MIN_CURR_MA : 0;
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS,
port,
&charge);
@@ -226,7 +223,7 @@ static void board_init(void)
gpio_enable_interrupt(GPIO_USB_C1_VBUS_WAKE_L);
/* Initialize all pericom charge suppliers to 0 */
- charge_none.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge_none.voltage = USB_CHARGER_VOLTAGE_MV;
charge_none.current = 0;
for (i = 0; i < CONFIG_USB_PD_PORT_COUNT; i++) {
charge_manager_update_charge(CHARGE_SUPPLIER_PROPRIETARY,
diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c
index 11ec67f3be..001a88059c 100644
--- a/board/kunimitsu/board.c
+++ b/board/kunimitsu/board.c
@@ -44,9 +44,6 @@
#define GPIO_KB_OUTPUT (GPIO_ODR_HIGH)
#define GPIO_KB_OUTPUT_COL2 (GPIO_OUT_LOW)
-/* Default input current limit when VBUS is present */
-#define DEFAULT_CURR_LIMIT 500 /* mA */
-
/* Exchange status with PD MCU. */
static void pd_mcu_interrupt(enum gpio_signal signal)
{
@@ -63,8 +60,8 @@ static void update_vbus_supplier(int port, int vbus_level)
* ourselves, then update the VBUS supplier.
*/
if (!vbus_level || !usb_charger_port_is_sourcing_vbus(port)) {
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge.current = vbus_level ? DEFAULT_CURR_LIMIT : 0;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge.current = vbus_level ? USB_CHARGER_MIN_CURR_MA : 0;
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS,
port,
&charge);
@@ -317,7 +314,7 @@ static void board_init(void)
gpio_enable_interrupt(GPIO_USB_C1_VBUS_WAKE_L);
/* Initialize all pericom charge suppliers to 0 */
- charge_none.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge_none.voltage = USB_CHARGER_VOLTAGE_MV;
charge_none.current = 0;
for (i = 0; i < CONFIG_USB_PD_PORT_COUNT; i++) {
charge_manager_update_charge(CHARGE_SUPPLIER_PROPRIETARY,
diff --git a/board/lucid/board.c b/board/lucid/board.c
index 7379dfcc25..4fadc6083c 100644
--- a/board/lucid/board.c
+++ b/board/lucid/board.c
@@ -16,13 +16,11 @@
#include "i2c.h"
#include "registers.h"
#include "task.h"
+#include "usb_charge.h"
#include "util.h"
#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-/* Default input current limit when VBUS is present */
-#define DEFAULT_CURR_LIMIT 500 /* mA */
-
void board_config_pre_init(void)
{
/* enable SYSCFG clock */
@@ -45,8 +43,8 @@ static void update_vbus_supplier(int vbus_level)
{
struct charge_port_info charge;
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge.current = vbus_level ? DEFAULT_CURR_LIMIT : 0;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge.current = vbus_level ? USB_CHARGER_MIN_CURR_MA : 0;
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 0, &charge);
}
@@ -99,7 +97,7 @@ static void board_init(void)
* TODO: use built-in USB peripheral to detect BC1.2 suppliers an
* update charge manager.
*/
- charge_none.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge_none.voltage = USB_CHARGER_VOLTAGE_MV;
charge_none.current = 0;
for (i = 0; i < CONFIG_USB_PD_PORT_COUNT; i++) {
charge_manager_update_charge(CHARGE_SUPPLIER_PROPRIETARY,
diff --git a/board/oak/board.c b/board/oak/board.c
index bf94c726e2..1fef68fb3c 100644
--- a/board/oak/board.c
+++ b/board/oak/board.c
@@ -32,6 +32,7 @@
#include "temp_sensor_chip.h"
#include "thermal.h"
#include "timer.h"
+#include "usb_charge.h"
#include "usb_mux.h"
#include "usb_pd.h"
#include "usb_pd_tcpm.h"
@@ -43,9 +44,6 @@
#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP | GPIO_INT_BOTH)
#define GPIO_KB_OUTPUT GPIO_ODR_HIGH
-/* Default input current limit when VBUS is present */
-#define DEFAULT_CURR_LIMIT 500 /* mA */
-
/* Dispaly port hardware can connect to port 0, 1 or neither. */
#define PD_PORT_NONE -1
@@ -237,10 +235,10 @@ static void board_init(void)
gpio_enable_interrupt(GPIO_AP_RESET_L);
#endif
- charge_none.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge_none.voltage = USB_CHARGER_VOLTAGE_MV;
charge_none.current = 0;
- charge_vbus.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge_vbus.current = DEFAULT_CURR_LIMIT;
+ charge_vbus.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge_vbus.current = USB_CHARGER_MIN_CURR_MA;
for (i = 0; i < CONFIG_USB_PD_PORT_COUNT; i++) {
/* Initialize all pericom charge suppliers to 0 */
charge_manager_update_charge(
diff --git a/board/ryu/board.c b/board/ryu/board.c
index 7fd2178cdc..f11d0c0763 100644
--- a/board/ryu/board.c
+++ b/board/ryu/board.c
@@ -31,6 +31,7 @@
#include "spi.h"
#include "task.h"
#include "usb.h"
+#include "usb_charge.h"
#include "usb_pd.h"
#include "usb_spi.h"
#include "usb-stm32f3.h"
@@ -41,9 +42,6 @@
#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-/* Default input current limit when VBUS is present */
-#define DEFAULT_CURR_LIMIT 500 /* mA */
-
/* VBUS too low threshold */
#define VBUS_LOW_THRESHOLD_MV 4600
@@ -81,8 +79,8 @@ void vbus_evt(enum gpio_signal signal)
* ourselves, then update the VBUS supplier.
*/
if (!vbus_level || !gpio_get_level(GPIO_CHGR_OTG)) {
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge.current = vbus_level ? DEFAULT_CURR_LIMIT : 0;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge.current = vbus_level ? USB_CHARGER_MIN_CURR_MA : 0;
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 0, &charge);
}
@@ -175,7 +173,7 @@ static void board_init(void)
struct charge_port_info charge_none, charge_vbus;
/* Initialize all pericom charge suppliers to 0 */
- charge_none.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge_none.voltage = USB_CHARGER_VOLTAGE_MV;
charge_none.current = 0;
charge_manager_update_charge(CHARGE_SUPPLIER_PROPRIETARY,
0,
@@ -186,8 +184,8 @@ static void board_init(void)
charge_manager_update_charge(CHARGE_SUPPLIER_OTHER, 0, &charge_none);
/* Initialize VBUS supplier based on whether or not VBUS is present */
- charge_vbus.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge_vbus.current = DEFAULT_CURR_LIMIT;
+ charge_vbus.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge_vbus.current = USB_CHARGER_MIN_CURR_MA;
if (gpio_get_level(GPIO_CHGR_ACOK))
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 0,
&charge_vbus);
diff --git a/board/ryu_p4p5/board.c b/board/ryu_p4p5/board.c
index 2432eac06e..7c1acf71e5 100644
--- a/board/ryu_p4p5/board.c
+++ b/board/ryu_p4p5/board.c
@@ -29,6 +29,7 @@
#include "spi.h"
#include "task.h"
#include "usb.h"
+#include "usb_charge.h"
#include "usb_mux.h"
#include "usb_pd.h"
#include "usb_spi.h"
@@ -40,9 +41,6 @@
#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-/* Default input current limit when VBUS is present */
-#define DEFAULT_CURR_LIMIT 500 /* mA */
-
/* VBUS too low threshold */
#define VBUS_LOW_THRESHOLD_MV 4600
@@ -80,8 +78,8 @@ void vbus_evt(enum gpio_signal signal)
* ourselves, then update the VBUS supplier.
*/
if (!vbus_level || !gpio_get_level(GPIO_USBC_5V_EN)) {
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge.current = vbus_level ? DEFAULT_CURR_LIMIT : 0;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge.current = vbus_level ? USB_CHARGER_MIN_CURR_MA : 0;
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 0, &charge);
}
@@ -185,7 +183,7 @@ static void board_init(void)
usb_muxes[0].driver = &p4_board_custom_usb_mux_driver;
/* Initialize all pericom charge suppliers to 0 */
- charge_none.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge_none.voltage = USB_CHARGER_VOLTAGE_MV;
charge_none.current = 0;
charge_manager_update_charge(CHARGE_SUPPLIER_PROPRIETARY,
0,
@@ -196,8 +194,8 @@ static void board_init(void)
charge_manager_update_charge(CHARGE_SUPPLIER_OTHER, 0, &charge_none);
/* Initialize VBUS supplier based on whether or not VBUS is present */
- charge_vbus.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge_vbus.current = DEFAULT_CURR_LIMIT;
+ charge_vbus.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge_vbus.current = USB_CHARGER_MIN_CURR_MA;
if (gpio_get_level(GPIO_CHGR_ACOK))
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 0,
&charge_vbus);
diff --git a/board/samus_pd/board.c b/board/samus_pd/board.c
index c162f760a1..2325f7090d 100644
--- a/board/samus_pd/board.c
+++ b/board/samus_pd/board.c
@@ -33,9 +33,6 @@
/* Amount to offset the input current limit when sending to EC */
#define INPUT_CURRENT_LIMIT_OFFSET_MA 192
-/* Default input current limit when VBUS is present */
-#define DEFAULT_CURR_LIMIT 500 /* mA */
-
/*
* When battery is high, system may not be pulling full current. Also, when
* high AND input voltage is below boost bypass, then limit input current
@@ -120,8 +117,8 @@ void vbus0_evt(enum gpio_signal signal)
* ourselves, then update the VBUS supplier.
*/
if (!vbus_level || !gpio_get_level(GPIO_USB_C0_5V_EN)) {
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge.current = vbus_level ? DEFAULT_CURR_LIMIT : 0;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge.current = vbus_level ? USB_CHARGER_MIN_CURR_MA : 0;
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 0, &charge);
}
@@ -146,8 +143,8 @@ void vbus1_evt(enum gpio_signal signal)
* ourselves, then update the VBUS supplier.
*/
if (!vbus_level || !gpio_get_level(GPIO_USB_C1_5V_EN)) {
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge.current = vbus_level ? DEFAULT_CURR_LIMIT : 0;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge.current = vbus_level ? USB_CHARGER_MIN_CURR_MA : 0;
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 1, &charge);
}
@@ -288,7 +285,7 @@ static void board_init(void)
gpio_enable_interrupt(GPIO_USB_C1_VBUS_WAKE);
/* Initialize all pericom charge suppliers to 0 */
- charge_none.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge_none.voltage = USB_CHARGER_VOLTAGE_MV;
charge_none.current = 0;
for (i = 0; i < CONFIG_USB_PD_PORT_COUNT; i++) {
charge_manager_update_charge(CHARGE_SUPPLIER_PROPRIETARY,
@@ -309,8 +306,8 @@ static void board_init(void)
}
/* Initialize VBUS supplier based on whether or not VBUS is present */
- charge_vbus.voltage = USB_BC12_CHARGE_VOLTAGE;
- charge_vbus.current = DEFAULT_CURR_LIMIT;
+ charge_vbus.voltage = USB_CHARGER_VOLTAGE_MV;
+ charge_vbus.current = USB_CHARGER_MIN_CURR_MA;
if (gpio_get_level(GPIO_USB_C0_VBUS_WAKE))
charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, 0,
&charge_vbus);
diff --git a/common/usb_charger.c b/common/usb_charger.c
index 1e78ddc38d..468d2c97af 100644
--- a/common/usb_charger.c
+++ b/common/usb_charger.c
@@ -47,7 +47,7 @@ void usb_charger_task(void)
struct charge_port_info charge;
int type;
- charge.voltage = USB_BC12_CHARGE_VOLTAGE;
+ charge.voltage = USB_CHARGER_VOLTAGE_MV;
/* Initialize chip and enable interrupts */
pi3usb9281_init(port);
diff --git a/include/charge_manager.h b/include/charge_manager.h
index 7661e0d7e5..c13f0f5f06 100644
--- a/include/charge_manager.h
+++ b/include/charge_manager.h
@@ -17,8 +17,6 @@
#define CHARGE_CURRENT_UNINITIALIZED -1
#define CHARGE_VOLTAGE_UNINITIALIZED -1
-#define USB_BC12_CHARGE_VOLTAGE 5000 /* mV */
-
/* Commonly-used charge suppliers listed in no particular order */
enum charge_supplier {
CHARGE_SUPPLIER_PD,
diff --git a/include/usb_charge.h b/include/usb_charge.h
index f95e69e91d..c10ae8d5b4 100644
--- a/include/usb_charge.h
+++ b/include/usb_charge.h
@@ -10,6 +10,11 @@
#include "common.h"
+/* USB charger voltage */
+#define USB_CHARGER_VOLTAGE_MV 5000
+/* USB charger minimum current */
+#define USB_CHARGER_MIN_CURR_MA 500
+
enum usb_charge_mode {
/* Disable USB port. */
USB_CHARGE_MODE_DISABLED,