summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zephyr/dts/bindings/usbc/mux/analogix,anx7483.yaml18
-rw-r--r--zephyr/dts/bindings/usbc/mux/cros-ec,usbc-mux-tcpci.yaml55
-rw-r--r--zephyr/dts/bindings/usbc/mux/intel,jhl8040r.yaml12
-rw-r--r--zephyr/dts/bindings/usbc/mux/ite,it5205.yaml16
-rw-r--r--zephyr/dts/bindings/usbc/mux/parade,ps8743.yaml18
-rw-r--r--zephyr/dts/bindings/usbc/mux/ti,tusb1064.yaml30
-rw-r--r--zephyr/projects/brya/i2c.dts14
-rw-r--r--zephyr/projects/brya/usbc.dts14
-rw-r--r--zephyr/projects/corsola/i2c_kingler.dts6
-rw-r--r--zephyr/projects/corsola/i2c_krabby.dts5
-rw-r--r--zephyr/projects/corsola/usbc_kingler.dts6
-rw-r--r--zephyr/projects/corsola/usbc_krabby.dts17
-rw-r--r--zephyr/projects/corsola/usbc_tentacruel.dts17
-rw-r--r--zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts28
-rw-r--r--zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/usbc.dts28
-rw-r--r--zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts28
-rw-r--r--zephyr/projects/intelrvp/mtlrvp/usbc.dts28
-rw-r--r--zephyr/projects/nissa/craask/overlay.dts10
-rw-r--r--zephyr/projects/nissa/nivviks/overlay.dts10
-rw-r--r--zephyr/projects/nissa/xivu/overlay.dts10
-rw-r--r--zephyr/projects/rex/rex.dts8
-rw-r--r--zephyr/projects/rex/usbc.dts8
-rw-r--r--zephyr/shim/include/usbc/anx7483_usb_mux.h15
-rw-r--r--zephyr/shim/include/usbc/bb_retimer_usb_mux.h14
-rw-r--r--zephyr/shim/include/usbc/it5205_usb_mux.h13
-rw-r--r--zephyr/shim/include/usbc/ps8743_usb_mux.h13
-rw-r--r--zephyr/shim/include/usbc/tcpci_usb_mux.h8
-rw-r--r--zephyr/shim/include/usbc/tusb1064_usb_mux.h41
28 files changed, 174 insertions, 316 deletions
diff --git a/zephyr/dts/bindings/usbc/mux/analogix,anx7483.yaml b/zephyr/dts/bindings/usbc/mux/analogix,anx7483.yaml
index 9e4716d5d1..c1e6317d19 100644
--- a/zephyr/dts/bindings/usbc/mux/analogix,anx7483.yaml
+++ b/zephyr/dts/bindings/usbc/mux/analogix,anx7483.yaml
@@ -5,22 +5,6 @@
description: |
Analogix re-timing MUX
-include: cros-ec,usbc-mux.yaml
+include: ["i2c-device.yaml", "cros-ec,usbc-mux.yaml"]
compatible: "analogix,anx7483"
-
-properties:
- port:
- type: phandle
- required: true
- description: phandle to the named i2c port
-
- i2c-addr-flags:
- type: string
- required: true
- description: I2C address of chip
- enum:
- - ANX7483_I2C_ADDR0_FLAGS
- - ANX7483_I2C_ADDR1_FLAGS
- - ANX7483_I2C_ADDR2_FLAGS
- - ANX7483_I2C_ADDR3_FLAGS
diff --git a/zephyr/dts/bindings/usbc/mux/cros-ec,usbc-mux-tcpci.yaml b/zephyr/dts/bindings/usbc/mux/cros-ec,usbc-mux-tcpci.yaml
index f7dda3042c..8656fee567 100644
--- a/zephyr/dts/bindings/usbc/mux/cros-ec,usbc-mux-tcpci.yaml
+++ b/zephyr/dts/bindings/usbc/mux/cros-ec,usbc-mux-tcpci.yaml
@@ -4,7 +4,9 @@
description: USBC TCPC USB MUX
-include: cros-ec,usbc-mux.yaml
+# Include base.yaml instead of i2c-device.yaml because the reg property is not
+# required for this node.
+include: ["base.yaml", "cros-ec,usbc-mux.yaml"]
compatible: "cros-ec,usbc-mux-tcpci"
@@ -14,54 +16,3 @@ properties:
required: false
description: |
Name of function used as hpd_update callback
-
- port:
- type: phandle
- required: false
- description: |
- If the TCPC in your design is used to manage both the power-delivery
- interface and configure the mux for the USB superspeed signals, this
- property, and the i2c-addr-flags should be omitted. The driver uses
- the I2C configuration specified in the corresponding TCPC node.
-
- Example below
-
- port0@0 {
- compatible = "named-usbc-port";
- reg = <0>;
- tcpc {
- compatible = "parade,ps8xxx";
- status = "okay";
- port = <&i2c_tcpc0>;
- i2c-addr-flags = "PS8XXX_I2C_ADDR1_FLAGS";
- };
- usb-muxes = <&usb_mux_0>;
- };
- usb_mux_0 usb-mux-0 {
- compatible = "parade,usbc-mux-ps8xxx";
- /* I2C configuration provide by TCPC node */
- };
-
- If the TCPC in your design only configures the USB superspeed signals,
- for instance when the EC chip contains an embedded TCPC controller,
- then port and i2c-addr-flags are required.
-
- port0@0 {
- compatible = "named-usbc-port";
- reg = <0>;
- tcpc {
- compatible = "ite,it8xxx2-tcpc";
- };
- };
- usb_mux_0 usb-mux-0 {
- compatible = "parade,usbc-mux-ps8xxx";
- port = <i2c_usbc0>;
- i2c-addr-flags = "PS8XXX_I2C_ADDR1_FLAGS";
- };
-
- i2c-addr-flags:
- type: int
- required: false
- description: |
- I2C address of chip. If provided, port property has to be present too.
- Please check description of port property for more information.
diff --git a/zephyr/dts/bindings/usbc/mux/intel,jhl8040r.yaml b/zephyr/dts/bindings/usbc/mux/intel,jhl8040r.yaml
index 5098080c25..ebfeeea6c9 100644
--- a/zephyr/dts/bindings/usbc/mux/intel,jhl8040r.yaml
+++ b/zephyr/dts/bindings/usbc/mux/intel,jhl8040r.yaml
@@ -6,7 +6,7 @@ description: Intel JHL8040R Thunderbolt 4 Retimer
compatible: "intel,jhl8040r"
-include: cros-ec,usbc-mux.yaml
+include: ["i2c-device.yaml", "cros-ec,usbc-mux.yaml"]
properties:
reset-pin:
@@ -20,13 +20,3 @@ properties:
ls-en-pin:
type: phandle
required: false
-
- port:
- type: phandle
- required: true
- description: phandle to the named i2c port
-
- i2c-addr-flags:
- type: int
- required: true
- description: I2C address of chip
diff --git a/zephyr/dts/bindings/usbc/mux/ite,it5205.yaml b/zephyr/dts/bindings/usbc/mux/ite,it5205.yaml
index 4d4c360d47..4176eb3801 100644
--- a/zephyr/dts/bindings/usbc/mux/ite,it5205.yaml
+++ b/zephyr/dts/bindings/usbc/mux/ite,it5205.yaml
@@ -4,20 +4,6 @@
description: ITE IT5205 USB Type-C 3:2 alternate mode MUX
-include: cros-ec,usbc-mux.yaml
+include: ["i2c-device.yaml", "cros-ec,usbc-mux.yaml"]
compatible: "ite,it5205"
-
-properties:
- port:
- type: phandle
- required: true
- description: phandle to the named i2c port
-
- i2c-addr-flags:
- type: string
- required: true
- description: I2C address of chip
- enum:
- - IT5205_I2C_ADDR1_FLAGS
- - IT5205_I2C_ADDR2_FLAGS
diff --git a/zephyr/dts/bindings/usbc/mux/parade,ps8743.yaml b/zephyr/dts/bindings/usbc/mux/parade,ps8743.yaml
index 003f3ce13c..5f5c0d278b 100644
--- a/zephyr/dts/bindings/usbc/mux/parade,ps8743.yaml
+++ b/zephyr/dts/bindings/usbc/mux/parade,ps8743.yaml
@@ -4,22 +4,6 @@
description: Parade PS8743 USB Type-C alternate mode MUX
-include: cros-ec,usbc-mux.yaml
+include: ["i2c-device.yaml", "cros-ec,usbc-mux.yaml"]
compatible: "parade,ps8743"
-
-properties:
- port:
- type: phandle
- required: true
- description: phandle to the named i2c port
-
- i2c-addr-flags:
- type: string
- required: true
- description: I2C address of chip
- enum:
- - PS8743_I2C_ADDR0_FLAG
- - PS8743_I2C_ADDR1_FLAG
- - PS8743_I2C_ADDR2_FLAG
- - PS8743_I2C_ADDR3_FLAG
diff --git a/zephyr/dts/bindings/usbc/mux/ti,tusb1064.yaml b/zephyr/dts/bindings/usbc/mux/ti,tusb1064.yaml
index 6c625459c1..7ee9a2c0cd 100644
--- a/zephyr/dts/bindings/usbc/mux/ti,tusb1064.yaml
+++ b/zephyr/dts/bindings/usbc/mux/ti,tusb1064.yaml
@@ -6,34 +6,6 @@ description: |
TI TUSB546, TUSB1044, or TUSB1064 USB-C MUX, device variant depends on
CONFIG_PLATFORM_EC_USB_MUX_TUSB_TYPE Kconfig choice
-include: cros-ec,usbc-mux.yaml
+include: ["i2c-device.yaml", "cros-ec,usbc-mux.yaml"]
compatible: "ti,tusb1064"
-
-properties:
- port:
- type: phandle
- required: true
- description: phandle to the named i2c port
-
- i2c-addr-flags:
- type: string
- required: true
- description: I2C address of chip
- enum:
- - TUSB1064_I2C_ADDR0_FLAGS
- - TUSB1064_I2C_ADDR1_FLAGS
- - TUSB1064_I2C_ADDR2_FLAGS
- - TUSB1064_I2C_ADDR3_FLAGS
- - TUSB1064_I2C_ADDR4_FLAGS
- - TUSB1064_I2C_ADDR5_FLAGS
- - TUSB1064_I2C_ADDR6_FLAGS
- - TUSB1064_I2C_ADDR7_FLAGS
- - TUSB1064_I2C_ADDR8_FLAGS
- - TUSB1064_I2C_ADDR9_FLAGS
- - TUSB1064_I2C_ADDR10_FLAGS
- - TUSB1064_I2C_ADDR11_FLAGS
- - TUSB1064_I2C_ADDR12_FLAGS
- - TUSB1064_I2C_ADDR13_FLAGS
- - TUSB1064_I2C_ADDR14_FLAGS
- - TUSB1064_I2C_ADDR15_FLAGS
diff --git a/zephyr/projects/brya/i2c.dts b/zephyr/projects/brya/i2c.dts
index 92624d64bc..887d63099c 100644
--- a/zephyr/projects/brya/i2c.dts
+++ b/zephyr/projects/brya/i2c.dts
@@ -162,6 +162,20 @@
clock-frequency = <I2C_BITRATE_FAST_PLUS>;
pinctrl-0 = <&i2c3_0_sda_scl_gpd0_d1>;
pinctrl-names = "default";
+
+ usb_c0_bb_retimer: jhl8040r-c0@56 {
+ compatible = "intel,jhl8040r";
+ reg = <0x56>;
+ int-pin = <&usb_c0_rt_int_odl>;
+ reset-pin = <&usb_c0_rt_rst_odl>;
+ };
+
+ usb_c2_bb_retimer: jhl8040r-c2@57 {
+ compatible = "intel,jhl8040r";
+ reg = <0x57>;
+ int-pin = <&usb_c2_rt_int_odl>;
+ reset-pin = <&usb_c2_rt_rst_odl>;
+ };
};
&i2c_ctrl3 {
diff --git a/zephyr/projects/brya/usbc.dts b/zephyr/projects/brya/usbc.dts
index 4864743d6e..c4721d5ef7 100644
--- a/zephyr/projects/brya/usbc.dts
+++ b/zephyr/projects/brya/usbc.dts
@@ -17,13 +17,6 @@
usb-muxes = <&usb_c0_bb_retimer &virtual_mux_c0>;
};
port0-muxes {
- usb_c0_bb_retimer: jhl8040r-c0 {
- compatible = "intel,jhl8040r";
- port = <&retimer0_2>;
- i2c-addr-flags = <0x56>;
- int-pin = <&usb_c0_rt_int_odl>;
- reset-pin = <&usb_c0_rt_rst_odl>;
- };
virtual_mux_c0: virtual-mux-c0 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -54,13 +47,6 @@
usb-muxes = <&usb_c2_bb_retimer &virtual_mux_c2>;
};
port2-muxes {
- usb_c2_bb_retimer: jhl8040r-c2 {
- compatible = "intel,jhl8040r";
- port = <&retimer0_2>;
- i2c-addr-flags = <0x57>;
- int-pin = <&usb_c2_rt_int_odl>;
- reset-pin = <&usb_c2_rt_rst_odl>;
- };
virtual_mux_c2: virtual-mux-c2 {
compatible = "cros-ec,usbc-mux-virtual";
};
diff --git a/zephyr/projects/corsola/i2c_kingler.dts b/zephyr/projects/corsola/i2c_kingler.dts
index 2c8a5fb9d9..23d8028646 100644
--- a/zephyr/projects/corsola/i2c_kingler.dts
+++ b/zephyr/projects/corsola/i2c_kingler.dts
@@ -117,6 +117,12 @@
status = "okay";
reg = <0x72>;
};
+
+ ps8743_mux_1: ps8743-mux-1@10 {
+ compatible = "parade,ps8743";
+ reg = <0x10>;
+ board-init = "ps8743_mux_1_board_init";
+ };
};
&i2c_ctrl2 {
diff --git a/zephyr/projects/corsola/i2c_krabby.dts b/zephyr/projects/corsola/i2c_krabby.dts
index 25bb3051ee..dc24f81d77 100644
--- a/zephyr/projects/corsola/i2c_krabby.dts
+++ b/zephyr/projects/corsola/i2c_krabby.dts
@@ -85,6 +85,11 @@ i2c_pwr_cbi: &i2c0 {
status = "okay";
reg = <0x70>;
};
+
+ it5205_mux_0: it5205-mux-0@48 {
+ compatible = "ite,it5205";
+ reg = <0x48>;
+ };
};
&i2c3 {
diff --git a/zephyr/projects/corsola/usbc_kingler.dts b/zephyr/projects/corsola/usbc_kingler.dts
index d268600954..9701a8b068 100644
--- a/zephyr/projects/corsola/usbc_kingler.dts
+++ b/zephyr/projects/corsola/usbc_kingler.dts
@@ -37,12 +37,6 @@
};
port1-muxes {
- ps8743_mux_1: ps8743-mux-1 {
- compatible = "parade,ps8743";
- port = <&i2c_usb_c1>;
- i2c-addr-flags = "PS8743_I2C_ADDR0_FLAG";
- board-init = "ps8743_mux_1_board_init";
- };
virtual_mux_1: virtual-mux-1 {
compatible = "cros-ec,usbc-mux-virtual";
};
diff --git a/zephyr/projects/corsola/usbc_krabby.dts b/zephyr/projects/corsola/usbc_krabby.dts
index a4c26085f0..e5d94329a7 100644
--- a/zephyr/projects/corsola/usbc_krabby.dts
+++ b/zephyr/projects/corsola/usbc_krabby.dts
@@ -18,11 +18,6 @@
usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
};
port0-muxes {
- it5205_mux_0: it5205-mux-0 {
- compatible = "ite,it5205";
- port = <&i2c_usb_c0>;
- i2c-addr-flags = "IT5205_I2C_ADDR1_FLAGS";
- };
virtual_mux_0: virtual-mux-0 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -37,11 +32,6 @@
usb-muxes = <&tusb1064_mux_1 &virtual_mux_1>;
};
port1-muxes {
- tusb1064_mux_1: tusb1064-mux-1 {
- compatible = "ti,tusb1064";
- port = <&i2c_usb_c1>;
- i2c-addr-flags = "TUSB1064_I2C_ADDR0_FLAGS";
- };
virtual_mux_1: virtual-mux-1 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -49,6 +39,13 @@
};
};
+&i2c4 {
+ tusb1064_mux_1: tusb1064-mux-1@44 {
+ compatible = "ti,tusb1064";
+ reg = <0x44>;
+ };
+};
+
&usbpd0 {
status = "okay";
};
diff --git a/zephyr/projects/corsola/usbc_tentacruel.dts b/zephyr/projects/corsola/usbc_tentacruel.dts
index f783f30932..7500d9a050 100644
--- a/zephyr/projects/corsola/usbc_tentacruel.dts
+++ b/zephyr/projects/corsola/usbc_tentacruel.dts
@@ -18,11 +18,6 @@
usb-muxes = <&it5205_mux_0 &virtual_mux_0>;
};
port0-muxes {
- it5205_mux_0: it5205-mux-0 {
- compatible = "ite,it5205";
- port = <&i2c_usb_c0>;
- i2c-addr-flags = "IT5205_I2C_ADDR1_FLAGS";
- };
virtual_mux_0: virtual-mux-0 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -37,11 +32,6 @@
usb-muxes = <&ps8743_mux_1 &virtual_mux_1>;
};
port1-muxes {
- ps8743_mux_1: ps8743-mux-1 {
- compatible = "parade,ps8743";
- port = <&i2c_usb_c1>;
- i2c-addr-flags = "PS8743_I2C_ADDR0_FLAG";
- };
virtual_mux_1: virtual-mux-1 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -49,6 +39,13 @@
};
};
+&i2c4 {
+ ps8743_mux_1: ps8743-mux-1@10 {
+ compatible = "parade,ps8743";
+ reg = <0x10>;
+ };
+};
+
&usbpd0 {
status = "okay";
};
diff --git a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts b/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts
index 7af9a4a259..7cd858fb4c 100644
--- a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts
+++ b/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/adlrvp_npcx.dts
@@ -140,6 +140,13 @@
compatible = "fairchild,fusb302";
reg = <0x22>;
};
+
+ usb_c0_bb_retimer: jhl8040r-c0@56 {
+ compatible = "intel,jhl8040r";
+ reg = <0x56>;
+ reset-pin = <&usb_c0_bb_retimer_rst>;
+ ls-en-pin = <&usb_c0_bb_retimer_ls_en>;
+ };
};
&i2c_ctrl0 {
@@ -157,6 +164,13 @@
compatible = "fairchild,fusb302";
reg = <0x22>;
};
+
+ usb_c1_bb_retimer: jhl8040r-c1@57 {
+ compatible = "intel,jhl8040r";
+ reg = <0x57>;
+ reset-pin = <&usb_c1_bb_retimer_rst>;
+ ls-en-pin = <&usb_c1_bb_retimer_ls_en>;
+ };
};
&i2c_ctrl2 {
@@ -174,6 +188,13 @@
compatible = "fairchild,fusb302";
reg = <0x22>;
};
+
+ usb_c2_bb_retimer: jhl8040r-c2@58 {
+ compatible = "intel,jhl8040r";
+ reg = <0x58>;
+ reset-pin = <&usb_c2_bb_retimer_rst>;
+ ls-en-pin = <&usb_c2_bb_retimer_ls_en>;
+ };
};
&i2c_ctrl1 {
@@ -191,6 +212,13 @@
compatible = "fairchild,fusb302";
reg = <0x22>;
};
+
+ usb_c3_bb_retimer: jhl8040r-c3@59 {
+ compatible = "intel,jhl8040r";
+ reg = <0x59>;
+ reset-pin = <&usb_c3_bb_retimer_rst>;
+ ls-en-pin = <&usb_c3_bb_retimer_ls_en>;
+ };
};
&i2c_ctrl3 {
diff --git a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/usbc.dts b/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/usbc.dts
index 17cf3e4dc5..a694ecbb44 100644
--- a/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/usbc.dts
+++ b/zephyr/projects/intelrvp/adlrvp/adlrvp_npcx/usbc.dts
@@ -15,13 +15,6 @@
usb-muxes = <&usb_c0_bb_retimer &virtual_mux_c0>;
};
port0-muxes {
- usb_c0_bb_retimer: jhl8040r-c0 {
- compatible = "intel,jhl8040r";
- port = <&typec_0>;
- i2c-addr-flags = <0x56>;
- reset-pin = <&usb_c0_bb_retimer_rst>;
- ls-en-pin = <&usb_c0_bb_retimer_ls_en>;
- };
virtual_mux_c0: virtual-mux-c0 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -34,13 +27,6 @@
usb-muxes = <&usb_c1_bb_retimer &virtual_mux_c1>;
};
port1-muxes {
- usb_c1_bb_retimer: jhl8040r-c1 {
- compatible = "intel,jhl8040r";
- port = <&typec_1>;
- i2c-addr-flags = <0x57>;
- reset-pin = <&usb_c1_bb_retimer_rst>;
- ls-en-pin = <&usb_c1_bb_retimer_ls_en>;
- };
virtual_mux_c1: virtual-mux-c1 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -53,13 +39,6 @@
usb-muxes = <&usb_c2_bb_retimer &virtual_mux_c2>;
};
port2-muxes {
- usb_c2_bb_retimer: jhl8040r-c2 {
- compatible = "intel,jhl8040r";
- port = <&typec_2>;
- i2c-addr-flags = <0x58>;
- reset-pin = <&usb_c2_bb_retimer_rst>;
- ls-en-pin = <&usb_c2_bb_retimer_ls_en>;
- };
virtual_mux_c2: virtual-mux-c2 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -72,13 +51,6 @@
usb-muxes = <&usb_c3_bb_retimer &virtual_mux_c3>;
};
port3-muxes {
- usb_c3_bb_retimer: jhl8040r-c3 {
- compatible = "intel,jhl8040r";
- port = <&typec_3>;
- i2c-addr-flags = <0x59>;
- reset-pin = <&usb_c3_bb_retimer_rst>;
- ls-en-pin = <&usb_c3_bb_retimer_ls_en>;
- };
virtual_mux_c3: virtual-mux-c3 {
compatible = "cros-ec,usbc-mux-virtual";
};
diff --git a/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts b/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts
index 9a47e8952c..913a289187 100644
--- a/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts
+++ b/zephyr/projects/intelrvp/mtlrvp/mtlrvpp_npcx/mtlrvp_npcx.dts
@@ -195,6 +195,20 @@
nct38xx-dev = <&nct38xx_c0 &nct38xx_c1>;
label = "NCT38XX_ALERT_1";
};
+
+ usb_c0_hb_retimer: jhl8040r-c0@56 {
+ compatible = "intel,jhl8040r";
+ reg = <0x56>;
+ reset-pin = <&usb_c0_hb_retimer_rst>;
+ ls-en-pin = <&usb_c0_hb_retimer_ls_en>;
+ };
+
+ usb_c1_hb_retimer: jhl8040r-c1@57 {
+ compatible = "intel,jhl8040r";
+ reg = <0x57>;
+ reset-pin = <&usb_c1_hb_retimer_rst>;
+ ls-en-pin = <&usb_c1_hb_retimer_ls_en>;
+ };
};
&i2c_ctrl0 {
@@ -217,6 +231,20 @@
compatible = "cypress,ccgxxf";
reg = <0x1b>;
};
+
+ usb_c2_hb_retimer: jhl8040r-c2@58 {
+ compatible = "intel,jhl8040r";
+ reg = <0x58>;
+ reset-pin = <&usb_c2_hb_retimer_rst>;
+ ls-en-pin = <&usb_c2_hb_retimer_ls_en>;
+ };
+
+ usb_c3_hb_retimer: jhl8040r-c3@59 {
+ compatible = "intel,jhl8040r";
+ reg = <0x59>;
+ reset-pin = <&usb_c3_hb_retimer_rst>;
+ ls-en-pin = <&usb_c3_hb_retimer_ls_en>;
+ };
};
&i2c_ctrl1 {
diff --git a/zephyr/projects/intelrvp/mtlrvp/usbc.dts b/zephyr/projects/intelrvp/mtlrvp/usbc.dts
index 32ef4f7535..4a250cb818 100644
--- a/zephyr/projects/intelrvp/mtlrvp/usbc.dts
+++ b/zephyr/projects/intelrvp/mtlrvp/usbc.dts
@@ -16,13 +16,6 @@
usb-muxes = <&usb_c0_hb_retimer &virtual_mux_c0>;
};
port0-muxes {
- usb_c0_hb_retimer: jhl8040r-c0 {
- compatible = "intel,jhl8040r";
- port = <&typec_aic1>;
- i2c-addr-flags = <0x56>;
- reset-pin = <&usb_c0_hb_retimer_rst>;
- ls-en-pin = <&usb_c0_hb_retimer_ls_en>;
- };
virtual_mux_c0: virtual-mux-c0 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -35,13 +28,6 @@
usb-muxes = <&usb_c1_hb_retimer &virtual_mux_c1>;
};
port1-muxes {
- usb_c1_hb_retimer: jhl8040r-c1 {
- compatible = "intel,jhl8040r";
- port = <&typec_aic1>;
- i2c-addr-flags = <0x57>;
- reset-pin = <&usb_c1_hb_retimer_rst>;
- ls-en-pin = <&usb_c1_hb_retimer_ls_en>;
- };
virtual_mux_c1: virtual-mux-c1 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -54,13 +40,6 @@
usb-muxes = <&usb_c2_hb_retimer &virtual_mux_c2>;
};
port2-muxes {
- usb_c2_hb_retimer: jhl8040r-c2 {
- compatible = "intel,jhl8040r";
- port = <&typec_aic2>;
- i2c-addr-flags = <0x58>;
- reset-pin = <&usb_c2_hb_retimer_rst>;
- ls-en-pin = <&usb_c2_hb_retimer_ls_en>;
- };
virtual_mux_c2: virtual-mux-c2 {
compatible = "cros-ec,usbc-mux-virtual";
};
@@ -73,13 +52,6 @@
usb-muxes = <&usb_c3_hb_retimer &virtual_mux_c3>;
};
port3-muxes {
- usb_c3_hb_retimer: jhl8040r-c3 {
- compatible = "intel,jhl8040r";
- port = <&typec_aic2>;
- i2c-addr-flags = <0x59>;
- reset-pin = <&usb_c3_hb_retimer_rst>;
- ls-en-pin = <&usb_c3_hb_retimer_ls_en>;
- };
virtual_mux_c3: virtual-mux-c3 {
compatible = "cros-ec,usbc-mux-virtual";
};
diff --git a/zephyr/projects/nissa/craask/overlay.dts b/zephyr/projects/nissa/craask/overlay.dts
index de53e07d46..da13800082 100644
--- a/zephyr/projects/nissa/craask/overlay.dts
+++ b/zephyr/projects/nissa/craask/overlay.dts
@@ -238,11 +238,6 @@
virtual_mux_1: virtual-mux-1 {
compatible = "cros-ec,usbc-mux-virtual";
};
- anx7483_mux_1: anx7483-mux-1 {
- compatible = "analogix,anx7483";
- port = <&i2c_ec_i2c_sub_usb_c1>;
- i2c-addr-flags = "ANX7483_I2C_ADDR0_FLAGS";
- };
};
};
@@ -325,6 +320,11 @@
status = "okay";
reg = <0x9>;
};
+
+ anx7483_mux_1: anx7483-mux-1@3e {
+ compatible = "analogix,anx7483";
+ reg = <0x3e>;
+ };
};
&i2c7_0 {
diff --git a/zephyr/projects/nissa/nivviks/overlay.dts b/zephyr/projects/nissa/nivviks/overlay.dts
index 89e1aca6d8..3bae19e274 100644
--- a/zephyr/projects/nissa/nivviks/overlay.dts
+++ b/zephyr/projects/nissa/nivviks/overlay.dts
@@ -239,11 +239,6 @@
virtual_mux_1: virtual-mux-1 {
compatible = "cros-ec,usbc-mux-virtual";
};
- anx7483_mux_1: anx7483-mux-1 {
- compatible = "analogix,anx7483";
- port = <&i2c_ec_i2c_sub_usb_c1>;
- i2c-addr-flags = "ANX7483_I2C_ADDR0_FLAGS";
- };
};
};
@@ -359,6 +354,11 @@
status = "okay";
reg = <0x9>;
};
+
+ anx7483_mux_1: anx7483-mux-1@3e {
+ compatible = "analogix,anx7483";
+ reg = <0x3e>;
+ };
};
&i2c7_0 {
diff --git a/zephyr/projects/nissa/xivu/overlay.dts b/zephyr/projects/nissa/xivu/overlay.dts
index 718ced4373..cc8d6350e4 100644
--- a/zephyr/projects/nissa/xivu/overlay.dts
+++ b/zephyr/projects/nissa/xivu/overlay.dts
@@ -229,11 +229,6 @@
virtual_mux_1: virtual-mux-1 {
compatible = "cros-ec,usbc-mux-virtual";
};
- anx7483_mux_1: anx7483-mux-1 {
- compatible = "analogix,anx7483";
- port = <&i2c_ec_i2c_sub_usb_c1>;
- i2c-addr-flags = "ANX7483_I2C_ADDR0_FLAGS";
- };
};
};
@@ -322,6 +317,11 @@
status = "okay";
reg = <0x9>;
};
+
+ anx7483_mux_1: anx7483-mux-1@3e {
+ compatible = "analogix,anx7483";
+ reg = <0x3e>;
+ };
};
&i2c7_0 {
diff --git a/zephyr/projects/rex/rex.dts b/zephyr/projects/rex/rex.dts
index 2e1cfd7c0d..197aee5725 100644
--- a/zephyr/projects/rex/rex.dts
+++ b/zephyr/projects/rex/rex.dts
@@ -154,6 +154,14 @@
pinctrl-0 = <&i2c3_0_sda_scl_gpd0_d1>;
pinctrl-names = "default";
+
+ usb_c0_hb_retimer: jhl8040r-c0@56 {
+ compatible = "intel,jhl8040r";
+ reg = <0x56>;
+ ls-en-pin = <&gpio_usb_c0_rt_3p3_sx_en>;
+ int-pin = <&gpio_usb_c0_rt_int_odl>;
+ reset-pin = <&ioex_usb_c0_rt_rst_ls_l>;
+ };
};
&i2c4_1 {
diff --git a/zephyr/projects/rex/usbc.dts b/zephyr/projects/rex/usbc.dts
index d83d20748a..3c16d77935 100644
--- a/zephyr/projects/rex/usbc.dts
+++ b/zephyr/projects/rex/usbc.dts
@@ -18,14 +18,6 @@
usb-muxes = <&usb_c0_hb_retimer &virtual_mux_c0>;
};
port0-muxes {
- usb_c0_hb_retimer: jhl8040r-c0 {
- compatible = "intel,jhl8040r";
- port = <&i2c_ec_i2c_usb_c0_rt>;
- i2c-addr-flags = <0x56>;
- ls-en-pin = <&gpio_usb_c0_rt_3p3_sx_en>;
- int-pin = <&gpio_usb_c0_rt_int_odl>;
- reset-pin = <&ioex_usb_c0_rt_rst_ls_l>;
- };
virtual_mux_c0: virtual-mux-c0 {
compatible = "cros-ec,usbc-mux-virtual";
};
diff --git a/zephyr/shim/include/usbc/anx7483_usb_mux.h b/zephyr/shim/include/usbc/anx7483_usb_mux.h
index 80585ce9ab..28fef71115 100644
--- a/zephyr/shim/include/usbc/anx7483_usb_mux.h
+++ b/zephyr/shim/include/usbc/anx7483_usb_mux.h
@@ -10,14 +10,13 @@
#define ANX7483_USB_MUX_COMPAT analogix_anx7483
-#define USB_MUX_CONFIG_ANX7483(mux_id, port_id, idx) \
- { \
- USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
- .driver = &anx7483_usb_retimer_driver, \
- .board_set = &anx7483_set_default_tuning, \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = \
- DT_STRING_UPPER_TOKEN(mux_id, i2c_addr_flags), \
+#define USB_MUX_CONFIG_ANX7483(mux_id, port_id, idx) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
+ .driver = &anx7483_usb_retimer_driver, \
+ .board_set = &anx7483_set_default_tuning, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
}
#endif /* __ZEPHYR_SHIM_ANX7483_USB_MUX_H */
diff --git a/zephyr/shim/include/usbc/bb_retimer_usb_mux.h b/zephyr/shim/include/usbc/bb_retimer_usb_mux.h
index fb3f4ee68d..b5c9224f50 100644
--- a/zephyr/shim/include/usbc/bb_retimer_usb_mux.h
+++ b/zephyr/shim/include/usbc/bb_retimer_usb_mux.h
@@ -10,13 +10,13 @@
#define BB_RETIMER_USB_MUX_COMPAT intel_jhl8040r
-#define USB_MUX_CONFIG_BB_RETIMER(mux_id, port_id, idx) \
- { \
- USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
- .driver = &bb_usb_retimer, \
- .hpd_update = bb_retimer_hpd_update, \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = DT_PROP(mux_id, i2c_addr_flags), \
+#define USB_MUX_CONFIG_BB_RETIMER(mux_id, port_id, idx) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
+ .driver = &bb_usb_retimer, \
+ .hpd_update = bb_retimer_hpd_update, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
}
#define BB_RETIMER_CONTROLS_CONFIG(mux_id, port_id, idx) \
diff --git a/zephyr/shim/include/usbc/it5205_usb_mux.h b/zephyr/shim/include/usbc/it5205_usb_mux.h
index f3b4f7cf66..f2ce36d491 100644
--- a/zephyr/shim/include/usbc/it5205_usb_mux.h
+++ b/zephyr/shim/include/usbc/it5205_usb_mux.h
@@ -10,13 +10,12 @@
#define IT5205_USB_MUX_COMPAT ite_it5205
-#define USB_MUX_CONFIG_IT5205(mux_id, port_id, idx) \
- { \
- USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
- .driver = &it5205_usb_mux_driver, \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = \
- DT_STRING_UPPER_TOKEN(mux_id, i2c_addr_flags), \
+#define USB_MUX_CONFIG_IT5205(mux_id, port_id, idx) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
+ .driver = &it5205_usb_mux_driver, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
}
#endif /* __ZEPHYR_SHIM_IT5205_USB_MUX_H */
diff --git a/zephyr/shim/include/usbc/ps8743_usb_mux.h b/zephyr/shim/include/usbc/ps8743_usb_mux.h
index 9630abe447..0436bbcffd 100644
--- a/zephyr/shim/include/usbc/ps8743_usb_mux.h
+++ b/zephyr/shim/include/usbc/ps8743_usb_mux.h
@@ -10,13 +10,12 @@
#define PS8743_USB_MUX_COMPAT parade_ps8743
-#define USB_MUX_CONFIG_PS8743(mux_id, port_id, idx) \
- { \
- USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
- .driver = &ps8743_usb_mux_driver, \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = \
- DT_STRING_UPPER_TOKEN(mux_id, i2c_addr_flags), \
+#define USB_MUX_CONFIG_PS8743(mux_id, port_id, idx) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
+ .driver = &ps8743_usb_mux_driver, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
}
#endif /* __ZEPHYR_SHIM_PS8743_USB_MUX_H */
diff --git a/zephyr/shim/include/usbc/tcpci_usb_mux.h b/zephyr/shim/include/usbc/tcpci_usb_mux.h
index 74a2fe8ffc..d228d1a003 100644
--- a/zephyr/shim/include/usbc/tcpci_usb_mux.h
+++ b/zephyr/shim/include/usbc/tcpci_usb_mux.h
@@ -25,8 +25,8 @@
.driver = &tcpci_tcpm_usb_mux_driver, \
.hpd_update = \
USB_MUX_CALLBACK_OR_NULL(mux_id, hpd_update), \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = DT_PROP(mux_id, i2c_addr_flags), \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
}
/** Use I2C configuration from TCPC */
@@ -38,11 +38,9 @@
USB_MUX_CALLBACK_OR_NULL(mux_id, hpd_update), \
}
-/** This macro will fail if only port or i2c_addr_flags property is present */
#define USB_MUX_CONFIG_TCPCI_TCPM(mux_id, port_id, idx) \
COND_CODE_1( \
- UTIL_OR(DT_NODE_HAS_PROP(mux_id, port), \
- DT_NODE_HAS_PROP(mux_id, i2c_addr_flags)), \
+ DT_NODE_HAS_PROP(mux_id, reg), \
(USB_MUX_CONFIG_TCPCI_TCPM_WITH_I2C(mux_id, port_id, idx)), \
(USB_MUX_CONFIG_TCPCI_TCPM_WO_I2C(mux_id, port_id, idx)))
diff --git a/zephyr/shim/include/usbc/tusb1064_usb_mux.h b/zephyr/shim/include/usbc/tusb1064_usb_mux.h
index 17f0ff7d21..bb366d13c4 100644
--- a/zephyr/shim/include/usbc/tusb1064_usb_mux.h
+++ b/zephyr/shim/include/usbc/tusb1064_usb_mux.h
@@ -11,32 +11,29 @@
#define TUSB1064_USB_MUX_COMPAT ti_tusb1064
#if defined(CONFIG_USB_MUX_TUSB1044)
-#define USB_MUX_CONFIG_TUSB1064(mux_id, port_id, idx) \
- { \
- USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
- .driver = &tusb1064_usb_mux_driver, \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = \
- DT_STRING_UPPER_TOKEN(mux_id, i2c_addr_flags), \
- .hpd_update = &tusb1044_hpd_update, \
+#define USB_MUX_CONFIG_TUSB1064(mux_id, port_id, idx) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
+ .driver = &tusb1064_usb_mux_driver, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
+ .hpd_update = &tusb1044_hpd_update, \
}
#elif defined(CONFIG_USB_MUX_TUSB546)
-#define USB_MUX_CONFIG_TUSB1064(mux_id, port_id, idx) \
- { \
- USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
- .driver = &tusb1064_usb_mux_driver, \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = \
- DT_STRING_UPPER_TOKEN(mux_id, i2c_addr_flags), \
+#define USB_MUX_CONFIG_TUSB1064(mux_id, port_id, idx) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
+ .driver = &tusb1064_usb_mux_driver, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
}
#else
-#define USB_MUX_CONFIG_TUSB1064(mux_id, port_id, idx) \
- { \
- USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
- .driver = &tusb1064_usb_mux_driver, \
- .i2c_port = I2C_PORT(DT_PHANDLE(mux_id, port)), \
- .i2c_addr_flags = \
- DT_STRING_UPPER_TOKEN(mux_id, i2c_addr_flags), \
+#define USB_MUX_CONFIG_TUSB1064(mux_id, port_id, idx) \
+ { \
+ USB_MUX_COMMON_FIELDS(mux_id, port_id, idx), \
+ .driver = &tusb1064_usb_mux_driver, \
+ .i2c_port = I2C_PORT_BY_DEV(mux_id), \
+ .i2c_addr_flags = DT_REG_ADDR(mux_id), \
}
#endif /* defined(CONFIG_USB_MUX_TUSB1044) */