From 73e29110a94348e377bfeb720f8043130afe9120 Mon Sep 17 00:00:00 2001 From: Adam Sasine Date: Wed, 18 Feb 2026 13:22:31 -0800 Subject: [PATCH 1/3] Add bit 15 to DpConfig register --- device.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/device.yaml b/device.yaml index 44ea408..8fe92cb 100644 --- a/device.yaml +++ b/device.yaml @@ -1155,6 +1155,15 @@ DpConfig: Usb: 0x0 Dp: 0x1 Reserved: catch_all + UsbDataPath: + base: uint + start: 15 + end: 16 + description: USB data path support. + conversion: + name: UsbDataPath + MayBeRequired: 0x0 + NotRequired: 0x1 DfpdPinAssignment: base: uint start: 16 From 093e7523adb0feba5e1a7d47727ff94ad5183cb3 Mon Sep 17 00:00:00 2001 From: Adam Sasine Date: Mon, 23 Feb 2026 08:51:04 -0800 Subject: [PATCH 2/3] Add bit 54 to TbtConfig register (0x54) --- device.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/device.yaml b/device.yaml index 8fe92cb..e0026a9 100644 --- a/device.yaml +++ b/device.yaml @@ -1161,7 +1161,7 @@ DpConfig: end: 16 description: USB data path support. conversion: - name: UsbDataPath + name: DpUsbDataPath MayBeRequired: 0x0 NotRequired: 0x1 DfpdPinAssignment: @@ -1333,6 +1333,15 @@ TbtConfig: base: bool start: 49 description: Assert this bit to enable TBT auto-entry. + UsbDataPath: + base: uint + start: 54 + end: 55 + description: USB data path support. + conversion: + name: TbtUsbDataPath + MayBeRequired: 0x0 + NotRequired: 0x1 SourceVCONNDelay: base: uint start: 56 From 221fc2ee4c7db9a4f4ffad9b3c13160bd72cab12 Mon Sep 17 00:00:00 2001 From: Adam Sasine Date: Mon, 23 Feb 2026 08:53:45 -0800 Subject: [PATCH 3/3] Add modify_tbt_config method --- src/asynchronous/internal/mod.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/asynchronous/internal/mod.rs b/src/asynchronous/internal/mod.rs index 06c2882..7cecf2b 100644 --- a/src/asynchronous/internal/mod.rs +++ b/src/asynchronous/internal/mod.rs @@ -515,6 +515,17 @@ impl Tps6699x { .await } + /// Modify Tbt config settings + pub async fn modify_tbt_config( + &mut self, + port: LocalPortId, + f: impl FnOnce(&mut registers::field_sets::TbtConfig) -> registers::field_sets::TbtConfig, + ) -> Result> { + let port = self.borrow_port(port)?; + let mut registers = port.into_registers(); + registers.tbt_config().modify_async(|r| f(r)).await + } + /// Set unconstrained power on a port pub async fn set_unconstrained_power(&mut self, port: LocalPortId, enable: bool) -> Result<(), Error> { let mut control = self.get_port_control(port).await?;