summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Michalec <tm@semihalf.com>2022-07-20 13:58:42 +0200
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-13 11:17:28 +0000
commit5df78275df9984a4984c97997f846f4899247193 (patch)
treebcc90c96e594b9e33de618ff02f6446af057ec32
parentd0a517d8d8c073d2187e178343761872d0229bd5 (diff)
downloadchrome-ec-5df78275df9984a4984c97997f846f4899247193.tar.gz
zephyr: corsola: usb_mux: Split struct usb_mux in corsola boards
Update corsola boards to use new struct usb_mux_chain. LOW_COVERAGE_REASON=missing PS8743 emulator to introduce kingler board_usb_mux_init test BUG=b:236274003 TEST=zmake build -a TEST=./twister -T zephyr/test BRANCH=None Cq-Depend: chromium:3779618 Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I120e759c95b77d88dc5adfb4ed3006c487ca839a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3780414 Tested-by: Tomasz Michalec <tmichalec@google.com> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Tomasz Michalec <tmichalec@google.com>
-rw-r--r--zephyr/projects/corsola/src/kingler/usbc_config.c2
-rw-r--r--zephyr/projects/corsola/src/usbc_config.c12
-rw-r--r--zephyr/projects/corsola/usbc_kingler.dts10
-rw-r--r--zephyr/projects/corsola/usbc_krabby.dts10
-rw-r--r--zephyr/projects/corsola/usbc_magikarp.dts10
-rw-r--r--zephyr/projects/corsola/usbc_tentacruel.dts10
6 files changed, 40 insertions, 14 deletions
diff --git a/zephyr/projects/corsola/src/kingler/usbc_config.c b/zephyr/projects/corsola/src/kingler/usbc_config.c
index 79bb2680fa..8c0ca86454 100644
--- a/zephyr/projects/corsola/src/kingler/usbc_config.c
+++ b/zephyr/projects/corsola/src/kingler/usbc_config.c
@@ -49,7 +49,7 @@ void board_usb_mux_init(void)
{
if (corsola_get_db_type() == CORSOLA_DB_TYPEC) {
/* Disable DCI function. This is not needed for ARM. */
- ps8743_field_update(&usb_muxes[1], PS8743_REG_DCI_CONFIG_2,
+ ps8743_field_update(usb_muxes[1].mux, PS8743_REG_DCI_CONFIG_2,
PS8743_AUTO_DCI_MODE_MASK,
PS8743_AUTO_DCI_MODE_FORCE_USB);
}
diff --git a/zephyr/projects/corsola/src/usbc_config.c b/zephyr/projects/corsola/src/usbc_config.c
index 851beb0d08..3b8bc07917 100644
--- a/zephyr/projects/corsola/src/usbc_config.c
+++ b/zephyr/projects/corsola/src/usbc_config.c
@@ -255,6 +255,11 @@ static void baseboard_x_ec_gpio2_init(void)
static struct ppc_drv virtual_ppc_drv = { 0 };
static struct tcpm_drv virtual_tcpc_drv = { 0 };
static struct bc12_drv virtual_bc12_drv = { 0 };
+ static const struct usb_mux virtual_usb_mux = {
+ .usb_port = USBC_PORT_C1,
+ .driver = &virtual_usb_mux_driver,
+ .hpd_update = &virtual_hpd_update,
+ };
/* no sub board */
if (corsola_get_db_type() == CORSOLA_DB_NONE) {
@@ -286,11 +291,8 @@ static void baseboard_x_ec_gpio2_init(void)
bc12_ports[USBC_PORT_C1] =
(const struct bc12_config){ .drv = &virtual_bc12_drv };
/* Use virtual mux to notify AP the mainlink direction. */
- usb_muxes[USBC_PORT_C1] = (struct usb_mux){
- .usb_port = USBC_PORT_C1,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- };
+ usb_muxes[USBC_PORT_C1].mux = &virtual_usb_mux;
+ usb_muxes[USBC_PORT_C1].next = NULL;
/*
* If a HDMI DB is attached, C1 port tasks will be exiting in that
diff --git a/zephyr/projects/corsola/usbc_kingler.dts b/zephyr/projects/corsola/usbc_kingler.dts
index 15c3f8bbc9..eb27d7d272 100644
--- a/zephyr/projects/corsola/usbc_kingler.dts
+++ b/zephyr/projects/corsola/usbc_kingler.dts
@@ -14,8 +14,11 @@
bc12 = <&bc12_port0>;
tcpc = <&tcpc_port0>;
ppc = <&ppc_port0>;
- usb-muxes = <&anx7447_mux_0 &virtual_mux_0>;
chg = <&charger>;
+ usb-mux-chain-0 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&anx7447_mux_0 &virtual_mux_0>;
+ };
};
port0-muxes {
@@ -33,7 +36,10 @@
bc12 = <&bc12_port1>;
tcpc = <&tcpc_port1>;
ppc = <&ppc_port1>;
- usb-muxes = <&ps8743_mux_1 &virtual_mux_1>;
+ usb-mux-chain-0 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&ps8743_mux_1 &virtual_mux_1>;
+ };
};
port1-muxes {
diff --git a/zephyr/projects/corsola/usbc_krabby.dts b/zephyr/projects/corsola/usbc_krabby.dts
index 8c1a51c5d3..8437e8e236 100644
--- a/zephyr/projects/corsola/usbc_krabby.dts
+++ b/zephyr/projects/corsola/usbc_krabby.dts
@@ -15,7 +15,10 @@
ppc = <&bc12_ppc_port0>;
tcpc = <&usbpd0>;
chg = <&charger>;
- usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
+ usb-mux-chain-0 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
+ };
};
port0-muxes {
virtual_mux_0: virtual-mux-0 {
@@ -29,7 +32,10 @@
bc12 = <&bc12_port1>;
ppc = <&ppc_port1>;
tcpc = <&usbpd1>;
- usb-muxes = <&tusb1064_mux_1 &virtual_mux_1>;
+ usb-mux-chain-1 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&tusb1064_mux_1 &virtual_mux_1>;
+ };
};
port1-muxes {
virtual_mux_1: virtual-mux-1 {
diff --git a/zephyr/projects/corsola/usbc_magikarp.dts b/zephyr/projects/corsola/usbc_magikarp.dts
index f0118b57d2..d3069beca0 100644
--- a/zephyr/projects/corsola/usbc_magikarp.dts
+++ b/zephyr/projects/corsola/usbc_magikarp.dts
@@ -15,7 +15,10 @@
ppc = <&bc12_ppc_port0>;
tcpc = <&usbpd0>;
chg = <&charger>;
- usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
+ usb-mux-chain-0 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
+ };
};
port0-muxes {
virtual_mux_0: virtual-mux-0 {
@@ -29,7 +32,10 @@
bc12 = <&bc12_port1>;
ppc = <&ppc_port1>;
tcpc = <&usbpd1>;
- usb-muxes = <&ps8743_mux_1 &virtual_mux_1>;
+ usb-mux-chain-1 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&ps8743_mux_1 &virtual_mux_1>;
+ };
};
port1-muxes {
virtual_mux_1: virtual-mux-1 {
diff --git a/zephyr/projects/corsola/usbc_tentacruel.dts b/zephyr/projects/corsola/usbc_tentacruel.dts
index f0118b57d2..d3069beca0 100644
--- a/zephyr/projects/corsola/usbc_tentacruel.dts
+++ b/zephyr/projects/corsola/usbc_tentacruel.dts
@@ -15,7 +15,10 @@
ppc = <&bc12_ppc_port0>;
tcpc = <&usbpd0>;
chg = <&charger>;
- usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
+ usb-mux-chain-0 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
+ };
};
port0-muxes {
virtual_mux_0: virtual-mux-0 {
@@ -29,7 +32,10 @@
bc12 = <&bc12_port1>;
ppc = <&ppc_port1>;
tcpc = <&usbpd1>;
- usb-muxes = <&ps8743_mux_1 &virtual_mux_1>;
+ usb-mux-chain-1 {
+ compatible = "cros-ec,usb-mux-chain";
+ usb-muxes = <&ps8743_mux_1 &virtual_mux_1>;
+ };
};
port1-muxes {
virtual_mux_1: virtual-mux-1 {