From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Thinh Nguyen Subject: Re: [PATCH v2 1/4] usb: dwc3: Add property snps,refclk-period-ns Date: Fri, 21 Dec 2018 00:21:58 +0000 Message-ID: <30102591E157244384E984126FC3CB4F639ABA8B@us01wembx1.internal.synopsys.com> 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> Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 To: Felipe Balbi , Thinh Nguyen , Rob Herring Cc: Linux USB List , "devicetree@vger.kernel.org" , Mark Rutland , John Youn List-ID: Hi,=0A= =0A= On 12/19/2018 10:48 PM, Felipe Balbi wrote:=0A= > Hi,=0A= >=0A= > Thinh Nguyen writes:=0A= >>>> On 12/18/2018 8:39 AM, Rob Herring wrote:=0A= >>>>> On Fri, Dec 07, 2018 at 06:27:30PM -0800, Thinh Nguyen wrote:=0A= >>>>>> This patch introduces property "snps,refclk-period-ns" to inform the= =0A= >>>>>> controller of the reference clock period. If the reference clock per= iod=0A= >>>>>> is different from the default Core Consultant setting, then this=0A= >>>>>> property can be set to the reference clock period.=0A= >>>>>>=0A= >>>>>> This property does not control the reference clock rate. The control= ler=0A= >>>>>> uses this value to perform internal timing calculations that are bas= ed=0A= >>>>>> on the reference clock.=0A= >>>>>>=0A= >>>>>> Signed-off-by: Thinh Nguyen =0A= >>>>>> ---=0A= >>>>>> Changes in v2:=0A= >>>>>> - Split from "usb: dwc3: Add reference clock properties"=0A= >>>>>> - Revise commit message and property description=0A= >>>>>>=0A= >>>>>> Documentation/devicetree/bindings/usb/dwc3.txt | 2 ++=0A= >>>>>> 1 file changed, 2 insertions(+)=0A= >>>>>>=0A= >>>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Docume= ntation/devicetree/bindings/usb/dwc3.txt=0A= >>>>>> index 8e5265e9f658..b7e67edff9b2 100644=0A= >>>>>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt=0A= >>>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt=0A= >>>>>> @@ -99,6 +99,8 @@ Optional properties:=0A= >>>>>> this and tx-thr-num-pkt-prd to a valid, non-zer= o value=0A= >>>>>> 1-16 (DWC_usb31 programming guide section 1.2.3= ) to=0A= >>>>>> enable periodic ESS TX threshold.=0A= >>>>>> + - snps,refclk-period-ns: if set, this value informs the controller= of the=0A= >>>>>> + reference clock period in nanoseconds.=0A= >>>>> Shouldn't you be able to retrieve the refclk frequency and then=0A= >>>>> calculate the period?=0A= >>>> The thing is we cannot determine the ref_clk frequency for some device= s=0A= >>>> that don't specify their clocks. So I think we should have an option t= o=0A= >>>> inform the controller of the ref_clk period for those devices.=0A= >>> Specifying the clock should be mandatory (if you want/need this=0A= >>> feature). It just requires a fixed-clock node at a minimum.=0A= >> Depending on the design of the controller, the ref_clk frequency is not= =0A= >> something that the OS can read/control. So we cannot make it mandatory= =0A= >> for every device to have a clock node.=0A= > We can make it mandatory to everyone who wants to use the feature. It's= =0A= > no different than making snps,refclk-period-ns mandatory to everyone who= =0A= > wants to use the feature you're introducing.=0A= >=0A= =0A= But not every design has access to the clock with an actual address for=0A= the OS to read. Only the developers will know the frequency of the=0A= ref_clk, and they can inform the controller via this property.=0A= =0A= We cannot force the developers to change their design requirement simply=0A= to inform the controller of the ref_clk period.=0A= =0A= Thinh=0A= 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: Thinh Nguyen Message-Id: <30102591E157244384E984126FC3CB4F639ABA8B@us01wembx1.internal.synopsys.com> Date: Fri, 21 Dec 2018 00:21:58 +0000 To: Felipe Balbi , Thinh Nguyen , Rob Herring Cc: Linux USB List , "devicetree@vger.kernel.org" , Mark Rutland , John Youn List-ID: SGksCgpPbiAxMi8xOS8yMDE4IDEwOjQ4IFBNLCBGZWxpcGUgQmFsYmkgd3JvdGU6Cj4gSGksCj4K PiBUaGluaCBOZ3V5ZW4gPHRoaW5oLm5ndXllbkBzeW5vcHN5cy5jb20+IHdyaXRlczoKPj4+PiBP biAxMi8xOC8yMDE4IDg6MzkgQU0sIFJvYiBIZXJyaW5nIHdyb3RlOgo+Pj4+PiBPbiBGcmksIERl YyAwNywgMjAxOCBhdCAwNjoyNzozMFBNIC0wODAwLCBUaGluaCBOZ3V5ZW4gd3JvdGU6Cj4+Pj4+ PiBUaGlzIHBhdGNoIGludHJvZHVjZXMgcHJvcGVydHkgInNucHMscmVmY2xrLXBlcmlvZC1ucyIg dG8gaW5mb3JtIHRoZQo+Pj4+Pj4gY29udHJvbGxlciBvZiB0aGUgcmVmZXJlbmNlIGNsb2NrIHBl cmlvZC4gSWYgdGhlIHJlZmVyZW5jZSBjbG9jayBwZXJpb2QKPj4+Pj4+IGlzIGRpZmZlcmVudCBm cm9tIHRoZSBkZWZhdWx0IENvcmUgQ29uc3VsdGFudCBzZXR0aW5nLCB0aGVuIHRoaXMKPj4+Pj4+ IHByb3BlcnR5IGNhbiBiZSBzZXQgdG8gdGhlIHJlZmVyZW5jZSBjbG9jayBwZXJpb2QuCj4+Pj4+ Pgo+Pj4+Pj4gVGhpcyBwcm9wZXJ0eSBkb2VzIG5vdCBjb250cm9sIHRoZSByZWZlcmVuY2UgY2xv Y2sgcmF0ZS4gVGhlIGNvbnRyb2xsZXIKPj4+Pj4+IHVzZXMgdGhpcyB2YWx1ZSB0byBwZXJmb3Jt IGludGVybmFsIHRpbWluZyBjYWxjdWxhdGlvbnMgdGhhdCBhcmUgYmFzZWQKPj4+Pj4+IG9uIHRo ZSByZWZlcmVuY2UgY2xvY2suCj4+Pj4+Pgo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogVGhpbmggTmd1 eWVuIDx0aGluaG5Ac3lub3BzeXMuY29tPgo+Pj4+Pj4gLS0tCj4+Pj4+PiBDaGFuZ2VzIGluIHYy Ogo+Pj4+Pj4gLSBTcGxpdCBmcm9tICJ1c2I6IGR3YzM6IEFkZCByZWZlcmVuY2UgY2xvY2sgcHJv cGVydGllcyIKPj4+Pj4+IC0gUmV2aXNlIGNvbW1pdCBtZXNzYWdlIGFuZCBwcm9wZXJ0eSBkZXNj cmlwdGlvbgo+Pj4+Pj4KPj4+Pj4+ICBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv dXNiL2R3YzMudHh0IHwgMiArKwo+Pj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KykKPj4+Pj4+Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3VzYi9kd2MzLnR4dCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91 c2IvZHdjMy50eHQKPj4+Pj4+IGluZGV4IDhlNTI2NWU5ZjY1OC4uYjdlNjdlZGZmOWIyIDEwMDY0 NAo+Pj4+Pj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2Mz LnR4dAo+Pj4+Pj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9k d2MzLnR4dAo+Pj4+Pj4gQEAgLTk5LDYgKzk5LDggQEAgT3B0aW9uYWwgcHJvcGVydGllczoKPj4+ Pj4+ICAgICAgICAgICAgICAgICAgICAgIHRoaXMgYW5kIHR4LXRoci1udW0tcGt0LXByZCB0byBh IHZhbGlkLCBub24temVybyB2YWx1ZQo+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgMS0xNiAo RFdDX3VzYjMxIHByb2dyYW1taW5nIGd1aWRlIHNlY3Rpb24gMS4yLjMpIHRvCj4+Pj4+PiAgICAg ICAgICAgICAgICAgICAgICBlbmFibGUgcGVyaW9kaWMgRVNTIFRYIHRocmVzaG9sZC4KPj4+Pj4+ ICsgLSBzbnBzLHJlZmNsay1wZXJpb2QtbnM6IGlmIHNldCwgdGhpcyB2YWx1ZSBpbmZvcm1zIHRo ZSBjb250cm9sbGVyIG9mIHRoZQo+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNl IGNsb2NrIHBlcmlvZCBpbiBuYW5vc2Vjb25kcy4KPj4+Pj4gU2hvdWxkbid0IHlvdSBiZSBhYmxl IHRvIHJldHJpZXZlIHRoZSByZWZjbGsgZnJlcXVlbmN5IGFuZCB0aGVuCj4+Pj4+IGNhbGN1bGF0 ZSB0aGUgcGVyaW9kPwo+Pj4+IFRoZSB0aGluZyBpcyB3ZSBjYW5ub3QgZGV0ZXJtaW5lIHRoZSBy ZWZfY2xrIGZyZXF1ZW5jeSBmb3Igc29tZSBkZXZpY2VzCj4+Pj4gdGhhdCBkb24ndCBzcGVjaWZ5 IHRoZWlyIGNsb2Nrcy4gU28gSSB0aGluayB3ZSBzaG91bGQgaGF2ZSBhbiBvcHRpb24gdG8KPj4+ PiBpbmZvcm0gdGhlIGNvbnRyb2xsZXIgb2YgdGhlIHJlZl9jbGsgcGVyaW9kIGZvciB0aG9zZSBk ZXZpY2VzLgo+Pj4gU3BlY2lmeWluZyB0aGUgY2xvY2sgc2hvdWxkIGJlIG1hbmRhdG9yeSAoaWYg eW91IHdhbnQvbmVlZCB0aGlzCj4+PiBmZWF0dXJlKS4gSXQganVzdCByZXF1aXJlcyBhIGZpeGVk LWNsb2NrIG5vZGUgYXQgYSBtaW5pbXVtLgo+PiBEZXBlbmRpbmcgb24gdGhlIGRlc2lnbiBvZiB0 aGUgY29udHJvbGxlciwgdGhlIHJlZl9jbGsgZnJlcXVlbmN5IGlzIG5vdAo+PiBzb21ldGhpbmcg dGhhdCB0aGUgT1MgY2FuIHJlYWQvY29udHJvbC4gU28gd2UgY2Fubm90IG1ha2UgaXQgbWFuZGF0 b3J5Cj4+IGZvciBldmVyeSBkZXZpY2UgdG8gaGF2ZSBhIGNsb2NrIG5vZGUuCj4gV2UgY2FuIG1h a2UgaXQgbWFuZGF0b3J5IHRvIGV2ZXJ5b25lIHdobyB3YW50cyB0byB1c2UgdGhlIGZlYXR1cmUu IEl0J3MKPiBubyBkaWZmZXJlbnQgdGhhbiBtYWtpbmcgc25wcyxyZWZjbGstcGVyaW9kLW5zIG1h bmRhdG9yeSB0byBldmVyeW9uZSB3aG8KPiB3YW50cyB0byB1c2UgdGhlIGZlYXR1cmUgeW91J3Jl IGludHJvZHVjaW5nLgo+CgpCdXQgbm90IGV2ZXJ5IGRlc2lnbiBoYXMgYWNjZXNzIHRvIHRoZSBj bG9jayB3aXRoIGFuIGFjdHVhbCBhZGRyZXNzIGZvcgp0aGUgT1MgdG8gcmVhZC4gT25seSB0aGUg ZGV2ZWxvcGVycyB3aWxsIGtub3cgdGhlIGZyZXF1ZW5jeSBvZiB0aGUKcmVmX2NsaywgYW5kIHRo ZXkgY2FuIGluZm9ybSB0aGUgY29udHJvbGxlciB2aWEgdGhpcyBwcm9wZXJ0eS4KCldlIGNhbm5v dCBmb3JjZSB0aGUgZGV2ZWxvcGVycyB0byBjaGFuZ2UgdGhlaXIgZGVzaWduIHJlcXVpcmVtZW50 IHNpbXBseQp0byBpbmZvcm0gdGhlIGNvbnRyb2xsZXIgb2YgdGhlIHJlZl9jbGsgcGVyaW9kLgoK VGhpbmgK