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: [1/3] usb: dwc3: Add reference clock properties From: Felipe Balbi Message-Id: <87k1lmska2.fsf@linux.intel.com> Date: Fri, 09 Nov 2018 10:54:45 +0200 To: Thinh Nguyen Thinh Nguyen , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , Rob Herring , Mark Rutland Cc: John Youn List-ID: SGksCgpUaGluaCBOZ3V5ZW4gPHRoaW5oLm5ndXllbkBzeW5vcHN5cy5jb20+IHdyaXRlczoKPj4g VGhpbmggTmd1eWVuIDx0aGluaC5uZ3V5ZW5Ac3lub3BzeXMuY29tPiB3cml0ZXM6Cj4+Pj4gVGhp bmggTmd1eWVuIDx0aGluaC5uZ3V5ZW5Ac3lub3BzeXMuY29tPiB3cml0ZXM6Cj4+Pj4+Pj4+PiBk aWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4 dCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKPj4+Pj4+ Pj4+IGluZGV4IDYzNjYzMGZiOTJkNy4uNzEyYjM0NGMzYTMxIDEwMDY0NAo+Pj4+Pj4+Pj4gLS0t IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4dAo+Pj4+Pj4+ Pj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4dAo+ Pj4+Pj4+Pj4gQEAgLTk1LDYgKzk1LDI0IEBAIE9wdGlvbmFsIHByb3BlcnRpZXM6Cj4+Pj4+Pj4+ PiAgCQkJdGhpcyBhbmQgdHgtdGhyLW51bS1wa3QtcHJkIHRvIGEgdmFsaWQsIG5vbi16ZXJvIHZh bHVlCj4+Pj4+Pj4+PiAgCQkJMS0xNiAoRFdDX3VzYjMxIHByb2dyYW1taW5nIGd1aWRlIHNlY3Rp b24gMS4yLjMpIHRvCj4+Pj4+Pj4+PiAgCQkJZW5hYmxlIHBlcmlvZGljIEVTUyBUWCB0aHJlc2hv bGQuCj4+Pj4+Pj4+PiArIC0gc25wcyxyZWZjbGstcGVyaW9kLW5zOiBzZXQgdG8gcHJvZ3JhbSB0 aGUgcmVmZXJlbmNlIGNsb2NrIHBlcmlvZC4gVGhlIHZhbGlkCj4+Pj4+Pj4+PiArICAgCQkJaW5w dXQgcGVyaW9kcyBhcmUgYXMgZm9sbG93Ogo+Pj4+Pj4+Pj4gKwkJCSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKwo+Pj4+Pj4+Pj4gKwkJCXwgUGVyaW9kIChucykgfCBGcmVxIChNSHop ICAgICAgfAo+Pj4+Pj4+Pj4gKwkJCSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+ Pj4+Pj4+Pj4gKwkJCXwgMjUgICAgICAgICAgfCAzOS43LzQwICAgICAgICAgfAo+Pj4+Pj4+Pj4g KwkJCXwgNDEgICAgICAgICAgfCAyNC40ICAgICAgICAgICAgfAo+Pj4+Pj4+Pj4gKwkJCXwgNTAg ICAgICAgICAgfCAyMCAgICAgICAgICAgICAgfAo+Pj4+Pj4+Pj4gKwkJCXwgNTIgICAgICAgICAg fCAxOS4yICAgICAgICAgICAgfAo+Pj4+Pj4+Pj4gKwkJCXwgNTggICAgICAgICAgfCAxNy4yICAg ICAgICAgICAgfAo+Pj4+Pj4+Pj4gKwkJCXwgNjIgICAgICAgICAgfCAxNi4xICAgICAgICAgICAg fAo+Pj4+Pj4+Pj4gKwkJCSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+Pj4+Pj4+ Pj4gKyAtIHNucHMsZW5hYmxlLXJlZmNsay1scG06IHNldCB0byBlbmFibGUgbG93IHBvd2VyIHNj aGVkdWxpbmcgb2YgaXNvY2hyb25vdXMKPj4+Pj4+Pj4+ICsJCQl0cmFuc2ZlcnMgYnkgcnVubmlu ZyBTT0YvSVRQIGNvdW50ZXJzIHVzaW5nIHRoZQo+Pj4+Pj4+Pj4gKwkJCXJlZmVyZW5jZSBjbG9j ay4gT25seSB2YWxpZCBmb3IgRFdDX3VzYjMxIHBlcmlwaGVyYWwKPj4+Pj4+Pj4+ICsJCQljb250 cm9sbGVyIHYxLjgwYSBhbmQgaGlnaGVyLiBCb3RoCj4+Pj4+Pj4+PiArCQkJInNucHMsZGlzX3Uy X3N1c3BoeV9xdWlyayIgYW5kCj4+Pj4+Pj4+PiArCQkJInNucHMsZGlzX2VuYmxzbHBtX3F1aXJr IiBtdXN0IG5vdCBiZSBzZXQuCj4+Pj4+Pj4+IHNvdW5kcyBsaWtlIHlvdSBzaG91bGQgcmVseSBv biBjbGsgQVBJIGhlcmUuIFRoZW4gb24gZHJpdmVyIGNhbGwKPj4+Pj4+Pj4gY2xrX2dldF9yYXRl KCkgdG8gY29tcHV0ZXIgd2hhdGV2ZXIgeW91IG5lZWQgdG8gY29tcHV0ZS4KPj4+Pj4+Pj4KPj4+ Pj4+PiBUaGVyZSdzIG5vdGhpbmcgdG8gY29tcHV0ZSBoZXJlLiBXZSBjYW4gc2ltcGx5IGVuYWJs ZSB0aGlzIGZlYXR1cmUgd2l0aAo+Pj4+Pj4+ICJzbnBzLCBlbmFibGUtcmVmY2xrLWxwbSIgYW5k IHRoZSBjb250cm9sbGVyIHdpbGwgdXNlIHRoZSBkZWZhdWx0IHJlZmNsawo+Pj4+Pj4+IHNldHRp bmdzLgo+Pj4+Pj4gUmlnaHQsIHJpZ2h0LiBXaGF0IEknbSBzYXlpbmcsIHRob3VnaCwgaXMgdGhh dCB3ZSBoYXZlIGEgY2xvY2sgQVBJIGZvcgo+Pj4+Pj4gZGVzY3JpYmluZyBhIGNsb2NrLiBTbyB3 aHkgd291bGRuJ3Qgd2UgcmVseSBvbiB0aGF0IEFQSSBmb3IgdGhpcz8gSQo+Pj4+Pj4gdGhpbmsg Ym90aCBvZiB0aGVzZSBuZXcgcHJvcGVydGllcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBzdGFuZGFy ZCBjbG9jawo+Pj4+Pj4gQVBJIHByb3BlcnRpZXM6Cj4+Pj4+Pgo+Pj4+Pj4gCWNsb2NrcyA9IDwm Y2xrMT4sIC4uLiwgPCZscG1fY2xrPgo+Pj4+Pj4gICAgICAgICBjbG9jay1uYW1lcyA9ICJjbG9j azEiLCAuLi4uLCAibHBtIjsKPj4+Pj4+Cj4+Pj4+PiBUaGVuIGR3YzMgY29yZSBjb3VsZCwgc2lt cGx5LCBjaGVjayBpZiB3ZSBoYXZlIGEgY2xvY2sgbmFtZWQgImxwbSIgYW5kCj4+Pj4+PiBpZiB0 aGVyZSBpcywgdXNlIE5TRUNTX1BFUl9TRUMgLyBjbGtfZ2V0X3JhdGUoKSB0byBnZXQgaXRzIHBl cmlvZCBhbmQKPj4+Pj4+IHdyaXRlIGl0IHRvIHRoZSByZWdpc3RlciB0aGF0IG5lZWRzIHRoZSBp bmZvcm1hdGlvbi4KPj4+Pj4gVGhlcmUncyBubyBuZXcgY2xvY2sgaGVyZS4gV2UgYXJlIHVzaW5n IHRoZSByZWZfY2xrIGZvciBTT0YgYW5kIElUUAo+Pj4+PiBjb3VudGVyIGZvciB0aGlzIGZlYXR1 cmUuIEFsc28sIGNsb2NrcyBhcmUgb3B0aW9uYWwgb24gbm9uLURUIHBsYXRmb3Jtcy4KPj4+Pj4g VG8gdXNlIHRoZSBjbG9jayBBUEksIHRoZW4gd2UgbmVlZCB0byB1cGRhdGUgdGhlIGRyaXZlciB0 byBhbGxvdyBzb21lCj4+Pj4+IG9wdGlvbmFsIGNsb2NrIHN1Y2ggYXMgInJlZiIgY2xvY2sgZm9y IG5vbi1EVCBwbGF0Zm9ybXMuIERvIHlvdSB3YW50IHRvCj4+Pj4+IGRvIGl0IGxpa2UgdGhpcz8K Pj4+PiBJIGNhbid0IHRoaW5rIG9mIGEgcHJvYmxlbSB0aGF0IHdvdWxkIGFyaXNlIGZyb20gdGhh dC4gQ2FuIHlvdT8gTWFyaywKPj4+PiBSb2IsIHdoYXQgZG8geW91IHRoaW5rPwo+Pj4+Cj4+PiBO byBwcm9ibGVtLiBUaGF0IGNhbiBiZSBkb25lLiBUaGlzIHdpbGwgcmVtb3ZlIHRoZQo+Pj4gInNu cHMscmVmY2xrLXBlcmlvZC1ucyIgcHJvcGVydHkuIEJ1dCB3ZSBzaG91bGQgaGF2ZQo+Pj4gInNu cHMsZW5hYmxlLXJlZmNsay1scG0iIHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUuCj4+IG5vdCByZWFs bHkuIEp1c3QgY2hlY2sgaWYgeW91IGhhdmUgYSBjbG9jayBuYW1lZCBscG0uIElmIHlvdSBkbywg dGhlbgo+PiB5b3UgZW5hYmxlIHRoZSBmZWF0dXJlLgo+Pgo+IEJ1dCB0aGlzIGNsb2NrIG5hbWUg c2hvdWxkIGJlICJyZWYiLiAgVGhlIG5ldyBuYW1lICJscG0iIHdvdWxkIG1ha2UgaXQKPiBzZWVt IGxpa2UgaXQncyBhIGRpZmZlcmVudCBjbG9jay4KCm5vdyBJIHVuZGVyc3RhbmQuIFRoZXJlJ3Mg bm8gc3BlY2lhbCBMUE0gY2xvY2ssIHRoaXMgaXMganVzdCB0aGUgcmVndWxhcgpvbGQgcmVmZXJl bmNlIGNsb2NrIGJlaW5nIHVzZWQgZm9yIExQTS4gSSBhZ3JlZSB3aXRoIHlvdSwgb25seQpyZWZj bGstcGVyaW9kLW5zIHdpbGwgYmUgcmVwbGFjZWQuCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Felipe Balbi Subject: Re: [PATCH 1/3] usb: dwc3: Add reference clock properties In-Reply-To: <30102591E157244384E984126FC3CB4F639A114E@us01wembx1.internal.synopsys.com> References: <877ehqv44p.fsf@linux.intel.com> <30102591E157244384E984126FC3CB4F639A080E@us01wembx1.internal.synopsys.com> <871s7xv1et.fsf@linux.intel.com> <30102591E157244384E984126FC3CB4F639A0ACE@us01wembx1.internal.synopsys.com> <874lcst4wg.fsf@linux.intel.com> <30102591E157244384E984126FC3CB4F639A0FB0@us01wembx1.internal.synopsys.com> <87muqisoxg.fsf@linux.intel.com> <30102591E157244384E984126FC3CB4F639A114E@us01wembx1.internal.synopsys.com> Date: Fri, 09 Nov 2018 10:54:45 +0200 Message-ID: <87k1lmska2.fsf@linux.intel.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" To: Thinh Nguyen Thinh Nguyen , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , Rob Herring , Mark Rutland Cc: John Youn List-ID: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi, Thinh Nguyen writes: >> Thinh Nguyen writes: >>>> Thinh Nguyen writes: >>>>>>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Doc= umentation/devicetree/bindings/usb/dwc3.txt >>>>>>>>> index 636630fb92d7..712b344c3a31 100644 >>>>>>>>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt >>>>>>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt >>>>>>>>> @@ -95,6 +95,24 @@ 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: set to program the reference clock per= iod. The valid >>>>>>>>> + input periods are as follow: >>>>>>>>> + +-------------+-----------------+ >>>>>>>>> + | Period (ns) | Freq (MHz) | >>>>>>>>> + +-------------+-----------------+ >>>>>>>>> + | 25 | 39.7/40 | >>>>>>>>> + | 41 | 24.4 | >>>>>>>>> + | 50 | 20 | >>>>>>>>> + | 52 | 19.2 | >>>>>>>>> + | 58 | 17.2 | >>>>>>>>> + | 62 | 16.1 | >>>>>>>>> + +-------------+-----------------+ >>>>>>>>> + - snps,enable-refclk-lpm: set to enable low power scheduling of= isochronous >>>>>>>>> + transfers by running SOF/ITP counters using the >>>>>>>>> + reference clock. Only valid for DWC_usb31 peripheral >>>>>>>>> + controller v1.80a and higher. Both >>>>>>>>> + "snps,dis_u2_susphy_quirk" and >>>>>>>>> + "snps,dis_enblslpm_quirk" must not be set. >>>>>>>> sounds like you should rely on clk API here. Then on driver call >>>>>>>> clk_get_rate() to computer whatever you need to compute. >>>>>>>> >>>>>>> There's nothing to compute here. We can simply enable this feature = with >>>>>>> "snps, enable-refclk-lpm" and the controller will use the default r= efclk >>>>>>> settings. >>>>>> Right, right. What I'm saying, though, is that we have a clock API f= or >>>>>> describing a clock. So why wouldn't we rely on that API for this? I >>>>>> think both of these new properties can be replaced with standard clo= ck >>>>>> API properties: >>>>>> >>>>>> clocks =3D <&clk1>, ..., <&lpm_clk> >>>>>> clock-names =3D "clock1", ...., "lpm"; >>>>>> >>>>>> Then dwc3 core could, simply, check if we have a clock named "lpm" a= nd >>>>>> if there is, use NSECS_PER_SEC / clk_get_rate() to get its period and >>>>>> write it to the register that needs the information. >>>>> There's no new clock here. We are using the ref_clk for SOF and ITP >>>>> counter for this feature. Also, clocks are optional on non-DT platfor= ms. >>>>> To use the clock API, then we need to update the driver to allow some >>>>> optional clock such as "ref" clock for non-DT platforms. Do you want = to >>>>> do it like this? >>>> I can't think of a problem that would arise from that. Can you? Mark, >>>> Rob, what do you think? >>>> >>> No problem. That can be done. This will remove the >>> "snps,refclk-period-ns" property. But we should have >>> "snps,enable-refclk-lpm" to enable this feature. >> not really. Just check if you have a clock named lpm. If you do, then >> you enable the feature. >> > But this clock name should be "ref". The new name "lpm" would make it > seem like it's a different clock. now I understand. There's no special LPM clock, this is just the regular old reference clock being used for LPM. I agree with you, only refclk-period-ns will be replaced. =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEElLzh7wn96CXwjh2IzL64meEamQYFAlvlS1UACgkQzL64meEa mQaJ9w//bNYQZVwnIJ0lrf+mujgqu0LevqyDQc1r7pwxYu/i0zgIxj7RW9cqcIX9 w/6PwXa4XaAx+9vvGRLrvuRVFjwPPRulGz9hWDl8S8iXgv5Wx4rzqd+5fmRz3OkC BMjKtGSJrLu9kb2+fQ6qYdkA1Ddm6Z5SqTaT3iX4OeGmNpYPV6v6HjfnUW7/1MB5 +WQnC+/iECfLQMnH6A2nvbbQhentUcImss8x9awkNhG24QoE4VVpJYxUODaGxJv0 +QZ6j/EJMF9yg+ENhK0y1GuaGkPMLhI371lU8Nmvjry6Ak+3dN2zRF00svs680Fq z+Rg5FW/pTiwwNkZBPAZso3jyWXBxc1ZrG6s1xN6K8LayHODsli79cpz0r3xka3i hYERCFqBIMUUaLfMG62AxIOP0wwlR+KSC1V+Y6dQlupypaHZJomDUIiCuYZYqcPW 9vtnJxryr45jQacf7XFdscNWsdFLS9e+WILmdPJ+3XmeMZooqmm4VPLhWzQmRs2k W/2TcKwPEY0zhpZTSoNPcJnyCgz6PaQqHFhmx8KHiAPseeVMNEahEu9C0//HgPig ITn0M/kMDtsnyYmtkiJc5naTLKd5OyNpZ9geFdrwqWd2K5MMJ54GL+hCOC0rCwb0 RHIFZWOjIgT32c9/miVplgk6GapPJOSRtuxlnJqkuA0dFtWP7IE= =zAVZ -----END PGP SIGNATURE----- --=-=-=--