summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorWai-Hong Tam <waihong@google.com>2020-03-03 15:08:53 -0800
committerCommit Bot <commit-bot@chromium.org>2020-03-10 03:09:24 +0000
commitb3742671427a7ac7a06920a76feab3d947273d2d (patch)
tree6f8b7d383a085b676736933fe465a0b234f82f62 /board
parent98327d8e0e27a14961b78916d558451341b0b646 (diff)
downloadchrome-ec-b3742671427a7ac7a06920a76feab3d947273d2d.tar.gz
Trogdor: Switch BC1.2 driver to PI3USB9201 on rev-1
This is for hardware rev-1, which changes the BC1.2 part from PI3USB9281 to PI3USB9201. This is an incompatible change from hardware rev-0. Use EXTRA_CLFAGS option of make to define the hardware rev. People can build the rev-0 image like: $ make BOARD=trogdor clean $ make BOARD=trogdor EXTRA_CFLAGS=-DBOARD_REV=0 -j Or build the rev-1 image like: $ make BOARD=trogdor clean $ make BOARD=trogdor EXTRA_CFLAGS=-DBOARD_REV=1 -j BRANCH=None BUG=b:150682632 TEST=Build the rev-0 image, worked on rev-0 hardware. TEST=The previous patchset was verified on rev-1 hardware. Change-Id: Id43219b154b1dff6bfa1ad46c5a47136f034ffee Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2086392 Reviewed-by: Alexandru M Stan <amstan@chromium.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Diffstat (limited to 'board')
-rw-r--r--board/trogdor/board.c17
-rw-r--r--board/trogdor/board.h7
-rw-r--r--board/trogdor/board_revs.h23
-rw-r--r--board/trogdor/usb_pd_policy.c1
4 files changed, 47 insertions, 1 deletions
diff --git a/board/trogdor/board.c b/board/trogdor/board.c
index 2fef52e31f..5dc0898072 100644
--- a/board/trogdor/board.c
+++ b/board/trogdor/board.c
@@ -20,7 +20,11 @@
#include "gpio.h"
#include "hooks.h"
#include "lid_switch.h"
+#if BOARD_REV >= TROGDOR_REV1
+#include "pi3usb9201.h"
+#else
#include "pi3usb9281.h"
+#endif /* BOARD_REV */
#include "power.h"
#include "power_button.h"
#include "pwm.h"
@@ -268,6 +272,18 @@ const int usb_port_enable[USB_PORT_COUNT] = {
};
/* BC1.2 */
+#if BOARD_REV >= TROGDOR_REV1
+const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = {
+ {
+ .i2c_port = I2C_PORT_POWER,
+ .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
+ },
+ {
+ .i2c_port = I2C_PORT_EEPROM,
+ .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
+ },
+};
+#else
struct pi3usb9281_config pi3usb9281_chips[] = {
{
.i2c_port = I2C_PORT_POWER,
@@ -278,6 +294,7 @@ struct pi3usb9281_config pi3usb9281_chips[] = {
};
BUILD_ASSERT(ARRAY_SIZE(pi3usb9281_chips) ==
CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT);
+#endif /* BOARD_REV */
const struct charger_config_t chg_chips[] = {
{
diff --git a/board/trogdor/board.h b/board/trogdor/board.h
index c7bb6f0ff3..5890fdebff 100644
--- a/board/trogdor/board.h
+++ b/board/trogdor/board.h
@@ -8,6 +8,9 @@
#ifndef __CROS_EC_BOARD_H
#define __CROS_EC_BOARD_H
+/* Board revision */
+#include "board_revs.h"
+
/* TODO(waihong): Remove the following bringup features */
#define CONFIG_BRINGUP
#define CONFIG_SYSTEM_UNLOCKED /* Allow dangerous commands. */
@@ -90,8 +93,12 @@
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
/* BC 1.2 Charger */
+#if BOARD_REV >= TROGDOR_REV1
+#define CONFIG_BC12_DETECT_PI3USB9201
+#else
#define CONFIG_BC12_DETECT_PI3USB9281
#define CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT 2
+#endif /* BOARD_REV */
/*
* USB ID
diff --git a/board/trogdor/board_revs.h b/board/trogdor/board_revs.h
new file mode 100644
index 0000000000..9d3273f813
--- /dev/null
+++ b/board/trogdor/board_revs.h
@@ -0,0 +1,23 @@
+/* Copyright 2020 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.
+ */
+
+#ifndef __CROS_EC_BOARD_REVS_H
+#define __CROS_EC_BOARD_REVS_H
+
+#define TROGDOR_REV0 0
+#define TROGDOR_REV1 1
+#define TROGDOR_REV_LAST TROGDOR_REV1
+
+#define TROGDOR_REV_DEFAULT TROGDOR_REV0
+
+#if !defined(BOARD_REV)
+#define BOARD_REV TROGDOR_REV_DEFAULT
+#endif
+
+#if BOARD_REV < TROGDOR_REV0 || BOARD_REV > TROGDOR_REV_LAST
+#error "Board revision out of range"
+#endif
+
+#endif /* __CROS_EC_BOARD_REVS_H */
diff --git a/board/trogdor/usb_pd_policy.c b/board/trogdor/usb_pd_policy.c
index 6840ae919e..40cfd91319 100644
--- a/board/trogdor/usb_pd_policy.c
+++ b/board/trogdor/usb_pd_policy.c
@@ -7,7 +7,6 @@
#include "chipset.h"
#include "console.h"
#include "gpio.h"
-#include "pi3usb9281.h"
#include "system.h"
#include "usb_mux.h"
#include "usbc_ppc.h"