[RFC PATCH 0/4] Implement USB device/host switch for Vybrid

Stefan Agner stefan at agner.ch
Mon Mar 28 08:28:09 PDT 2016


On 2016-03-25 00:40, Peter Chen wrote:
> On Tue, Mar 15, 2016 at 02:08:26PM +0530, Sanchayan Maity wrote:
>> Hello Peter,
>>
>> The existing usage of extcon in Chipidea driver relies on OTG
>> registers. In case of SoC with dual role device but not a true
>> OTG controller, this does not work. Such SoC's should specify
>> the existing CI_HDRC_DUAL_ROLE_NOT_OTG flag and do the role
>> switch without checking any of the OTG registers in my opinion.
>> This is the case for Vybrid which uses a Chipidea IP but does
>> not have a true 5 pin OTG implemented.
> 
> Sorry to reply you late due to my new born baby.
> 
> Are you sure Vybrid is NOT OTG core? Afaik, it is uses the same
> IP base with other Freescale SoCs, just the IP core is 2.40a.
> When working at device mode, can you read vbus status through
> OTGSC? And if there is an ID pin (input pin) for Vybrid? I mean
> SoC, not the board.

I think the IP is actually OTG capable, the registers are there, but the
signals seem not to be available on the SoC package. That is also what
the RM says...

Quotes from the RM:

"OTG controller should be treated as
Dual role controller that allows the
controller to act as either a Host or a
device with no support for HNP/SRP."

And later, in Chapter 11.1:

"The USB is not a true OTG. It can be configured by software to function
either as
peripheral or as host. The ID pin, which is unique for OTG operation, is
not present in
this implementation. There are no five pin interface. The user will get
four pin host/
device interface."

--
Stefan



More information about the linux-arm-kernel mailing list