summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2022-09-19 13:07:08 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-20 23:31:23 +0000
commite9314be72f512c90917a37957d7e48cabaf55c3d (patch)
treee00c5a62d9b4eff53abb34355b7de149bfdf407d
parent656458dcc316ab75437f24fc03df273f4be2ecd0 (diff)
downloadchrome-ec-e9314be72f512c90917a37957d7e48cabaf55c3d.tar.gz
Zephyr: Add shim support for PS8818
Add support for the PS8818 in the shim so it can be configured using the devicetree. Note that all of the PS8818's include file is "public" in that boards regularly manipulate the registers directly rather than through well-formed APIs. BRANCH=None BUG=b:244457125 TEST=zmake build skyrim Signed-off-by: Diana Z <dzigterman@chromium.org> Change-Id: Ia182ca5617d312db2acb8fb7680a7847a3a7ecb8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3905887 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r--baseboard/goroh/usbc_config.c2
-rw-r--r--baseboard/guybrush/baseboard.c2
-rw-r--r--baseboard/zork/variant_trembyle.c2
-rw-r--r--board/agah/usbc_config.c2
-rw-r--r--board/dewatt/board.c2
-rw-r--r--board/guybrush/board.c2
-rw-r--r--board/nipperkin/board.c2
-rw-r--r--board/woomax/board.c2
-rw-r--r--driver/retimer/ps8818.c2
-rw-r--r--include/driver/retimer/ps8818_public.h (renamed from driver/retimer/ps8818.h)0
-rw-r--r--zephyr/dts/bindings/usbc/mux/parade,ps8818.yaml9
-rw-r--r--zephyr/projects/skyrim/src/usbc_config.c2
-rw-r--r--zephyr/projects/skyrim/src/winterhold/usbc_config.c2
-rw-r--r--zephyr/shim/include/usbc/ps8818_usb_mux.h21
-rw-r--r--zephyr/shim/include/usbc/usb_muxes.h2
15 files changed, 43 insertions, 11 deletions
diff --git a/baseboard/goroh/usbc_config.c b/baseboard/goroh/usbc_config.c
index d33b0ac836..9d162ca783 100644
--- a/baseboard/goroh/usbc_config.c
+++ b/baseboard/goroh/usbc_config.c
@@ -14,7 +14,7 @@
#include "hooks.h"
#include "driver/tcpm/it8xxx2_pd_public.h"
#include "driver/ppc/syv682x_public.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/tcpm/tcpci.h"
#include "usb_pd.h"
#include "usbc_ppc.h"
diff --git a/baseboard/guybrush/baseboard.c b/baseboard/guybrush/baseboard.c
index 4c831b9769..5d36f5be9a 100644
--- a/baseboard/guybrush/baseboard.c
+++ b/baseboard/guybrush/baseboard.c
@@ -20,7 +20,7 @@
#include "driver/ppc/nx20p348x.h"
#include "driver/retimer/anx7491.h"
#include "driver/retimer/ps8811.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/tcpm/nct38xx.h"
#include "driver/usb_mux/anx7451.h"
#include "driver/usb_mux/amd_fp6.h"
diff --git a/baseboard/zork/variant_trembyle.c b/baseboard/zork/variant_trembyle.c
index bf308badc1..9c29e057cc 100644
--- a/baseboard/zork/variant_trembyle.c
+++ b/baseboard/zork/variant_trembyle.c
@@ -12,7 +12,7 @@
#include "driver/ppc/aoz1380_public.h"
#include "driver/ppc/nx20p348x.h"
#include "driver/retimer/ps8802.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/retimer/tusb544.h"
#include "driver/tcpm/nct38xx.h"
#include "driver/usb_mux/amd_fp5.h"
diff --git a/board/agah/usbc_config.c b/board/agah/usbc_config.c
index fe5157e420..a8bad0f121 100644
--- a/board/agah/usbc_config.c
+++ b/board/agah/usbc_config.c
@@ -14,7 +14,7 @@
#include "console.h"
#include "driver/bc12/pi3usb9201_public.h"
#include "driver/ppc/syv682x_public.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/tcpm/rt1715.h"
#include "driver/tcpm/tcpci.h"
#include "ec_commands.h"
diff --git a/board/dewatt/board.c b/board/dewatt/board.c
index 1ce6858d8f..4667979e15 100644
--- a/board/dewatt/board.c
+++ b/board/dewatt/board.c
@@ -18,7 +18,7 @@
#include "driver/accelgyro_bmi260.h"
#include "driver/accel_bma422.h"
#include "driver/retimer/ps8811.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/temp_sensor/sb_tsi.h"
#include "driver/temp_sensor/pct2075.h"
#include "extpower.h"
diff --git a/board/guybrush/board.c b/board/guybrush/board.c
index e7fc1e09ee..663094233e 100644
--- a/board/guybrush/board.c
+++ b/board/guybrush/board.c
@@ -17,7 +17,7 @@
#include "driver/accelgyro_bmi323.h"
#include "driver/accel_bma422.h"
#include "driver/retimer/ps8811.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/temp_sensor/sb_tsi.h"
#include "driver/temp_sensor/tmp112.h"
#include "extpower.h"
diff --git a/board/nipperkin/board.c b/board/nipperkin/board.c
index b418448fb1..e4f3c0db57 100644
--- a/board/nipperkin/board.c
+++ b/board/nipperkin/board.c
@@ -17,7 +17,7 @@
#include "driver/charger/isl9241.h"
#include "driver/retimer/pi3hdx1204.h"
#include "driver/retimer/ps8811.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/temp_sensor/sb_tsi.h"
#include "driver/temp_sensor/pct2075.h"
#include "extpower.h"
diff --git a/board/woomax/board.c b/board/woomax/board.c
index 92290d4582..747c576fc2 100644
--- a/board/woomax/board.c
+++ b/board/woomax/board.c
@@ -19,7 +19,7 @@
#include "driver/retimer/pi3hdx1204.h"
#include "driver/retimer/ps8802.h"
#include "driver/retimer/ps8811.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/temp_sensor/sb_tsi.h"
#include "driver/usb_mux/amd_fp5.h"
#include "extpower.h"
diff --git a/driver/retimer/ps8818.c b/driver/retimer/ps8818.c
index e78aa58693..dff1b33a64 100644
--- a/driver/retimer/ps8818.c
+++ b/driver/retimer/ps8818.c
@@ -8,10 +8,10 @@
#include "chipset.h"
#include "common.h"
#include "console.h"
+#include "driver/retimer/ps8818_public.h"
#include "gpio.h"
#include "i2c.h"
#include "ioexpander.h"
-#include "ps8818.h"
#include "usb_mux.h"
#define PS8818_DEBUG 0
diff --git a/driver/retimer/ps8818.h b/include/driver/retimer/ps8818_public.h
index 3f0aba963b..3f0aba963b 100644
--- a/driver/retimer/ps8818.h
+++ b/include/driver/retimer/ps8818_public.h
diff --git a/zephyr/dts/bindings/usbc/mux/parade,ps8818.yaml b/zephyr/dts/bindings/usbc/mux/parade,ps8818.yaml
new file mode 100644
index 0000000000..aafdf29341
--- /dev/null
+++ b/zephyr/dts/bindings/usbc/mux/parade,ps8818.yaml
@@ -0,0 +1,9 @@
+# Copyright 2022 The ChromiumOS Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description: USBC PS8818 Retimer
+
+include: ["i2c-device.yaml", "cros-ec,usbc-mux.yaml"]
+
+compatible: "parade,ps8818"
diff --git a/zephyr/projects/skyrim/src/usbc_config.c b/zephyr/projects/skyrim/src/usbc_config.c
index 291637128d..b92865af6e 100644
--- a/zephyr/projects/skyrim/src/usbc_config.c
+++ b/zephyr/projects/skyrim/src/usbc_config.c
@@ -21,7 +21,7 @@
#include "driver/ppc/nx20p348x.h"
#include "driver/retimer/anx7483_public.h"
#include "driver/retimer/ps8811.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/tcpm/nct38xx.h"
#include "driver/usb_mux/amd_fp6.h"
#include "gpio/gpio_int.h"
diff --git a/zephyr/projects/skyrim/src/winterhold/usbc_config.c b/zephyr/projects/skyrim/src/winterhold/usbc_config.c
index 9e8dc1a9ed..afc527adf9 100644
--- a/zephyr/projects/skyrim/src/winterhold/usbc_config.c
+++ b/zephyr/projects/skyrim/src/winterhold/usbc_config.c
@@ -20,7 +20,7 @@
#include "driver/ppc/nx20p348x.h"
#include "driver/retimer/anx7483_public.h"
#include "driver/retimer/ps8811.h"
-#include "driver/retimer/ps8818.h"
+#include "driver/retimer/ps8818_public.h"
#include "driver/tcpm/nct38xx.h"
#include "driver/usb_mux/amd_fp6.h"
#include "gpio/gpio_int.h"
diff --git a/zephyr/shim/include/usbc/ps8818_usb_mux.h b/zephyr/shim/include/usbc/ps8818_usb_mux.h
new file mode 100644
index 0000000000..c45e69aee3
--- /dev/null
+++ b/zephyr/shim/include/usbc/ps8818_usb_mux.h
@@ -0,0 +1,21 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef __ZEPHYR_SHIM_PS8818_USB_MUX_H
+#define __ZEPHYR_SHIM_PS8818_USB_MUX_H
+
+#include "driver/retimer/ps8818_public.h"
+
+#define PS8818_USB_MUX_COMPAT parade_ps8818
+
+#define USB_MUX_CONFIG_PS8818(mux_id) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id), \
+ .driver = &ps8818_usb_retimer_driver, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
+ }
+
+#endif /* __ZEPHYR_SHIM_PS8818_USB_MUX_H */
diff --git a/zephyr/shim/include/usbc/usb_muxes.h b/zephyr/shim/include/usbc/usb_muxes.h
index 4d95c51593..d161b72b08 100644
--- a/zephyr/shim/include/usbc/usb_muxes.h
+++ b/zephyr/shim/include/usbc/usb_muxes.h
@@ -15,6 +15,7 @@
#include "usbc/bb_retimer_usb_mux.h"
#include "usbc/it5205_usb_mux.h"
#include "usbc/ps8743_usb_mux.h"
+#include "usbc/ps8818_usb_mux.h"
#include "usbc/tcpci_usb_mux.h"
#include "usbc/tusb1064_usb_mux.h"
#include "usbc/utils.h"
@@ -31,6 +32,7 @@
(BB_RETIMER_USB_MUX_COMPAT, USB_MUX_CONFIG_BB_RETIMER), \
(IT5205_USB_MUX_COMPAT, USB_MUX_CONFIG_IT5205), \
(PS8743_USB_MUX_COMPAT, USB_MUX_CONFIG_PS8743), \
+ (PS8818_USB_MUX_COMPAT, USB_MUX_CONFIG_PS8818), \
(PS8XXX_USB_MUX_COMPAT, USB_MUX_CONFIG_TCPCI_TCPM), \
(TCPCI_TCPM_USB_MUX_COMPAT, USB_MUX_CONFIG_TCPCI_TCPM), \
(TUSB1064_USB_MUX_COMPAT, USB_MUX_CONFIG_TUSB1064), \