From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E55AAC43381 for ; Thu, 28 Mar 2019 17:53:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B931D20811 for ; Thu, 28 Mar 2019 17:53:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727572AbfC1Rxk (ORCPT ); Thu, 28 Mar 2019 13:53:40 -0400 Received: from mga05.intel.com ([192.55.52.43]:23178 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727565AbfC1Rxk (ORCPT ); Thu, 28 Mar 2019 13:53:40 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Mar 2019 10:48:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,281,1549958400"; d="scan'208";a="159297587" Received: from kuha.fi.intel.com ([10.237.72.189]) by fmsmga001.fm.intel.com with SMTP; 28 Mar 2019 10:48:36 -0700 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Thu, 28 Mar 2019 19:48:35 +0200 Date: Thu, 28 Mar 2019 19:48:35 +0200 From: Heikki Krogerus To: Rob Herring Cc: Biju Das , Yoshihiro Shimoda , Mark Rutland , Greg Kroah-Hartman , Felipe Balbi , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , Simon Horman , Geert Uytterhoeven , Chris Paterson , Fabrizio Castro , "linux-renesas-soc@vger.kernel.org" Subject: Re: [PATCH v2 2/7] dt-bindings: usb: renesas_usb3: add usb-role-switch property Message-ID: <20190328174835.GD9993@kuha.fi.intel.com> References: <1552552775-51667-1-git-send-email-biju.das@bp.renesas.com> <1552552775-51667-3-git-send-email-biju.das@bp.renesas.com> <20190314105347.GC7752@kuha.fi.intel.com> <20190315105146.GI7752@kuha.fi.intel.com> <20190328153353.GA3070@bogus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190328153353.GA3070@bogus> User-Agent: Mutt/1.11.3 (2019-02-01) Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org On Thu, Mar 28, 2019 at 10:33:53AM -0500, Rob Herring wrote: > On Fri, Mar 15, 2019 at 12:51:46PM +0200, Heikki Krogerus wrote: > > Thanks, > > > > On Fri, Mar 15, 2019 at 09:08:19AM +0000, Biju Das wrote: > > > > Subject: Re: [PATCH v2 2/7] dt-bindings: usb: renesas_usb3: add usb-role- > > > > > > > a/Documentation/devicetree/bindings/usb/renesas_usb3.txt > > > > > > > b/Documentation/devicetree/bindings/usb/renesas_usb3.txt > > > > > > > index 35039e7..eecaf4c 100644 > > > > > > > --- a/Documentation/devicetree/bindings/usb/renesas_usb3.txt > > > > > > > +++ b/Documentation/devicetree/bindings/usb/renesas_usb3.txt > > > > > > > @@ -22,6 +22,7 @@ Required properties: > > > > > > > Optional properties: > > > > > > > - phys: phandle + phy specifier pair > > > > > > > - phy-names: must be "usb" > > > > > > > + - usb-role-switch: use USB role switch to support dual-role > > > > > > > + switch > > > > > > > > > > > > I don't think we can add such a property. At least, we have to add > > > > "renesas," > > > > > > prefix. > > > > > > > > > > usb_role_switch_get api uses "usb-role-switch" property to get role > > > > switch linked with the device. > > > > > > > > > > HD3SS3220 port controller driver gets role switch handle linked with the > > > > device using usb_role_switch_get api. > > > > > That is the reason, I have added " usb-role-switch" property here. > > > > > > > > > > Do you have any other suggestion to get usb role switch handle? > > > > > > > > We can still change the API. Can we use the compatible for this? > > > > > > Do you mean usb_role_switch_get API needs to handle compatible "usb-x-connector" wherex= a,b ,c ? > > > Then it uses the graphs api to get the device linked with it and return the usb role switch handle. > > > In that case, no need to add generic "usb-role-switch" property here. > > > > > > Can you please confirm my understanding is correct? > > > > No, I meant the compatible property would have the value > > "usb-role-switch". Your compatible would probable look something > > like this: > > > > compatible = "renesas,r8a774c0-usb3-peri", > > "usb-role-switch"; > > > > So the idea would be that the device supplying USB role switch > > functionality, in your case the USB controller, would need to have the > > compatible property containing "usb-role-switch". > > That's not really something a driver could bind to nor provides any info > as to what the h/w is (and how to interact with it). Fair enough. As I said, I don't know much about DT. The problem we are trying to solve here is, how to identify the USB role switch from graph. It's primarily the USB Type-C connector drivers that need to be able to get a handle to the role switch device so they can tell it what to do. Basically the caller of usb_role_switch_get() will have the compatible "usb-c-connector", so it's of no use to us. We need the other endpoint, the role switch. Note: The USB role switch device will be a discrete (or integrated) mux on platforms that have separate USB host and USB device controllers, and on platforms with dual-role capable USB controller (like this one) the USB controller will represent it. At the moment the function usb_role_switch_get() walks trough the graph of the caller (so the connector) and expects that the remote-endpoint representing the mux will have a boolean property "usb-role-switch". I do agree that Documentation/devicetree/bindings/usb/renesas_usb3.txt should not be the file describing that boolean property, but if we had a separate file describing the bindings for just the USB role switch devices, would using it still be OK? If not, then can you propose something else? How do we identify the USB role switch endpoint from the graph? Would it be OK to expect the the endpoint subnode to have that boolean property instead? thanks, -- heikki From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,2/7] dt-bindings: usb: renesas_usb3: add usb-role-switch property From: Heikki Krogerus Message-Id: <20190328174835.GD9993@kuha.fi.intel.com> Date: Thu, 28 Mar 2019 19:48:35 +0200 To: Rob Herring Cc: Biju Das , Yoshihiro Shimoda , Mark Rutland , Greg Kroah-Hartman , Felipe Balbi , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , Simon Horman , Geert Uytterhoeven , Chris Paterson , Fabrizio Castro , "linux-renesas-soc@vger.kernel.org" List-ID: T24gVGh1LCBNYXIgMjgsIDIwMTkgYXQgMTA6MzM6NTNBTSAtMDUwMCwgUm9iIEhlcnJpbmcgd3Jv dGU6Cj4gT24gRnJpLCBNYXIgMTUsIDIwMTkgYXQgMTI6NTE6NDZQTSArMDIwMCwgSGVpa2tpIEty b2dlcnVzIHdyb3RlOgo+ID4gVGhhbmtzLAo+ID4gCj4gPiBPbiBGcmksIE1hciAxNSwgMjAxOSBh dCAwOTowODoxOUFNICswMDAwLCBCaWp1IERhcyB3cm90ZToKPiA+ID4gPiBTdWJqZWN0OiBSZTog W1BBVENIIHYyIDIvN10gZHQtYmluZGluZ3M6IHVzYjogcmVuZXNhc191c2IzOiBhZGQgdXNiLXJv bGUtCj4gPiA+ID4gPiA+ID4gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNi L3JlbmVzYXNfdXNiMy50eHQKPiA+ID4gPiA+ID4gPiBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy91c2IvcmVuZXNhc191c2IzLnR4dAo+ID4gPiA+ID4gPiA+IGluZGV4IDM1MDM5 ZTcuLmVlY2FmNGMgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4gLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL3VzYi9yZW5lc2FzX3VzYjMudHh0Cj4gPiA+ID4gPiA+ID4gKysrIGIv RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9yZW5lc2FzX3VzYjMudHh0Cj4g PiA+ID4gPiA+ID4gQEAgLTIyLDYgKzIyLDcgQEAgUmVxdWlyZWQgcHJvcGVydGllczoKPiA+ID4g PiA+ID4gPiAgT3B0aW9uYWwgcHJvcGVydGllczoKPiA+ID4gPiA+ID4gPiAgICAtIHBoeXM6IHBo YW5kbGUgKyBwaHkgc3BlY2lmaWVyIHBhaXIKPiA+ID4gPiA+ID4gPiAgICAtIHBoeS1uYW1lczog bXVzdCBiZSAidXNiIgo+ID4gPiA+ID4gPiA+ICsgIC0gdXNiLXJvbGUtc3dpdGNoOiB1c2UgVVNC IHJvbGUgc3dpdGNoIHRvIHN1cHBvcnQgZHVhbC1yb2xlCj4gPiA+ID4gPiA+ID4gKyBzd2l0Y2gK PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSSBkb24ndCB0aGluayB3ZSBjYW4gYWRkIHN1Y2ggYSBw cm9wZXJ0eS4gQXQgbGVhc3QsIHdlIGhhdmUgdG8gYWRkCj4gPiA+ID4gInJlbmVzYXMsIgo+ID4g PiA+ID4gPiBwcmVmaXguCj4gPiA+ID4gPgo+ID4gPiA+ID4gdXNiX3JvbGVfc3dpdGNoX2dldCAg IGFwaSB1c2VzICAidXNiLXJvbGUtc3dpdGNoIiAgcHJvcGVydHkgdG8gZ2V0IHJvbGUKPiA+ID4g PiBzd2l0Y2ggbGlua2VkIHdpdGggdGhlIGRldmljZS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBIRDNT UzMyMjAgcG9ydCBjb250cm9sbGVyIGRyaXZlciBnZXRzIHJvbGUgc3dpdGNoIGhhbmRsZSBsaW5r ZWQgd2l0aCB0aGUKPiA+ID4gPiBkZXZpY2UgdXNpbmcgdXNiX3JvbGVfc3dpdGNoX2dldCAgYXBp Lgo+ID4gPiA+ID4gVGhhdCBpcyB0aGUgcmVhc29uLCBJIGhhdmUgYWRkZWQgIiB1c2Itcm9sZS1z d2l0Y2giIHByb3BlcnR5IGhlcmUuCj4gPiA+ID4gPgo+ID4gPiA+ID4gRG8geW91IGhhdmUgYW55 IG90aGVyIHN1Z2dlc3Rpb24gdG8gZ2V0IHVzYiByb2xlIHN3aXRjaCBoYW5kbGU/Cj4gPiA+ID4g Cj4gPiA+ID4gV2UgY2FuIHN0aWxsIGNoYW5nZSB0aGUgQVBJLiBDYW4gd2UgdXNlIHRoZSBjb21w YXRpYmxlIGZvciB0aGlzPwo+ID4gPiAKPiA+ID4gRG8geW91IG1lYW4gdXNiX3JvbGVfc3dpdGNo X2dldCAgQVBJIG5lZWRzICB0byBoYW5kbGUgY29tcGF0aWJsZSAidXNiLXgtY29ubmVjdG9yIiAg d2hlcmV4PSBhLGIgLGMgPwo+ID4gPiBUaGVuIGl0IHVzZXMgdGhlIGdyYXBocyBhcGkgdG8gZ2V0 IHRoZSBkZXZpY2UgbGlua2VkIHdpdGggaXQgYW5kIHJldHVybiB0aGUgdXNiIHJvbGUgc3dpdGNo IGhhbmRsZS4KPiA+ID4gSW4gdGhhdCBjYXNlLCBubyBuZWVkIHRvIGFkZCAgZ2VuZXJpYyAidXNi LXJvbGUtc3dpdGNoIiAgcHJvcGVydHkgaGVyZS4KPiA+ID4gCj4gPiA+IENhbiB5b3UgcGxlYXNl IGNvbmZpcm0gbXkgdW5kZXJzdGFuZGluZyBpcyBjb3JyZWN0Pwo+ID4gCj4gPiBObywgSSBtZWFu dCB0aGUgY29tcGF0aWJsZSBwcm9wZXJ0eSB3b3VsZCBoYXZlIHRoZSB2YWx1ZQo+ID4gInVzYi1y b2xlLXN3aXRjaCIuIFlvdXIgY29tcGF0aWJsZSB3b3VsZCBwcm9iYWJsZSBsb29rIHNvbWV0aGlu Zwo+ID4gbGlrZSB0aGlzOgo+ID4gCj4gPiAgICAgICAgIGNvbXBhdGlibGUgPSAicmVuZXNhcyxy OGE3NzRjMC11c2IzLXBlcmkiLAo+ID4gICAgICAgICAgICAgICAgICAgICAgInVzYi1yb2xlLXN3 aXRjaCI7Cj4gPiAKPiA+IFNvIHRoZSBpZGVhIHdvdWxkIGJlIHRoYXQgdGhlIGRldmljZSBzdXBw bHlpbmcgVVNCIHJvbGUgc3dpdGNoCj4gPiBmdW5jdGlvbmFsaXR5LCBpbiB5b3VyIGNhc2UgdGhl IFVTQiBjb250cm9sbGVyLCB3b3VsZCBuZWVkIHRvIGhhdmUgdGhlCj4gPiBjb21wYXRpYmxlIHBy b3BlcnR5IGNvbnRhaW5pbmcgInVzYi1yb2xlLXN3aXRjaCIuCj4gCj4gVGhhdCdzIG5vdCByZWFs bHkgc29tZXRoaW5nIGEgZHJpdmVyIGNvdWxkIGJpbmQgdG8gbm9yIHByb3ZpZGVzIGFueSBpbmZv IAo+IGFzIHRvIHdoYXQgdGhlIGgvdyBpcyAoYW5kIGhvdyB0byBpbnRlcmFjdCB3aXRoIGl0KS4K CkZhaXIgZW5vdWdoLiBBcyBJIHNhaWQsIEkgZG9uJ3Qga25vdyBtdWNoIGFib3V0IERULgoKVGhl IHByb2JsZW0gd2UgYXJlIHRyeWluZyB0byBzb2x2ZSBoZXJlIGlzLCBob3cgdG8gaWRlbnRpZnkg dGhlIFVTQgpyb2xlIHN3aXRjaCBmcm9tIGdyYXBoLiBJdCdzIHByaW1hcmlseSB0aGUgVVNCIFR5 cGUtQyBjb25uZWN0b3IKZHJpdmVycyB0aGF0IG5lZWQgdG8gYmUgYWJsZSB0byBnZXQgYSBoYW5k bGUgdG8gdGhlIHJvbGUgc3dpdGNoIGRldmljZQpzbyB0aGV5IGNhbiB0ZWxsIGl0IHdoYXQgdG8g ZG8uIEJhc2ljYWxseSB0aGUgY2FsbGVyIG9mCnVzYl9yb2xlX3N3aXRjaF9nZXQoKSB3aWxsIGhh dmUgdGhlIGNvbXBhdGlibGUgInVzYi1jLWNvbm5lY3RvciIsIHNvCml0J3Mgb2Ygbm8gdXNlIHRv IHVzLiBXZSBuZWVkIHRoZSBvdGhlciBlbmRwb2ludCwgdGhlIHJvbGUgc3dpdGNoLgoKTm90ZTog VGhlIFVTQiByb2xlIHN3aXRjaCBkZXZpY2Ugd2lsbCBiZSBhIGRpc2NyZXRlIChvciBpbnRlZ3Jh dGVkKQptdXggb24gcGxhdGZvcm1zIHRoYXQgaGF2ZSBzZXBhcmF0ZSBVU0IgaG9zdCBhbmQgVVNC IGRldmljZQpjb250cm9sbGVycywgYW5kIG9uIHBsYXRmb3JtcyB3aXRoIGR1YWwtcm9sZSBjYXBh YmxlIFVTQiBjb250cm9sbGVyCihsaWtlIHRoaXMgb25lKSB0aGUgVVNCIGNvbnRyb2xsZXIgd2ls bCByZXByZXNlbnQgaXQuCgpBdCB0aGUgbW9tZW50IHRoZSBmdW5jdGlvbiB1c2Jfcm9sZV9zd2l0 Y2hfZ2V0KCkgd2Fsa3MgdHJvdWdoIHRoZQpncmFwaCBvZiB0aGUgY2FsbGVyIChzbyB0aGUgY29u bmVjdG9yKSBhbmQgZXhwZWN0cyB0aGF0IHRoZQpyZW1vdGUtZW5kcG9pbnQgcmVwcmVzZW50aW5n IHRoZSBtdXggd2lsbCBoYXZlIGEgYm9vbGVhbiBwcm9wZXJ0eQoidXNiLXJvbGUtc3dpdGNoIi4K CkkgZG8gYWdyZWUgdGhhdCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL3Jl bmVzYXNfdXNiMy50eHQKc2hvdWxkIG5vdCBiZSB0aGUgZmlsZSBkZXNjcmliaW5nIHRoYXQgYm9v bGVhbiBwcm9wZXJ0eSwgYnV0IGlmIHdlIGhhZAphIHNlcGFyYXRlIGZpbGUgZGVzY3JpYmluZyB0 aGUgYmluZGluZ3MgZm9yIGp1c3QgdGhlIFVTQiByb2xlIHN3aXRjaApkZXZpY2VzLCB3b3VsZCB1 c2luZyBpdCBzdGlsbCBiZSBPSz8KCklmIG5vdCwgdGhlbiBjYW4geW91IHByb3Bvc2Ugc29tZXRo aW5nIGVsc2U/IEhvdyBkbyB3ZSBpZGVudGlmeSB0aGUKVVNCIHJvbGUgc3dpdGNoIGVuZHBvaW50 IGZyb20gdGhlIGdyYXBoPyBXb3VsZCBpdCBiZSBPSyB0byBleHBlY3QgdGhlCnRoZSBlbmRwb2lu dCBzdWJub2RlIHRvIGhhdmUgdGhhdCBib29sZWFuIHByb3BlcnR5IGluc3RlYWQ/CgoKdGhhbmtz LAo=