This patch set attempts to move the tcpci driver out of staging by fix some tcpci driver issues and verified on NXP PTN5110, which is a standard tcpci typec port controller device with power delivery support, tested power source and sink with drp config. Changes for v3: - Use 2 properties to separate power and data capability of typec port: "power-type" and "data-type", this is based on Heikki's typec class code change[2]. use "try-power-role" to present if the typec port can support Try.SNK or Try.SRC. - 4 sink properties(max_sink_mv/ma/mw and op_sink_mw) are kept because the counterpart code is back, see revert patch[3], meanwhile I post a patch to fix the reported problem of current source pdo select machinism(which completely ignored those 4 sink settings), to see if we can keep current code, once it was discussed and have conclusion I can update this accordingly. - Use fwnode to get the connector node for dt setting parse. Main changes for v2: - Typec properties are based on general usb connector bindings[1] proposed by Andrzej Hajda, use the standard unit suffixes as defined in property-units.txt. - Add 2 infra APIs to get power sink and source config from dt. - Don't change the set_cc api, to keep the uncontacted cc line open, set cc1/cc2 to be open in tcpci driver when set polarity. - Directly enable vbus detect in tcpci driver rather than add a API. - Details added in each patch. [1] https://patchwork.kernel.org/patch/10231447/ [2] https://patchwork.kernel.org/patch/10276483/ [3] https://www.spinics.net/lists/linux-usb/msg166366.html Li Jun (12): dt-bindings: connector: add properties for typec dt-bindings: usb: add documentation for typec port controller(TCPCI) usb: typec: add fwnode to tcpc usb: typec: add API to get typec basic port power and data config usb: typec: add API to get sink and source config staging: typec: tcpci: support port config passed via dt staging: typec: tcpci: register port before request irq staging: typec: tcpci: enable vbus detection typec: tcpm: add starting value for drp toggling staging: typec: tcpci: keep the not connecting cc line open staging: typec: tcpci: Only touch target bit when enable vconn staging: typec: tcpci: move tcpci driver out of staging .../bindings/connector/usb-connector.txt | 48 +++++++++ .../devicetree/bindings/usb/typec-tcpci.txt | 36 +++++++ drivers/staging/Kconfig | 2 - drivers/staging/Makefile | 1 - drivers/staging/typec/Kconfig | 14 --- drivers/staging/typec/Makefile | 1 - drivers/staging/typec/TODO | 5 - drivers/usb/typec/Kconfig | 7 ++ drivers/usb/typec/Makefile | 1 + drivers/usb/typec/class.c | 85 +++++++++++++++ drivers/{staging => usb}/typec/tcpci.c | 120 +++++++++++++++++---- drivers/{staging => usb}/typec/tcpci.h | 0 drivers/usb/typec/tcpm.c | 58 +++++++++- include/linux/usb/tcpm.h | 10 +- include/linux/usb/typec.h | 3 + 15 files changed, 339 insertions(+), 52 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/typec-tcpci.txt delete mode 100644 drivers/staging/typec/Kconfig delete mode 100644 drivers/staging/typec/Makefile delete mode 100644 drivers/staging/typec/TODO rename drivers/{staging => usb}/typec/tcpci.c (84%) rename drivers/{staging => usb}/typec/tcpci.h (100%) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html