From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Date: Fri, 21 Dec 2018 11:11:45 -0600 References: <83adc98adc1760a0fad87d81d171e1dac783e7e5.1544235317.git.thinhn@synopsys.com> <20181218163858.GA12336@bogus> <30102591E157244384E984126FC3CB4F639AB1BC@us01wembx1.internal.synopsys.com> <30102591E157244384E984126FC3CB4F639AB64F@us01wembx1.internal.synopsys.com> <87va3ou21i.fsf@linux.intel.com> <30102591E157244384E984126FC3CB4F639ABA8B@us01wembx1.internal.synopsys.com> In-Reply-To: <30102591E157244384E984126FC3CB4F639ABA8B@us01wembx1.internal.synopsys.com> Message-ID: Subject: Re: [PATCH v2 1/4] usb: dwc3: Add property snps,refclk-period-ns From: Rob Herring Content-Type: text/plain; charset="UTF-8" To: Thinh Nguyen Cc: Felipe Balbi , Linux USB List , devicetree@vger.kernel.org, Mark Rutland , John Youn List-ID: On Thu, Dec 20, 2018 at 6:22 PM Thinh Nguyen wrote: > > Hi, > > On 12/19/2018 10:48 PM, Felipe Balbi wrote: > > Hi, > > > > Thinh Nguyen writes: > >>>> On 12/18/2018 8:39 AM, Rob Herring wrote: > >>>>> On Fri, Dec 07, 2018 at 06:27:30PM -0800, Thinh Nguyen wrote: > >>>>>> This patch introduces property "snps,refclk-period-ns" to inform the > >>>>>> controller of the reference clock period. If the reference clock period > >>>>>> is different from the default Core Consultant setting, then this > >>>>>> property can be set to the reference clock period. > >>>>>> > >>>>>> This property does not control the reference clock rate. The controller > >>>>>> uses this value to perform internal timing calculations that are based > >>>>>> on the reference clock. > >>>>>> > >>>>>> Signed-off-by: Thinh Nguyen > >>>>>> --- > >>>>>> Changes in v2: > >>>>>> - Split from "usb: dwc3: Add reference clock properties" > >>>>>> - Revise commit message and property description > >>>>>> > >>>>>> Documentation/devicetree/bindings/usb/dwc3.txt | 2 ++ > >>>>>> 1 file changed, 2 insertions(+) > >>>>>> > >>>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt > >>>>>> index 8e5265e9f658..b7e67edff9b2 100644 > >>>>>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt > >>>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt > >>>>>> @@ -99,6 +99,8 @@ Optional properties: > >>>>>> this and tx-thr-num-pkt-prd to a valid, non-zero value > >>>>>> 1-16 (DWC_usb31 programming guide section 1.2.3) to > >>>>>> enable periodic ESS TX threshold. > >>>>>> + - snps,refclk-period-ns: if set, this value informs the controller of the > >>>>>> + reference clock period in nanoseconds. > >>>>> Shouldn't you be able to retrieve the refclk frequency and then > >>>>> calculate the period? > >>>> The thing is we cannot determine the ref_clk frequency for some devices > >>>> that don't specify their clocks. So I think we should have an option to > >>>> inform the controller of the ref_clk period for those devices. > >>> Specifying the clock should be mandatory (if you want/need this > >>> feature). It just requires a fixed-clock node at a minimum. > >> Depending on the design of the controller, the ref_clk frequency is not > >> something that the OS can read/control. So we cannot make it mandatory > >> for every device to have a clock node. > > We can make it mandatory to everyone who wants to use the feature. It's > > no different than making snps,refclk-period-ns mandatory to everyone who > > wants to use the feature you're introducing. > > > > But not every design has access to the clock with an actual address for > the OS to read. Only the developers will know the frequency of the > ref_clk, and they can inform the controller via this property. Then you use the flxed-clock binding. 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,1/4] usb: dwc3: Add property snps,refclk-period-ns From: Rob Herring Message-Id: Date: Fri, 21 Dec 2018 11:11:45 -0600 To: Thinh Nguyen Cc: Felipe Balbi , Linux USB List , devicetree@vger.kernel.org, Mark Rutland , John Youn List-ID: T24gVGh1LCBEZWMgMjAsIDIwMTggYXQgNjoyMiBQTSBUaGluaCBOZ3V5ZW4gPHRoaW5oLm5ndXll bkBzeW5vcHN5cy5jb20+IHdyb3RlOgo+Cj4gSGksCj4KPiBPbiAxMi8xOS8yMDE4IDEwOjQ4IFBN LCBGZWxpcGUgQmFsYmkgd3JvdGU6Cj4gPiBIaSwKPiA+Cj4gPiBUaGluaCBOZ3V5ZW4gPHRoaW5o Lm5ndXllbkBzeW5vcHN5cy5jb20+IHdyaXRlczoKPiA+Pj4+IE9uIDEyLzE4LzIwMTggODozOSBB TSwgUm9iIEhlcnJpbmcgd3JvdGU6Cj4gPj4+Pj4gT24gRnJpLCBEZWMgMDcsIDIwMTggYXQgMDY6 Mjc6MzBQTSAtMDgwMCwgVGhpbmggTmd1eWVuIHdyb3RlOgo+ID4+Pj4+PiBUaGlzIHBhdGNoIGlu dHJvZHVjZXMgcHJvcGVydHkgInNucHMscmVmY2xrLXBlcmlvZC1ucyIgdG8gaW5mb3JtIHRoZQo+ ID4+Pj4+PiBjb250cm9sbGVyIG9mIHRoZSByZWZlcmVuY2UgY2xvY2sgcGVyaW9kLiBJZiB0aGUg cmVmZXJlbmNlIGNsb2NrIHBlcmlvZAo+ID4+Pj4+PiBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZGVm YXVsdCBDb3JlIENvbnN1bHRhbnQgc2V0dGluZywgdGhlbiB0aGlzCj4gPj4+Pj4+IHByb3BlcnR5 IGNhbiBiZSBzZXQgdG8gdGhlIHJlZmVyZW5jZSBjbG9jayBwZXJpb2QuCj4gPj4+Pj4+Cj4gPj4+ Pj4+IFRoaXMgcHJvcGVydHkgZG9lcyBub3QgY29udHJvbCB0aGUgcmVmZXJlbmNlIGNsb2NrIHJh dGUuIFRoZSBjb250cm9sbGVyCj4gPj4+Pj4+IHVzZXMgdGhpcyB2YWx1ZSB0byBwZXJmb3JtIGlu dGVybmFsIHRpbWluZyBjYWxjdWxhdGlvbnMgdGhhdCBhcmUgYmFzZWQKPiA+Pj4+Pj4gb24gdGhl IHJlZmVyZW5jZSBjbG9jay4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogVGhpbmgg Tmd1eWVuIDx0aGluaG5Ac3lub3BzeXMuY29tPgo+ID4+Pj4+PiAtLS0KPiA+Pj4+Pj4gQ2hhbmdl cyBpbiB2MjoKPiA+Pj4+Pj4gLSBTcGxpdCBmcm9tICJ1c2I6IGR3YzM6IEFkZCByZWZlcmVuY2Ug Y2xvY2sgcHJvcGVydGllcyIKPiA+Pj4+Pj4gLSBSZXZpc2UgY29tbWl0IG1lc3NhZ2UgYW5kIHBy b3BlcnR5IGRlc2NyaXB0aW9uCj4gPj4+Pj4+Cj4gPj4+Pj4+ICBEb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0IHwgMiArKwo+ID4+Pj4+PiAgMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKQo+ID4+Pj4+Pgo+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4dCBiL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKPiA+Pj4+Pj4gaW5kZXggOGU1MjY1ZTlm NjU4Li5iN2U2N2VkZmY5YjIgMTAwNjQ0Cj4gPj4+Pj4+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKPiA+Pj4+Pj4gKysrIGIvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4dAo+ID4+Pj4+PiBAQCAtOTksNiArOTks OCBAQCBPcHRpb25hbCBwcm9wZXJ0aWVzOgo+ID4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICB0 aGlzIGFuZCB0eC10aHItbnVtLXBrdC1wcmQgdG8gYSB2YWxpZCwgbm9uLXplcm8gdmFsdWUKPiA+ Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgMS0xNiAoRFdDX3VzYjMxIHByb2dyYW1taW5nIGd1 aWRlIHNlY3Rpb24gMS4yLjMpIHRvCj4gPj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgIGVuYWJs ZSBwZXJpb2RpYyBFU1MgVFggdGhyZXNob2xkLgo+ID4+Pj4+PiArIC0gc25wcyxyZWZjbGstcGVy aW9kLW5zOiBpZiBzZXQsIHRoaXMgdmFsdWUgaW5mb3JtcyB0aGUgY29udHJvbGxlciBvZiB0aGUK PiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlIGNsb2NrIHBlcmlvZCBpbiBu YW5vc2Vjb25kcy4KPiA+Pj4+PiBTaG91bGRuJ3QgeW91IGJlIGFibGUgdG8gcmV0cmlldmUgdGhl IHJlZmNsayBmcmVxdWVuY3kgYW5kIHRoZW4KPiA+Pj4+PiBjYWxjdWxhdGUgdGhlIHBlcmlvZD8K PiA+Pj4+IFRoZSB0aGluZyBpcyB3ZSBjYW5ub3QgZGV0ZXJtaW5lIHRoZSByZWZfY2xrIGZyZXF1 ZW5jeSBmb3Igc29tZSBkZXZpY2VzCj4gPj4+PiB0aGF0IGRvbid0IHNwZWNpZnkgdGhlaXIgY2xv Y2tzLiBTbyBJIHRoaW5rIHdlIHNob3VsZCBoYXZlIGFuIG9wdGlvbiB0bwo+ID4+Pj4gaW5mb3Jt IHRoZSBjb250cm9sbGVyIG9mIHRoZSByZWZfY2xrIHBlcmlvZCBmb3IgdGhvc2UgZGV2aWNlcy4K PiA+Pj4gU3BlY2lmeWluZyB0aGUgY2xvY2sgc2hvdWxkIGJlIG1hbmRhdG9yeSAoaWYgeW91IHdh bnQvbmVlZCB0aGlzCj4gPj4+IGZlYXR1cmUpLiBJdCBqdXN0IHJlcXVpcmVzIGEgZml4ZWQtY2xv Y2sgbm9kZSBhdCBhIG1pbmltdW0uCj4gPj4gRGVwZW5kaW5nIG9uIHRoZSBkZXNpZ24gb2YgdGhl IGNvbnRyb2xsZXIsIHRoZSByZWZfY2xrIGZyZXF1ZW5jeSBpcyBub3QKPiA+PiBzb21ldGhpbmcg dGhhdCB0aGUgT1MgY2FuIHJlYWQvY29udHJvbC4gU28gd2UgY2Fubm90IG1ha2UgaXQgbWFuZGF0 b3J5Cj4gPj4gZm9yIGV2ZXJ5IGRldmljZSB0byBoYXZlIGEgY2xvY2sgbm9kZS4KPiA+IFdlIGNh biBtYWtlIGl0IG1hbmRhdG9yeSB0byBldmVyeW9uZSB3aG8gd2FudHMgdG8gdXNlIHRoZSBmZWF0 dXJlLiBJdCdzCj4gPiBubyBkaWZmZXJlbnQgdGhhbiBtYWtpbmcgc25wcyxyZWZjbGstcGVyaW9k LW5zIG1hbmRhdG9yeSB0byBldmVyeW9uZSB3aG8KPiA+IHdhbnRzIHRvIHVzZSB0aGUgZmVhdHVy ZSB5b3UncmUgaW50cm9kdWNpbmcuCj4gPgo+Cj4gQnV0IG5vdCBldmVyeSBkZXNpZ24gaGFzIGFj Y2VzcyB0byB0aGUgY2xvY2sgd2l0aCBhbiBhY3R1YWwgYWRkcmVzcyBmb3IKPiB0aGUgT1MgdG8g cmVhZC4gT25seSB0aGUgZGV2ZWxvcGVycyB3aWxsIGtub3cgdGhlIGZyZXF1ZW5jeSBvZiB0aGUK PiByZWZfY2xrLCBhbmQgdGhleSBjYW4gaW5mb3JtIHRoZSBjb250cm9sbGVyIHZpYSB0aGlzIHBy b3BlcnR5LgoKVGhlbiB5b3UgdXNlIHRoZSBmbHhlZC1jbG9jayBiaW5kaW5nLgoKUm9iCg==