On Fri, 29 Mar 2024 at 09:20, Krishna Kurapati <quic_kriskura@xxxxxxxxxxx> wrote: > > QDU1000 IDP [1] has a Type-c connector and supports USB 3.0. > However it relies on usb-conn-gpio driver to read the vbus and id > gpio's and provide role switch. However the driver currently has > only gpio-b-connector compatible present in ID table. Adding that > in DT would mean that the device supports Type-B connector and not > Type-c connector. Thanks to Dmitry Baryshkov for pointing it out [2]. USB-B connector is pretty simple, it really has just an ID pin and VBUS input, which translates to two GPIOs being routed from the _connector_ itself. USB-C is much more complicated, it has two CC pins and a VBus power pin. It is not enough just to measure CC pin levels. Moreover, properly handling USB 3.0 inside a USB-C connector requires a separate 'orientation' signal to tell the host which two lanes must be used for the USB SS signals. Thus it is no longer possible to route just two pins from the connector to the SoC. Having all that in mind, I suspect that you are not describing your hardware properly. I suppose that you have a Type-C port controller / redriver / switch, which handles CC lines communication and then provides ID / VBUS signals to the host. In such a case, please describe this TCPC in the DT file and use its compatible string instead of "gpio-c-connector". > > This series intends to add that compatible in driver and bindings > so that it can be used in QDU1000 IDP DT. > > [1]: https://lore.kernel.org/all/20240319091020.15137-3-quic_kbajaj@xxxxxxxxxxx/ > [2]: https://lore.kernel.org/all/CAA8EJprXPvji8TgZu1idH7y4GtHtD4VmQABFBcRt-9BQaCberg@xxxxxxxxxxxxxx/ > > Krishna Kurapati (2): > dt-bindings: connector: Add gpio-usb-c-connector compatible > usb: common: usb-conn-gpio: Update ID table to add usb-c connector > > Documentation/devicetree/bindings/connector/usb-connector.yaml | 3 +++ > drivers/usb/common/usb-conn-gpio.c | 1 + > 2 files changed, 4 insertions(+) > > -- > 2.34.1 > -- With best wishes Dmitry