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>