As per the data sheet of HD3SS3220:
"Upon detecting a UFP device, HD3SS3220 will keep ID pin high if VBUS is
not at VSafe0V. Once VBUS is at VSafe0V, the HD3SS3220 will assert ID pin
low. This is done to enforce Type-C requirement that VBUS must be at
VSafe0V before re-enabling VBUS"
This series implements support to read ID pin state and accordingly enable
VBUS.
---
Changes in v7:
- Removed check for id pin validity in ID isr routine.
- Made changes to request ID Pin only if vbus is present.
- Checking for return value of regulator disable as well.
- Reordered variables in beginning of probe to be in reverse xmas order
Link to v6:
https://lore.kernel.org/all/20251102164819.2798754-1-krishna.kurapati@oss.qualcomm.com/
Changes in v6:
- Modified logic to get vbus from connector as per comments received on v5.
Link to v5:
https://lore.kernel.org/all/20251027072741.1050177-1-krishna.kurapati@oss.qualcomm.com/
Changes in v5:
- Modified error handling in driver as per comments received on v4.
Link to v4:
https://lore.kernel.org/all/20251025122854.1163275-1-krishna.kurapati@oss.qualcomm.com/
Changes in v4:
- Modified logic to check for vbus supply. Directly checking first remote
endpoint.
- Used of_regulator_get_optional instead of of_regulator_get
Link to v3:
https://lore.kernel.org/all/20251024181832.2744502-1-krishna.kurapati@oss.qualcomm.com/
Changes in v3:
- Removed vbus supply from hd3ss3220 bindings.
- Implemented getting vbus from connector node.
Link to v2:
https://lore.kernel.org/all/20251008175750.1770454-1-krishna.kurapati@oss.qualcomm.com/
Changes in v2:
- Fixed inclusion of header files appropriately.
- Modified commit text for driver patch.
Link to v1:
https://lore.kernel.org/all/20251002172539.586538-1-krishna.kurapati@oss.qualcomm.com/
Krishna Kurapati (2):
dt-bindings: usb: ti,hd3ss3220: Add support for VBUS based on ID state
usb: typec: hd3ss3220: Enable VBUS based on ID pin state
.../devicetree/bindings/usb/ti,hd3ss3220.yaml | 8 ++
drivers/usb/typec/hd3ss3220.c | 75 ++++++++++++++++++-
2 files changed, 81 insertions(+), 2 deletions(-)
--
2.34.1