Re: Dual-role behavior with USB-C?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 12, 2017 at 07:01:34AM +0000, Takashi Matsuzawa wrote:
> Hello.
> Thank you very much for your comment.
> 
> > Since USB OTG FSM has not been accepted by industry during last ten years, we decide
> > to give up maintaining OTG FSM at Linux kernel. For role switch use case, please use
> >  /sys/../role instead, see below commit for detail:
> > 
> >  https://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb.git/commit/drivers/usb/chipidea/core.c?h=ci-for-usb-
>  next&id=a932a8041ff9941a244619555f1c75ecf299f662
> 
> I am still learning so just point me to existing memo  / notes which I should look into, before go furher.
> 
> 1) HNP aware devices
> 
> That means it does not work (or will not work) with HNP-aware device anymore, or I can expect that it still works when I enable CONFIG_USB_OTG and CONFIG_USB_OTG_FSM?

Afaik, there is no fully HNP aware device, if you know any, please tell me.

> 
> 2) role I/F.
> 
> As for the role I/F.
> I tried like below and confirmed that the role value changes gadget <-> host.  And new bus is added can see on lsusb output, when I change the role from gadget to host.
> 
> echo host > /sys/bus/platform/devices/ci_hdrc.0/role
> 
> However, I am still confused since it does not more.
> Say, I have two boards A and B connected with C-C cable.
> And by command like above, I set A host role and B gadget role, and also load mass storage driver on B.
> 
> I expect to see on B is enumerated as mass storage device attached to the newly added bus on A, but I cannot see it on lsusb output.
> Not sure I am missing / skipping steps.

Maybe vbus is not there or the gadget does not pull DP up correctly.

> 
> 3) USB-C lines
> 
> As for USB-C receptacle on my board, I can see the following.  In my case I am just trying to use it in place of old one (micro-A/B receptacle), but I wonder if I further need kernel configuration specific to TYPEC.
> 

For your hardware, I don't think you need.

> board    cable
> ----    ----
> USB_OTG_DP - Dp1/Dp2
> USB_OTG_DN - Dn1/Dn2
> USB_OTG_ID - CC1/CC2
> 

You said the role has switched successfully, it is not related Type-C
issue, it is the controller driver issue, please focus on if vbus
is there and if the gadget pull DP up.

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux