From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 2 Mar 2018 16:38:41 -0600 From: Rob Herring Subject: Re: [PATCH v2 10/12] dt-bindings: connector: add properties for typec power delivery Message-ID: <20180302223841.2lj3dutyknlhxvra@rob-hp-laptop> References: <1519645759-12701-1-git-send-email-jun.li@nxp.com> <1519645759-12701-11-git-send-email-jun.li@nxp.com> <20522804-65ab-5d48-716a-c199e4c095fc@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20522804-65ab-5d48-716a-c199e4c095fc@samsung.com> To: Andrzej Hajda Cc: Li Jun , gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net, mark.rutland@arm.com, yueyao@google.com, peter.chen@nxp.com, garsilva@embeddedor.com, o_leveque@orange.fr, shufan_lee@richtek.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-imx@nxp.com List-ID: On Tue, Feb 27, 2018 at 09:41:19AM +0100, Andrzej Hajda wrote: > On 26.02.2018 12:49, Li Jun wrote: > > In case of usb-c-connector with power delivery support, add bingdings > > supported by current typec driver, so user can pass all those properties > > via dt. > > > > Signed-off-by: Li Jun > > --- > > Changes for v2: > > - Added typec properties are based on general usb connector bindings[1] > > proposed by Andrzej Hajda. > > - Use the standard unit suffixes as defined in property-units.txt. > > > > [1] https://patchwork.kernel.org/patch/10231447/ > > > > .../bindings/connector/usb-connector.txt | 43 ++++++++++++++++++++++ > > 1 file changed, 43 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/connector/usb-connector.txt b/Documentation/devicetree/bindings/connector/usb-connector.txt > > index e1463f1..242f6df 100644 > > --- a/Documentation/devicetree/bindings/connector/usb-connector.txt > > +++ b/Documentation/devicetree/bindings/connector/usb-connector.txt > > @@ -15,6 +15,30 @@ Optional properties: > > - type: size of the connector, should be specified in case of USB-A, USB-B > > non-fullsize connectors: "mini", "micro". > > > > +Required properties for usb-c-connector with power delivery support: > > +- port-type: should be one of "source", "sink" or "dual". > > +- default-role: preferred power role if port-type is "dual"(drp), should be > > + "sink" or "source". > > Since port carries data and power, it would be better to explicitly > mention it in names of properties which can be ambiguous. > Maybe instead of 'port-type' you can use 'power-role', for example. > Other thing is that default-role is required only in case of DRP, so > maybe better would be to squash it in power-role, for example: > ��� power-role: should be on of "source", "sink", "dual-source", > "dual-sink", in case of dual roles suffix determines preferred role. > > > > +- src-pdos: An array of u32 with each entry providing supported power > > + source data object(PDO), the detailed bit definitions of PDO can be found > > + in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2 > > + Source_Capabilities Message, the order of each entry(PDO) should follow > > + the PD spec chapter 6.4.1. Required for power source and power dual role. > > +- snk-pdos: An array of u32 with each entry providing supported power > > + sink data object(PDO), the detailed bit definitions of PDO can be found in > > + "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3 Sink > > + Capabilities Message, the order of each entry(PDO) should follow the PD > > + spec chapter 6.4.1. Required for power sink and power dual role. > > We should avoid magic numbers, magic numbers are bad :) I don't mind if there's a defined format for the data. > If we really need to use PDOs here, I think we can re-use PDO_* macros > [1] - DTC should be able to parse it, maybe some lifting will be necessary. > > [1]: > https://elixir.bootlin.com/linux/v4.16-rc3/source/include/linux/usb/pd.h#L161 > > +- max-snk-microvolt: The max voltage the sink can support in micro volts, > > + required for power sink and power dual role. > > +- max-snk-microamp: The max current the sink can support in micro amps, > > + required for power sink and power dual role. > > +- max-snk-microwatt-hours: The max power the sink can support in micro > > + Watt-hours, required for power sink and power dual role. > > +- op-snk-microwatt-hours: Sink required operating power in micro Watt-hours, > > + if source offered power is less then it, Capability Mismatch is set, > > + required for power sink and power dual role. > > What is the relation between above properties and PDOs specified earlier? > Are you sure all these props are required? > > And general remark regarding all above properties. For me, most of them > are specific not to the port but to devices responsible for power > management: chargers, pmics,.... > In many cases these properties are redundant with devices capabilities. > On the other side I guess in many cases it may be convenient to put them > here, so I am not sure what is better :) I debated that too, but decided if you had 2 connectors connected to a single power controller, then you'd want these in the connector. Rob 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,10/12] dt-bindings: connector: add properties for typec power delivery From: Rob Herring Message-Id: <20180302223841.2lj3dutyknlhxvra@rob-hp-laptop> Date: Fri, 2 Mar 2018 16:38:41 -0600 To: Andrzej Hajda Cc: Li Jun , gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net, mark.rutland@arm.com, yueyao@google.com, peter.chen@nxp.com, garsilva@embeddedor.com, o_leveque@orange.fr, shufan_lee@richtek.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-imx@nxp.com List-ID: T24gVHVlLCBGZWIgMjcsIDIwMTggYXQgMDk6NDE6MTlBTSArMDEwMCwgQW5kcnplaiBIYWpkYSB3 cm90ZToKPiBPbiAyNi4wMi4yMDE4IDEyOjQ5LCBMaSBKdW4gd3JvdGU6Cj4gPiBJbiBjYXNlIG9m IHVzYi1jLWNvbm5lY3RvciB3aXRoIHBvd2VyIGRlbGl2ZXJ5IHN1cHBvcnQsIGFkZCBiaW5nZGlu Z3MKPiA+IHN1cHBvcnRlZCBieSBjdXJyZW50IHR5cGVjIGRyaXZlciwgc28gdXNlciBjYW4gcGFz cyBhbGwgdGhvc2UgcHJvcGVydGllcwo+ID4gdmlhIGR0Lgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6 IExpIEp1biA8anVuLmxpQG54cC5jb20+Cj4gPiAtLS0KPiA+IENoYW5nZXMgZm9yIHYyOgo+ID4g LSBBZGRlZCB0eXBlYyBwcm9wZXJ0aWVzIGFyZSBiYXNlZCBvbiBnZW5lcmFsIHVzYiBjb25uZWN0 b3IgYmluZGluZ3NbMV0KPiA+ICAgcHJvcG9zZWQgYnkgQW5kcnplaiBIYWpkYS4KPiA+IC0gVXNl IHRoZSBzdGFuZGFyZCB1bml0IHN1ZmZpeGVzIGFzIGRlZmluZWQgaW4gcHJvcGVydHktdW5pdHMu dHh0Lgo+ID4KPiA+IFsxXSBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzEwMjMx NDQ3Lwo+ID4KPiA+ICAuLi4vYmluZGluZ3MvY29ubmVjdG9yL3VzYi1jb25uZWN0b3IudHh0ICAg ICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysrKysrKysKPiA+ICAxIGZpbGUgY2hhbmdlZCwg NDMgaW5zZXJ0aW9ucygrKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvY29ubmVjdG9yL3VzYi1jb25uZWN0b3IudHh0IGIvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nvbm5lY3Rvci91c2ItY29ubmVjdG9yLnR4dAo+ID4gaW5k ZXggZTE0NjNmMS4uMjQyZjZkZiAxMDA2NDQKPiA+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9jb25uZWN0b3IvdXNiLWNvbm5lY3Rvci50eHQKPiA+ICsrKyBiL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jb25uZWN0b3IvdXNiLWNvbm5lY3Rvci50eHQK PiA+IEBAIC0xNSw2ICsxNSwzMCBAQCBPcHRpb25hbCBwcm9wZXJ0aWVzOgo+ID4gIC0gdHlwZTog c2l6ZSBvZiB0aGUgY29ubmVjdG9yLCBzaG91bGQgYmUgc3BlY2lmaWVkIGluIGNhc2Ugb2YgVVNC LUEsIFVTQi1CCj4gPiAgICBub24tZnVsbHNpemUgY29ubmVjdG9yczogIm1pbmkiLCAibWljcm8i Lgo+ID4gIAo+ID4gK1JlcXVpcmVkIHByb3BlcnRpZXMgZm9yIHVzYi1jLWNvbm5lY3RvciB3aXRo IHBvd2VyIGRlbGl2ZXJ5IHN1cHBvcnQ6Cj4gPiArLSBwb3J0LXR5cGU6IHNob3VsZCBiZSBvbmUg b2YgInNvdXJjZSIsICJzaW5rIiBvciAiZHVhbCIuCj4gPiArLSBkZWZhdWx0LXJvbGU6IHByZWZl cnJlZCBwb3dlciByb2xlIGlmIHBvcnQtdHlwZSBpcyAiZHVhbCIoZHJwKSwgc2hvdWxkIGJlCj4g PiArICAic2luayIgb3IgInNvdXJjZSIuCj4gCj4gU2luY2UgcG9ydCBjYXJyaWVzIGRhdGEgYW5k IHBvd2VyLCBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gZXhwbGljaXRseQo+IG1lbnRpb24gaXQgaW4g bmFtZXMgb2YgcHJvcGVydGllcyB3aGljaCBjYW4gYmUgYW1iaWd1b3VzLgo+IE1heWJlIGluc3Rl YWQgb2YgJ3BvcnQtdHlwZScgeW91IGNhbiB1c2UgJ3Bvd2VyLXJvbGUnLCBmb3IgZXhhbXBsZS4K PiBPdGhlciB0aGluZyBpcyB0aGF0IGRlZmF1bHQtcm9sZSBpcyByZXF1aXJlZCBvbmx5IGluIGNh c2Ugb2YgRFJQLCBzbwo+IG1heWJlIGJldHRlciB3b3VsZCBiZSB0byBzcXVhc2ggaXQgaW4gcG93 ZXItcm9sZSwgZm9yIGV4YW1wbGU6Cj4gwqDCoMKgIHBvd2VyLXJvbGU6IHNob3VsZCBiZSBvbiBv ZiAic291cmNlIiwgInNpbmsiLCAiZHVhbC1zb3VyY2UiLAo+ICJkdWFsLXNpbmsiLCBpbiBjYXNl IG9mIGR1YWwgcm9sZXMgc3VmZml4IGRldGVybWluZXMgcHJlZmVycmVkIHJvbGUuCj4gCj4gCj4g PiArLSBzcmMtcGRvczogQW4gYXJyYXkgb2YgdTMyIHdpdGggZWFjaCBlbnRyeSBwcm92aWRpbmcg c3VwcG9ydGVkIHBvd2VyCj4gPiArICBzb3VyY2UgZGF0YSBvYmplY3QoUERPKSwgdGhlIGRldGFp bGVkIGJpdCBkZWZpbml0aW9ucyBvZiBQRE8gY2FuIGJlIGZvdW5kCj4gPiArICBpbiAiVW5pdmVy c2FsIFNlcmlhbCBCdXMgUG93ZXIgRGVsaXZlcnkgU3BlY2lmaWNhdGlvbiIgY2hhcHRlciA2LjQu MS4yCj4gPiArICBTb3VyY2VfQ2FwYWJpbGl0aWVzIE1lc3NhZ2UsIHRoZSBvcmRlciBvZiBlYWNo IGVudHJ5KFBETykgc2hvdWxkIGZvbGxvdwo+ID4gKyAgdGhlIFBEIHNwZWMgY2hhcHRlciA2LjQu MS4gUmVxdWlyZWQgZm9yIHBvd2VyIHNvdXJjZSBhbmQgcG93ZXIgZHVhbCByb2xlLgo+ID4gKy0g c25rLXBkb3M6IEFuIGFycmF5IG9mIHUzMiB3aXRoIGVhY2ggZW50cnkgcHJvdmlkaW5nIHN1cHBv cnRlZCBwb3dlcgo+ID4gKyAgc2luayBkYXRhIG9iamVjdChQRE8pLCB0aGUgZGV0YWlsZWQgYml0 IGRlZmluaXRpb25zIG9mIFBETyBjYW4gYmUgZm91bmQgaW4KPiA+ICsgICJVbml2ZXJzYWwgU2Vy aWFsIEJ1cyBQb3dlciBEZWxpdmVyeSBTcGVjaWZpY2F0aW9uIiBjaGFwdGVyIDYuNC4xLjMgU2lu awo+ID4gKyAgQ2FwYWJpbGl0aWVzIE1lc3NhZ2UsIHRoZSBvcmRlciBvZiBlYWNoIGVudHJ5KFBE Tykgc2hvdWxkIGZvbGxvdyB0aGUgUEQKPiA+ICsgIHNwZWMgY2hhcHRlciA2LjQuMS4gUmVxdWly ZWQgZm9yIHBvd2VyIHNpbmsgYW5kIHBvd2VyIGR1YWwgcm9sZS4KPiAKPiBXZSBzaG91bGQgYXZv aWQgbWFnaWMgbnVtYmVycywgbWFnaWMgbnVtYmVycyBhcmUgYmFkIDopCgpJIGRvbid0IG1pbmQg aWYgdGhlcmUncyBhIGRlZmluZWQgZm9ybWF0IGZvciB0aGUgZGF0YS4KCj4gSWYgd2UgcmVhbGx5 IG5lZWQgdG8gdXNlIFBET3MgaGVyZSwgSSB0aGluayB3ZSBjYW4gcmUtdXNlIFBET18qIG1hY3Jv cwo+IFsxXSAtIERUQyBzaG91bGQgYmUgYWJsZSB0byBwYXJzZSBpdCwgbWF5YmUgc29tZSBsaWZ0 aW5nIHdpbGwgYmUgbmVjZXNzYXJ5Lgo+IAo+IFsxXToKPiBodHRwczovL2VsaXhpci5ib290bGlu LmNvbS9saW51eC92NC4xNi1yYzMvc291cmNlL2luY2x1ZGUvbGludXgvdXNiL3BkLmgjTDE2MQo+ ID4gKy0gbWF4LXNuay1taWNyb3ZvbHQ6IFRoZSBtYXggdm9sdGFnZSB0aGUgc2luayBjYW4gc3Vw cG9ydCBpbiBtaWNybyB2b2x0cywKPiA+ICsgIHJlcXVpcmVkIGZvciBwb3dlciBzaW5rIGFuZCBw b3dlciBkdWFsIHJvbGUuCj4gPiArLSBtYXgtc25rLW1pY3JvYW1wOiBUaGUgbWF4IGN1cnJlbnQg dGhlIHNpbmsgY2FuIHN1cHBvcnQgaW4gbWljcm8gYW1wcywKPiA+ICsgIHJlcXVpcmVkIGZvciBw b3dlciBzaW5rIGFuZCBwb3dlciBkdWFsIHJvbGUuCj4gPiArLSBtYXgtc25rLW1pY3Jvd2F0dC1o b3VyczogVGhlIG1heCBwb3dlciB0aGUgc2luayBjYW4gc3VwcG9ydCBpbiBtaWNybwo+ID4gKyAg V2F0dC1ob3VycywgcmVxdWlyZWQgZm9yIHBvd2VyIHNpbmsgYW5kIHBvd2VyIGR1YWwgcm9sZS4K PiA+ICstIG9wLXNuay1taWNyb3dhdHQtaG91cnM6IFNpbmsgcmVxdWlyZWQgb3BlcmF0aW5nIHBv d2VyIGluIG1pY3JvIFdhdHQtaG91cnMsCj4gPiArICBpZiBzb3VyY2Ugb2ZmZXJlZCBwb3dlciBp cyBsZXNzIHRoZW4gaXQsIENhcGFiaWxpdHkgTWlzbWF0Y2ggaXMgc2V0LAo+ID4gKyAgcmVxdWly ZWQgZm9yIHBvd2VyIHNpbmsgYW5kIHBvd2VyIGR1YWwgcm9sZS4KPiAKPiBXaGF0IGlzIHRoZSBy ZWxhdGlvbiBiZXR3ZWVuIGFib3ZlIHByb3BlcnRpZXMgYW5kIFBET3Mgc3BlY2lmaWVkIGVhcmxp ZXI/Cj4gQXJlIHlvdSBzdXJlIGFsbCB0aGVzZSBwcm9wcyBhcmUgcmVxdWlyZWQ/Cj4gCj4gQW5k IGdlbmVyYWwgcmVtYXJrIHJlZ2FyZGluZyBhbGwgYWJvdmUgcHJvcGVydGllcy4gRm9yIG1lLCBt b3N0IG9mIHRoZW0KPiBhcmUgc3BlY2lmaWMgbm90IHRvIHRoZSBwb3J0IGJ1dCB0byBkZXZpY2Vz IHJlc3BvbnNpYmxlIGZvciBwb3dlcgo+IG1hbmFnZW1lbnQ6IGNoYXJnZXJzLCBwbWljcywuLi4u Cj4gSW4gbWFueSBjYXNlcyB0aGVzZSBwcm9wZXJ0aWVzIGFyZSByZWR1bmRhbnQgd2l0aCBkZXZp Y2VzIGNhcGFiaWxpdGllcy4KPiBPbiB0aGUgb3RoZXIgc2lkZSBJIGd1ZXNzIGluIG1hbnkgY2Fz ZXMgaXQgbWF5IGJlIGNvbnZlbmllbnQgdG8gcHV0IHRoZW0KPiBoZXJlLCBzbyBJIGFtIG5vdCBz dXJlIHdoYXQgaXMgYmV0dGVyIDopCgpJIGRlYmF0ZWQgdGhhdCB0b28sIGJ1dCBkZWNpZGVkIGlm IHlvdSBoYWQgMiBjb25uZWN0b3JzIGNvbm5lY3RlZCB0byBhIApzaW5nbGUgcG93ZXIgY29udHJv bGxlciwgdGhlbiB5b3UnZCB3YW50IHRoZXNlIGluIHRoZSBjb25uZWN0b3IuCgpSb2IKLS0tClRv IHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBs aW51eC11c2IiIGluCnRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJu ZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFq b3Jkb21vLWluZm8uaHRtbAo=