summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew McRae <amcrae@google.com>2022-03-16 14:25:20 +1100
committerCommit Bot <commit-bot@chromium.org>2022-03-16 07:14:52 +0000
commit6ef756e3ddc8a07ab61e551119d406172c36ae2c (patch)
tree30d745b54cb79f96dc85969d1d157b300cd63b4f
parent11771d31e7c4c9cdbc8753f64e0c7e9f4eaf4e1f (diff)
downloadchrome-ec-6ef756e3ddc8a07ab61e551119d406172c36ae2c.tar.gz
nissa: nivviks: Enable port 1 redriver
Enable port 1 redriver for Nivviks BUG=b:219898719 TEST=zmake build nivviks BRANCH=none Signed-off-by: Andrew McRae <amcrae@google.com> Change-Id: I6012855cceb44efd34469b70199ccd70897ba6d4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3527894 Reviewed-by: Peter Marheine <pmarheine@chromium.org>
-rw-r--r--zephyr/projects/nissa/include/nissa_common.h (renamed from zephyr/projects/nissa/include/sub_board.h)12
-rw-r--r--zephyr/projects/nissa/prj.conf1
-rw-r--r--zephyr/projects/nissa/prj_nivviks.conf2
-rw-r--r--zephyr/projects/nissa/src/common.c6
-rw-r--r--zephyr/projects/nissa/src/nereid/board_config.c2
-rw-r--r--zephyr/projects/nissa/src/nereid/charger.c2
-rw-r--r--zephyr/projects/nissa/src/nereid/usbc.c2
-rw-r--r--zephyr/projects/nissa/src/nivviks/board_config.c12
-rw-r--r--zephyr/projects/nissa/src/nivviks/charger.c2
-rw-r--r--zephyr/projects/nissa/src/nivviks/usbc.c2
10 files changed, 32 insertions, 11 deletions
diff --git a/zephyr/projects/nissa/include/sub_board.h b/zephyr/projects/nissa/include/nissa_common.h
index b9a9527eb8..7ee9056a71 100644
--- a/zephyr/projects/nissa/include/sub_board.h
+++ b/zephyr/projects/nissa/include/nissa_common.h
@@ -3,10 +3,12 @@
* found in the LICENSE file.
*/
-/* Nissa sub board detection */
+/* Nissa common declarations */
-#ifndef __CROS_EC_NISSA_SUB_BOARD_H
-#define __CROS_EC_NISSA_SUB_BOARD_H
+#ifndef __CROS_EC_NISSA_NISSA_COMMON_H__
+#define __CROS_EC_NISSA_NISSA_COMMON_H__
+
+#include "usb_mux.h"
enum nissa_sub_board_type {
NISSA_SB_UNKNOWN = -1, /* Uninitialised */
@@ -16,6 +18,8 @@ enum nissa_sub_board_type {
NISSA_SB_HDMI_A = 3, /* HDMI, USB type A */
};
+extern struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT];
+
enum nissa_sub_board_type nissa_get_sb_type(void);
-#endif /* __CROS_EC_NISSA_SUB_BOARD_H */
+#endif /* __CROS_EC_NISSA_NISSA_COMMON_H__ */
diff --git a/zephyr/projects/nissa/prj.conf b/zephyr/projects/nissa/prj.conf
index 1757171a69..805f333b7c 100644
--- a/zephyr/projects/nissa/prj.conf
+++ b/zephyr/projects/nissa/prj.conf
@@ -106,6 +106,7 @@ CONFIG_PLATFORM_EC_USB_PID=0x505a
CONFIG_PLATFORM_EC_USB_PD_PORT_MAX_COUNT=2
# TODO(b/216085548): configure USB retimers
+CONFIG_PLATFORM_EC_USB_MUX_RUNTIME_CONFIG=y
CONFIG_PLATFORM_EC_USB_MUX_VIRTUAL=y
# ADL integrated muxes are slow: unblock PD
CONFIG_PLATFORM_EC_USB_MUX_TASK=y
diff --git a/zephyr/projects/nissa/prj_nivviks.conf b/zephyr/projects/nissa/prj_nivviks.conf
index cb80286c6c..87d383e813 100644
--- a/zephyr/projects/nissa/prj_nivviks.conf
+++ b/zephyr/projects/nissa/prj_nivviks.conf
@@ -25,6 +25,8 @@ CONFIG_PLATFORM_EC_USB_PD_DISCHARGE_TCPC=y
CONFIG_PLATFORM_EC_USB_PD_VBUS_DETECT_TCPC=y
# RAA489000 uses TCPCI but not a separate PPC, so custom function is required
CONFIG_PLATFORM_EC_USB_PD_5V_EN_CUSTOM=y
+# type C port 1 redriver
+CONFIG_PLATFORM_EC_USBC_RETIMER_ANX7483=y
# Charger driver and configuration
CONFIG_PLATFORM_EC_CHARGER_RAA489000=y
diff --git a/zephyr/projects/nissa/src/common.c b/zephyr/projects/nissa/src/common.c
index 1dd9d3f024..78116f9f7a 100644
--- a/zephyr/projects/nissa/src/common.c
+++ b/zephyr/projects/nissa/src/common.c
@@ -15,7 +15,7 @@
#include "usb_mux.h"
#include "system.h"
-#include "sub_board.h"
+#include "nissa_common.h"
#include <logging/log.h>
LOG_MODULE_REGISTER(nissa, CONFIG_NISSA_LOG_LEVEL);
@@ -30,6 +30,10 @@ struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
.usb_port = 1,
.driver = &virtual_usb_mux_driver,
.hpd_update = &virtual_hpd_update,
+ /*
+ * next_mux filled in by board config code
+ * if sub-board has type-C USB port.
+ */
},
};
diff --git a/zephyr/projects/nissa/src/nereid/board_config.c b/zephyr/projects/nissa/src/nereid/board_config.c
index ac667d89ce..0292ca8753 100644
--- a/zephyr/projects/nissa/src/nereid/board_config.c
+++ b/zephyr/projects/nissa/src/nereid/board_config.c
@@ -16,7 +16,7 @@
#include "usb_pd.h"
#include "task.h"
-#include "sub_board.h"
+#include "nissa_common.h"
LOG_MODULE_DECLARE(nissa, CONFIG_NISSA_LOG_LEVEL);
diff --git a/zephyr/projects/nissa/src/nereid/charger.c b/zephyr/projects/nissa/src/nereid/charger.c
index 168179694c..eef49d1979 100644
--- a/zephyr/projects/nissa/src/nereid/charger.c
+++ b/zephyr/projects/nissa/src/nereid/charger.c
@@ -8,7 +8,7 @@
#include "driver/charger/sm5803.h"
#include "extpower.h"
#include "usb_pd.h"
-#include "sub_board.h"
+#include "nissa_common.h"
const struct charger_config_t chg_chips[] = {
{
diff --git a/zephyr/projects/nissa/src/nereid/usbc.c b/zephyr/projects/nissa/src/nereid/usbc.c
index 8a7dde4cc0..6ae6edba51 100644
--- a/zephyr/projects/nissa/src/nereid/usbc.c
+++ b/zephyr/projects/nissa/src/nereid/usbc.c
@@ -15,7 +15,7 @@
#include "driver/tcpm/ps8xxx_public.h"
#include "driver/tcpm/tcpci.h"
-#include "sub_board.h"
+#include "nissa_common.h"
LOG_MODULE_DECLARE(nissa, CONFIG_NISSA_LOG_LEVEL);
diff --git a/zephyr/projects/nissa/src/nivviks/board_config.c b/zephyr/projects/nissa/src/nivviks/board_config.c
index eddbcb1ff3..24531b62c6 100644
--- a/zephyr/projects/nissa/src/nivviks/board_config.c
+++ b/zephyr/projects/nissa/src/nivviks/board_config.c
@@ -11,15 +11,23 @@
#include <sys/printk.h>
#include "driver/charger/isl923x_public.h"
+#include "driver/retimer/anx7483_public.h"
#include "gpio/gpio_int.h"
#include "hooks.h"
#include "usb_pd.h"
#include "task.h"
-#include "sub_board.h"
+#include "nissa_common.h"
LOG_MODULE_DECLARE(nissa, CONFIG_NISSA_LOG_LEVEL);
+static const struct usb_mux usbc1_anx7483 = {
+ .usb_port = 1,
+ .i2c_port = I2C_PORT_USB_C1_TCPC,
+ .i2c_addr_flags = ANX7483_I2C_ADDR0_FLAGS,
+ .driver = &anx7483_usb_retimer_driver,
+};
+
static void nivviks_subboard_init(void)
{
enum nissa_sub_board_type sb = nissa_get_sb_type();
@@ -50,6 +58,8 @@ static void nivviks_subboard_init(void)
gpio_pin_configure_dt(
GPIO_DT_FROM_ALIAS(gpio_en_usb_a1_vbus),
GPIO_OUTPUT_LOW);
+ /* Enable redriver */
+ usb_muxes[1].next_mux = &usbc1_anx7483;
} else {
/* Disable the port 1 charger task */
task_disable_task(TASK_ID_USB_CHG_P1);
diff --git a/zephyr/projects/nissa/src/nivviks/charger.c b/zephyr/projects/nissa/src/nivviks/charger.c
index be29a2e183..969d9b9dfe 100644
--- a/zephyr/projects/nissa/src/nivviks/charger.c
+++ b/zephyr/projects/nissa/src/nivviks/charger.c
@@ -8,7 +8,7 @@
#include "charger/isl923x_public.h"
#include "extpower.h"
#include "usb_pd.h"
-#include "sub_board.h"
+#include "nissa_common.h"
const struct charger_config_t chg_chips[] = {
{
diff --git a/zephyr/projects/nissa/src/nivviks/usbc.c b/zephyr/projects/nissa/src/nivviks/usbc.c
index 40f60f2bf0..8cdd9852b6 100644
--- a/zephyr/projects/nissa/src/nivviks/usbc.c
+++ b/zephyr/projects/nissa/src/nivviks/usbc.c
@@ -13,7 +13,7 @@
#include "driver/tcpm/tcpci.h"
#include "driver/tcpm/raa489000.h"
-#include "sub_board.h"
+#include "nissa_common.h"
LOG_MODULE_DECLARE(nissa, CONFIG_NISSA_LOG_LEVEL);