From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934581AbbDIKSh (ORCPT ); Thu, 9 Apr 2015 06:18:37 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:19366 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754879AbbDIKSb (ORCPT ); Thu, 9 Apr 2015 06:18:31 -0400 X-AuditID: cbfec7f4-b7f106d0000013ec-b8-5526514702b3 Message-id: <552651F3.209@samsung.com> Date: Thu, 09 Apr 2015 12:18:27 +0200 From: Robert Baldyga User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-version: 1.0 To: Roger Quadros , Chanwoo Choi Cc: myungjoo.ham@samsung.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, m.szyprowski@samsung.com Subject: Re: [PATCH v3 2/4] extcon: usb-gpio: add support for VBUS detection References: <1427980385-21285-1-git-send-email-r.baldyga@samsung.com> <1427980385-21285-3-git-send-email-r.baldyga@samsung.com> <5525E012.5050207@samsung.com> <552630E4.9030309@samsung.com> <55264148.8070903@samsung.com> <55264534.4020006@samsung.com> <55264D8B.7010301@ti.com> In-reply-to: <55264D8B.7010301@ti.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPLMWRmVeSWpSXmKPExsVy+t/xq7rugWqhBlP26Vtc//Kc1WL+kXOs Fpd3zWGzWLSsldli7ZG77Ba3G1ewWfQ80nJg9+jbsorR4/iN7UwenzfJBTBHcdmkpOZklqUW 6dslcGVM+7SHseCKaMXPP7tZGhinCXYxcnJICJhInJzXxARhi0lcuLeerYuRi0NIYCmjxOLu LlaQhJDAR0aJ52fUQWxeATWJFe2H2UFsFgFVie6l38Fq2AR0JLZ8n8DYxcjBISoQIXH7MidE uaDEj8n3WEBsEQF3iQtnN4HtYhboBxq52QGkXFjAR2LhDVaItXOZJLZtb2IEqeEEWnXywHNW kBpmAT2J+xe1IFrlJTavecs8gVFgFpINsxCqZiGpWsDIvIpRNLU0uaA4KT3XUK84Mbe4NC9d Lzk/dxMjJJC/7GBcfMzqEKMAB6MSD6/FMZVQIdbEsuLK3EOMEhzMSiK8rh5qoUK8KYmVValF +fFFpTmpxYcYmTg4pRoY5+zyFXC/et5KJnB/U9CKiH9fWtOftH0pmPhmfozdRDPu9+uCKlL+ Hjzu61YTtm1jufQtIcZer8K18VPYcp/J1e46W9e82EiWVVmyY9bSLQv3rF0h7SNxPORXdPH8 XQVLAr6E/KiuulKa/afb87/N5YBKhocx+ck/nryf1x+75lY3o1xmdMMXJZbijERDLeai4kQA FjhYkEICAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/09/2015 11:59 AM, Roger Quadros wrote: > Hi, > > On 09/04/15 12:24, Robert Baldyga wrote: >> Hi Chanwoo, >> >> On 04/09/2015 11:07 AM, Chanwoo Choi wrote: >>> Hi Robert, >>> >>> On 04/09/2015 04:57 PM, Robert Baldyga wrote: >>>> Hi Chanwoo, >>>> >>>> On 04/09/2015 04:12 AM, Chanwoo Choi wrote: >>>>> Hi Robert, >>>>> >>> >>> [snip] >>> >>>>> But, I have one question about case[3] >>>>> >>>>> If id is low and vbus is high, this patch will update the state of both USB and USB-HOST cable as attached state. >>>>> Is it possible that two different cables (both USB and USB-HOST) are connected to one port simultaneously? >>>>> >>>> >>>> It's because state of single USB cable connection cannot be completely >>>> described using single extcon cable. USB cable state has two bits (VBUS >>>> and ID), so we need to use two cables for single cable connection. We >>>> use following convention: >>>> cable "USB" = VBUS >>>> cable "USB-HOST" = !ID. >>> >>> I think that extcon provider driver have to update the only one cable state >>> of either USB or USB-HOST because USB and USB-HOST feature can not be used >>> at the same time through one h/w port. > > At least for the kernel users [1] we are treating USB-HOST as !ID and USB as VBUS. > So it is not an issue for these kernel users if both USB and USB-HOST are attached. > This is a valid USB state. > If we don't do so then extcon with 3 cable states is not sufficient to capture the > entire USB scenario. (we need 4 states for 2 pins). > > [1] > - drivers/usb/phy/phy-omap-otg.c > - drivers/usb/dwc3/dwc3-omap.c > > >>> >>> If extcon-usb-gpio.c update two connected event of both USB and USB-HOST cable >>> at the same time, the extcon consumer driver can not decide what handle either USB or USB-HOST. >>> >> >> It can. USB OTG allows for that. Moreover device can be host even if >> ID=1 (so detected cable type is USB device), or peripheral when ID=0 (so >> detected cable type is USB host). Devices would need to have complete >> information about USB cable connection, because OTG state machine needs >> that. As I wrote, current USB cable names are misleading. It would be >> better to have "USB-VBUS" and "USB-ID". > > We need to first understand how user space is using "USB" and "USB-HOST" events > and does it cause an issue if both USB and USB-HOST become attached. > > What is the "ABI" explanation for "USB" and "USB-HOST" cable states? > We can also leave USB and USB-HOST as "dummy cable detection states", like they currently are, and add new USB-VBUS and USB-ID cables without removing the old ones. It will cause some redundancy, but will make us sure, that no ABI break can have a place. Thanks, Robert Baldyga