What is difference between role switch procedures ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What is difference between role switch procedures ?

Jump to solution
1,239 Views
amit251291
Contributor IV

We were exploring role switch for imx8qm-Android9-Auto. 

I came to know that role switch can be possible by changing right role (host | gadget) in 

/sys/bus/platform/devices/ci_hdrc.0/role
During testing we could see that roles are getting changed and based on the roles it was enumerating Iphone. 
This is one case. But during my exploration i also found chipidea document which also explains role switching using HNP and SRP protocols. We tried this but it doesn't works after step 2. 
I wanted to understand the difference between the 2 procedures. Could you please throw some light here ??
Tags (4)
0 Kudos
1 Solution
1,171 Views
igorpadykov
NXP Employee
NXP Employee

Hi Amit

 there are two USB controllers:

- One is USB2 compatible and the IP comes from ChipIdea (the same USB IP used on mx5/mx6/mx7)

- One is USB3 compatible and the IP comes from Cadence.

The Cadence USB controller is described like this in arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:

usbotg3: usb3@5b110000 {
compatible = "Cadence,usb3";

....

The Chipidea USB controller is described like this in arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:

usbotg1: usb@5b0d0000 {
compatible = "fsl,imx8qm-usb", "fsl,imx7ulp-usb",
"fsl,imx27-usb";

....

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
1,172 Views
igorpadykov
NXP Employee
NXP Employee

Hi Amit

 there are two USB controllers:

- One is USB2 compatible and the IP comes from ChipIdea (the same USB IP used on mx5/mx6/mx7)

- One is USB3 compatible and the IP comes from Cadence.

The Cadence USB controller is described like this in arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:

usbotg3: usb3@5b110000 {
compatible = "Cadence,usb3";

....

The Chipidea USB controller is described like this in arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:

usbotg1: usb@5b0d0000 {
compatible = "fsl,imx8qm-usb", "fsl,imx7ulp-usb",
"fsl,imx27-usb";

....

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,171 Views
amit251291
Contributor IV

Dear igor,

Thanks for  clarification. I have found answer with your explanation. 

0 Kudos