summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Huang <david.huang@quanta.corp-partner.google.com>2020-06-30 15:40:26 +0800
committerCommit Bot <commit-bot@chromium.org>2020-07-05 18:36:45 +0000
commit62dfe288411de85766ac136c2ccc10b2d73a9a89 (patch)
tree74c390f9d3607c0f29d4f0ea8baf83c775a3a6a2
parentc23554b473e8a9d772f55533bbf72c072c888828 (diff)
downloadchrome-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.c34
-rw-r--r--baseboard/volteer/baseboard.h2
-rw-r--r--board/delbin/board.c35
-rw-r--r--board/delbin/board.h4
-rw-r--r--board/halvor/board.c35
-rw-r--r--board/halvor/board.h4
-rw-r--r--board/malefor/board.c35
-rw-r--r--board/malefor/board.h4
-rw-r--r--board/terrador/board.c36
-rw-r--r--board/terrador/board.h4
-rw-r--r--board/trondo/board.c36
-rw-r--r--board/trondo/board.h4
-rw-r--r--board/volteer/board.c35
-rw-r--r--board/volteer/board.h3
-rw-r--r--board/voxel/board.c36
-rw-r--r--board/voxel/board.h4
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 */