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: <87muqisoxg.fsf@linux.intel.com> Date: Fri, 09 Nov 2018 09:14:19 +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+Pj4+Pj4g ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50 eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0Cj4+Pj4+ Pj4gaW5kZXggNjM2NjMwZmI5MmQ3Li43MTJiMzQ0YzNhMzEgMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEv RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4dAo+Pj4+Pj4+ICsr KyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKPj4+Pj4+ PiBAQCAtOTUsNiArOTUsMjQgQEAgT3B0aW9uYWwgcHJvcGVydGllczoKPj4+Pj4+PiAgCQkJdGhp cyBhbmQgdHgtdGhyLW51bS1wa3QtcHJkIHRvIGEgdmFsaWQsIG5vbi16ZXJvIHZhbHVlCj4+Pj4+ Pj4gIAkJCTEtMTYgKERXQ191c2IzMSBwcm9ncmFtbWluZyBndWlkZSBzZWN0aW9uIDEuMi4zKSB0 bwo+Pj4+Pj4+ICAJCQllbmFibGUgcGVyaW9kaWMgRVNTIFRYIHRocmVzaG9sZC4KPj4+Pj4+PiAr IC0gc25wcyxyZWZjbGstcGVyaW9kLW5zOiBzZXQgdG8gcHJvZ3JhbSB0aGUgcmVmZXJlbmNlIGNs b2NrIHBlcmlvZC4gVGhlIHZhbGlkCj4+Pj4+Pj4gKyAgIAkJCWlucHV0IHBlcmlvZHMgYXJlIGFz IGZvbGxvdzoKPj4+Pj4+PiArCQkJKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCj4+ Pj4+Pj4gKwkJCXwgUGVyaW9kIChucykgfCBGcmVxIChNSHopICAgICAgfAo+Pj4+Pj4+ICsJCQkr LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKPj4+Pj4+PiArCQkJfCAyNSAgICAgICAg ICB8IDM5LjcvNDAgICAgICAgICB8Cj4+Pj4+Pj4gKwkJCXwgNDEgICAgICAgICAgfCAyNC40ICAg ICAgICAgICAgfAo+Pj4+Pj4+ICsJCQl8IDUwICAgICAgICAgIHwgMjAgICAgICAgICAgICAgIHwK Pj4+Pj4+PiArCQkJfCA1MiAgICAgICAgICB8IDE5LjIgICAgICAgICAgICB8Cj4+Pj4+Pj4gKwkJ CXwgNTggICAgICAgICAgfCAxNy4yICAgICAgICAgICAgfAo+Pj4+Pj4+ICsJCQl8IDYyICAgICAg ICAgIHwgMTYuMSAgICAgICAgICAgIHwKPj4+Pj4+PiArCQkJKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rCj4+Pj4+Pj4gKyAtIHNucHMsZW5hYmxlLXJlZmNsay1scG06IHNldCB0byBl bmFibGUgbG93IHBvd2VyIHNjaGVkdWxpbmcgb2YgaXNvY2hyb25vdXMKPj4+Pj4+PiArCQkJdHJh bnNmZXJzIGJ5IHJ1bm5pbmcgU09GL0lUUCBjb3VudGVycyB1c2luZyB0aGUKPj4+Pj4+PiArCQkJ cmVmZXJlbmNlIGNsb2NrLiBPbmx5IHZhbGlkIGZvciBEV0NfdXNiMzEgcGVyaXBoZXJhbAo+Pj4+ Pj4+ICsJCQljb250cm9sbGVyIHYxLjgwYSBhbmQgaGlnaGVyLiBCb3RoCj4+Pj4+Pj4gKwkJCSJz bnBzLGRpc191Ml9zdXNwaHlfcXVpcmsiIGFuZAo+Pj4+Pj4+ICsJCQkic25wcyxkaXNfZW5ibHNs cG1fcXVpcmsiIG11c3Qgbm90IGJlIHNldC4KPj4+Pj4+IHNvdW5kcyBsaWtlIHlvdSBzaG91bGQg cmVseSBvbiBjbGsgQVBJIGhlcmUuIFRoZW4gb24gZHJpdmVyIGNhbGwKPj4+Pj4+IGNsa19nZXRf cmF0ZSgpIHRvIGNvbXB1dGVyIHdoYXRldmVyIHlvdSBuZWVkIHRvIGNvbXB1dGUuCj4+Pj4+Pgo+ Pj4+PiBUaGVyZSdzIG5vdGhpbmcgdG8gY29tcHV0ZSBoZXJlLiBXZSBjYW4gc2ltcGx5IGVuYWJs ZSB0aGlzIGZlYXR1cmUgd2l0aAo+Pj4+PiAic25wcywgZW5hYmxlLXJlZmNsay1scG0iIGFuZCB0 aGUgY29udHJvbGxlciB3aWxsIHVzZSB0aGUgZGVmYXVsdCByZWZjbGsKPj4+Pj4gc2V0dGluZ3Mu Cj4+Pj4gUmlnaHQsIHJpZ2h0LiBXaGF0IEknbSBzYXlpbmcsIHRob3VnaCwgaXMgdGhhdCB3ZSBo YXZlIGEgY2xvY2sgQVBJIGZvcgo+Pj4+IGRlc2NyaWJpbmcgYSBjbG9jay4gU28gd2h5IHdvdWxk bid0IHdlIHJlbHkgb24gdGhhdCBBUEkgZm9yIHRoaXM/IEkKPj4+PiB0aGluayBib3RoIG9mIHRo ZXNlIG5ldyBwcm9wZXJ0aWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIHN0YW5kYXJkIGNsb2NrCj4+ Pj4gQVBJIHByb3BlcnRpZXM6Cj4+Pj4KPj4+PiAJY2xvY2tzID0gPCZjbGsxPiwgLi4uLCA8Jmxw bV9jbGs+Cj4+Pj4gICAgICAgICBjbG9jay1uYW1lcyA9ICJjbG9jazEiLCAuLi4uLCAibHBtIjsK Pj4+Pgo+Pj4+IFRoZW4gZHdjMyBjb3JlIGNvdWxkLCBzaW1wbHksIGNoZWNrIGlmIHdlIGhhdmUg YSBjbG9jayBuYW1lZCAibHBtIiBhbmQKPj4+PiBpZiB0aGVyZSBpcywgdXNlIE5TRUNTX1BFUl9T RUMgLyBjbGtfZ2V0X3JhdGUoKSB0byBnZXQgaXRzIHBlcmlvZCBhbmQKPj4+PiB3cml0ZSBpdCB0 byB0aGUgcmVnaXN0ZXIgdGhhdCBuZWVkcyB0aGUgaW5mb3JtYXRpb24uCj4+PiBUaGVyZSdzIG5v IG5ldyBjbG9jayBoZXJlLiBXZSBhcmUgdXNpbmcgdGhlIHJlZl9jbGsgZm9yIFNPRiBhbmQgSVRQ Cj4+PiBjb3VudGVyIGZvciB0aGlzIGZlYXR1cmUuIEFsc28sIGNsb2NrcyBhcmUgb3B0aW9uYWwg b24gbm9uLURUIHBsYXRmb3Jtcy4KPj4+IFRvIHVzZSB0aGUgY2xvY2sgQVBJLCB0aGVuIHdlIG5l ZWQgdG8gdXBkYXRlIHRoZSBkcml2ZXIgdG8gYWxsb3cgc29tZQo+Pj4gb3B0aW9uYWwgY2xvY2sg c3VjaCBhcyAicmVmIiBjbG9jayBmb3Igbm9uLURUIHBsYXRmb3Jtcy4gRG8geW91IHdhbnQgdG8K Pj4+IGRvIGl0IGxpa2UgdGhpcz8KPj4gSSBjYW4ndCB0aGluayBvZiBhIHByb2JsZW0gdGhhdCB3 b3VsZCBhcmlzZSBmcm9tIHRoYXQuIENhbiB5b3U/IE1hcmssCj4+IFJvYiwgd2hhdCBkbyB5b3Ug dGhpbms/Cj4+Cj4gTm8gcHJvYmxlbS4gVGhhdCBjYW4gYmUgZG9uZS4gVGhpcyB3aWxsIHJlbW92 ZSB0aGUKPiAic25wcyxyZWZjbGstcGVyaW9kLW5zIiBwcm9wZXJ0eS4gQnV0IHdlIHNob3VsZCBo YXZlCj4gInNucHMsZW5hYmxlLXJlZmNsay1scG0iIHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUuCgpu b3QgcmVhbGx5LiBKdXN0IGNoZWNrIGlmIHlvdSBoYXZlIGEgY2xvY2sgbmFtZWQgbHBtLiBJZiB5 b3UgZG8sIHRoZW4KeW91IGVuYWJsZSB0aGUgZmVhdHVyZS4K 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: <30102591E157244384E984126FC3CB4F639A0FB0@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> Date: Fri, 09 Nov 2018 09:14:19 +0200 Message-ID: <87muqisoxg.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: >>>>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Docum= entation/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 perio= d. 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 i= sochronous >>>>>>> + 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 wi= th >>>>> "snps, enable-refclk-lpm" and the controller will use the default ref= clk >>>>> settings. >>>> Right, right. What I'm saying, though, is that we have a clock API for >>>> 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 clock >>>> 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" and >>>> 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 platforms. >>> 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. =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEElLzh7wn96CXwjh2IzL64meEamQYFAlvlM8sACgkQzL64meEa mQY6Yw//TI4Vfb2oz3sSf/CO3dIjjnv4gJ0gbNvvUZVOfkWYIzuzWPT37qBT/EiP k/RckKR9omsCVDd1Tolf0EFwHiJ2fMGTmIWXjhs3GnjeovzsTEPxa6czRxQsApN1 8KD0CONhp0A0LLZSnA+R6FJXRkYNpUUS1NT0XJ8wQHNqzQuU3nnyTWu38B9TmW9f D+m53HTcvM2TyJ7R4VZLmMM4TWdk4GunqddJODq2fsE4vNn0hLeW9j9+pvh0s58o YljqgW4gAT3iZrBka6UZB1/p+PpmNL0TYsm9DkyI+z27skqE49Jn8wtpfoKyMPbd pxXtU3QFkdr05TkfCp18ioB05TYwAfyXKJ1RNEbqsJUxPcrYMrBftJGfcD1UfKbb IfmTuqOD2kQdjxLPrPg13nC/X/j2+I95ZKgnv8+MTkXc4FVxHhyK2OIUD6PclpFS WWrhJglDpLAGbcbRbzpAO3lSOuZoxD1opZ1s31VpSGkl2eyCEYNfUShkWFWZTRDj Li1z/ReF5jpuLYzRtDMF7MJv5xPm0JXp5UGHsTksqXTB0xNbLjyrBJU+Hunq/Ndg +dEfRSm4W2lt4nrvoZ/25reaUupVB7yCn0ekXGko84+u7X43qj2KhHnKtaf/7pw2 wI6r3P8nOvr1WKp9uKLtWFcnsKluxc4uVXb+3t8Uso/lXHF10mQ= =Frei -----END PGP SIGNATURE----- --=-=-=--