We are having a USB 3.1 Type A connector in our board, with UPHY6 for USB 3.1 and USB1 for USB 2.0. Is this requires any additional change in dts and cfg? Could you please suggest us those changes?
and have deleted the nodes head0,head1 and head2 from the common.dtsi file.
These are the only changes made. But none of the USB is working. But in the c-boot, I got the logs checking for USB boot when I connect USB pendrive in 2.0 Hubs and 3.1 Type-A Host.
Also, you have the type C here, but do you have the PD controller?
If not, then for the otg, you need to write the extcon table for vbus and id pin. This is also mentioned in the document.
The extcon is needed for the otg one to control the vbus and id pin behavior.
Another problem is we don’t guarantee the behavior of other PD controller from the Cypress one we are using on devkit. I could only suggest you could add those extcon back for the type C port you are using.
We don’t have other users here, at least during my experience, using their own PD controller.
If you are talking about just leave the type C not working and verify other ports first, then please just disable that lane (both 2.0 and 3.0 ) and that port in device tree first. Also, remove it from xudc and xhci.
After disabling the Type-C related USB nodes, the other type-A connectors in the board started to work. Thank you.
I have tried configuring the Type-C mode as “host” instead of “otg” and haven’t added extcon in dts. In this case, the Type-A ports are working. But still Type-C is not getting detected.
The type C hardware is already different from the type A. Thus, just modifying mode to host is not sufficient.
However, we are also not sure if your PD controller would work or not. We have similar case on devkit to change one type C to device mode only. In this case, extcon is still needed. Thus, you also need extcon in both external-connection and xhci to let this type C work.
The PD controller we have chosen doesn’t need any drivers. It needs USB 3.1 and USB 2.0 lines from SoM is enough and also we are not having any gpio for vbus detection hardware wise. So I am confused about the values need to given to the “extcon-cables” property.
In-order to validate Type-C port, I have did the following exercise.
I have configured it as “host” similar to the 3.1 type-A. I didn’t add any extcon property in this case. Its working in 2.0 mode but USB 3.1 didn’t work.
Could you please give us some suggestions on what should be added for extcon in this case?
You have been filing topics for quite a time. Please keep in mind that if you change anything to your board and make something work while other things not work, please always share the dmseg or related log. We are not engineers who co-work with you so we won’t know everything happens to your board.
Also, for your type C port, you need to tell us how does the pin connection look like. A common type C port should have those CC pin which would control the OTG function. On the devkit, the CC pin state is controlled by the PD controller which has Cypress firmware on it. That is why our driver can use the signal from pd controller and write extcon node in devicetree for driver to use.