From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CE249C433EF for ; Tue, 26 Apr 2022 08:34:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1NqcxpYhHBZCDTUjoMkDIKpxPwrlN6EvqqNhiceQNYE=; b=Jwd/wpEYJcw5L+ CNoEpqDFwWsFtVW6IgYqQRV2Fg7fgW1E1WSojp8ZlG39SCGRs2g6jdSL2MiDL996fjGr6BkWTlyzt 6vKb1U4B3wK4SrEMNl3KKh/DCnJnD5KicXq5WfLo3XMBN/JbclftBZI/KJw+Cq7Dls9nosDLU27oX v7J8TqDBwTB+r3isjdhilMe+IHLGr/dkIf/8Gqlv25moZigCcdGAYISj4dAFViHKvwygS6TpTGlMK KHknXDbFttPL3SfqcqaArH7A7e4Z7Fin+f/KgrQC0AhLZtwcNN1PLv2QNf24FzsHth8llBdH84egy U7peehbVvbRdKp2M09qA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1njGen-00DLSg-UL; Tue, 26 Apr 2022 08:34:50 +0000 Received: from mail-lj1-x22f.google.com ([2a00:1450:4864:20::22f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1njGeh-00DLHG-GY for linux-phy@lists.infradead.org; Tue, 26 Apr 2022 08:34:48 +0000 Received: by mail-lj1-x22f.google.com with SMTP id 17so21012785lji.1 for ; Tue, 26 Apr 2022 01:34:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=FInGpHNCcK/TD9SeWZQkc/p1sMIqORL6XIEEOHsCc5Y=; b=CLHRbStTr+GP4H1R32XYex1OOt6UMLD5DVs8Y8EppitDdNDDEv0K1BqpOO1nDGDLMg hJUmM6Ct1NCX9Y/dkzc9REBoM5lxcvFeqQxnHg80MVzrsD8euorL5+x4rx9dTAKtpQbv ill+cLT7m/IGnGVSKzNglJwi1X6rpeCyAQd1j1+GBdy2wgoTh0NGPUJ9fGWS0KZokdH4 /OsnqYPGkXtpFRbJ89GF22UABmikkL8DZNS0NNfTlireooayv+sMOgC/kZ8LAs1sDnc7 TjjWm1xCrlXJNyfL5uatUqV7peHIfAgYeAMsWncycgiRKl2w0EQQU2X9yBpc91yYyJ95 l+2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=FInGpHNCcK/TD9SeWZQkc/p1sMIqORL6XIEEOHsCc5Y=; b=Q19HBxEDmXLwlM9v7G4DAOppAoHKCtzfAV9cCqkaxeG1fw6y8IAY0q6j6grjd50QDQ vAd5xv6XKJBE93LgTaUswsMjhRvTkz5oHCB7h7/989rb7JNEqYgf/ZeUXZ8sWqeg/8b1 PsM1GgBXd9noq8+5SSDw1/iOPQvMMJ+wrnvjnzmhn8bqn8siwJK3cvBr9STd+8K35btu Pyb7iNjTPab7X6T9WcFOMNdmlVnSfJc1AY1Hnprq/WAixYaTflgrmWO5ATs6jUjfs5DK eHELYS2nRWYx/Li2+Q1nFCBaKSe0LHT7FJ3Qp1S1Jo0F+sPOBjSXcstr6rpW0RBZI+aB tsGg== X-Gm-Message-State: AOAM533CAa88vITWrEh6JPcN3D3qRrYYZW2mWVikzskwX0JcWfoNj9L4 AanN8AoCZez7unaVRugSOcSLMnvSVStlfIFhdEU= X-Google-Smtp-Source: ABdhPJxeMid+gRhAqzBjhRPHQFzn6lFG1yCpNvUP7oiHdtWHc0z7NiIkWEb0UaQ2oPUse7gCnz2myidtn5jCf4tPuwk= X-Received: by 2002:a2e:8e91:0:b0:24d:aac1:f855 with SMTP id z17-20020a2e8e91000000b0024daac1f855mr14178666ljk.28.1650962072007; Tue, 26 Apr 2022 01:34:32 -0700 (PDT) MIME-Version: 1.0 References: <1646393418-26421-1-git-send-email-vincent.sunplus@gmail.com> <1646393418-26421-2-git-send-email-vincent.sunplus@gmail.com> In-Reply-To: From: =?UTF-8?B?5pa96YyV6bS7?= Date: Tue, 26 Apr 2022 16:37:08 +0800 Message-ID: Subject: Re: [PATCH v1 1/2] phy: usb: Add USB2.0 phy driver for Sunplus SP7021 To: Vinod Koul Cc: kishon@ti.com, p.zabel@pengutronix.de, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-usb@vger.kernel.org, robh+dt@kernel.org, devicetree@vger.kernel.org, wells.lu@sunplus.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220426_013443_627632_1D6CBBCA X-CRM114-Status: GOOD ( 26.98 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org Vmlub2QgS291bCA8dmtvdWxAa2VybmVsLm9yZz4g5pa8IDIwMjLlubQ05pyIMTPml6Ug6YCx5LiJ IOS4i+WNiDU6NDnlr6vpgZPvvJoKPgo+IE9uIDA0LTAzLTIyLCAxOTozMCwgVmluY2VudCBTaGlo IHdyb3RlOgo+ID4gQWRkIFVTQjIuMCBwaHkgZHJpdmVyIGZvciBTdW5wbHVzIFNQNzAyMQo+ID4K PiA+IFNpZ25lZC1vZmYtYnk6IFZpbmNlbnQgU2hpaCA8dmluY2VudC5zdW5wbHVzQGdtYWlsLmNv bT4KPiA+IC0tLQo+ID4gIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICA4ICsrCj4gPiAgZHJpdmVycy9waHkvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgfCAgIDEg Kwo+ID4gIGRyaXZlcnMvcGh5L01ha2VmaWxlICAgICAgICAgICAgICAgICAgIHwgICAxICsKPiA+ ICBkcml2ZXJzL3BoeS9zdW5wbHVzL0tjb25maWcgICAgICAgICAgICB8ICAxMiArKwo+ID4gIGRy aXZlcnMvcGh5L3N1bnBsdXMvTWFrZWZpbGUgICAgICAgICAgIHwgICAyICsKPiA+ICBkcml2ZXJz L3BoeS9zdW5wbHVzL3BoeS1zdW5wbHVzLXVzYjIuYyB8IDI0OCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiA+ICA2IGZpbGVzIGNoYW5nZWQsIDI3MiBpbnNlcnRpb25zKCspCj4g PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGh5L3N1bnBsdXMvS2NvbmZpZwo+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3BoeS9zdW5wbHVzL01ha2VmaWxlCj4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGh5L3N1bnBsdXMvcGh5LXN1bnBsdXMtdXNiMi5jCj4gPgo+ ID4gZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKPiA+IGluZGV4IDgwZWVi YzEuLmEzYmIzNWUgMTAwNjQ0Cj4gPiAtLS0gYS9NQUlOVEFJTkVSUwo+ID4gKysrIGIvTUFJTlRB SU5FUlMKPiA+IEBAIC0xNzk0Nyw2ICsxNzk0NywxNCBAQCBMOiAgIG5ldGRldkB2Z2VyLmtlcm5l bC5vcmcKPiA+ICBTOiAgIE1haW50YWluZWQKPiA+ICBGOiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0 L2RsaW5rL3N1bmRhbmNlLmMKPiA+Cj4gPiArU1VOUExVUyBVU0IyIFBIWSBEUklWRVIKPiA+ICtN OiAgIFZpbmNlbnQgU2hpaCA8dmluY2VudC5zdW5wbHVzQGdtYWlsLmNvbT4KPiA+ICtMOiAgIGxp bnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmcKPiA+ICtTOiAgIE1haW50YWluZWQKPiA+ICtGOiAgIGRy aXZlcnMvcGh5L3N1bnBsdXMvS2NvbmZpZwo+ID4gK0Y6ICAgZHJpdmVycy9waHkvc3VucGx1cy9N YWtlZmlsZQo+ID4gK0Y6ICAgZHJpdmVycy9waHkvc3VucGx1cy9waHktc3VucGx1cy11c2IyLmMK PiA+ICsKPiA+ICBTVVBFUkgKPiA+ICBNOiAgIFlvc2hpbm9yaSBTYXRvIDx5c2F0b0B1c2Vycy5z b3VyY2Vmb3JnZS5qcD4KPiA+ICBNOiAgIFJpY2ggRmVsa2VyIDxkYWxpYXNAbGliYy5vcmc+Cj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvS2NvbmZpZyBiL2RyaXZlcnMvcGh5L0tjb25maWcK PiA+IGluZGV4IDgyYjYzZTYuLmQ5N2UyMmUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3BoeS9L Y29uZmlnCj4gPiArKysgYi9kcml2ZXJzL3BoeS9LY29uZmlnCj4gPiBAQCAtOTAsNiArOTAsNyBA QCBzb3VyY2UgImRyaXZlcnMvcGh5L3JvY2tjaGlwL0tjb25maWciCj4gPiAgc291cmNlICJkcml2 ZXJzL3BoeS9zYW1zdW5nL0tjb25maWciCj4gPiAgc291cmNlICJkcml2ZXJzL3BoeS9zb2Npb25l eHQvS2NvbmZpZyIKPiA+ICBzb3VyY2UgImRyaXZlcnMvcGh5L3N0L0tjb25maWciCj4gPiArc291 cmNlICJkcml2ZXJzL3BoeS9zdW5wbHVzL0tjb25maWciCj4gPiAgc291cmNlICJkcml2ZXJzL3Bo eS90ZWdyYS9LY29uZmlnIgo+ID4gIHNvdXJjZSAiZHJpdmVycy9waHkvdGkvS2NvbmZpZyIKPiA+ ICBzb3VyY2UgImRyaXZlcnMvcGh5L2ludGVsL0tjb25maWciCj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9waHkvTWFrZWZpbGUgYi9kcml2ZXJzL3BoeS9NYWtlZmlsZQo+ID4gaW5kZXggMDFlOWVm Zi4uZWQ4OGI2ZiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvcGh5L01ha2VmaWxlCj4gPiArKysg Yi9kcml2ZXJzL3BoeS9NYWtlZmlsZQo+ID4gQEAgLTMxLDYgKzMxLDcgQEAgb2JqLXkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArPSBhbGx3aW5uZXIvICAgXAo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1zdW5nLyAgICAgXAo+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2Npb25leHQvICAgXAo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdC8gICAgICAgICAg XAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5wbHVzLyAg ICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRlZ3JhLyAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRpLyAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHhpbGlueC8KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9zdW5wbHVzL0tjb25m aWcgYi9kcml2ZXJzL3BoeS9zdW5wbHVzL0tjb25maWcKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gPiBpbmRleCAwMDAwMDAwLi5iZWI4NWY0Cj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9k cml2ZXJzL3BoeS9zdW5wbHVzL0tjb25maWcKPiA+IEBAIC0wLDAgKzEsMTIgQEAKPiA+ICsjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiA+ICsKPiA+ICtjb25maWcgUEhZ X1NVTlBMVVNfVVNCCj4gPiArICAgICB0cmlzdGF0ZSAiU3VucGx1cyBVU0IyIFBIWSBkcml2ZXIi Cj4gPiArICAgICBkZXBlbmRzIG9uIE9GICYmIChTT0NfU1A3MDIxIHx8IENPTVBJTEVfVEVTVCkK PiA+ICsgICAgIHNlbGVjdCBHRU5FUklDX1BIWQo+ID4gKyAgICAgaGVscAo+ID4gKyAgICAgICBF bmFibGUgdGhpcyB0byBzdXBwb3J0IHRoZSBVU0IgMi4wIFBIWSBvbiBTdW5wbHVzIFNQNzAyMQo+ ID4gKyAgICAgICBTb0MuIFRoZSBVU0IgMi4wIFBIWSBjb250cm9sbGVyIHN1cHBvcnRzIGJhdHRl cnkgY2hhcmdlcgo+ID4gKyAgICAgICBhbmQgc3luY2hyb25vdXMgc2lnbmFscywgdmFyaW91cyBw b3dlciBkb3duIG1vZGVzIGluY2x1ZGluZwo+ID4gKyAgICAgICBvcGVyYXRpbmcsIHBhcnRpYWwg YW5kIHN1c3BlbmQgbW9kZXMsIGFuZCBoaWdoLXNwZWVkLAo+ID4gKyAgICAgICBmdWxsLXNwZWVk IGFuZCBsb3ctc3BlZWQgZGF0YSB0cmFuc2Zlci4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Bo eS9zdW5wbHVzL01ha2VmaWxlIGIvZHJpdmVycy9waHkvc3VucGx1cy9NYWtlZmlsZQo+ID4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAuLjcxNzU0ZDUKPiA+IC0tLSAvZGV2 L251bGwKPiA+ICsrKyBiL2RyaXZlcnMvcGh5L3N1bnBsdXMvTWFrZWZpbGUKPiA+IEBAIC0wLDAg KzEsMiBAQAo+ID4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ID4g K29iai0kKENPTkZJR19QSFlfU1VOUExVU19VU0IpICAgICAgICArPSBwaHktc3VucGx1cy11c2Iy Lm8KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9zdW5wbHVzL3BoeS1zdW5wbHVzLXVzYjIu YyBiL2RyaXZlcnMvcGh5L3N1bnBsdXMvcGh5LXN1bnBsdXMtdXNiMi5jCj4gPiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMC4uYTJjMTdjYQo+ID4gLS0tIC9kZXYvbnVsbAo+ ID4gKysrIGIvZHJpdmVycy9waHkvc3VucGx1cy9waHktc3VucGx1cy11c2IyLmMKPiA+IEBAIC0w LDAgKzEsMjQ4IEBACj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiA+ ICsKPiA+ICsvKgo+ID4gKyAqIFN1bnBsdXMgU1A3MDIxIFVTQiAyLjAgcGh5IGRyaXZlcgo+ID4g KyAqCj4gPiArICogQ29weXJpZ2h0IChDKSAyMDIxIFN1bnBsdXMgVGVjaG5vbG9neSBJbmMuLCBB bGwgcmlnaHRzIHJlc2VydmVkLgo+Cj4gMjAyMgo+CgpJIHdpbGwgbW9kaWZ5IGl0LgoKPiA+ICsg Kgo+ID4gKyAqIE5vdGUgMSA6IG5vbi1wb3N0ZWQgd3JpdGUgY29tbWFuZCBmb3IgdGhlIHJlZ2lz dGVycyBhY2Nlc3NlcyBvZgo+ID4gKyAqIFN1bnBsdXMgU1A3MDIxLgo+ID4gKyAqCj4gPiArICov Cj4gPiArCj4gPiArI2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+Cj4gPiArI2luY2x1ZGUgPGxp bnV4L2Nsay5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgo+ID4gKyNpbmNsdWRlIDxs aW51eC9pby5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiA+ICsjaW5jbHVkZSA8 bGludXgvbnZtZW0tY29uc3VtZXIuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0u aD4KPiA+ICsjaW5jbHVkZSA8bGludXgvcGh5L3BoeS5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9w bGF0Zm9ybV9kZXZpY2UuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvcmVzZXQuaD4KPiA+ICsKPiA+ ICsjZGVmaW5lIFJGX01BU0tfVihfbWFzaywgX3ZhbCkgICAgICAgICAgICAgICAgICAgICAgICgo KF9tYXNrKSA8PCAxNikgfCAoX3ZhbCkpCj4gPiArI2RlZmluZSBSRl9NQVNLX1ZfQ0xSKF9tYXNr KSAgICAgICAgICAgICAgICAgKCgoX21hc2spIDw8IDE2KSB8IDApCj4KPiBQbGVhc2UgdXNlIEZJ RUxEX1BSRVAgYW5kIEZJRUxEX0dFVCBtYWNyb3MgZm9yIHRoZXNlCj4KCkkgd2lsbCBtb2RpZnkg aXQuCgo+ID4gKwo+ID4gKyNkZWZpbmUgTUFTS19CSVRTICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4ZmZmZgo+ID4gKyNkZWZpbmUgT1RQX0RJU0NfTEVWRUxfREVGQVVMVCAgICAgICAgICAg ICAgICAgICAgICAgMHhkCj4gPiArCj4gPiArLy8gR1JPVVAgVVBIWQo+ID4gKyNkZWZpbmUgQ09O RklHMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0Cj4gPiArI2RlZmlu ZSBKX0hTX1RYX1BXUlNBViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoNSkKPiA+ ICsjZGVmaW5lIENPTkZJRzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 Ywo+Cj4gR0VOQU1TSygpID8KPgoKSSB3aWxsIG1vZGlmeSBpdC4KCj4KPiA+ICsjZGVmaW5lIEpf Rk9SQ0VfRElTQ19PTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJJVCg1KQo+ID4gKyNk ZWZpbmUgSl9ERUJVR19DVFJMX0FERFJfTUFDUk8gICAgICAgICAgICAgICAgICAgICAgQklUKDAp Cj4gPiArI2RlZmluZSBDT05GSUc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDFjCj4gPiArI2RlZmluZSBKX0RJU0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAwWDFmCj4gPiArI2RlZmluZSBDT05GSUc5ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDI0Cj4gPiArI2RlZmluZSBKX0VDT19QQVRIICAgICAgICAgICAgICAg ICAgICAgICAgICAgQklUKDYpCj4gPiArI2RlZmluZSBDT05GSUcxNiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHg0MAo+ID4gKyNkZWZpbmUgSl9UQkNXQUlUX01BU0sgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0VOTUFTSyg2LCA1KQo+ID4gKyNkZWZpbmUgSl9UQkNXQUlUXzFQ MV9NUyAgICAgICAgICAgICAgICAgICAgIEZJRUxEX1BSRVAoSl9UQkNXQUlUX01BU0ssIDApCj4g PiArI2RlZmluZSBKX1RWRE1fU1JDX0RJU19NQVNLICAgICAgICAgICAgICAgICAgR0VOTUFTSyg0 LCAzKQo+ID4gKyNkZWZpbmUgSl9UVkRNX1NSQ19ESVNfOFAyX01TICAgICAgICAgICAgICAgICAg ICAgICAgRklFTERfUFJFUChKX1RWRE1fU1JDX0RJU19NQVNLLCAzKQo+ID4gKyNkZWZpbmUgSl9U VkRNX1NSQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgIEdFTk1BU0soMiwgMSkKPiA+ICsjZGVm aW5lIEpfVFZETV9TUkNfRU5fMVA2X01TICAgICAgICAgICAgICAgICBGSUVMRF9QUkVQKEpfVFZE TV9TUkNfRU5fTUFTSywgMCkKPiA+ICsjZGVmaW5lIEpfQkNfRU4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJJVCgwKQo+ID4gKyNkZWZpbmUgQ09ORklHMTcgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NDQKPiA+ICsjZGVmaW5lIElCR19UUklNMF9NQVNLICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdFTk1BU0soNywgNSkKPiA+ICsjZGVmaW5lIElCR19U UklNMF9TU0xWSFQgICAgICAgICAgICAgICAgICAgICBGSUVMRF9QUkVQKElCR19UUklNMF9NQVNL LCA0KQo+ID4gKyNkZWZpbmUgSl9WREFUUkVFX1RSSU1fTUFTSyAgICAgICAgICAgICAgICAgIEdF Tk1BU0soNCwgMSkKPiA+ICsjZGVmaW5lIEpfVkRBVFJFRV9UUklNX0RFRkFVTFQgICAgICAgICAg ICAgICAgICAgICAgIEZJRUxEX1BSRVAoSl9WREFUUkVFX1RSSU1fTUFTSywgOSkKPiA+ICsjZGVm aW5lIENPTkZJRzIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDVjCj4gPiArI2RlZmlu ZSBQUk9CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VOTUFTSyg1LCAzKQo+ID4g KyNkZWZpbmUgUFJPQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJRUxEX1BSRVAo UFJPQl9NQVNLLCA3KQo+ID4gKwo+ID4gKy8vIEdST1VQIE1PT040Cj4KPiB3cm9uZyBjb21tZW50 cyBzdHlsZQo+CgpJIHdpbGwgbW9kaWZ5IGl0LgoKPiA+ICtzdGF0aWMgaW50IHNwX3VwaHlfaW5p dChzdHJ1Y3QgcGh5ICpwaHkpCj4gPiArewo+ID4gKyAgICAgc3RydWN0IHNwX3VzYnBoeSAqdXNi cGh5ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7Cj4gPiArICAgICBzdHJ1Y3QgbnZtZW1fY2VsbCAq Y2VsbDsKPiA+ICsgICAgIGNoYXIgKmRpc2NfbmFtZSA9ICJkaXNjX3ZvbCI7Cj4gPiArICAgICBz c2l6ZV90IG90cF9sID0gMDsKPiA+ICsgICAgIGNoYXIgKm90cF92Owo+ID4gKyAgICAgdTMyIHZh bCwgc2V0LCBwbGxfcHdyX29uLCBwbGxfcHdyX29mZjsKPiA+ICsKPiA+ICsgICAgIC8qIERlZmF1 bHQgdmFsdWUgbW9kaWZpY2F0aW9uICovCj4gPiArICAgICB3cml0ZWwoUkZfTUFTS19WKE1BU0tf QklUUywgMHg0MDAyKSwgdXNicGh5LT5tb29uNF9yZWdzICsgVVBIWV9DT05UUk9MMCk7Cj4gPiAr ICAgICB3cml0ZWwoUkZfTUFTS19WKE1BU0tfQklUUywgMHg4NzQ3KSwgdXNicGh5LT5tb29uNF9y ZWdzICsgVVBIWV9DT05UUk9MMSk7Cj4gPiArCj4gPiArICAgICAvKiBQTEwgcG93ZXIgb2ZmL29u IHR3aWNlICovCj4gPiArICAgICBwbGxfcHdyX29mZiA9IChyZWFkbCh1c2JwaHktPm1vb240X3Jl Z3MgKyBVUEhZX0NPTlRST0wzKSAmIH5NQVNLX0JJVFMpCj4gPiArICAgICAgICAgICAgICAgICAg ICAgfCBNTzFfVVBIWV9QTExfUE9XRVJfT0ZGX1NFTCB8IE1PMV9VUEhZX1BMTF9QT1dFUl9PRkY7 Cj4gPiArICAgICBwbGxfcHdyX29uID0gKHJlYWRsKHVzYnBoeS0+bW9vbjRfcmVncyArIFVQSFlf Q09OVFJPTDMpICYgfk1BU0tfQklUUykKPiA+ICsgICAgICAgICAgICAgICAgICAgICB8IE1PMV9V UEhZX1BMTF9QT1dFUl9PRkZfU0VMOwo+ID4gKwo+ID4gKyAgICAgd3JpdGVsKFJGX01BU0tfVihN QVNLX0JJVFMsIHBsbF9wd3Jfb2ZmKSwgdXNicGh5LT5tb29uNF9yZWdzICsgVVBIWV9DT05UUk9M Myk7Cj4gPiArICAgICBtZGVsYXkoMSk7Cj4gPiArICAgICB3cml0ZWwoUkZfTUFTS19WKE1BU0tf QklUUywgcGxsX3B3cl9vbiksIHVzYnBoeS0+bW9vbjRfcmVncyArIFVQSFlfQ09OVFJPTDMpOwo+ ID4gKyAgICAgbWRlbGF5KDEpOwo+ID4gKyAgICAgd3JpdGVsKFJGX01BU0tfVihNQVNLX0JJVFMs IHBsbF9wd3Jfb2ZmKSwgdXNicGh5LT5tb29uNF9yZWdzICsgVVBIWV9DT05UUk9MMyk7Cj4gPiAr ICAgICBtZGVsYXkoMSk7Cj4gPiArICAgICB3cml0ZWwoUkZfTUFTS19WKE1BU0tfQklUUywgcGxs X3B3cl9vbiksIHVzYnBoeS0+bW9vbjRfcmVncyArIFVQSFlfQ09OVFJPTDMpOwo+ID4gKyAgICAg bWRlbGF5KDEpOwo+Cj4gd2h5IGRlbGF5IG9uIGVhY2ggcmVnaXN0ZXIgd3JpdGU/Cj4KClRoZXkg YXJlIGZvciB0aGUgc3RhYmlsaXRpZXMgb2YgY2FwYWNpdG9ycyBjaGFyZ2UvZGlzY2hhcmdlIGlu IHRoZSBQQ0IgYm9hcmQuCgo+ID4gKyAgICAgd3JpdGVsKFJGX01BU0tfVihNQVNLX0JJVFMsIDB4 MCksIHVzYnBoeS0+bW9vbjRfcmVncyArIFVQSFlfQ09OVFJPTDMpOwo+ID4gKwo+ID4gKyAgICAg LyogYm9hcmQgdXBoeSAwIGludGVybmFsIHJlZ2lzdGVyIG1vZGlmaWNhdGlvbiBmb3IgdGlkIGNl cnRpZmljYXRpb24gKi8KPiA+ICsgICAgIGNlbGwgPSBudm1lbV9jZWxsX2dldCh1c2JwaHktPmRl diwgZGlzY19uYW1lKTsKPiA+ICsgICAgIGlmIChJU19FUlJfT1JfTlVMTChjZWxsKSkgewo+ID4g KyAgICAgICAgICAgICBpZiAoUFRSX0VSUihjZWxsKSA9PSAtRVBST0JFX0RFRkVSKQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgIHJldHVybiAtRVBST0JFX0RFRkVSOwo+ID4gKyAgICAgfQo+ID4g Kwo+ID4gKyAgICAgb3RwX3YgPSBudm1lbV9jZWxsX3JlYWQoY2VsbCwgJm90cF9sKTsKPiA+ICsg ICAgIG52bWVtX2NlbGxfcHV0KGNlbGwpOwo+ID4gKwo+ID4gKyAgICAgaWYgKG90cF92KSB7Cj4g PiArICAgICAgICAgICAgIHNldCA9ICoob3RwX3YgKyAxKTsKPiA+ICsgICAgICAgICAgICAgc2V0 ID0gKHNldCA8PCAoc2l6ZW9mKGNoYXIpICogOCkpIHwgKm90cF92Owo+ID4gKyAgICAgICAgICAg ICBzZXQgPSAoc2V0ID4+IHVzYnBoeS0+ZGlzY192b2xfYWRkcl9vZmYpICYgSl9ESVNDOwo+ID4g KyAgICAgfQo+ID4gKwo+ID4gKyAgICAgaWYgKCFvdHBfdiB8fCBzZXQgPT0gMCkKPiA+ICsgICAg ICAgICAgICAgc2V0ID0gT1RQX0RJU0NfTEVWRUxfREVGQVVMVDsKPiA+ICsKPiA+ICsgICAgIHZh bCA9IHJlYWRsKHVzYnBoeS0+cGh5X3JlZ3MgKyBDT05GSUc3KTsKPiA+ICsgICAgIHZhbCA9ICh2 YWwgJiB+Sl9ESVNDKSB8IHNldDsKPiA+ICsgICAgIHdyaXRlbCh2YWwsIHVzYnBoeS0+cGh5X3Jl Z3MgKyBDT05GSUc3KTsKPgo+IG1heWJlIGFkZCBhIHVwZGF0ZWwoKSBtYWNybwoKSSB3aWxsIGFk ZCBpdC4KCj4KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHBoeV9vcHMgc3BfdXBoeV9vcHMgPSB7 Cj4gPiArICAgICAuaW5pdCAgICAgICAgICAgPSBzcF91cGh5X2luaXQsCj4KPiBubyBwb3dlcl9v bi9vZmYvZXhpdCByb3V0aW5lcz8/CgpJIHdpbGwgaW1wbGVtZW50IHRoZW0uCgo+Cj4gPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3BfdXBoeV9kdF9pZHNbXSA9IHsKPiA+ICsg ICAgIHsuY29tcGF0aWJsZSA9ICJzdW5wbHVzLHNwNzAyMS11c2IyLXBoeSIsCj4gPiArICAgICAg LmRhdGEgPSAmc3BfdXBoeV9vcHMsfSwKPgo+IHdoeSBzaG91bGQgdGhlIG9wcyBiZSBpbiBkcml2 ZXIgZGF0YT8KCkkgd2lsbCBtb2RpZnkgaXQuCgo+Cj4gLS0KPiB+Vmlub2QKClRoYW5rcyBmb3Ig eW91ciByZXZpZXcuCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1waHkK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 01006C4332F for ; Tue, 26 Apr 2022 09:05:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346417AbiDZJIM (ORCPT ); Tue, 26 Apr 2022 05:08:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346298AbiDZIos (ORCPT ); Tue, 26 Apr 2022 04:44:48 -0400 Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F09DE8595F; Tue, 26 Apr 2022 01:34:33 -0700 (PDT) Received: by mail-lj1-x22a.google.com with SMTP id y19so9727928ljd.4; Tue, 26 Apr 2022 01:34:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=FInGpHNCcK/TD9SeWZQkc/p1sMIqORL6XIEEOHsCc5Y=; b=CLHRbStTr+GP4H1R32XYex1OOt6UMLD5DVs8Y8EppitDdNDDEv0K1BqpOO1nDGDLMg hJUmM6Ct1NCX9Y/dkzc9REBoM5lxcvFeqQxnHg80MVzrsD8euorL5+x4rx9dTAKtpQbv ill+cLT7m/IGnGVSKzNglJwi1X6rpeCyAQd1j1+GBdy2wgoTh0NGPUJ9fGWS0KZokdH4 /OsnqYPGkXtpFRbJ89GF22UABmikkL8DZNS0NNfTlireooayv+sMOgC/kZ8LAs1sDnc7 TjjWm1xCrlXJNyfL5uatUqV7peHIfAgYeAMsWncycgiRKl2w0EQQU2X9yBpc91yYyJ95 l+2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=FInGpHNCcK/TD9SeWZQkc/p1sMIqORL6XIEEOHsCc5Y=; b=XknsHJIYonIwDZ2e9Yz+K2ctJW6E7tMKmaf1qfsD6AhDCcnWAAKQUEjr/UBAA5s1ni enho2CW/gIJhrT5fSxBKPNGEQunZ54WdI5coYrcX1M8Oyi8QF4Y6KRoDIx+TgabkcLo+ JkX/66MruvfA1jHEHBmw2oH0IhOCzozyZIEpzpJZQJBYasCB8X0W7xk10xbGjpT69X8j +WvShIvu7k4IocIyH+GyMubNDT13ycCFn5gi2cnPrPUb1c7lL3QywggIznLGsGcIiO/P KhssPIPhPxbiQxzsmfYEf16BCgvxXGkCCQvqFrjseuyUH/9YDGsysW/Ze0+QnyWCaQZa Es3Q== X-Gm-Message-State: AOAM531oJ4Kas0iZz/iLUPUeWn7I9kNK+XETvhIIPYZMxSNgcU1sput1 tcu8pwxaiwo5ioLFH5jTSCCaVxn7l34+2p9XXqI= X-Google-Smtp-Source: ABdhPJxeMid+gRhAqzBjhRPHQFzn6lFG1yCpNvUP7oiHdtWHc0z7NiIkWEb0UaQ2oPUse7gCnz2myidtn5jCf4tPuwk= X-Received: by 2002:a2e:8e91:0:b0:24d:aac1:f855 with SMTP id z17-20020a2e8e91000000b0024daac1f855mr14178666ljk.28.1650962072007; Tue, 26 Apr 2022 01:34:32 -0700 (PDT) MIME-Version: 1.0 References: <1646393418-26421-1-git-send-email-vincent.sunplus@gmail.com> <1646393418-26421-2-git-send-email-vincent.sunplus@gmail.com> In-Reply-To: From: =?UTF-8?B?5pa96YyV6bS7?= Date: Tue, 26 Apr 2022 16:37:08 +0800 Message-ID: Subject: Re: [PATCH v1 1/2] phy: usb: Add USB2.0 phy driver for Sunplus SP7021 To: Vinod Koul Cc: kishon@ti.com, p.zabel@pengutronix.de, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-usb@vger.kernel.org, robh+dt@kernel.org, devicetree@vger.kernel.org, wells.lu@sunplus.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Vinod Koul =E6=96=BC 2022=E5=B9=B44=E6=9C=8813=E6=97=A5 = =E9=80=B1=E4=B8=89 =E4=B8=8B=E5=8D=885:49=E5=AF=AB=E9=81=93=EF=BC=9A > > On 04-03-22, 19:30, Vincent Shih wrote: > > Add USB2.0 phy driver for Sunplus SP7021 > > > > Signed-off-by: Vincent Shih > > --- > > MAINTAINERS | 8 ++ > > drivers/phy/Kconfig | 1 + > > drivers/phy/Makefile | 1 + > > drivers/phy/sunplus/Kconfig | 12 ++ > > drivers/phy/sunplus/Makefile | 2 + > > drivers/phy/sunplus/phy-sunplus-usb2.c | 248 +++++++++++++++++++++++++= ++++++++ > > 6 files changed, 272 insertions(+) > > create mode 100644 drivers/phy/sunplus/Kconfig > > create mode 100644 drivers/phy/sunplus/Makefile > > create mode 100644 drivers/phy/sunplus/phy-sunplus-usb2.c > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 80eebc1..a3bb35e 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -17947,6 +17947,14 @@ L: netdev@vger.kernel.org > > S: Maintained > > F: drivers/net/ethernet/dlink/sundance.c > > > > +SUNPLUS USB2 PHY DRIVER > > +M: Vincent Shih > > +L: linux-usb@vger.kernel.org > > +S: Maintained > > +F: drivers/phy/sunplus/Kconfig > > +F: drivers/phy/sunplus/Makefile > > +F: drivers/phy/sunplus/phy-sunplus-usb2.c > > + > > SUPERH > > M: Yoshinori Sato > > M: Rich Felker > > diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig > > index 82b63e6..d97e22e 100644 > > --- a/drivers/phy/Kconfig > > +++ b/drivers/phy/Kconfig > > @@ -90,6 +90,7 @@ source "drivers/phy/rockchip/Kconfig" > > source "drivers/phy/samsung/Kconfig" > > source "drivers/phy/socionext/Kconfig" > > source "drivers/phy/st/Kconfig" > > +source "drivers/phy/sunplus/Kconfig" > > source "drivers/phy/tegra/Kconfig" > > source "drivers/phy/ti/Kconfig" > > source "drivers/phy/intel/Kconfig" > > diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile > > index 01e9eff..ed88b6f 100644 > > --- a/drivers/phy/Makefile > > +++ b/drivers/phy/Makefile > > @@ -31,6 +31,7 @@ obj-y +=3D allw= inner/ \ > > samsung/ \ > > socionext/ \ > > st/ \ > > + sunplus/ \ > > tegra/ \ > > ti/ \ > > xilinx/ > > diff --git a/drivers/phy/sunplus/Kconfig b/drivers/phy/sunplus/Kconfig > > new file mode 100644 > > index 0000000..beb85f4 > > --- /dev/null > > +++ b/drivers/phy/sunplus/Kconfig > > @@ -0,0 +1,12 @@ > > +# SPDX-License-Identifier: GPL-2.0-only > > + > > +config PHY_SUNPLUS_USB > > + tristate "Sunplus USB2 PHY driver" > > + depends on OF && (SOC_SP7021 || COMPILE_TEST) > > + select GENERIC_PHY > > + help > > + Enable this to support the USB 2.0 PHY on Sunplus SP7021 > > + SoC. The USB 2.0 PHY controller supports battery charger > > + and synchronous signals, various power down modes including > > + operating, partial and suspend modes, and high-speed, > > + full-speed and low-speed data transfer. > > diff --git a/drivers/phy/sunplus/Makefile b/drivers/phy/sunplus/Makefil= e > > new file mode 100644 > > index 0000000..71754d5 > > --- /dev/null > > +++ b/drivers/phy/sunplus/Makefile > > @@ -0,0 +1,2 @@ > > +# SPDX-License-Identifier: GPL-2.0-only > > +obj-$(CONFIG_PHY_SUNPLUS_USB) +=3D phy-sunplus-usb2.o > > diff --git a/drivers/phy/sunplus/phy-sunplus-usb2.c b/drivers/phy/sunpl= us/phy-sunplus-usb2.c > > new file mode 100644 > > index 0000000..a2c17ca > > --- /dev/null > > +++ b/drivers/phy/sunplus/phy-sunplus-usb2.c > > @@ -0,0 +1,248 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > + > > +/* > > + * Sunplus SP7021 USB 2.0 phy driver > > + * > > + * Copyright (C) 2021 Sunplus Technology Inc., All rights reserved. > > 2022 > I will modify it. > > + * > > + * Note 1 : non-posted write command for the registers accesses of > > + * Sunplus SP7021. > > + * > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > + > > +#define RF_MASK_V(_mask, _val) (((_mask) << 16) = | (_val)) > > +#define RF_MASK_V_CLR(_mask) (((_mask) << 16) | 0) > > Please use FIELD_PREP and FIELD_GET macros for these > I will modify it. > > + > > +#define MASK_BITS 0xffff > > +#define OTP_DISC_LEVEL_DEFAULT 0xd > > + > > +// GROUP UPHY > > +#define CONFIG1 0x4 > > +#define J_HS_TX_PWRSAV BIT(5) > > +#define CONFIG3 0xc > > GENAMSK() ? > I will modify it. > > > +#define J_FORCE_DISC_ON BIT(5) > > +#define J_DEBUG_CTRL_ADDR_MACRO BIT(0) > > +#define CONFIG7 0x1c > > +#define J_DISC 0X1f > > +#define CONFIG9 0x24 > > +#define J_ECO_PATH BIT(6) > > +#define CONFIG16 0x40 > > +#define J_TBCWAIT_MASK GENMASK(6, 5) > > +#define J_TBCWAIT_1P1_MS FIELD_PREP(J_TBCWAIT_MASK= , 0) > > +#define J_TVDM_SRC_DIS_MASK GENMASK(4, 3) > > +#define J_TVDM_SRC_DIS_8P2_MS FIELD_PREP(J_TVDM= _SRC_DIS_MASK, 3) > > +#define J_TVDM_SRC_EN_MASK GENMASK(2, 1) > > +#define J_TVDM_SRC_EN_1P6_MS FIELD_PREP(J_TVDM_SRC_EN_= MASK, 0) > > +#define J_BC_EN BIT(0) > > +#define CONFIG17 0x44 > > +#define IBG_TRIM0_MASK GENMASK(7, 5) > > +#define IBG_TRIM0_SSLVHT FIELD_PREP(IBG_TRIM0_MASK= , 4) > > +#define J_VDATREE_TRIM_MASK GENMASK(4, 1) > > +#define J_VDATREE_TRIM_DEFAULT FIELD_PREP(J_VDAT= REE_TRIM_MASK, 9) > > +#define CONFIG23 0x5c > > +#define PROB_MASK GENMASK(5, 3) > > +#define PROB FIELD_PREP(PROB_MASK, 7) > > + > > +// GROUP MOON4 > > wrong comments style > I will modify it. > > +static int sp_uphy_init(struct phy *phy) > > +{ > > + struct sp_usbphy *usbphy =3D phy_get_drvdata(phy); > > + struct nvmem_cell *cell; > > + char *disc_name =3D "disc_vol"; > > + ssize_t otp_l =3D 0; > > + char *otp_v; > > + u32 val, set, pll_pwr_on, pll_pwr_off; > > + > > + /* Default value modification */ > > + writel(RF_MASK_V(MASK_BITS, 0x4002), usbphy->moon4_regs + UPHY_CO= NTROL0); > > + writel(RF_MASK_V(MASK_BITS, 0x8747), usbphy->moon4_regs + UPHY_CO= NTROL1); > > + > > + /* PLL power off/on twice */ > > + pll_pwr_off =3D (readl(usbphy->moon4_regs + UPHY_CONTROL3) & ~MAS= K_BITS) > > + | MO1_UPHY_PLL_POWER_OFF_SEL | MO1_UPHY_PLL_POWER= _OFF; > > + pll_pwr_on =3D (readl(usbphy->moon4_regs + UPHY_CONTROL3) & ~MASK= _BITS) > > + | MO1_UPHY_PLL_POWER_OFF_SEL; > > + > > + writel(RF_MASK_V(MASK_BITS, pll_pwr_off), usbphy->moon4_regs + UP= HY_CONTROL3); > > + mdelay(1); > > + writel(RF_MASK_V(MASK_BITS, pll_pwr_on), usbphy->moon4_regs + UPH= Y_CONTROL3); > > + mdelay(1); > > + writel(RF_MASK_V(MASK_BITS, pll_pwr_off), usbphy->moon4_regs + UP= HY_CONTROL3); > > + mdelay(1); > > + writel(RF_MASK_V(MASK_BITS, pll_pwr_on), usbphy->moon4_regs + UPH= Y_CONTROL3); > > + mdelay(1); > > why delay on each register write? > They are for the stabilities of capacitors charge/discharge in the PCB boar= d. > > + writel(RF_MASK_V(MASK_BITS, 0x0), usbphy->moon4_regs + UPHY_CONTR= OL3); > > + > > + /* board uphy 0 internal register modification for tid certificat= ion */ > > + cell =3D nvmem_cell_get(usbphy->dev, disc_name); > > + if (IS_ERR_OR_NULL(cell)) { > > + if (PTR_ERR(cell) =3D=3D -EPROBE_DEFER) > > + return -EPROBE_DEFER; > > + } > > + > > + otp_v =3D nvmem_cell_read(cell, &otp_l); > > + nvmem_cell_put(cell); > > + > > + if (otp_v) { > > + set =3D *(otp_v + 1); > > + set =3D (set << (sizeof(char) * 8)) | *otp_v; > > + set =3D (set >> usbphy->disc_vol_addr_off) & J_DISC; > > + } > > + > > + if (!otp_v || set =3D=3D 0) > > + set =3D OTP_DISC_LEVEL_DEFAULT; > > + > > + val =3D readl(usbphy->phy_regs + CONFIG7); > > + val =3D (val & ~J_DISC) | set; > > + writel(val, usbphy->phy_regs + CONFIG7); > > maybe add a updatel() macro I will add it. > > > +static const struct phy_ops sp_uphy_ops =3D { > > + .init =3D sp_uphy_init, > > no power_on/off/exit routines?? I will implement them. > > > +static const struct of_device_id sp_uphy_dt_ids[] =3D { > > + {.compatible =3D "sunplus,sp7021-usb2-phy", > > + .data =3D &sp_uphy_ops,}, > > why should the ops be in driver data? I will modify it. > > -- > ~Vinod Thanks for your review.