diff options
author | Wai-Hong Tam <waihong@google.com> | 2020-03-03 15:08:53 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-10 03:09:24 +0000 |
commit | b3742671427a7ac7a06920a76feab3d947273d2d (patch) | |
tree | 6f8b7d383a085b676736933fe465a0b234f82f62 /board | |
parent | 98327d8e0e27a14961b78916d558451341b0b646 (diff) | |
download | chrome-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.c | 17 | ||||
-rw-r--r-- | board/trogdor/board.h | 7 | ||||
-rw-r--r-- | board/trogdor/board_revs.h | 23 | ||||
-rw-r--r-- | board/trogdor/usb_pd_policy.c | 1 |
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" |