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: [2/7] usb: phy: phy-mxs-usb: add imx7ulp support From: Peter Chen Message-Id: <20190428024847.5046-3-peter.chen@nxp.com> Date: Sun, 28 Apr 2019 02:51:16 +0000 To: "shawnguo@kernel.org" , "balbi@kernel.org" Cc: "linux-arm-kernel@lists.infradead.org" , "kernel@pengutronix.de" , "devicetree@vger.kernel.org" , "robh+dt@kernel.org" , Aisheng Dong , dl-linux-imx , "linux-usb@vger.kernel.org" , Peter Chen List-ID: QXQgaW14N3VscCwgdGhlIFVTQiByZWxhdGVkIGFuYWxvZyByZWdpc3RlciBpcyBsb2NhdGVkIGlu IFBIWSByZWdpc3Rlcg0KcmVnaW9uIHRvbywgc28gd2UgbmVlZCB0byBjb250cm9sIFBMTCBhdCBQ SFkgZHJpdmVyIGRpcmVjdGx5Lg0KDQpTaWduZWQtb2ZmLWJ5OiBQZXRlciBDaGVuIDxwZXRlci5j aGVuQG54cC5jb20+DQotLS0NCiBkcml2ZXJzL3VzYi9waHkvcGh5LW14cy11c2IuYyB8IDc2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCiAxIGZpbGUgY2hhbmdl ZCwgNzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KDQotLSANCjIuMTQuMQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdXNiL3BoeS9waHktbXhzLXVzYi5jIGIvZHJpdmVycy91c2IvcGh5L3Bo eS1teHMtdXNiLmMNCmluZGV4IDFiMWJiMGFkNDBjMy4uOTBjOTZhOGU5MzQyIDEwMDY0NA0KLS0t IGEvZHJpdmVycy91c2IvcGh5L3BoeS1teHMtdXNiLmMNCisrKyBiL2RyaXZlcnMvdXNiL3BoeS9w aHktbXhzLXVzYi5jDQpAQCAtMjAsNiArMjAsNyBAQA0KIA0KICNkZWZpbmUgRFJJVkVSX05BTUUg Im14c19waHkiDQogDQorLyogUmVnaXN0ZXIgTWFjcm8gKi8NCiAjZGVmaW5lIEhXX1VTQlBIWV9Q V0QJCQkJMHgwMA0KICNkZWZpbmUgSFdfVVNCUEhZX1RYCQkJCTB4MTANCiAjZGVmaW5lIEhXX1VT QlBIWV9DVFJMCQkJCTB4MzANCkBAIC0zNyw2ICszOCwxMSBAQA0KICNkZWZpbmUgR01fVVNCUEhZ X1RYX1RYQ0FMNDVETih4KSAgICAgICAgICAgICgoKHgpICYgMHhmKSA8PCA4KQ0KICNkZWZpbmUg R01fVVNCUEhZX1RYX0RfQ0FMKHgpICAgICAgICAgICAgICAgICgoKHgpICYgMHhmKSA8PCAwKQ0K IA0KKy8qIGlteDd1bHAgKi8NCisjZGVmaW5lIEhXX1VTQlBIWV9QTExfU0lDCQkJMHhhMA0KKyNk ZWZpbmUgSFdfVVNCUEhZX1BMTF9TSUNfU0VUCQkJMHhhNA0KKyNkZWZpbmUgSFdfVVNCUEhZX1BM TF9TSUNfQ0xSCQkJMHhhOA0KKw0KICNkZWZpbmUgQk1fVVNCUEhZX0NUUkxfU0ZUUlNUCQkJQklU KDMxKQ0KICNkZWZpbmUgQk1fVVNCUEhZX0NUUkxfQ0xLR0FURQkJCUJJVCgzMCkNCiAjZGVmaW5l IEJNX1VTQlBIWV9DVFJMX09UR19JRF9WQUxVRQkJQklUKDI3KQ0KQEAgLTU1LDYgKzYxLDEyIEBA DQogI2RlZmluZSBCTV9VU0JQSFlfSVBfRklYICAgICAgICAgICAgICAgICAgICAgICAoQklUKDE3 KSB8IEJJVCgxOCkpDQogDQogI2RlZmluZSBCTV9VU0JQSFlfREVCVUdfQ0xLR0FURQkJCUJJVCgz MCkNCisvKiBpbXg3dWxwICovDQorI2RlZmluZSBCTV9VU0JQSFlfUExMX0xPQ0sJCQlCSVQoMzEp DQorI2RlZmluZSBCTV9VU0JQSFlfUExMX1JFR19FTkFCTEUJCUJJVCgyMSkNCisjZGVmaW5lIEJN X1VTQlBIWV9QTExfQllQQVNTCQkJQklUKDE2KQ0KKyNkZWZpbmUgQk1fVVNCUEhZX1BMTF9QT1dF UgkJCUJJVCgxMikNCisjZGVmaW5lIEJNX1VTQlBIWV9QTExfRU5fVVNCX0NMS1MJCUJJVCg2KQ0K IA0KIC8qIEFuYXRvcCBSZWdpc3RlcnMgKi8NCiAjZGVmaW5lIEFOQURJR19BTkFfTUlTQzAJCQkw eDE1MA0KQEAgLTE2Nyw2ICsxNzksOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG14c19waHlfZGF0 YSBpbXg2dWxfcGh5X2RhdGEgPSB7DQogCS5mbGFncyA9IE1YU19QSFlfRElTQ09OTkVDVF9MSU5F X1dJVEhPVVRfVkJVUywNCiB9Ow0KIA0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXhzX3BoeV9kYXRh IGlteDd1bHBfcGh5X2RhdGEgPSB7DQorfTsNCisNCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rl dmljZV9pZCBteHNfcGh5X2R0X2lkc1tdID0gew0KIAl7IC5jb21wYXRpYmxlID0gImZzbCxpbXg2 c3gtdXNicGh5IiwgLmRhdGEgPSAmaW14NnN4X3BoeV9kYXRhLCB9LA0KIAl7IC5jb21wYXRpYmxl ID0gImZzbCxpbXg2c2wtdXNicGh5IiwgLmRhdGEgPSAmaW14NnNsX3BoeV9kYXRhLCB9LA0KQEAg LTE3NCw2ICsxODksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBteHNfcGh5 X2R0X2lkc1tdID0gew0KIAl7IC5jb21wYXRpYmxlID0gImZzbCxpbXgyMy11c2JwaHkiLCAuZGF0 YSA9ICZpbXgyM19waHlfZGF0YSwgfSwNCiAJeyAuY29tcGF0aWJsZSA9ICJmc2wsdmY2MTAtdXNi cGh5IiwgLmRhdGEgPSAmdmY2MTBfcGh5X2RhdGEsIH0sDQogCXsgLmNvbXBhdGlibGUgPSAiZnNs LGlteDZ1bC11c2JwaHkiLCAuZGF0YSA9ICZpbXg2dWxfcGh5X2RhdGEsIH0sDQorCXsgLmNvbXBh dGlibGUgPSAiZnNsLGlteDd1bHAtdXNicGh5IiwgLmRhdGEgPSAmaW14N3VscF9waHlfZGF0YSwg fSwNCiAJeyAvKiBzZW50aW5lbCAqLyB9DQogfTsNCiBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBt eHNfcGh5X2R0X2lkcyk7DQpAQCAtMTk4LDYgKzIxNCwxMSBAQCBzdGF0aWMgaW5saW5lIGJvb2wg aXNfaW14NnNsX3BoeShzdHJ1Y3QgbXhzX3BoeSAqbXhzX3BoeSkNCiAJcmV0dXJuIG14c19waHkt PmRhdGEgPT0gJmlteDZzbF9waHlfZGF0YTsNCiB9DQogDQorc3RhdGljIGlubGluZSBib29sIGlz X2lteDd1bHBfcGh5KHN0cnVjdCBteHNfcGh5ICpteHNfcGh5KQ0KK3sNCisJcmV0dXJuIG14c19w aHktPmRhdGEgPT0gJmlteDd1bHBfcGh5X2RhdGE7DQorfQ0KKw0KIC8qDQogICogUEhZIG5lZWRz IHNvbWUgMzJLIGN5Y2xlcyB0byBzd2l0Y2ggZnJvbSAzMksgY2xvY2sgdG8NCiAgKiBidXMgKHN1 Y2ggYXMgQUhCL0FYSSwgZXRjKSBjbG9jay4NCkBAIC0yMjEsMTQgKzI0Miw1OSBAQCBzdGF0aWMg dm9pZCBteHNfcGh5X3R4X2luaXQoc3RydWN0IG14c19waHkgKm14c19waHkpDQogCX0NCiB9DQog DQorc3RhdGljIGludCB3YWl0X2Zvcl9wbGxfbG9jayhjb25zdCB2b2lkIF9faW9tZW0gKmJhc2Up DQorew0KKwlpbnQgbG9vcF9jb3VudCA9IDEwMDsNCisNCisJLyogV2FpdCBmb3IgUExMIHRvIGxv Y2sgKi8NCisJZG8gew0KKwkJaWYgKHJlYWRsKGJhc2UgKyBIV19VU0JQSFlfUExMX1NJQykgJiBC TV9VU0JQSFlfUExMX0xPQ0spDQorCQkJYnJlYWs7DQorCQl1c2xlZXBfcmFuZ2UoMTAwLCAxNTAp Ow0KKwl9IHdoaWxlIChsb29wX2NvdW50LS0gPiAwKTsNCisNCisJcmV0dXJuIHJlYWRsKGJhc2Ug KyBIV19VU0JQSFlfUExMX1NJQykgJiBCTV9VU0JQSFlfUExMX0xPQ0sNCisJCQk/IDAgOiAtRVRJ TUVET1VUOw0KK30NCisNCitzdGF0aWMgaW50IG14c19waHlfcGxsX2VuYWJsZSh2b2lkIF9faW9t ZW0gKmJhc2UsIGJvb2wgZW5hYmxlKQ0KK3sNCisJaW50IHJldCA9IDA7DQorDQorCWlmIChlbmFi bGUpIHsNCisJCXdyaXRlbChCTV9VU0JQSFlfUExMX1JFR19FTkFCTEUsIGJhc2UgKyBIV19VU0JQ SFlfUExMX1NJQ19TRVQpOw0KKwkJd3JpdGVsKEJNX1VTQlBIWV9QTExfQllQQVNTLCBiYXNlICsg SFdfVVNCUEhZX1BMTF9TSUNfQ0xSKTsNCisJCXdyaXRlbChCTV9VU0JQSFlfUExMX1BPV0VSLCBi YXNlICsgSFdfVVNCUEhZX1BMTF9TSUNfU0VUKTsNCisJCXJldCA9IHdhaXRfZm9yX3BsbF9sb2Nr KGJhc2UpOw0KKwkJaWYgKHJldCkNCisJCQlyZXR1cm4gcmV0Ow0KKwkJd3JpdGVsKEJNX1VTQlBI WV9QTExfRU5fVVNCX0NMS1MsIGJhc2UgKw0KKwkJCQlIV19VU0JQSFlfUExMX1NJQ19TRVQpOw0K Kwl9IGVsc2Ugew0KKwkJd3JpdGVsKEJNX1VTQlBIWV9QTExfRU5fVVNCX0NMS1MsIGJhc2UgKw0K KwkJCQlIV19VU0JQSFlfUExMX1NJQ19DTFIpOw0KKwkJd3JpdGVsKEJNX1VTQlBIWV9QTExfUE9X RVIsIGJhc2UgKyBIV19VU0JQSFlfUExMX1NJQ19DTFIpOw0KKwkJd3JpdGVsKEJNX1VTQlBIWV9Q TExfQllQQVNTLCBiYXNlICsgSFdfVVNCUEhZX1BMTF9TSUNfU0VUKTsNCisJCXdyaXRlbChCTV9V U0JQSFlfUExMX1JFR19FTkFCTEUsIGJhc2UgKyBIV19VU0JQSFlfUExMX1NJQ19DTFIpOw0KKwl9 DQorDQorCXJldHVybiByZXQ7DQorfQ0KKw0KIHN0YXRpYyBpbnQgbXhzX3BoeV9od19pbml0KHN0 cnVjdCBteHNfcGh5ICpteHNfcGh5KQ0KIHsNCiAJaW50IHJldDsNCiAJdm9pZCBfX2lvbWVtICpi YXNlID0gbXhzX3BoeS0+cGh5LmlvX3ByaXY7DQogDQorCWlmIChpc19pbXg3dWxwX3BoeShteHNf cGh5KSkgew0KKwkJcmV0ID0gbXhzX3BoeV9wbGxfZW5hYmxlKGJhc2UsIHRydWUpOw0KKwkJaWYg KHJldCkNCisJCQlyZXR1cm4gcmV0Ow0KKwl9DQorDQogCXJldCA9IHN0bXBfcmVzZXRfYmxvY2so YmFzZSArIEhXX1VTQlBIWV9DVFJMKTsNCiAJaWYgKHJldCkNCi0JCXJldHVybiByZXQ7DQorCQln b3RvIGRpc2FibGVfcGxsOw0KIA0KIAkvKiBQb3dlciB1cCB0aGUgUEhZICovDQogCXdyaXRlbCgw LCBiYXNlICsgSFdfVVNCUEhZX1BXRCk7DQpAQCAtMjUzLDYgKzMxOSwxMSBAQCBzdGF0aWMgaW50 IG14c19waHlfaHdfaW5pdChzdHJ1Y3QgbXhzX3BoeSAqbXhzX3BoeSkNCiAJbXhzX3BoeV90eF9p bml0KG14c19waHkpOw0KIA0KIAlyZXR1cm4gMDsNCisNCitkaXNhYmxlX3BsbDoNCisJaWYgKGlz X2lteDd1bHBfcGh5KG14c19waHkpKQ0KKwkJbXhzX3BoeV9wbGxfZW5hYmxlKGJhc2UsIGZhbHNl KTsNCisJcmV0dXJuIHJldDsNCiB9DQogDQogLyogUmV0dXJuIHRydWUgaWYgdGhlIHZidXMgaXMg dGhlcmUgKi8NCkBAIC0zNzQsNiArNDQ1LDkgQEAgc3RhdGljIHZvaWQgbXhzX3BoeV9zaHV0ZG93 bihzdHJ1Y3QgdXNiX3BoeSAqcGh5KQ0KIAl3cml0ZWwoQk1fVVNCUEhZX0NUUkxfQ0xLR0FURSwN CiAJICAgICAgIHBoeS0+aW9fcHJpdiArIEhXX1VTQlBIWV9DVFJMX1NFVCk7DQogDQorCWlmIChp c19pbXg3dWxwX3BoeShteHNfcGh5KSkNCisJCW14c19waHlfcGxsX2VuYWJsZShwaHktPmlvX3By aXYsIGZhbHNlKTsNCisNCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG14c19waHktPmNsayk7DQog fQ0KIA0K 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 X-Spam-Level: X-Spam-Status: No, score=-6.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68C5EC43219 for ; Sun, 28 Apr 2019 02:51:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 22EB32077B for ; Sun, 28 Apr 2019 02:51:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="Y0zdiFq+" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726436AbfD1CvU (ORCPT ); Sat, 27 Apr 2019 22:51:20 -0400 Received: from mail-eopbgr140045.outbound.protection.outlook.com ([40.107.14.45]:56290 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726388AbfD1CvU (ORCPT ); Sat, 27 Apr 2019 22:51:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XtwyCDMEu0nxA+Dw5RaNY8UvK8ZN6UB2k/KxtW285cA=; b=Y0zdiFq+uQsiWBHl8SXFH/1mYua+gONHzxFaoHzAlrj51MhZ2/MGrbdX38Wv8nQ9Qruoq+/cmm0Nq2ZJXpz9jHKf8E7UjOXiGdHkirpskl7euqyAXJxeMEisPwVtVih11ABwI5jzlunqinxqsvC7if0XUlBFKdhCGAvtBCS04wM= Received: from VI1PR04MB5327.eurprd04.prod.outlook.com (20.177.52.16) by VI1PR04MB3184.eurprd04.prod.outlook.com (10.170.229.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.15; Sun, 28 Apr 2019 02:51:16 +0000 Received: from VI1PR04MB5327.eurprd04.prod.outlook.com ([fe80::4923:8ad8:62c1:3e61]) by VI1PR04MB5327.eurprd04.prod.outlook.com ([fe80::4923:8ad8:62c1:3e61%5]) with mapi id 15.20.1835.015; Sun, 28 Apr 2019 02:51:16 +0000 From: Peter Chen To: "shawnguo@kernel.org" , "balbi@kernel.org" CC: "linux-arm-kernel@lists.infradead.org" , "kernel@pengutronix.de" , "devicetree@vger.kernel.org" , "robh+dt@kernel.org" , Aisheng Dong , dl-linux-imx , "linux-usb@vger.kernel.org" , Peter Chen Subject: [PATCH 2/7] usb: phy: phy-mxs-usb: add imx7ulp support Thread-Topic: [PATCH 2/7] usb: phy: phy-mxs-usb: add imx7ulp support Thread-Index: AQHU/W0/DVgsqs2UH0uHVFe4Vd0CVQ== Date: Sun, 28 Apr 2019 02:51:16 +0000 Message-ID: <20190428024847.5046-3-peter.chen@nxp.com> References: <20190428024847.5046-1-peter.chen@nxp.com> In-Reply-To: <20190428024847.5046-1-peter.chen@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.14.1 x-clientproxiedby: HK0PR01CA0015.apcprd01.prod.exchangelabs.com (2603:1096:203:92::27) To VI1PR04MB5327.eurprd04.prod.outlook.com (2603:10a6:803:60::16) authentication-results: spf=none (sender IP is ) smtp.mailfrom=peter.chen@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [119.31.174.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b5e6ef6b-075d-460b-c256-08d6cb846232 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:VI1PR04MB3184; x-ms-traffictypediagnostic: VI1PR04MB3184: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0021920B5A x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(396003)(376002)(39860400002)(346002)(366004)(189003)(199004)(6436002)(5660300002)(8936002)(36756003)(6486002)(26005)(52116002)(14454004)(71200400001)(99286004)(71190400001)(6116002)(76176011)(186003)(2906002)(110136005)(1076003)(54906003)(316002)(102836004)(6506007)(386003)(81156014)(25786009)(2501003)(3846002)(73956011)(66946007)(4326008)(66446008)(66556008)(66476007)(64756008)(8676002)(81166006)(305945005)(97736004)(68736007)(53936002)(6512007)(486006)(7736002)(66066001)(478600001)(50226002)(446003)(11346002)(14444005)(256004)(2616005)(476003)(86362001)(44832011);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR04MB3184;H:VI1PR04MB5327.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: qxxj0mFgdhooNgwmVMMWUpRYssy9xlMUVmrLhzMGWzcORHQ+ycInxSlzSy+9oXZsXgG1ew3nWVg88aL7AQb4psw85JjB1Jh74UAWnwilMG+LogQSqrVDwmqoUDTnJY3STMJkJ2Cg1MUSODdhFp9AuoScN7MUPNKaxriEuj6Pb3NLXN0zKE44i++To6vCaYvmj5yDn4FndziFVV0fX4/QBJPSsp7KhzeZnbqJu4yCRKQQXl1Q6qe1qfJCEeBgJeodGQLbiJjBlKrvNsBmY/LRshIoXxwAZ/JN8hYDrn1JyuWEBIFMvOyQn+O/RjOHaKUILn/OXsIGq0JhjZ9vCzk1Ov0KTKrVJu9YRPP+QSWSVzm/4RBj/xCE39xlq246ITJmCeMKuxDvedWHXf4YWJJ4YeIIgbS4ez6PF3A7RlBxPzQ= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5e6ef6b-075d-460b-c256-08d6cb846232 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2019 02:51:16.7502 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3184 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190428025116.dd-Euf_s-mN5s0iVR5bkJhelblH79kAdtYDG3ZktFTQ@z> QXQgaW14N3VscCwgdGhlIFVTQiByZWxhdGVkIGFuYWxvZyByZWdpc3RlciBpcyBsb2NhdGVkIGlu IFBIWSByZWdpc3Rlcg0KcmVnaW9uIHRvbywgc28gd2UgbmVlZCB0byBjb250cm9sIFBMTCBhdCBQ SFkgZHJpdmVyIGRpcmVjdGx5Lg0KDQpTaWduZWQtb2ZmLWJ5OiBQZXRlciBDaGVuIDxwZXRlci5j aGVuQG54cC5jb20+DQotLS0NCiBkcml2ZXJzL3VzYi9waHkvcGh5LW14cy11c2IuYyB8IDc2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCiAxIGZpbGUgY2hhbmdl ZCwgNzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy91c2IvcGh5L3BoeS1teHMtdXNiLmMgYi9kcml2ZXJzL3VzYi9waHkvcGh5LW14cy11c2IuYw0K aW5kZXggMWIxYmIwYWQ0MGMzLi45MGM5NmE4ZTkzNDIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3Vz Yi9waHkvcGh5LW14cy11c2IuYw0KKysrIGIvZHJpdmVycy91c2IvcGh5L3BoeS1teHMtdXNiLmMN CkBAIC0yMCw2ICsyMCw3IEBADQogDQogI2RlZmluZSBEUklWRVJfTkFNRSAibXhzX3BoeSINCiAN CisvKiBSZWdpc3RlciBNYWNybyAqLw0KICNkZWZpbmUgSFdfVVNCUEhZX1BXRAkJCQkweDAwDQog I2RlZmluZSBIV19VU0JQSFlfVFgJCQkJMHgxMA0KICNkZWZpbmUgSFdfVVNCUEhZX0NUUkwJCQkJ MHgzMA0KQEAgLTM3LDYgKzM4LDExIEBADQogI2RlZmluZSBHTV9VU0JQSFlfVFhfVFhDQUw0NURO KHgpICAgICAgICAgICAgKCgoeCkgJiAweGYpIDw8IDgpDQogI2RlZmluZSBHTV9VU0JQSFlfVFhf RF9DQUwoeCkgICAgICAgICAgICAgICAgKCgoeCkgJiAweGYpIDw8IDApDQogDQorLyogaW14N3Vs cCAqLw0KKyNkZWZpbmUgSFdfVVNCUEhZX1BMTF9TSUMJCQkweGEwDQorI2RlZmluZSBIV19VU0JQ SFlfUExMX1NJQ19TRVQJCQkweGE0DQorI2RlZmluZSBIV19VU0JQSFlfUExMX1NJQ19DTFIJCQkw eGE4DQorDQogI2RlZmluZSBCTV9VU0JQSFlfQ1RSTF9TRlRSU1QJCQlCSVQoMzEpDQogI2RlZmlu ZSBCTV9VU0JQSFlfQ1RSTF9DTEtHQVRFCQkJQklUKDMwKQ0KICNkZWZpbmUgQk1fVVNCUEhZX0NU UkxfT1RHX0lEX1ZBTFVFCQlCSVQoMjcpDQpAQCAtNTUsNiArNjEsMTIgQEANCiAjZGVmaW5lIEJN X1VTQlBIWV9JUF9GSVggICAgICAgICAgICAgICAgICAgICAgIChCSVQoMTcpIHwgQklUKDE4KSkN CiANCiAjZGVmaW5lIEJNX1VTQlBIWV9ERUJVR19DTEtHQVRFCQkJQklUKDMwKQ0KKy8qIGlteDd1 bHAgKi8NCisjZGVmaW5lIEJNX1VTQlBIWV9QTExfTE9DSwkJCUJJVCgzMSkNCisjZGVmaW5lIEJN X1VTQlBIWV9QTExfUkVHX0VOQUJMRQkJQklUKDIxKQ0KKyNkZWZpbmUgQk1fVVNCUEhZX1BMTF9C WVBBU1MJCQlCSVQoMTYpDQorI2RlZmluZSBCTV9VU0JQSFlfUExMX1BPV0VSCQkJQklUKDEyKQ0K KyNkZWZpbmUgQk1fVVNCUEhZX1BMTF9FTl9VU0JfQ0xLUwkJQklUKDYpDQogDQogLyogQW5hdG9w IFJlZ2lzdGVycyAqLw0KICNkZWZpbmUgQU5BRElHX0FOQV9NSVNDMAkJCTB4MTUwDQpAQCAtMTY3 LDYgKzE3OSw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXhzX3BoeV9kYXRhIGlteDZ1bF9waHlf ZGF0YSA9IHsNCiAJLmZsYWdzID0gTVhTX1BIWV9ESVNDT05ORUNUX0xJTkVfV0lUSE9VVF9WQlVT LA0KIH07DQogDQorc3RhdGljIGNvbnN0IHN0cnVjdCBteHNfcGh5X2RhdGEgaW14N3VscF9waHlf ZGF0YSA9IHsNCit9Ow0KKw0KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG14c19w aHlfZHRfaWRzW10gPSB7DQogCXsgLmNvbXBhdGlibGUgPSAiZnNsLGlteDZzeC11c2JwaHkiLCAu ZGF0YSA9ICZpbXg2c3hfcGh5X2RhdGEsIH0sDQogCXsgLmNvbXBhdGlibGUgPSAiZnNsLGlteDZz bC11c2JwaHkiLCAuZGF0YSA9ICZpbXg2c2xfcGh5X2RhdGEsIH0sDQpAQCAtMTc0LDYgKzE4OSw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG14c19waHlfZHRfaWRzW10gPSB7 DQogCXsgLmNvbXBhdGlibGUgPSAiZnNsLGlteDIzLXVzYnBoeSIsIC5kYXRhID0gJmlteDIzX3Bo eV9kYXRhLCB9LA0KIAl7IC5jb21wYXRpYmxlID0gImZzbCx2ZjYxMC11c2JwaHkiLCAuZGF0YSA9 ICZ2ZjYxMF9waHlfZGF0YSwgfSwNCiAJeyAuY29tcGF0aWJsZSA9ICJmc2wsaW14NnVsLXVzYnBo eSIsIC5kYXRhID0gJmlteDZ1bF9waHlfZGF0YSwgfSwNCisJeyAuY29tcGF0aWJsZSA9ICJmc2ws aW14N3VscC11c2JwaHkiLCAuZGF0YSA9ICZpbXg3dWxwX3BoeV9kYXRhLCB9LA0KIAl7IC8qIHNl bnRpbmVsICovIH0NCiB9Ow0KIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG14c19waHlfZHRfaWRz KTsNCkBAIC0xOTgsNiArMjE0LDExIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc19pbXg2c2xfcGh5 KHN0cnVjdCBteHNfcGh5ICpteHNfcGh5KQ0KIAlyZXR1cm4gbXhzX3BoeS0+ZGF0YSA9PSAmaW14 NnNsX3BoeV9kYXRhOw0KIH0NCiANCitzdGF0aWMgaW5saW5lIGJvb2wgaXNfaW14N3VscF9waHko c3RydWN0IG14c19waHkgKm14c19waHkpDQorew0KKwlyZXR1cm4gbXhzX3BoeS0+ZGF0YSA9PSAm aW14N3VscF9waHlfZGF0YTsNCit9DQorDQogLyoNCiAgKiBQSFkgbmVlZHMgc29tZSAzMksgY3lj bGVzIHRvIHN3aXRjaCBmcm9tIDMySyBjbG9jayB0bw0KICAqIGJ1cyAoc3VjaCBhcyBBSEIvQVhJ LCBldGMpIGNsb2NrLg0KQEAgLTIyMSwxNCArMjQyLDU5IEBAIHN0YXRpYyB2b2lkIG14c19waHlf dHhfaW5pdChzdHJ1Y3QgbXhzX3BoeSAqbXhzX3BoeSkNCiAJfQ0KIH0NCiANCitzdGF0aWMgaW50 IHdhaXRfZm9yX3BsbF9sb2NrKGNvbnN0IHZvaWQgX19pb21lbSAqYmFzZSkNCit7DQorCWludCBs b29wX2NvdW50ID0gMTAwOw0KKw0KKwkvKiBXYWl0IGZvciBQTEwgdG8gbG9jayAqLw0KKwlkbyB7 DQorCQlpZiAocmVhZGwoYmFzZSArIEhXX1VTQlBIWV9QTExfU0lDKSAmIEJNX1VTQlBIWV9QTExf TE9DSykNCisJCQlicmVhazsNCisJCXVzbGVlcF9yYW5nZSgxMDAsIDE1MCk7DQorCX0gd2hpbGUg KGxvb3BfY291bnQtLSA+IDApOw0KKw0KKwlyZXR1cm4gcmVhZGwoYmFzZSArIEhXX1VTQlBIWV9Q TExfU0lDKSAmIEJNX1VTQlBIWV9QTExfTE9DSw0KKwkJCT8gMCA6IC1FVElNRURPVVQ7DQorfQ0K Kw0KK3N0YXRpYyBpbnQgbXhzX3BoeV9wbGxfZW5hYmxlKHZvaWQgX19pb21lbSAqYmFzZSwgYm9v bCBlbmFibGUpDQorew0KKwlpbnQgcmV0ID0gMDsNCisNCisJaWYgKGVuYWJsZSkgew0KKwkJd3Jp dGVsKEJNX1VTQlBIWV9QTExfUkVHX0VOQUJMRSwgYmFzZSArIEhXX1VTQlBIWV9QTExfU0lDX1NF VCk7DQorCQl3cml0ZWwoQk1fVVNCUEhZX1BMTF9CWVBBU1MsIGJhc2UgKyBIV19VU0JQSFlfUExM X1NJQ19DTFIpOw0KKwkJd3JpdGVsKEJNX1VTQlBIWV9QTExfUE9XRVIsIGJhc2UgKyBIV19VU0JQ SFlfUExMX1NJQ19TRVQpOw0KKwkJcmV0ID0gd2FpdF9mb3JfcGxsX2xvY2soYmFzZSk7DQorCQlp ZiAocmV0KQ0KKwkJCXJldHVybiByZXQ7DQorCQl3cml0ZWwoQk1fVVNCUEhZX1BMTF9FTl9VU0Jf Q0xLUywgYmFzZSArDQorCQkJCUhXX1VTQlBIWV9QTExfU0lDX1NFVCk7DQorCX0gZWxzZSB7DQor CQl3cml0ZWwoQk1fVVNCUEhZX1BMTF9FTl9VU0JfQ0xLUywgYmFzZSArDQorCQkJCUhXX1VTQlBI WV9QTExfU0lDX0NMUik7DQorCQl3cml0ZWwoQk1fVVNCUEhZX1BMTF9QT1dFUiwgYmFzZSArIEhX X1VTQlBIWV9QTExfU0lDX0NMUik7DQorCQl3cml0ZWwoQk1fVVNCUEhZX1BMTF9CWVBBU1MsIGJh c2UgKyBIV19VU0JQSFlfUExMX1NJQ19TRVQpOw0KKwkJd3JpdGVsKEJNX1VTQlBIWV9QTExfUkVH X0VOQUJMRSwgYmFzZSArIEhXX1VTQlBIWV9QTExfU0lDX0NMUik7DQorCX0NCisNCisJcmV0dXJu IHJldDsNCit9DQorDQogc3RhdGljIGludCBteHNfcGh5X2h3X2luaXQoc3RydWN0IG14c19waHkg Km14c19waHkpDQogew0KIAlpbnQgcmV0Ow0KIAl2b2lkIF9faW9tZW0gKmJhc2UgPSBteHNfcGh5 LT5waHkuaW9fcHJpdjsNCiANCisJaWYgKGlzX2lteDd1bHBfcGh5KG14c19waHkpKSB7DQorCQly ZXQgPSBteHNfcGh5X3BsbF9lbmFibGUoYmFzZSwgdHJ1ZSk7DQorCQlpZiAocmV0KQ0KKwkJCXJl dHVybiByZXQ7DQorCX0NCisNCiAJcmV0ID0gc3RtcF9yZXNldF9ibG9jayhiYXNlICsgSFdfVVNC UEhZX0NUUkwpOw0KIAlpZiAocmV0KQ0KLQkJcmV0dXJuIHJldDsNCisJCWdvdG8gZGlzYWJsZV9w bGw7DQogDQogCS8qIFBvd2VyIHVwIHRoZSBQSFkgKi8NCiAJd3JpdGVsKDAsIGJhc2UgKyBIV19V U0JQSFlfUFdEKTsNCkBAIC0yNTMsNiArMzE5LDExIEBAIHN0YXRpYyBpbnQgbXhzX3BoeV9od19p bml0KHN0cnVjdCBteHNfcGh5ICpteHNfcGh5KQ0KIAlteHNfcGh5X3R4X2luaXQobXhzX3BoeSk7 DQogDQogCXJldHVybiAwOw0KKw0KK2Rpc2FibGVfcGxsOg0KKwlpZiAoaXNfaW14N3VscF9waHko bXhzX3BoeSkpDQorCQlteHNfcGh5X3BsbF9lbmFibGUoYmFzZSwgZmFsc2UpOw0KKwlyZXR1cm4g cmV0Ow0KIH0NCiANCiAvKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgdmJ1cyBpcyB0aGVyZSAqLw0KQEAg LTM3NCw2ICs0NDUsOSBAQCBzdGF0aWMgdm9pZCBteHNfcGh5X3NodXRkb3duKHN0cnVjdCB1c2Jf cGh5ICpwaHkpDQogCXdyaXRlbChCTV9VU0JQSFlfQ1RSTF9DTEtHQVRFLA0KIAkgICAgICAgcGh5 LT5pb19wcml2ICsgSFdfVVNCUEhZX0NUUkxfU0VUKTsNCiANCisJaWYgKGlzX2lteDd1bHBfcGh5 KG14c19waHkpKQ0KKwkJbXhzX3BoeV9wbGxfZW5hYmxlKHBoeS0+aW9fcHJpdiwgZmFsc2UpOw0K Kw0KIAljbGtfZGlzYWJsZV91bnByZXBhcmUobXhzX3BoeS0+Y2xrKTsNCiB9DQogDQotLSANCjIu MTQuMQ0KDQo= 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 X-Spam-Level: X-Spam-Status: No, score=-6.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,UNWANTED_LANGUAGE_BODY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9456C43218 for ; Sun, 28 Apr 2019 02:51:46 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 90B2A20881 for ; Sun, 28 Apr 2019 02:51:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="CXoQI8Rw"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="Y0zdiFq+" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 90B2A20881 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cC4t3Ygknbv2aXym1I6z/mVl2lH4l1uGYr2AXU1FaCk=; b=CXoQI8Rwl2VCGj Bdr9edsNOCiKAjiB6j6Y6d9rmp1lSFdy6qxS4/cbW3ZURHNnxV6hK4z5tGLW3VltXHaR5XV8NE2dr D3RMqg4O+odwnvzqbNmesz7X7eQodt1KAlphnF19bLHtgEnpweVv914i1fl5qa1VGLvhAzpPVYJaB N9NRGj82p10Qw/CL2ZiJhDcB0TfCk0np+HAj9eVatGqNE+JxSWSh9ZTqWn9OrVYdQsJcfB826IZas CvS+tX94aPxrQqxhK8gbcPSSx5wD1RMjmAQR9OdW87ZBWeJxs4NRPSgEe1Qf1kb7DqEKPiQ4sNl/O oHyKyfPb1DF/9Mo3AZeg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hKZuq-0002ZN-Pr; Sun, 28 Apr 2019 02:51:44 +0000 Received: from mail-ve1eur01on0625.outbound.protection.outlook.com ([2a01:111:f400:fe1f::625] helo=EUR01-VE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hKZuW-00026r-KI for linux-arm-kernel@lists.infradead.org; Sun, 28 Apr 2019 02:51:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XtwyCDMEu0nxA+Dw5RaNY8UvK8ZN6UB2k/KxtW285cA=; b=Y0zdiFq+uQsiWBHl8SXFH/1mYua+gONHzxFaoHzAlrj51MhZ2/MGrbdX38Wv8nQ9Qruoq+/cmm0Nq2ZJXpz9jHKf8E7UjOXiGdHkirpskl7euqyAXJxeMEisPwVtVih11ABwI5jzlunqinxqsvC7if0XUlBFKdhCGAvtBCS04wM= Received: from VI1PR04MB5327.eurprd04.prod.outlook.com (20.177.52.16) by VI1PR04MB3184.eurprd04.prod.outlook.com (10.170.229.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.15; Sun, 28 Apr 2019 02:51:16 +0000 Received: from VI1PR04MB5327.eurprd04.prod.outlook.com ([fe80::4923:8ad8:62c1:3e61]) by VI1PR04MB5327.eurprd04.prod.outlook.com ([fe80::4923:8ad8:62c1:3e61%5]) with mapi id 15.20.1835.015; Sun, 28 Apr 2019 02:51:16 +0000 From: Peter Chen To: "shawnguo@kernel.org" , "balbi@kernel.org" Subject: [PATCH 2/7] usb: phy: phy-mxs-usb: add imx7ulp support Thread-Topic: [PATCH 2/7] usb: phy: phy-mxs-usb: add imx7ulp support Thread-Index: AQHU/W0/DVgsqs2UH0uHVFe4Vd0CVQ== Date: Sun, 28 Apr 2019 02:51:16 +0000 Message-ID: <20190428024847.5046-3-peter.chen@nxp.com> References: <20190428024847.5046-1-peter.chen@nxp.com> In-Reply-To: <20190428024847.5046-1-peter.chen@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.14.1 x-clientproxiedby: HK0PR01CA0015.apcprd01.prod.exchangelabs.com (2603:1096:203:92::27) To VI1PR04MB5327.eurprd04.prod.outlook.com (2603:10a6:803:60::16) authentication-results: spf=none (sender IP is ) smtp.mailfrom=peter.chen@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [119.31.174.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b5e6ef6b-075d-460b-c256-08d6cb846232 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:VI1PR04MB3184; x-ms-traffictypediagnostic: VI1PR04MB3184: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0021920B5A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(396003)(376002)(39860400002)(346002)(366004)(189003)(199004)(6436002)(5660300002)(8936002)(36756003)(6486002)(26005)(52116002)(14454004)(71200400001)(99286004)(71190400001)(6116002)(76176011)(186003)(2906002)(110136005)(1076003)(54906003)(316002)(102836004)(6506007)(386003)(81156014)(25786009)(2501003)(3846002)(73956011)(66946007)(4326008)(66446008)(66556008)(66476007)(64756008)(8676002)(81166006)(305945005)(97736004)(68736007)(53936002)(6512007)(486006)(7736002)(66066001)(478600001)(50226002)(446003)(11346002)(14444005)(256004)(2616005)(476003)(86362001)(44832011); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB3184; H:VI1PR04MB5327.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: qxxj0mFgdhooNgwmVMMWUpRYssy9xlMUVmrLhzMGWzcORHQ+ycInxSlzSy+9oXZsXgG1ew3nWVg88aL7AQb4psw85JjB1Jh74UAWnwilMG+LogQSqrVDwmqoUDTnJY3STMJkJ2Cg1MUSODdhFp9AuoScN7MUPNKaxriEuj6Pb3NLXN0zKE44i++To6vCaYvmj5yDn4FndziFVV0fX4/QBJPSsp7KhzeZnbqJu4yCRKQQXl1Q6qe1qfJCEeBgJeodGQLbiJjBlKrvNsBmY/LRshIoXxwAZ/JN8hYDrn1JyuWEBIFMvOyQn+O/RjOHaKUILn/OXsIGq0JhjZ9vCzk1Ov0KTKrVJu9YRPP+QSWSVzm/4RBj/xCE39xlq246ITJmCeMKuxDvedWHXf4YWJJ4YeIIgbS4ez6PF3A7RlBxPzQ= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b5e6ef6b-075d-460b-c256-08d6cb846232 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2019 02:51:16.7502 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3184 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190427_195124_667175_F2A4A892 X-CRM114-Status: GOOD ( 18.75 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aisheng Dong , "devicetree@vger.kernel.org" , Peter Chen , "linux-usb@vger.kernel.org" , "robh+dt@kernel.org" , dl-linux-imx , "kernel@pengutronix.de" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org At imx7ulp, the USB related analog register is located in PHY register region too, so we need to control PLL at PHY driver directly. Signed-off-by: Peter Chen --- drivers/usb/phy/phy-mxs-usb.c | 76 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/drivers/usb/phy/phy-mxs-usb.c b/drivers/usb/phy/phy-mxs-usb.c index 1b1bb0ad40c3..90c96a8e9342 100644 --- a/drivers/usb/phy/phy-mxs-usb.c +++ b/drivers/usb/phy/phy-mxs-usb.c @@ -20,6 +20,7 @@ #define DRIVER_NAME "mxs_phy" +/* Register Macro */ #define HW_USBPHY_PWD 0x00 #define HW_USBPHY_TX 0x10 #define HW_USBPHY_CTRL 0x30 @@ -37,6 +38,11 @@ #define GM_USBPHY_TX_TXCAL45DN(x) (((x) & 0xf) << 8) #define GM_USBPHY_TX_D_CAL(x) (((x) & 0xf) << 0) +/* imx7ulp */ +#define HW_USBPHY_PLL_SIC 0xa0 +#define HW_USBPHY_PLL_SIC_SET 0xa4 +#define HW_USBPHY_PLL_SIC_CLR 0xa8 + #define BM_USBPHY_CTRL_SFTRST BIT(31) #define BM_USBPHY_CTRL_CLKGATE BIT(30) #define BM_USBPHY_CTRL_OTG_ID_VALUE BIT(27) @@ -55,6 +61,12 @@ #define BM_USBPHY_IP_FIX (BIT(17) | BIT(18)) #define BM_USBPHY_DEBUG_CLKGATE BIT(30) +/* imx7ulp */ +#define BM_USBPHY_PLL_LOCK BIT(31) +#define BM_USBPHY_PLL_REG_ENABLE BIT(21) +#define BM_USBPHY_PLL_BYPASS BIT(16) +#define BM_USBPHY_PLL_POWER BIT(12) +#define BM_USBPHY_PLL_EN_USB_CLKS BIT(6) /* Anatop Registers */ #define ANADIG_ANA_MISC0 0x150 @@ -167,6 +179,9 @@ static const struct mxs_phy_data imx6ul_phy_data = { .flags = MXS_PHY_DISCONNECT_LINE_WITHOUT_VBUS, }; +static const struct mxs_phy_data imx7ulp_phy_data = { +}; + static const struct of_device_id mxs_phy_dt_ids[] = { { .compatible = "fsl,imx6sx-usbphy", .data = &imx6sx_phy_data, }, { .compatible = "fsl,imx6sl-usbphy", .data = &imx6sl_phy_data, }, @@ -174,6 +189,7 @@ static const struct of_device_id mxs_phy_dt_ids[] = { { .compatible = "fsl,imx23-usbphy", .data = &imx23_phy_data, }, { .compatible = "fsl,vf610-usbphy", .data = &vf610_phy_data, }, { .compatible = "fsl,imx6ul-usbphy", .data = &imx6ul_phy_data, }, + { .compatible = "fsl,imx7ulp-usbphy", .data = &imx7ulp_phy_data, }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, mxs_phy_dt_ids); @@ -198,6 +214,11 @@ static inline bool is_imx6sl_phy(struct mxs_phy *mxs_phy) return mxs_phy->data == &imx6sl_phy_data; } +static inline bool is_imx7ulp_phy(struct mxs_phy *mxs_phy) +{ + return mxs_phy->data == &imx7ulp_phy_data; +} + /* * PHY needs some 32K cycles to switch from 32K clock to * bus (such as AHB/AXI, etc) clock. @@ -221,14 +242,59 @@ static void mxs_phy_tx_init(struct mxs_phy *mxs_phy) } } +static int wait_for_pll_lock(const void __iomem *base) +{ + int loop_count = 100; + + /* Wait for PLL to lock */ + do { + if (readl(base + HW_USBPHY_PLL_SIC) & BM_USBPHY_PLL_LOCK) + break; + usleep_range(100, 150); + } while (loop_count-- > 0); + + return readl(base + HW_USBPHY_PLL_SIC) & BM_USBPHY_PLL_LOCK + ? 0 : -ETIMEDOUT; +} + +static int mxs_phy_pll_enable(void __iomem *base, bool enable) +{ + int ret = 0; + + if (enable) { + writel(BM_USBPHY_PLL_REG_ENABLE, base + HW_USBPHY_PLL_SIC_SET); + writel(BM_USBPHY_PLL_BYPASS, base + HW_USBPHY_PLL_SIC_CLR); + writel(BM_USBPHY_PLL_POWER, base + HW_USBPHY_PLL_SIC_SET); + ret = wait_for_pll_lock(base); + if (ret) + return ret; + writel(BM_USBPHY_PLL_EN_USB_CLKS, base + + HW_USBPHY_PLL_SIC_SET); + } else { + writel(BM_USBPHY_PLL_EN_USB_CLKS, base + + HW_USBPHY_PLL_SIC_CLR); + writel(BM_USBPHY_PLL_POWER, base + HW_USBPHY_PLL_SIC_CLR); + writel(BM_USBPHY_PLL_BYPASS, base + HW_USBPHY_PLL_SIC_SET); + writel(BM_USBPHY_PLL_REG_ENABLE, base + HW_USBPHY_PLL_SIC_CLR); + } + + return ret; +} + static int mxs_phy_hw_init(struct mxs_phy *mxs_phy) { int ret; void __iomem *base = mxs_phy->phy.io_priv; + if (is_imx7ulp_phy(mxs_phy)) { + ret = mxs_phy_pll_enable(base, true); + if (ret) + return ret; + } + ret = stmp_reset_block(base + HW_USBPHY_CTRL); if (ret) - return ret; + goto disable_pll; /* Power up the PHY */ writel(0, base + HW_USBPHY_PWD); @@ -253,6 +319,11 @@ static int mxs_phy_hw_init(struct mxs_phy *mxs_phy) mxs_phy_tx_init(mxs_phy); return 0; + +disable_pll: + if (is_imx7ulp_phy(mxs_phy)) + mxs_phy_pll_enable(base, false); + return ret; } /* Return true if the vbus is there */ @@ -374,6 +445,9 @@ static void mxs_phy_shutdown(struct usb_phy *phy) writel(BM_USBPHY_CTRL_CLKGATE, phy->io_priv + HW_USBPHY_CTRL_SET); + if (is_imx7ulp_phy(mxs_phy)) + mxs_phy_pll_enable(phy->io_priv, false); + clk_disable_unprepare(mxs_phy->clk); } -- 2.14.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Chen Subject: [PATCH 2/7] usb: phy: phy-mxs-usb: add imx7ulp support Date: Sun, 28 Apr 2019 02:51:16 +0000 Message-ID: <20190428024847.5046-3-peter.chen@nxp.com> References: <20190428024847.5046-1-peter.chen@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20190428024847.5046-1-peter.chen@nxp.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: "shawnguo@kernel.org" , "balbi@kernel.org" Cc: Aisheng Dong , "devicetree@vger.kernel.org" , Peter Chen , "linux-usb@vger.kernel.org" , "robh+dt@kernel.org" , dl-linux-imx , "kernel@pengutronix.de" , "linux-arm-kernel@lists.infradead.org" List-Id: devicetree@vger.kernel.org At imx7ulp, the USB related analog register is located in PHY register region too, so we need to control PLL at PHY driver directly. Signed-off-by: Peter Chen --- drivers/usb/phy/phy-mxs-usb.c | 76 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/drivers/usb/phy/phy-mxs-usb.c b/drivers/usb/phy/phy-mxs-usb.c index 1b1bb0ad40c3..90c96a8e9342 100644 --- a/drivers/usb/phy/phy-mxs-usb.c +++ b/drivers/usb/phy/phy-mxs-usb.c @@ -20,6 +20,7 @@ #define DRIVER_NAME "mxs_phy" +/* Register Macro */ #define HW_USBPHY_PWD 0x00 #define HW_USBPHY_TX 0x10 #define HW_USBPHY_CTRL 0x30 @@ -37,6 +38,11 @@ #define GM_USBPHY_TX_TXCAL45DN(x) (((x) & 0xf) << 8) #define GM_USBPHY_TX_D_CAL(x) (((x) & 0xf) << 0) +/* imx7ulp */ +#define HW_USBPHY_PLL_SIC 0xa0 +#define HW_USBPHY_PLL_SIC_SET 0xa4 +#define HW_USBPHY_PLL_SIC_CLR 0xa8 + #define BM_USBPHY_CTRL_SFTRST BIT(31) #define BM_USBPHY_CTRL_CLKGATE BIT(30) #define BM_USBPHY_CTRL_OTG_ID_VALUE BIT(27) @@ -55,6 +61,12 @@ #define BM_USBPHY_IP_FIX (BIT(17) | BIT(18)) #define BM_USBPHY_DEBUG_CLKGATE BIT(30) +/* imx7ulp */ +#define BM_USBPHY_PLL_LOCK BIT(31) +#define BM_USBPHY_PLL_REG_ENABLE BIT(21) +#define BM_USBPHY_PLL_BYPASS BIT(16) +#define BM_USBPHY_PLL_POWER BIT(12) +#define BM_USBPHY_PLL_EN_USB_CLKS BIT(6) /* Anatop Registers */ #define ANADIG_ANA_MISC0 0x150 @@ -167,6 +179,9 @@ static const struct mxs_phy_data imx6ul_phy_data = { .flags = MXS_PHY_DISCONNECT_LINE_WITHOUT_VBUS, }; +static const struct mxs_phy_data imx7ulp_phy_data = { +}; + static const struct of_device_id mxs_phy_dt_ids[] = { { .compatible = "fsl,imx6sx-usbphy", .data = &imx6sx_phy_data, }, { .compatible = "fsl,imx6sl-usbphy", .data = &imx6sl_phy_data, }, @@ -174,6 +189,7 @@ static const struct of_device_id mxs_phy_dt_ids[] = { { .compatible = "fsl,imx23-usbphy", .data = &imx23_phy_data, }, { .compatible = "fsl,vf610-usbphy", .data = &vf610_phy_data, }, { .compatible = "fsl,imx6ul-usbphy", .data = &imx6ul_phy_data, }, + { .compatible = "fsl,imx7ulp-usbphy", .data = &imx7ulp_phy_data, }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, mxs_phy_dt_ids); @@ -198,6 +214,11 @@ static inline bool is_imx6sl_phy(struct mxs_phy *mxs_phy) return mxs_phy->data == &imx6sl_phy_data; } +static inline bool is_imx7ulp_phy(struct mxs_phy *mxs_phy) +{ + return mxs_phy->data == &imx7ulp_phy_data; +} + /* * PHY needs some 32K cycles to switch from 32K clock to * bus (such as AHB/AXI, etc) clock. @@ -221,14 +242,59 @@ static void mxs_phy_tx_init(struct mxs_phy *mxs_phy) } } +static int wait_for_pll_lock(const void __iomem *base) +{ + int loop_count = 100; + + /* Wait for PLL to lock */ + do { + if (readl(base + HW_USBPHY_PLL_SIC) & BM_USBPHY_PLL_LOCK) + break; + usleep_range(100, 150); + } while (loop_count-- > 0); + + return readl(base + HW_USBPHY_PLL_SIC) & BM_USBPHY_PLL_LOCK + ? 0 : -ETIMEDOUT; +} + +static int mxs_phy_pll_enable(void __iomem *base, bool enable) +{ + int ret = 0; + + if (enable) { + writel(BM_USBPHY_PLL_REG_ENABLE, base + HW_USBPHY_PLL_SIC_SET); + writel(BM_USBPHY_PLL_BYPASS, base + HW_USBPHY_PLL_SIC_CLR); + writel(BM_USBPHY_PLL_POWER, base + HW_USBPHY_PLL_SIC_SET); + ret = wait_for_pll_lock(base); + if (ret) + return ret; + writel(BM_USBPHY_PLL_EN_USB_CLKS, base + + HW_USBPHY_PLL_SIC_SET); + } else { + writel(BM_USBPHY_PLL_EN_USB_CLKS, base + + HW_USBPHY_PLL_SIC_CLR); + writel(BM_USBPHY_PLL_POWER, base + HW_USBPHY_PLL_SIC_CLR); + writel(BM_USBPHY_PLL_BYPASS, base + HW_USBPHY_PLL_SIC_SET); + writel(BM_USBPHY_PLL_REG_ENABLE, base + HW_USBPHY_PLL_SIC_CLR); + } + + return ret; +} + static int mxs_phy_hw_init(struct mxs_phy *mxs_phy) { int ret; void __iomem *base = mxs_phy->phy.io_priv; + if (is_imx7ulp_phy(mxs_phy)) { + ret = mxs_phy_pll_enable(base, true); + if (ret) + return ret; + } + ret = stmp_reset_block(base + HW_USBPHY_CTRL); if (ret) - return ret; + goto disable_pll; /* Power up the PHY */ writel(0, base + HW_USBPHY_PWD); @@ -253,6 +319,11 @@ static int mxs_phy_hw_init(struct mxs_phy *mxs_phy) mxs_phy_tx_init(mxs_phy); return 0; + +disable_pll: + if (is_imx7ulp_phy(mxs_phy)) + mxs_phy_pll_enable(base, false); + return ret; } /* Return true if the vbus is there */ @@ -374,6 +445,9 @@ static void mxs_phy_shutdown(struct usb_phy *phy) writel(BM_USBPHY_CTRL_CLKGATE, phy->io_priv + HW_USBPHY_CTRL_SET); + if (is_imx7ulp_phy(mxs_phy)) + mxs_phy_pll_enable(phy->io_priv, false); + clk_disable_unprepare(mxs_phy->clk); } -- 2.14.1