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: [v3,1/2] dt-bindings: usb: add documentation for typec switch via GPIO From: Heikki Krogerus Message-Id: <20190312104512.GA7752@kuha.fi.intel.com> Date: Tue, 12 Mar 2019 12:45:12 +0200 To: Jun Li , Hans de Goede Cc: "robh+dt@kernel.org" , "gregkh@linuxfoundation.org" , "andy.shevchenko@gmail.com" , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , dl-linux-imx List-ID: SGksCgpPbiBUdWUsIE1hciAxMiwgMjAxOSBhdCAxMDozMjowMEFNICswMDAwLCBKdW4gTGkgd3Jv dGU6Cj4gSGkgSGFucwo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IEhh bnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4gPiBTZW50OiAyMDE55bm0M+aciDEx 5pelIDE5OjAzCj4gPiBUbzogSnVuIExpIDxqdW4ubGlAbnhwLmNvbT47IHJvYmgrZHRAa2VybmVs Lm9yZzsgaGVpa2tpLmtyb2dlcnVzQGxpbnV4LmludGVsLmNvbQo+ID4gQ2M6IGdyZWdraEBsaW51 eGZvdW5kYXRpb24ub3JnOyBhbmR5LnNoZXZjaGVua29AZ21haWwuY29tOwo+ID4gbGludXgtdXNi QHZnZXIua2VybmVsLm9yZzsgZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmc7IGRsLWxpbnV4LWlt eAo+ID4gPGxpbnV4LWlteEBueHAuY29tPgo+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAxLzJd IGR0LWJpbmRpbmdzOiB1c2I6IGFkZCBkb2N1bWVudGF0aW9uIGZvciB0eXBlYyBzd2l0Y2gKPiA+ IHZpYSBHUElPCj4gPiAKPiA+IEhpLAo+ID4gCj4gPiBPbiAxMS0wMy0xOSAxMTo0MCwgSnVuIExp IHdyb3RlOgo+ID4gPiBTb21lIHR5cGVjIHN1cGVyIHNwZWVkIGFjdGl2ZSBjaGFubmVsIHN3aXRj aCBjYW4gYmUgY29udHJvbGxlZCB2aWEgYQo+ID4gPiBHUElPLCB0aGlzIGJpbmRpbmcgY2FuIGJl IHVzZWQgdG8gc3BlY2lmeSB0aGUgc3dpdGNoIG5vZGUgYnkgYSBHUElPCj4gPiA+IGFuZCB0aGUg cmVtb3RlIGVuZHBvaW50IG9mIGl0cyBjb25zdW1lci4KPiA+ID4KPiA+ID4gU2lnbmVkLW9mZi1i eTogTGkgSnVuIDxqdW4ubGlAbnhwLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICAgLi4uL2RldmljZXRy ZWUvYmluZGluZ3MvdXNiL3R5cGVjLXN3aXRjaC1ncGlvLnR4dCAgfCAzMAo+ID4gKysrKysrKysr KysrKysrKysrKysrKwo+ID4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspCj4g PiA+Cj4gPiA+IGRpZmYgLS1naXQKPiA+ID4gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvdXNiL3R5cGVjLXN3aXRjaC1ncGlvLnR4dAo+ID4gPiBiL0RvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy91c2IvdHlwZWMtc3dpdGNoLWdwaW8udHh0Cj4gPiA+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAwMDAwMDAuLjRlZjc2Y2YKPiA+ID4gLS0tIC9kZXYv bnVsbAo+ID4gPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL3R5 cGVjLXN3aXRjaC1ncGlvLnR4dAo+ID4gPiBAQCAtMCwwICsxLDMwIEBACj4gPiA+ICtUeXBlYyBv cmllbnRhdGlvbiBzd2l0Y2ggdmlhIGEgR1BJTwo+ID4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiA+ID4gKwo+ID4gPiArUmVxdWlyZWQgcHJvcGVydGllczoKPiA+ID4g Ky0gY29tcGF0aWJsZTogc2hvdWxkIGJlIHNldCBvbmUgb2YgZm9sbG93aW5nOgo+ID4gPiArCS0g Im54cCxwdG4zNjA0MyIgZm9yIE5YUCBUeXBlLUMgU3VwZXJTcGVlZCBhY3RpdmUgc3dpdGNoLgo+ ID4gPiArCj4gPiA+ICstIGdwaW9zOiB0aGUgR1BJTyB1c2VkIHRvIHN3aXRjaCB0aGUgc3VwZXIg c3BlZWQgYWN0aXZlIGNoYW5uZWwsCj4gPiA+ICsJCUdQSU9fQUNUSVZFX0hJR0g6IEdQSU8gc3Rh dGUgaGlnaCBmb3IgY2MxOwo+ID4gPiArCQlHUElPX0FDVElWRV9MT1c6ICBHUElPIHN0YXRlIGxv dyBmb3IgY2MxLgo+ID4gPiArLSBvcmllbnRhdGlvbi1zd2l0Y2g6IG11c3QgYmUgcHJlc2VudC4K PiA+IAo+ID4gU2hvdWxkbid0IHRoaXMgaGF2ZSB1c2ItYyBpbiB0aGUgcHJvcGVyeSBuYW1lLCBl LmcuOgo+ID4gdXNiLWMtb3JpZW50YXRpb24tc3dpdGNoICA/Cj4gCj4gVGhpcyBpcyBkZWNpZGVk IGJ5IGRyaXZlcnMvdXNiL3R5cGVjL211eC5jOjM2Cj4gLyoKPiAgKiBXaXRoIE9GIGdyYXBoIHRo ZSBtdXggbm9kZSBtdXN0IGhhdmUgYSBib29sZWFuIGRldmljZSBwcm9wZXJ0eSBuYW1lZAo+ICAq ICJvcmllbnRhdGlvbi1zd2l0Y2giLgo+ICAqLwoKWWVzLCBidXQgaXQncyBzdGlsbCBPSyB0byBj aGFuZ2UgaXQuIEl0J3Mgbm90IGRvY3VtZW50ZWQgYW55d2hlcmUgeWV0LgoKPiA+ID4gKwo+ID4g PiArUmVxdWlyZWQgc3ViLW5vZGU6Cj4gPiA+ICstIHBvcnQ6IHNwZWNpZnkgdGhlIHJlbW90ZSBl bmRwb2ludCBvZiB0eXBlYyBzd2l0Y2ggY29uc3VtZXIuCj4gPiA+ICsKPiA+ID4gK0V4YW1wbGU6 Cj4gPiA+ICsKPiA+ID4gK3B0bjM2MDQzIHsKPiA+ID4gKwljb21wYXRpYmxlID0gIm54cCxwdG4z NjA0MyI7Cj4gPiA+ICsJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPiA+ID4gKwlwaW5jdHJs LTAgPSA8JnBpbmN0cmxfc3Nfc2VsPjsKPiA+ID4gKwlncGlvcyA9IDwmZ3BpbzMgMTUgR1BJT19B Q1RJVkVfSElHSD47Cj4gPiA+ICsJb3JpZW50YXRpb24tc3dpdGNoOwo+ID4gPiArCj4gPiA+ICsJ cG9ydCB7Cj4gPiA+ICsJCXVzYjNfZGF0YV9zczogZW5kcG9pbnQgewo+ID4gPiArCQkJcmVtb3Rl LWVuZHBvaW50ID0gPCZ0eXBlY19jb25fc3M+Owo+ID4gCj4gPiAKPiA+IElzbid0IHRoaXMgdGhl IHdyb25nIHdheSBhcm91bmQsIHNob3VsZG4ndCB0aGUgInVzYi1jLWNvbm5lY3RvciIKPiA+IGNv bXBhdGlibGUgcG9ydCBiZSBwb2ludGluZyB0byB0aGUgb3JpZW50YXRpb24gc3dpdGNoLCByYXRo ZXIgdGhlbiB0aGUgb3RoZXIgd2F5Cj4gPiBhcm91bmQ/ICAKCkhhbnMsIGluIE9GIGdyYXBoIGJv dGggZW5kcG9pbnRzIHdpbGwgaGF2ZSBhIHJlbW90ZS1lbmRwb2ludCBwb2ludGluZwp0byBlYWNo IG90aGVyLi4KCj4gSSBhbSBub3Qgc3VyZSBJIGFtIGdldHRpbmcgeW91ciBwb2ludCwgInVzYi1j LWNvbm5lY3RvciIgaXMgdGhlIHVzZXIgb2YgdHlwZWMgc3dpdGNoLAo+IHllcywgaXQgaXMgcG9p bnRpbmcgdG8gdGhlIG9yaWVudGF0aW9uIHN3aXRjaCBwcm92aWRlcihpLmUsIHRoaXMgZXhhbXBs ZSBub2RlKS4KPiAKPiA+Qm90aCB3aWxsIHdvcmsgaW4gdGhlIGVuZC4gYnV0IHRvIG1lIGl0IGZl ZWxzIG1vcmUgbmF0dXJhbCB0byBncm91cCBhbGwgdGhlCj4gPiBpbmZvIGFib3V0IHRoZSB0eXBl LWMgY29ubmVjdG9yIHRvZ2V0aGVyIGluIHRoZSAidXNiLWMtY29ubmVjdG9yIiBjb21wYXRpYmxl IHBvcnQKPiA+Cj4gCj4gICAgICAgICBwdG4zNjA0MyB7Cj4gICAgICAgICAgICAgICAgIGNvbXBh dGlibGUgPSAibnhwLHB0bjM2MDQzIjsKPiAgICAgICAgICAgICAgICAgcGluY3RybC1uYW1lcyA9 ICJkZWZhdWx0IjsKPiAgICAgICAgICAgICAgICAgcGluY3RybC0wID0gPCZwaW5jdHJsX3NzX3Nl bD47Cj4gICAgICAgICAgICAgICAgIGdwaW9zID0gPCZncGlvMyAxNSBHUElPX0FDVElWRV9ISUdI PjsKPiAgICAgICAgICAgICAgICAgb3JpZW50YXRpb24tc3dpdGNoOwo+IAo+ICAgICAgICAgICAg ICAgICBwb3J0IHsKPiAgICAgICAgICAgICAgICAgICAgICAgICB1c2IzX2RhdGFfc3M6IGVuZHBv aW50IHsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZS1lbmRwb2ludCA9 IDwmdHlwZWNfY29uX3NzPjsKPiAgICAgICAgICAgICAgICAgICAgICAgICB9Owo+ICAgICAgICAg ICAgICAgICB9Owo+ICAgICAgICAgfTsKPiAKPiB1c2JfY29uOiBjb25uZWN0b3Igewo+IAljb21w YXRpYmxlID0gInVzYi1jLWNvbm5lY3RvciI7Cj4gCS4uLgo+IAlwb3J0cyB7Cj4gCQkjYWRkcmVz cy1jZWxscyA9IDwxPjsKPiAJCSNzaXplLWNlbGxzID0gPDA+Owo+IAo+IAkJcG9ydEAxIHsKPiAJ CQlyZWcgPSA8MT47Cj4gCQkJdHlwZWNfY29uX3NzOiBlbmRwb2ludCB7Cj4gCQkJCXJlbW90ZS1l bmRwb2ludCA9IDwmdXNiM19kYXRhX3NzPjsKPiAJCQl9Owo+IAkJfTsKPiAJfTsKPiB9OwoKU28g bGlrZSB0aGF0LgoKdGhhbmtzLAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com ([192.55.52.151]:60839 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725811AbfCLKpS (ORCPT ); Tue, 12 Mar 2019 06:45:18 -0400 Date: Tue, 12 Mar 2019 12:45:12 +0200 From: Heikki Krogerus Subject: Re: [PATCH v3 1/2] dt-bindings: usb: add documentation for typec switch via GPIO Message-ID: <20190312104512.GA7752@kuha.fi.intel.com> References: <1552299557-6306-1-git-send-email-jun.li@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: devicetree-owner@vger.kernel.org To: Jun Li , Hans de Goede Cc: "robh+dt@kernel.org" , "gregkh@linuxfoundation.org" , "andy.shevchenko@gmail.com" , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , dl-linux-imx List-ID: Hi, On Tue, Mar 12, 2019 at 10:32:00AM +0000, Jun Li wrote: > Hi Hans > > -----Original Message----- > > From: Hans de Goede > > Sent: 2019年3月11日 19:03 > > To: Jun Li ; robh+dt@kernel.org; heikki.krogerus@linux.intel.com > > Cc: gregkh@linuxfoundation.org; andy.shevchenko@gmail.com; > > linux-usb@vger.kernel.org; devicetree@vger.kernel.org; dl-linux-imx > > > > Subject: Re: [PATCH v3 1/2] dt-bindings: usb: add documentation for typec switch > > via GPIO > > > > Hi, > > > > On 11-03-19 11:40, Jun Li wrote: > > > Some typec super speed active channel switch can be controlled via a > > > GPIO, this binding can be used to specify the switch node by a GPIO > > > and the remote endpoint of its consumer. > > > > > > Signed-off-by: Li Jun > > > --- > > > .../devicetree/bindings/usb/typec-switch-gpio.txt | 30 > > ++++++++++++++++++++++ > > > 1 file changed, 30 insertions(+) > > > > > > diff --git > > > a/Documentation/devicetree/bindings/usb/typec-switch-gpio.txt > > > b/Documentation/devicetree/bindings/usb/typec-switch-gpio.txt > > > new file mode 100644 > > > index 0000000..4ef76cf > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/usb/typec-switch-gpio.txt > > > @@ -0,0 +1,30 @@ > > > +Typec orientation switch via a GPIO > > > +----------------------------------- > > > + > > > +Required properties: > > > +- compatible: should be set one of following: > > > + - "nxp,ptn36043" for NXP Type-C SuperSpeed active switch. > > > + > > > +- gpios: the GPIO used to switch the super speed active channel, > > > + GPIO_ACTIVE_HIGH: GPIO state high for cc1; > > > + GPIO_ACTIVE_LOW: GPIO state low for cc1. > > > +- orientation-switch: must be present. > > > > Shouldn't this have usb-c in the propery name, e.g.: > > usb-c-orientation-switch ? > > This is decided by drivers/usb/typec/mux.c:36 > /* > * With OF graph the mux node must have a boolean device property named > * "orientation-switch". > */ Yes, but it's still OK to change it. It's not documented anywhere yet. > > > + > > > +Required sub-node: > > > +- port: specify the remote endpoint of typec switch consumer. > > > + > > > +Example: > > > + > > > +ptn36043 { > > > + compatible = "nxp,ptn36043"; > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&pinctrl_ss_sel>; > > > + gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; > > > + orientation-switch; > > > + > > > + port { > > > + usb3_data_ss: endpoint { > > > + remote-endpoint = <&typec_con_ss>; > > > > > > Isn't this the wrong way around, shouldn't the "usb-c-connector" > > compatible port be pointing to the orientation switch, rather then the other way > > around? Hans, in OF graph both endpoints will have a remote-endpoint pointing to each other.. > I am not sure I am getting your point, "usb-c-connector" is the user of typec switch, > yes, it is pointing to the orientation switch provider(i.e, this example node). > > >Both will work in the end. but to me it feels more natural to group all the > > info about the type-c connector together in the "usb-c-connector" compatible port > > > > ptn36043 { > compatible = "nxp,ptn36043"; > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_ss_sel>; > gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; > orientation-switch; > > port { > usb3_data_ss: endpoint { > remote-endpoint = <&typec_con_ss>; > }; > }; > }; > > usb_con: connector { > compatible = "usb-c-connector"; > ... > ports { > #address-cells = <1>; > #size-cells = <0>; > > port@1 { > reg = <1>; > typec_con_ss: endpoint { > remote-endpoint = <&usb3_data_ss>; > }; > }; > }; > }; So like that. thanks, -- heikki