mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-28 02:35:28 +00:00
Clean up USB charging module
No functional changes. BUG=chrome-os-partner:15579 BRANCH=none TEST=plug in USB mouse; is powered when system is on Change-Id: Icbad3035f384191daa2b6dfae61d78f18ece1d76 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/36613 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
@@ -20,31 +20,28 @@
|
||||
|
||||
#define USB_SYSJUMP_TAG 0x5550 /* "UP" - Usb Port */
|
||||
#define USB_HOOK_VERSION 1
|
||||
|
||||
/* The previous USB port state before sys jump */
|
||||
struct usb_state {
|
||||
uint8_t port_mode[USB_CHARGE_PORT_COUNT];
|
||||
uint8_t pad[2]; /* Pad to 4 bytes for system_add_jump_tag(). */
|
||||
};
|
||||
|
||||
|
||||
static uint8_t charge_mode[USB_CHARGE_PORT_COUNT];
|
||||
|
||||
|
||||
static void usb_charge_set_control_mode(int port_id, int mode)
|
||||
{
|
||||
if (port_id == 0) {
|
||||
gpio_set_level(GPIO_USB1_CTL1, (mode & 0x4) >> 2);
|
||||
gpio_set_level(GPIO_USB1_CTL2, (mode & 0x2) >> 1);
|
||||
gpio_set_level(GPIO_USB1_CTL1, mode & 0x4);
|
||||
gpio_set_level(GPIO_USB1_CTL2, mode & 0x2);
|
||||
gpio_set_level(GPIO_USB1_CTL3, mode & 0x1);
|
||||
}
|
||||
else if (port_id == 1) {
|
||||
gpio_set_level(GPIO_USB2_CTL1, (mode & 0x4) >> 2);
|
||||
gpio_set_level(GPIO_USB2_CTL2, (mode & 0x2) >> 1);
|
||||
} else {
|
||||
gpio_set_level(GPIO_USB2_CTL1, mode & 0x4);
|
||||
gpio_set_level(GPIO_USB2_CTL2, mode & 0x2);
|
||||
gpio_set_level(GPIO_USB2_CTL3, mode & 0x1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void usb_charge_set_enabled(int port_id, int en)
|
||||
{
|
||||
if (port_id == 0)
|
||||
@@ -53,7 +50,6 @@ static void usb_charge_set_enabled(int port_id, int en)
|
||||
gpio_set_level(GPIO_USB2_ENABLE, en);
|
||||
}
|
||||
|
||||
|
||||
static void usb_charge_set_ilim(int port_id, int sel)
|
||||
{
|
||||
if (port_id == 0)
|
||||
@@ -62,23 +58,18 @@ static void usb_charge_set_ilim(int port_id, int sel)
|
||||
gpio_set_level(GPIO_USB2_ILIM_SEL, sel);
|
||||
}
|
||||
|
||||
|
||||
static int usb_charge_all_ports_on(void)
|
||||
static void usb_charge_all_ports_on(void)
|
||||
{
|
||||
usb_charge_set_mode(0, USB_CHARGE_MODE_SDP2);
|
||||
usb_charge_set_mode(1, USB_CHARGE_MODE_SDP2);
|
||||
return EC_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
static int usb_charge_all_ports_off(void)
|
||||
static void usb_charge_all_ports_off(void)
|
||||
{
|
||||
usb_charge_set_mode(0, USB_CHARGE_MODE_DISABLED);
|
||||
usb_charge_set_mode(1, USB_CHARGE_MODE_DISABLED);
|
||||
return EC_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int usb_charge_set_mode(int port_id, enum usb_charge_mode mode)
|
||||
{
|
||||
CPRINTF("[%T USB charge p%d m%d]\n", port_id, mode);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#ifndef __CROS_EC_USB_CHARGE_H
|
||||
#define __CROS_EC_USB_CHARGE_H
|
||||
|
||||
#include "board.h"
|
||||
#include "common.h"
|
||||
|
||||
enum usb_charge_mode {
|
||||
/* Disable USB port. */
|
||||
@@ -23,6 +23,13 @@ enum usb_charge_mode {
|
||||
USB_CHARGE_MODE_COUNT
|
||||
};
|
||||
|
||||
int usb_charge_set_mode(int usb_port_id, enum usb_charge_mode);
|
||||
/**
|
||||
* Set USB charge mode for the port.
|
||||
*
|
||||
* @param usb_port_id Port to set.
|
||||
* @param mode New mode for port.
|
||||
* @return EC_SUCCESS, or non-zero if error.
|
||||
*/
|
||||
int usb_charge_set_mode(int usb_port_id, enum usb_charge_mode mode);
|
||||
|
||||
#endif /* __CROS_EC_USB_CHARGE_H */
|
||||
|
||||
Reference in New Issue
Block a user