diff options
author | David Huang <david.huang@quanta.corp-partner.google.com> | 2020-06-30 15:40:26 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-05 18:36:45 +0000 |
commit | 62dfe288411de85766ac136c2ccc10b2d73a9a89 (patch) | |
tree | 74c390f9d3607c0f29d4f0ea8baf83c775a3a6a2 | |
parent | c23554b473e8a9d772f55533bbf72c072c888828 (diff) | |
download | chrome-ec-62dfe288411de85766ac136c2ccc10b2d73a9a89.tar.gz |
volteer: move ppc_chips[] from baseboard to board
Move ppc_chips[] to board for board customize.
BUG=b:151978872
BRANCH=master
TEST=check ppc init succeed and switch source/sink correct with type c
device.
Change-Id: I287bbe44b163d72c19a3764dca431c84d86bbdec
Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2275971
Commit-Queue: Keith Short <keithshort@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | baseboard/volteer/baseboard.c | 34 | ||||
-rw-r--r-- | baseboard/volteer/baseboard.h | 2 | ||||
-rw-r--r-- | board/delbin/board.c | 35 | ||||
-rw-r--r-- | board/delbin/board.h | 4 | ||||
-rw-r--r-- | board/halvor/board.c | 35 | ||||
-rw-r--r-- | board/halvor/board.h | 4 | ||||
-rw-r--r-- | board/malefor/board.c | 35 | ||||
-rw-r--r-- | board/malefor/board.h | 4 | ||||
-rw-r--r-- | board/terrador/board.c | 36 | ||||
-rw-r--r-- | board/terrador/board.h | 4 | ||||
-rw-r--r-- | board/trondo/board.c | 36 | ||||
-rw-r--r-- | board/trondo/board.h | 4 | ||||
-rw-r--r-- | board/volteer/board.c | 35 | ||||
-rw-r--r-- | board/volteer/board.h | 3 | ||||
-rw-r--r-- | board/voxel/board.c | 36 | ||||
-rw-r--r-- | board/voxel/board.h | 4 |
16 files changed, 275 insertions, 36 deletions
diff --git a/baseboard/volteer/baseboard.c b/baseboard/volteer/baseboard.c index d51e99a921..7213ff7137 100644 --- a/baseboard/volteer/baseboard.c +++ b/baseboard/volteer/baseboard.c @@ -13,8 +13,6 @@ #include "cros_board_info.h" #include "driver/bc12/pi3usb9201.h" #include "driver/charger/isl9241.h" -#include "driver/ppc/sn5s330.h" -#include "driver/ppc/syv682x.h" #include "driver/tcpm/ps8xxx.h" #include "driver/tcpm/tcpci.h" #include "driver/tcpm/tusb422.h" @@ -268,23 +266,6 @@ BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == USBC_PORT_COUNT); BUILD_ASSERT(CONFIG_USB_PD_PORT_MAX_COUNT == USBC_PORT_COUNT); /******************************************************************************/ -/* USBC PPC configuration */ -struct ppc_config_t ppc_chips[] = { - [USBC_PORT_C0] = { - .i2c_port = I2C_PORT_USB_C0, - .i2c_addr_flags = SN5S330_ADDR0_FLAGS, - .drv = &sn5s330_drv, - }, - [USBC_PORT_C1] = { - .i2c_port = I2C_PORT_USB_C1, - .i2c_addr_flags = SYV682X_ADDR0_FLAGS, - .drv = &syv682x_drv, - }, -}; -BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); -unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); - -/******************************************************************************/ /* USBC mux configuration - Tiger Lake includes internal mux */ struct usb_mux usbc1_usb4_db_retimer = { .usb_port = USBC_PORT_C1, @@ -341,21 +322,6 @@ static void baseboard_tcpc_init(void) DECLARE_HOOK(HOOK_INIT, baseboard_tcpc_init, HOOK_PRIO_INIT_CHIPSET); /******************************************************************************/ -/* PPC support routines */ -void ppc_interrupt(enum gpio_signal signal) -{ - switch (signal) { - case GPIO_USB_C0_PPC_INT_ODL: - sn5s330_interrupt(USBC_PORT_C0); - break; - case GPIO_USB_C1_PPC_INT_ODL: - syv682x_interrupt(USBC_PORT_C1); - default: - break; - } -} - -/******************************************************************************/ /* TCPC support routines */ uint16_t tcpc_get_alert_status(void) { diff --git a/baseboard/volteer/baseboard.h b/baseboard/volteer/baseboard.h index 7ad485fbe8..34f2b235e0 100644 --- a/baseboard/volteer/baseboard.h +++ b/baseboard/volteer/baseboard.h @@ -183,8 +183,6 @@ * CONFIG_USBC_PPC_VCONN */ #define CONFIG_USBC_PPC_DEDICATED_INT -#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ -#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ #define CONFIG_INTEL_VIRTUAL_MUX #define CONFIG_USBC_SS_MUX diff --git a/board/delbin/board.c b/board/delbin/board.c index d7e7ad7f56..04dfa635c7 100644 --- a/board/delbin/board.c +++ b/board/delbin/board.c @@ -11,6 +11,8 @@ #include "cbi_ec_fw_config.h" #include "driver/accel_bma2x2.h" #include "driver/accelgyro_bmi260.h" +#include "driver/ppc/sn5s330.h" +#include "driver/ppc/syv682x.h" #include "driver/retimer/bb_retimer.h" #include "extpower.h" #include "fan.h" @@ -29,6 +31,7 @@ #include "throttle_ap.h" #include "uart.h" #include "usb_pd_tbt.h" +#include "usbc_ppc.h" #include "util.h" #include "gpio_list.h" /* Must come after other header files. */ @@ -243,3 +246,35 @@ __override void board_cbi_init(void) /* TODO(b/159336576): Delbin: check FW_CONFIG fields for USB DB type */ } +/******************************************************************************/ +/* USBC PPC configuration */ +struct ppc_config_t ppc_chips[] = { + [USBC_PORT_C0] = { + .i2c_port = I2C_PORT_USB_C0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv, + }, + [USBC_PORT_C1] = { + .i2c_port = I2C_PORT_USB_C1, + .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .drv = &syv682x_drv, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/******************************************************************************/ +/* PPC support routines */ +void ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + sn5s330_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + default: + break; + } +} + diff --git a/board/delbin/board.h b/board/delbin/board.h index 03c495d8d6..40625e92ea 100644 --- a/board/delbin/board.h +++ b/board/delbin/board.h @@ -70,6 +70,10 @@ #define USB_PORT_COUNT 1 #define CONFIG_USB_PORT_POWER_DUMB +/* USBC PPC*/ +#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ +#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ + /* BC 1.2 */ diff --git a/board/halvor/board.c b/board/halvor/board.c index 5180bf6bbf..f5341f136c 100644 --- a/board/halvor/board.c +++ b/board/halvor/board.c @@ -11,6 +11,8 @@ #include "cbi_ec_fw_config.h" #include "driver/accel_bma2x2.h" #include "driver/als_tcs3400.h" +#include "driver/ppc/sn5s330.h" +#include "driver/ppc/syv682x.h" #include "driver/sync.h" #include "extpower.h" #include "gpio.h" @@ -26,6 +28,7 @@ #include "tablet_mode.h" #include "uart.h" #include "usb_pd_tbt.h" +#include "usbc_ppc.h" #include "util.h" #include "gpio_list.h" /* Must come after other header files. */ @@ -196,3 +199,35 @@ __override void board_cbi_init(void) { /* TODO (b/153705222): Check FW_CONFIG for USB DB options */ } + +/******************************************************************************/ +/* USBC PPC configuration */ +struct ppc_config_t ppc_chips[] = { + [USBC_PORT_C0] = { + .i2c_port = I2C_PORT_USB_C0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv, + }, + [USBC_PORT_C1] = { + .i2c_port = I2C_PORT_USB_C1, + .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .drv = &syv682x_drv, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/******************************************************************************/ +/* PPC support routines */ +void ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + sn5s330_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + default: + break; + } +} diff --git a/board/halvor/board.h b/board/halvor/board.h index 1b7c198f5d..8d8c743330 100644 --- a/board/halvor/board.h +++ b/board/halvor/board.h @@ -61,6 +61,10 @@ /* USB Type A Features */ +/* USBC PPC*/ +#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ +#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ + /* BC 1.2 */ /* Volume Button feature */ diff --git a/board/malefor/board.c b/board/malefor/board.c index a95b71658e..5841ea0385 100644 --- a/board/malefor/board.c +++ b/board/malefor/board.c @@ -10,6 +10,8 @@ #include "common.h" #include "driver/accel_lis2dh.h" #include "driver/accelgyro_lsm6dsm.h" +#include "driver/ppc/sn5s330.h" +#include "driver/ppc/syv682x.h" #include "driver/sync.h" #include "extpower.h" #include "fan.h" @@ -27,6 +29,7 @@ #include "task.h" #include "tablet_mode.h" #include "uart.h" +#include "usbc_ppc.h" #include "util.h" #include "gpio_list.h" /* Must come after other header files. */ @@ -316,3 +319,35 @@ __override void board_cbi_init(void) /* TODO(b/159024035): Malefor: check FW_CONFIG fields for USB DB type */ } +/******************************************************************************/ +/* USBC PPC configuration */ +struct ppc_config_t ppc_chips[] = { + [USBC_PORT_C0] = { + .i2c_port = I2C_PORT_USB_C0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv, + }, + [USBC_PORT_C1] = { + .i2c_port = I2C_PORT_USB_C1, + .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .drv = &syv682x_drv, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/******************************************************************************/ +/* PPC support routines */ +void ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + sn5s330_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + default: + break; + } +} + diff --git a/board/malefor/board.h b/board/malefor/board.h index a05c01bb07..f1a34bb73a 100644 --- a/board/malefor/board.h +++ b/board/malefor/board.h @@ -56,6 +56,10 @@ /* USB Type A Features */ +/* USBC PPC*/ +#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ +#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ + /* BC 1.2 */ /* Volume Button feature */ diff --git a/board/terrador/board.c b/board/terrador/board.c index 5cf8dd9110..ef652617c5 100644 --- a/board/terrador/board.c +++ b/board/terrador/board.c @@ -12,6 +12,8 @@ #include "driver/accel_bma2x2.h" #include "driver/accelgyro_bmi260.h" #include "driver/als_tcs3400.h" +#include "driver/ppc/sn5s330.h" +#include "driver/ppc/syv682x.h" #include "driver/retimer/bb_retimer.h" #include "driver/sync.h" #include "extpower.h" @@ -31,6 +33,7 @@ #include "throttle_ap.h" #include "uart.h" #include "usb_pd_tbt.h" +#include "usbc_ppc.h" #include "util.h" #include "gpio_list.h" /* Must come after other header files. */ @@ -223,3 +226,36 @@ __override void board_cbi_init(void) * TODO(b/159025015): Terrador: check FW_CONFIG fields for USB DB type */ } + +/******************************************************************************/ +/* USBC PPC configuration */ +struct ppc_config_t ppc_chips[] = { + [USBC_PORT_C0] = { + .i2c_port = I2C_PORT_USB_C0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv, + }, + [USBC_PORT_C1] = { + .i2c_port = I2C_PORT_USB_C1, + .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .drv = &syv682x_drv, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/******************************************************************************/ +/* PPC support routines */ +void ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + sn5s330_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + default: + break; + } +} + diff --git a/board/terrador/board.h b/board/terrador/board.h index 3349fef5bd..3457a1c23a 100644 --- a/board/terrador/board.h +++ b/board/terrador/board.h @@ -73,6 +73,10 @@ /* USB Type A Features */ +/* USBC PPC*/ +#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ +#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ + /* BC 1.2 */ /* Volume Button feature */ diff --git a/board/trondo/board.c b/board/trondo/board.c index e4635a0237..3570d34cec 100644 --- a/board/trondo/board.c +++ b/board/trondo/board.c @@ -12,6 +12,8 @@ #include "driver/accel_bma2x2.h" #include "driver/accelgyro_bmi260.h" #include "driver/als_tcs3400.h" +#include "driver/ppc/sn5s330.h" +#include "driver/ppc/syv682x.h" #include "driver/retimer/bb_retimer.h" #include "driver/sync.h" #include "extpower.h" @@ -31,6 +33,7 @@ #include "throttle_ap.h" #include "uart.h" #include "usb_pd_tbt.h" +#include "usbc_ppc.h" #include "util.h" #include "gpio_list.h" /* Must come after other header files. */ @@ -221,3 +224,36 @@ __override void board_cbi_init(void) { /* TODO(b/159025023): Trondo: check FW_CONFIG fields for USB DB type */ } + +/******************************************************************************/ +/* USBC PPC configuration */ +struct ppc_config_t ppc_chips[] = { + [USBC_PORT_C0] = { + .i2c_port = I2C_PORT_USB_C0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv, + }, + [USBC_PORT_C1] = { + .i2c_port = I2C_PORT_USB_C1, + .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .drv = &syv682x_drv, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/******************************************************************************/ +/* PPC support routines */ +void ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + sn5s330_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + default: + break; + } +} + diff --git a/board/trondo/board.h b/board/trondo/board.h index 4495625709..5cd98b039d 100644 --- a/board/trondo/board.h +++ b/board/trondo/board.h @@ -66,6 +66,10 @@ /* USB Type A Features */ +/* USBC PPC*/ +#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ +#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ + /* BC 1.2 */ /* Volume Button feature */ diff --git a/board/volteer/board.c b/board/volteer/board.c index eb83f3ee26..1ea7727e7e 100644 --- a/board/volteer/board.c +++ b/board/volteer/board.c @@ -12,6 +12,8 @@ #include "driver/accel_bma2x2.h" #include "driver/accelgyro_bmi260.h" #include "driver/als_tcs3400.h" +#include "driver/ppc/sn5s330.h" +#include "driver/ppc/syv682x.h" #include "driver/retimer/bb_retimer.h" #include "driver/sync.h" #include "driver/tcpm/ps8xxx.h" @@ -33,6 +35,7 @@ #include "throttle_ap.h" #include "uart.h" #include "usb_pd_tbt.h" +#include "usbc_ppc.h" #include "util.h" #include "gpio_list.h" /* Must come after other header files. */ @@ -363,3 +366,35 @@ __override void board_cbi_init(void) } } +/******************************************************************************/ +/* USBC PPC configuration */ +struct ppc_config_t ppc_chips[] = { + [USBC_PORT_C0] = { + .i2c_port = I2C_PORT_USB_C0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv, + }, + [USBC_PORT_C1] = { + .i2c_port = I2C_PORT_USB_C1, + .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .drv = &syv682x_drv, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/******************************************************************************/ +/* PPC support routines */ +void ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + sn5s330_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + default: + break; + } +} + diff --git a/board/volteer/board.h b/board/volteer/board.h index 6edb5deae4..fede2c8fc1 100644 --- a/board/volteer/board.h +++ b/board/volteer/board.h @@ -86,6 +86,9 @@ #define USB_PORT_COUNT 1 #define CONFIG_USB_PORT_POWER_DUMB +/* USBC PPC*/ +#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ +#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ /* BC 1.2 */ diff --git a/board/voxel/board.c b/board/voxel/board.c index e360809aa8..1270860b00 100644 --- a/board/voxel/board.c +++ b/board/voxel/board.c @@ -12,6 +12,8 @@ #include "driver/accel_bma2x2.h" #include "driver/accelgyro_bmi260.h" #include "driver/als_tcs3400.h" +#include "driver/ppc/sn5s330.h" +#include "driver/ppc/syv682x.h" #include "driver/retimer/bb_retimer.h" #include "driver/sync.h" #include "extpower.h" @@ -31,6 +33,7 @@ #include "throttle_ap.h" #include "uart.h" #include "usb_pd_tbt.h" +#include "usbc_ppc.h" #include "util.h" #include "gpio_list.h" /* Must come after other header files. */ @@ -224,3 +227,36 @@ __override void board_cbi_init(void) { /* TODO(b/159025739): Voxel: check FW_CONFIG fields for USB DB type */ } + +/******************************************************************************/ +/* USBC PPC configuration */ +struct ppc_config_t ppc_chips[] = { + [USBC_PORT_C0] = { + .i2c_port = I2C_PORT_USB_C0, + .i2c_addr_flags = SN5S330_ADDR0_FLAGS, + .drv = &sn5s330_drv, + }, + [USBC_PORT_C1] = { + .i2c_port = I2C_PORT_USB_C1, + .i2c_addr_flags = SYV682X_ADDR0_FLAGS, + .drv = &syv682x_drv, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); +unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); + +/******************************************************************************/ +/* PPC support routines */ +void ppc_interrupt(enum gpio_signal signal) +{ + switch (signal) { + case GPIO_USB_C0_PPC_INT_ODL: + sn5s330_interrupt(USBC_PORT_C0); + break; + case GPIO_USB_C1_PPC_INT_ODL: + syv682x_interrupt(USBC_PORT_C1); + default: + break; + } +} + diff --git a/board/voxel/board.h b/board/voxel/board.h index 3349fef5bd..3457a1c23a 100644 --- a/board/voxel/board.h +++ b/board/voxel/board.h @@ -73,6 +73,10 @@ /* USB Type A Features */ +/* USBC PPC*/ +#define CONFIG_USBC_PPC_SN5S330 /* USBC port C0 */ +#define CONFIG_USBC_PPC_SYV682X /* USBC port C1 */ + /* BC 1.2 */ /* Volume Button feature */ |