Dear all,
We are working on i.mx8qm-MEK platform running on Android-9-Auto.
In a simple test of role switch we observed below behavior which is wrong as per our understanding:
Precondition:
1) Iphone is connected to MEK's OTG connector using micro OTG cable & type-c cable
2) This puts MEK in host and iphone in gadget mode. Iphone is getting charged.
Test case:
1) We changed role of MEK using below command
mek_8q:/ $ echo gadget > sys/kernel/debug/ci_hdrc.0/role
Observation:
1) We observed that new role shown in MEK is 'gadget'. This is as expected.
mek_8q:/ $ cat sys/kernel/debug/ci_hdrc.0/role
gadget
mek_8q:/ $
2) if we look at state variables using below command then it shows a_vbus_err OTG state for MEK
mek_8q:/ $ cat sys/kernel/debug/ci_hdrc.0/otg
OTG state: a_vbus_err
a_bus_drop: 1
a_bus_req: 0
a_srp_det: 0
a_vbus_vld: 0
b_conn: 0
adp_change: 0
power_up: 0
a_bus_resume: 0
a_bus_suspend: 0
a_conn: 0
b_bus_req: 0
b_bus_suspend: 0
b_se0_srp: 0
b_ssend_srp: 0
b_sess_vld: 0
b_srp_done: 0
drv_vbus: 0
loc_conn: 0
loc_sof: 0
adp_prb: 0
id: 0
protocol: 0
Since MEK is switched to gadget mode, then it should have shown a_peripheral at the place of a_vbus_err.
What is that which has gone wrong here ? Can someone please throw some light here ?