[PATCH v3 0/3] usb: typec: hd3ss3220: enhance driver with port type, power opmode, and role preference settings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The TI HD3SS3220 Type-C controller supports configuring the port type,
the advertised power operation mode, and its role preference
through its I2C register map.

This patch series adds support for configuring these registers
based on existing fwnode properties and typec_operations.

Signed-off-by: Oliver Facklam <oliver.facklam@xxxxxxxxxxx>
---
Changes in v3:
- Drop PATCH 2/4 from v2 (using typec_get_fw_cap() for capability
  parsing)
- Implement parsing manually to have better control over
  each property being present / absent.
- If the "power-role"/"try-power-role" property is absent, we don't
  set the corresponding register during probe anymore, but let the
  chip use its default.
- Link to v2: https://lore.kernel.org/r/20241114-usb-typec-controller-enhancements-v2-0-362376856aea@xxxxxxxxxxx

Changes in v2:
- Better support optional fwnode properties being absent by setting
  defaults in struct typec_capability and checking return code of
  typec_get_fw_cap()
- Link to v1: https://lore.kernel.org/r/20241107-usb-typec-controller-enhancements-v1-0-3886c1acced2@xxxxxxxxxxx

---
Oliver Facklam (3):
      usb: typec: hd3ss3220: configure advertised power opmode based on fwnode property
      usb: typec: hd3ss3220: support configuring port type
      usb: typec: hd3ss3220: support configuring role preference based on fwnode property and typec_operation

 drivers/usb/typec/hd3ss3220.c | 207 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 184 insertions(+), 23 deletions(-)
---
base-commit: 237d4e0f41130a5ff0e1c7dc1cb41ee2fe21cd2a
change-id: 20241104-usb-typec-controller-enhancements-6871249429f0

Best regards,
-- 
Oliver Facklam <oliver.facklam@xxxxxxxxxxx>





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux