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: <874lcst4wg.fsf@linux.intel.com> Date: Thu, 08 Nov 2018 09:17:03 +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+IHdyaXRlczoKPj4+ Pj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdj My50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0Cj4+ Pj4+IGluZGV4IDYzNjYzMGZiOTJkNy4uNzEyYjM0NGMzYTMxIDEwMDY0NAo+Pj4+PiAtLS0gYS9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0Cj4+Pj4+ICsrKyBi L0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKPj4+Pj4gQEAg LTk1LDYgKzk1LDI0IEBAIE9wdGlvbmFsIHByb3BlcnRpZXM6Cj4+Pj4+ICAJCQl0aGlzIGFuZCB0 eC10aHItbnVtLXBrdC1wcmQgdG8gYSB2YWxpZCwgbm9uLXplcm8gdmFsdWUKPj4+Pj4gIAkJCTEt MTYgKERXQ191c2IzMSBwcm9ncmFtbWluZyBndWlkZSBzZWN0aW9uIDEuMi4zKSB0bwo+Pj4+PiAg CQkJZW5hYmxlIHBlcmlvZGljIEVTUyBUWCB0aHJlc2hvbGQuCj4+Pj4+ICsgLSBzbnBzLHJlZmNs ay1wZXJpb2QtbnM6IHNldCB0byBwcm9ncmFtIHRoZSByZWZlcmVuY2UgY2xvY2sgcGVyaW9kLiBU aGUgdmFsaWQKPj4+Pj4gKyAgIAkJCWlucHV0IHBlcmlvZHMgYXJlIGFzIGZvbGxvdzoKPj4+Pj4g KwkJCSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+Pj4+PiArCQkJfCBQZXJpb2Qg KG5zKSB8IEZyZXEgKE1IeikgICAgICB8Cj4+Pj4+ICsJCQkrLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSsKPj4+Pj4gKwkJCXwgMjUgICAgICAgICAgfCAzOS43LzQwICAgICAgICAgfAo+ Pj4+PiArCQkJfCA0MSAgICAgICAgICB8IDI0LjQgICAgICAgICAgICB8Cj4+Pj4+ICsJCQl8IDUw ICAgICAgICAgIHwgMjAgICAgICAgICAgICAgIHwKPj4+Pj4gKwkJCXwgNTIgICAgICAgICAgfCAx OS4yICAgICAgICAgICAgfAo+Pj4+PiArCQkJfCA1OCAgICAgICAgICB8IDE3LjIgICAgICAgICAg ICB8Cj4+Pj4+ICsJCQl8IDYyICAgICAgICAgIHwgMTYuMSAgICAgICAgICAgIHwKPj4+Pj4gKwkJ CSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwo+Pj4+PiArIC0gc25wcyxlbmFibGUt cmVmY2xrLWxwbTogc2V0IHRvIGVuYWJsZSBsb3cgcG93ZXIgc2NoZWR1bGluZyBvZiBpc29jaHJv bm91cwo+Pj4+PiArCQkJdHJhbnNmZXJzIGJ5IHJ1bm5pbmcgU09GL0lUUCBjb3VudGVycyB1c2lu ZyB0aGUKPj4+Pj4gKwkJCXJlZmVyZW5jZSBjbG9jay4gT25seSB2YWxpZCBmb3IgRFdDX3VzYjMx IHBlcmlwaGVyYWwKPj4+Pj4gKwkJCWNvbnRyb2xsZXIgdjEuODBhIGFuZCBoaWdoZXIuIEJvdGgK Pj4+Pj4gKwkJCSJzbnBzLGRpc191Ml9zdXNwaHlfcXVpcmsiIGFuZAo+Pj4+PiArCQkJInNucHMs ZGlzX2VuYmxzbHBtX3F1aXJrIiBtdXN0IG5vdCBiZSBzZXQuCj4+Pj4gc291bmRzIGxpa2UgeW91 IHNob3VsZCByZWx5IG9uIGNsayBBUEkgaGVyZS4gVGhlbiBvbiBkcml2ZXIgY2FsbAo+Pj4+IGNs a19nZXRfcmF0ZSgpIHRvIGNvbXB1dGVyIHdoYXRldmVyIHlvdSBuZWVkIHRvIGNvbXB1dGUuCj4+ Pj4KPj4+IFRoZXJlJ3Mgbm90aGluZyB0byBjb21wdXRlIGhlcmUuIFdlIGNhbiBzaW1wbHkgZW5h YmxlIHRoaXMgZmVhdHVyZSB3aXRoCj4+PiAic25wcywgZW5hYmxlLXJlZmNsay1scG0iIGFuZCB0 aGUgY29udHJvbGxlciB3aWxsIHVzZSB0aGUgZGVmYXVsdCByZWZjbGsKPj4+IHNldHRpbmdzLgo+ PiBSaWdodCwgcmlnaHQuIFdoYXQgSSdtIHNheWluZywgdGhvdWdoLCBpcyB0aGF0IHdlIGhhdmUg YSBjbG9jayBBUEkgZm9yCj4+IGRlc2NyaWJpbmcgYSBjbG9jay4gU28gd2h5IHdvdWxkbid0IHdl IHJlbHkgb24gdGhhdCBBUEkgZm9yIHRoaXM/IEkKPj4gdGhpbmsgYm90aCBvZiB0aGVzZSBuZXcg cHJvcGVydGllcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBzdGFuZGFyZCBjbG9jawo+PiBBUEkgcHJv cGVydGllczoKPj4KPj4gCWNsb2NrcyA9IDwmY2xrMT4sIC4uLiwgPCZscG1fY2xrPgo+PiAgICAg ICAgIGNsb2NrLW5hbWVzID0gImNsb2NrMSIsIC4uLi4sICJscG0iOwo+Pgo+PiBUaGVuIGR3YzMg Y29yZSBjb3VsZCwgc2ltcGx5LCBjaGVjayBpZiB3ZSBoYXZlIGEgY2xvY2sgbmFtZWQgImxwbSIg YW5kCj4+IGlmIHRoZXJlIGlzLCB1c2UgTlNFQ1NfUEVSX1NFQyAvIGNsa19nZXRfcmF0ZSgpIHRv IGdldCBpdHMgcGVyaW9kIGFuZAo+PiB3cml0ZSBpdCB0byB0aGUgcmVnaXN0ZXIgdGhhdCBuZWVk cyB0aGUgaW5mb3JtYXRpb24uCj4gVGhlcmUncyBubyBuZXcgY2xvY2sgaGVyZS4gV2UgYXJlIHVz aW5nIHRoZSByZWZfY2xrIGZvciBTT0YgYW5kIElUUAo+IGNvdW50ZXIgZm9yIHRoaXMgZmVhdHVy ZS4gQWxzbywgY2xvY2tzIGFyZSBvcHRpb25hbCBvbiBub24tRFQgcGxhdGZvcm1zLgo+IFRvIHVz ZSB0aGUgY2xvY2sgQVBJLCB0aGVuIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBkcml2ZXIgdG8gYWxs b3cgc29tZQo+IG9wdGlvbmFsIGNsb2NrIHN1Y2ggYXMgInJlZiIgY2xvY2sgZm9yIG5vbi1EVCBw bGF0Zm9ybXMuIERvIHlvdSB3YW50IHRvCj4gZG8gaXQgbGlrZSB0aGlzPwoKSSBjYW4ndCB0aGlu ayBvZiBhIHByb2JsZW0gdGhhdCB3b3VsZCBhcmlzZSBmcm9tIHRoYXQuIENhbiB5b3U/IE1hcmss ClJvYiwgd2hhdCBkbyB5b3UgdGhpbms/Cg== 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: <30102591E157244384E984126FC3CB4F639A0ACE@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> Date: Thu, 08 Nov 2018 09:17:03 +0200 Message-ID: <874lcst4wg.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: >>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documen= tation/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 period.= 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 iso= chronous >>>>> + 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 refclk >>> 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? =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEElLzh7wn96CXwjh2IzL64meEamQYFAlvj4u8ACgkQzL64meEa mQZ5GxAA0OurrbXJzDMvTqGt2+WyOO/otx5aDMXAkXA4rZwFy6pP+w/eQtaaUdeV ymGXWrNj973OAr2JwtI/Y9EyvC1gE9/bogoDnqW90hOU74kczzvm2RDdvz+DSwiG 2d+k3hTTwZHR7C0HG4jp8E61YXVJ3DX7zuafL/uD4SQnmegMUp4pthqYlzEMFNW8 1PkaVhdiK1JnWKb/Tjkcg+DGYG7WaRfBsyPI7s6zyKKAyUe/1oys3VxauUehzPwt fKPCjekidwapWOauhLBwqi4ZzTyVVzt/jclfzOT3P8/WE1QxfCGqZNM6aiL9aOKa aN0KAHq/jEIksagJIjeGdJN19DRQnT/iNG4G9tJ9cKkceuuf/8pJcWiN9LPfHAPs X5JX2hDrZGl03/zCoDxwV5Xq9noLp1RQultsH8pjp72BTgIgaMJ5UcYjgzsVtcV/ +LOhFJegH6jcBQfP8V7cAHsBG7nfQLyE7+7yzq6YfyNxyF+U3uAhxutSYMLntm+g CSK+mIEiBW1CNysEyG/0K4LCTgsT6d5zb7lMwf2ascBpzW0U0EQv1q9iUz3PZlLd D4zv0v+kX62wDnqxw24xA/NgptongME34JfuYQ2Of4/Zbxx8MAMZ9klFNTD58Q7H r7Opnqrtymkn2WKocXBZg48GnJk6hbiN2jPIa0y26Yo7ffCsBZU= =P7wo -----END PGP SIGNATURE----- --=-=-=--