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=-8.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT 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 719B8C04EB8 for ; Tue, 4 Dec 2018 12:45:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3EB9B20878 for ; Tue, 4 Dec 2018 12:45:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3EB9B20878 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726321AbeLDMpO (ORCPT ); Tue, 4 Dec 2018 07:45:14 -0500 Received: from mga17.intel.com ([192.55.52.151]:53750 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726246AbeLDMpN (ORCPT ); Tue, 4 Dec 2018 07:45:13 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Dec 2018 04:45:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,314,1539673200"; d="scan'208";a="126960776" Received: from kuha.fi.intel.com ([10.237.72.189]) by fmsmga001.fm.intel.com with SMTP; 04 Dec 2018 04:45:09 -0800 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Tue, 04 Dec 2018 14:45:08 +0200 Date: Tue, 4 Dec 2018 14:45:08 +0200 From: Heikki Krogerus To: Yu Chen Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, suzhuangluan@hisilicon.com, kongfei@hisilicon.com, Wei Xu , Rob Herring , Mark Rutland , linux-arm-kernel@lists.infradead.org, John Stultz , Binghui Wang Subject: Re: [PATCH v1 12/12] dts: hi3660: Add support for usb on Hikey960 Message-ID: <20181204124508.GB10657@kuha.fi.intel.com> References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-13-chenyu56@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181203034515.91412-13-chenyu56@huawei.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 03, 2018 at 11:45:15AM +0800, Yu Chen wrote: > This patch adds support for usb on Hikey960. > > Cc: Wei Xu > Cc: Rob Herring > Cc: Mark Rutland > Cc: linux-arm-kernel@lists.infradead.org > Cc: John Stultz > Cc: Binghui Wang > Signed-off-by: Yu Chen > --- > arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts | 56 ++++++++++++++++++ > arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 72 +++++++++++++++++++++++ > 2 files changed, 128 insertions(+) > > diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts > index c98bcbc8dfba..066c558154ea 100644 > --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts > +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts > @@ -13,6 +13,7 @@ > #include > #include > #include > +#include > > / { > model = "HiKey960"; > @@ -196,6 +197,28 @@ > method = "smc"; > }; > }; > + > + hisi_hikey_usb: hisi_hikey_usb { > + compatible = "hisilicon,hikey960_usb"; > + typec-vbus-gpios = <&gpio25 2 0>; > + typc-vbus-enable-val = <1>; > + otg-switch-gpios = <&gpio25 6 0>; > + hub-vdd33-en-gpios = <&gpio5 6 0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&usbhub5734_pmx_func>; > + > + port { > + #address-cells = <1>; > + #size-cells = <0>; > + > + hikey_usb_ep: endpoint@0 { > + reg = <0>; > + device_type = "usb-role-switch"; > + remote-endpoint = <&dwc3_role_switch_notify>; > + }; > + }; > + }; > + > }; > > /* > @@ -526,6 +549,39 @@ > &i2c1 { > status = "okay"; > > + rt1711h: rt1711h@4e { > + compatible = "richtek,rt1711h"; > + reg = <0x4e>; > + status = "ok"; > + interrupt-parent = <&gpio27>; > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&usb_cfg_func>; > + > + usb_con: connector { > + compatible = "usb-c-connector"; > + label = "USB-C"; > + data-role = "dual"; > + power-role = "dual"; > + try-power-role = "sink"; > + source-pdos = ; > + sink-pdos = + PDO_VAR(5000, 5000, 1000)>; > + op-sink-microwatt = <10000000>; > + }; > + > + port { > + #address-cells = <1>; > + #size-cells = <0>; > + > + rt1711h_ep: endpoint@0 { > + reg = <0>; > + device_type = "usb-role-switch"; device_type is deprecated, no? In any case, I don't think we can use the endpoint subnode for matching. To play it safe, I think we should use the remote port parent for matching. See below.. > + remote-endpoint = <&dwc3_role_switch>; > + }; > + }; > + }; > + > adv7533: adv7533@39 { > status = "ok"; > compatible = "adi,adv7533"; > diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi > index f432b0a88c65..e6583bd7efdb 100644 > --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi > +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi > @@ -349,6 +349,12 @@ > #clock-cells = <1>; > }; > > + pmctrl: pmctrl@fff31000 { > + compatible = "hisilicon,hi3660-pmctrl", "syscon"; > + reg = <0x0 0xfff31000 0x0 0x1000>; > + #clock-cells = <1>; > + }; > + > pmuctrl: crg_ctrl@fff34000 { > compatible = "hisilicon,hi3660-pmuctrl", "syscon"; > reg = <0x0 0xfff34000 0x0 0x1000>; > @@ -1122,5 +1128,71 @@ > }; > }; > }; > + > + usb3_otg_bc: usb3_otg_bc@ff200000 { > + compatible = "syscon"; > + reg = <0x0 0xff200000 0x0 0x1000>; > + }; > + > + usb_phy: usb-phy { > + compatible = "hisilicon,hi3660-usb-phy"; > + #phy-cells = <0>; > + hisilicon,pericrg-syscon = <&crg_ctrl>; > + hisilicon,pctrl-syscon = <&pctrl>; > + hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>; > + hisilicon,eye-diagram-param = <0x22466e4>; > + }; > + > + usb3: hisi_dwc3 { > + compatible = "hisilicon,hi3660-dwc3"; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + clocks = <&crg_ctrl HI3660_CLK_ABB_USB>, > + <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; > + clock-names = "clk_usb3phy_ref", "aclk_usb3otg"; > + > + assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; > + assigned-clock-rates = <229000000>; > + resets = <&crg_rst 0x90 8>, > + <&crg_rst 0x90 7>, > + <&crg_rst 0x90 6>, > + <&crg_rst 0x90 5>; > + > + dwc3: dwc3@ff100000 { > + compatible = "snps,dwc3"; Can we use the compatible property? compatible = "snps,dwc3", "usb-role-switch" > + reg = <0x0 0xff100000 0x0 0x100000>; > + interrupts = <0 159 4>, <0 161 4>; > + phys = <&usb_phy>; > + phy-names = "usb3-phy"; > + dr_mode = "otg"; > + maximum-speed = "super-speed"; > + phy_type = "utmi"; > + snps,dis-del-phy-power-chg-quirk; > + snps,lfps_filter_quirk; > + snps,dis_u2_susphy_quirk; > + snps,dis_u3_susphy_quirk; > + snps,tx_de_emphasis_quirk; > + snps,tx_de_emphasis = <1>; > + snps,dis_enblslpm_quirk; > + snps,gctl-reset-quirk; > + > + port { > + #address-cells = <1>; > + #size-cells = <0>; > + > + dwc3_role_switch: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&rt1711h_ep>; > + }; > + > + dwc3_role_switch_notify: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&hikey_usb_ep>; > + }; > + }; > + }; > + }; > }; > }; > -- > 2.15.0-rc2 -- heikki 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: [v1,12/12] dts: hi3660: Add support for usb on Hikey960 From: Heikki Krogerus Message-Id: <20181204124508.GB10657@kuha.fi.intel.com> Date: Tue, 4 Dec 2018 14:45:08 +0200 To: Yu Chen Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, suzhuangluan@hisilicon.com, kongfei@hisilicon.com, Wei Xu , Rob Herring , Mark Rutland , linux-arm-kernel@lists.infradead.org, John Stultz , Binghui Wang List-ID: T24gTW9uLCBEZWMgMDMsIDIwMTggYXQgMTE6NDU6MTVBTSArMDgwMCwgWXUgQ2hlbiB3cm90ZToK PiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdXNiIG9uIEhpa2V5OTYwLgo+IAo+IENjOiBX ZWkgWHUgPHh1d2VpNUBoaXNpbGljb24uY29tPgo+IENjOiBSb2IgSGVycmluZyA8cm9iaCtkdEBr ZXJuZWwub3JnPgo+IENjOiBNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29tPgo+IENj OiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKPiBDYzogSm9obiBTdHVsdHog PGpvaG4uc3R1bHR6QGxpbmFyby5vcmc+Cj4gQ2M6IEJpbmdodWkgV2FuZyA8d2FuZ2JpbmdodWlA aGlzaWxpY29uLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBZdSBDaGVuIDxjaGVueXU1NkBodWF3ZWku Y29tPgo+IC0tLQo+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL2hpc2lsaWNvbi9oaTM2NjAtaGlrZXk5 NjAuZHRzIHwgNTYgKysrKysrKysrKysrKysrKysrCj4gIGFyY2gvYXJtNjQvYm9vdC9kdHMvaGlz aWxpY29uL2hpMzY2MC5kdHNpICAgICAgICAgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKwo+ ICAyIGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtNjQvYm9vdC9kdHMvaGlzaWxpY29uL2hpMzY2MC1oaWtleTk2MC5kdHMgYi9hcmNoL2Fy bTY0L2Jvb3QvZHRzL2hpc2lsaWNvbi9oaTM2NjAtaGlrZXk5NjAuZHRzCj4gaW5kZXggYzk4YmNi YzhkZmJhLi4wNjZjNTU4MTU0ZWEgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9hcm02NC9ib290L2R0cy9o aXNpbGljb24vaGkzNjYwLWhpa2V5OTYwLmR0cwo+ICsrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMv aGlzaWxpY29uL2hpMzY2MC1oaWtleTk2MC5kdHMKPiBAQCAtMTMsNiArMTMsNyBAQAo+ICAjaW5j bHVkZSA8ZHQtYmluZGluZ3MvZ3Bpby9ncGlvLmg+Cj4gICNpbmNsdWRlIDxkdC1iaW5kaW5ncy9p bnB1dC9pbnB1dC5oPgo+ICAjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xs ZXIvaXJxLmg+Cj4gKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy91c2IvcGQuaD4KPiAgCj4gIC8gewo+ ICAJbW9kZWwgPSAiSGlLZXk5NjAiOwo+IEBAIC0xOTYsNiArMTk3LDI4IEBACj4gIAkJCW1ldGhv ZCA9ICJzbWMiOwo+ICAJCX07Cj4gIAl9Owo+ICsKPiArCWhpc2lfaGlrZXlfdXNiOiBoaXNpX2hp a2V5X3VzYiB7Cj4gKwkJY29tcGF0aWJsZSA9ICJoaXNpbGljb24saGlrZXk5NjBfdXNiIjsKPiAr CQl0eXBlYy12YnVzLWdwaW9zID0gPCZncGlvMjUgMiAwPjsKPiArCQl0eXBjLXZidXMtZW5hYmxl LXZhbCA9IDwxPjsKPiArCQlvdGctc3dpdGNoLWdwaW9zID0gPCZncGlvMjUgNiAwPjsKPiArCQlo dWItdmRkMzMtZW4tZ3Bpb3MgPSA8JmdwaW81IDYgMD47Cj4gKwkJcGluY3RybC1uYW1lcyA9ICJk ZWZhdWx0IjsKPiArCQlwaW5jdHJsLTAgPSA8JnVzYmh1YjU3MzRfcG14X2Z1bmM+Owo+ICsKPiAr CQlwb3J0IHsKPiArCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Cj4gKwkJCSNzaXplLWNlbGxzID0g PDA+Owo+ICsKPiArCQkJaGlrZXlfdXNiX2VwOiBlbmRwb2ludEAwIHsKPiArCQkJCXJlZyA9IDww PjsKPiArCQkJCWRldmljZV90eXBlID0gInVzYi1yb2xlLXN3aXRjaCI7Cj4gKwkJCQlyZW1vdGUt ZW5kcG9pbnQgPSA8JmR3YzNfcm9sZV9zd2l0Y2hfbm90aWZ5PjsKPiArCQkJfTsKPiArCQl9Owo+ ICsJfTsKPiArCj4gIH07Cj4gIAo+ICAvKgo+IEBAIC01MjYsNiArNTQ5LDM5IEBACj4gICZpMmMx IHsKPiAgCXN0YXR1cyA9ICJva2F5IjsKPiAgCj4gKwlydDE3MTFoOiBydDE3MTFoQDRlIHsKPiAr CQljb21wYXRpYmxlID0gInJpY2h0ZWsscnQxNzExaCI7Cj4gKwkJcmVnID0gPDB4NGU+Owo+ICsJ CXN0YXR1cyA9ICJvayI7Cj4gKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ3BpbzI3PjsKPiArCQlp bnRlcnJ1cHRzID0gPDMgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiArCQlwaW5jdHJsLW5hbWVzID0g ImRlZmF1bHQiOwo+ICsJCXBpbmN0cmwtMCA9IDwmdXNiX2NmZ19mdW5jPjsKPiArCj4gKwkJdXNi X2NvbjogY29ubmVjdG9yIHsKPiArCQkJY29tcGF0aWJsZSA9ICJ1c2ItYy1jb25uZWN0b3IiOwo+ ICsJCQlsYWJlbCA9ICJVU0ItQyI7Cj4gKwkJCWRhdGEtcm9sZSA9ICJkdWFsIjsKPiArCQkJcG93 ZXItcm9sZSA9ICJkdWFsIjsKPiArCQkJdHJ5LXBvd2VyLXJvbGUgPSAic2luayI7Cj4gKwkJCXNv dXJjZS1wZG9zID0gPFBET19GSVhFRCg1MDAwLCA1MDAsIFBET19GSVhFRF9VU0JfQ09NTSk+Owo+ ICsJCQlzaW5rLXBkb3MgPSA8UERPX0ZJWEVEKDUwMDAsIDUwMCwgUERPX0ZJWEVEX1VTQl9DT01N KQo+ICsJCQkJUERPX1ZBUig1MDAwLCA1MDAwLCAxMDAwKT47Cj4gKwkJCW9wLXNpbmstbWljcm93 YXR0ID0gPDEwMDAwMDAwPjsKPiArCQl9Owo+ICsKPiArCQlwb3J0IHsKPiArCQkJI2FkZHJlc3Mt Y2VsbHMgPSA8MT47Cj4gKwkJCSNzaXplLWNlbGxzID0gPDA+Owo+ICsKPiArCQkJcnQxNzExaF9l cDogZW5kcG9pbnRAMCB7Cj4gKwkJCQlyZWcgPSA8MD47Cj4gKwkJCQlkZXZpY2VfdHlwZSA9ICJ1 c2Itcm9sZS1zd2l0Y2giOwoKZGV2aWNlX3R5cGUgaXMgZGVwcmVjYXRlZCwgbm8/CgpJbiBhbnkg Y2FzZSwgSSBkb24ndCB0aGluayB3ZSBjYW4gdXNlIHRoZSBlbmRwb2ludCBzdWJub2RlIGZvcgpt YXRjaGluZy4gVG8gcGxheSBpdCBzYWZlLCBJIHRoaW5rIHdlIHNob3VsZCB1c2UgdGhlIHJlbW90 ZSBwb3J0CnBhcmVudCBmb3IgbWF0Y2hpbmcuIFNlZSBiZWxvdy4uCgo+ICsJCQkJcmVtb3RlLWVu ZHBvaW50ID0gPCZkd2MzX3JvbGVfc3dpdGNoPjsKPiArCQkJfTsKPiArCQl9Owo+ICsJfTsKPiAr Cj4gIAlhZHY3NTMzOiBhZHY3NTMzQDM5IHsKPiAgCQlzdGF0dXMgPSAib2siOwo+ICAJCWNvbXBh dGlibGUgPSAiYWRpLGFkdjc1MzMiOwo+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRz L2hpc2lsaWNvbi9oaTM2NjAuZHRzaSBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvaGlzaWxpY29uL2hp MzY2MC5kdHNpCj4gaW5kZXggZjQzMmIwYTg4YzY1Li5lNjU4M2JkN2VmZGIgMTAwNjQ0Cj4gLS0t IGEvYXJjaC9hcm02NC9ib290L2R0cy9oaXNpbGljb24vaGkzNjYwLmR0c2kKPiArKysgYi9hcmNo L2FybTY0L2Jvb3QvZHRzL2hpc2lsaWNvbi9oaTM2NjAuZHRzaQo+IEBAIC0zNDksNiArMzQ5LDEy IEBACj4gIAkJCSNjbG9jay1jZWxscyA9IDwxPjsKPiAgCQl9Owo+ICAKPiArCQlwbWN0cmw6IHBt Y3RybEBmZmYzMTAwMCB7Cj4gKwkJCWNvbXBhdGlibGUgPSAiaGlzaWxpY29uLGhpMzY2MC1wbWN0 cmwiLCAic3lzY29uIjsKPiArCQkJcmVnID0gPDB4MCAweGZmZjMxMDAwIDB4MCAweDEwMDA+Owo+ ICsJCQkjY2xvY2stY2VsbHMgPSA8MT47Cj4gKwkJfTsKPiArCj4gIAkJcG11Y3RybDogY3JnX2N0 cmxAZmZmMzQwMDAgewo+ICAJCQljb21wYXRpYmxlID0gImhpc2lsaWNvbixoaTM2NjAtcG11Y3Ry bCIsICJzeXNjb24iOwo+ICAJCQlyZWcgPSA8MHgwIDB4ZmZmMzQwMDAgMHgwIDB4MTAwMD47Cj4g QEAgLTExMjIsNSArMTEyOCw3MSBAQAo+ICAJCQkJfTsKPiAgCQkJfTsKPiAgCQl9Owo+ICsKPiAr CQl1c2IzX290Z19iYzogdXNiM19vdGdfYmNAZmYyMDAwMDAgewo+ICsJCQljb21wYXRpYmxlID0g InN5c2NvbiI7Cj4gKwkJCXJlZyA9IDwweDAgMHhmZjIwMDAwMCAweDAgMHgxMDAwPjsKPiArCQl9 Owo+ICsKPiArCQl1c2JfcGh5OiB1c2ItcGh5IHsKPiArCQkJY29tcGF0aWJsZSA9ICJoaXNpbGlj b24saGkzNjYwLXVzYi1waHkiOwo+ICsJCQkjcGh5LWNlbGxzID0gPDA+Owo+ICsJCQloaXNpbGlj b24scGVyaWNyZy1zeXNjb24gPSA8JmNyZ19jdHJsPjsKPiArCQkJaGlzaWxpY29uLHBjdHJsLXN5 c2NvbiA9IDwmcGN0cmw+Owo+ICsJCQloaXNpbGljb24sdXNiMy1vdGctYmMtc3lzY29uID0gPCZ1 c2IzX290Z19iYz47Cj4gKwkJCWhpc2lsaWNvbixleWUtZGlhZ3JhbS1wYXJhbSA9IDwweDIyNDY2 ZTQ+Owo+ICsJCX07Cj4gKwo+ICsJCXVzYjM6IGhpc2lfZHdjMyB7Cj4gKwkJCWNvbXBhdGlibGUg PSAiaGlzaWxpY29uLGhpMzY2MC1kd2MzIjsKPiArCQkJI2FkZHJlc3MtY2VsbHMgPSA8Mj47Cj4g KwkJCSNzaXplLWNlbGxzID0gPDI+Owo+ICsJCQlyYW5nZXM7Cj4gKwo+ICsJCQljbG9ja3MgPSA8 JmNyZ19jdHJsIEhJMzY2MF9DTEtfQUJCX1VTQj4sCj4gKwkJCQkgPCZjcmdfY3RybCBISTM2NjBf QUNMS19HQVRFX1VTQjNPVEc+Owo+ICsJCQljbG9jay1uYW1lcyA9ICJjbGtfdXNiM3BoeV9yZWYi LCAiYWNsa191c2Izb3RnIjsKPiArCj4gKwkJCWFzc2lnbmVkLWNsb2NrcyA9IDwmY3JnX2N0cmwg SEkzNjYwX0FDTEtfR0FURV9VU0IzT1RHPjsKPiArCQkJYXNzaWduZWQtY2xvY2stcmF0ZXMgPSA8 MjI5MDAwMDAwPjsKPiArCQkJcmVzZXRzID0gPCZjcmdfcnN0IDB4OTAgOD4sCj4gKwkJCQkgPCZj cmdfcnN0IDB4OTAgNz4sCj4gKwkJCQkgPCZjcmdfcnN0IDB4OTAgNj4sCj4gKwkJCQkgPCZjcmdf cnN0IDB4OTAgNT47Cj4gKwo+ICsJCQlkd2MzOiBkd2MzQGZmMTAwMDAwIHsKPiArCQkJCWNvbXBh dGlibGUgPSAic25wcyxkd2MzIjsKCkNhbiB3ZSB1c2UgdGhlIGNvbXBhdGlibGUgcHJvcGVydHk/ CgogICAgICAgIGNvbXBhdGlibGUgPSAic25wcyxkd2MzIiwgInVzYi1yb2xlLXN3aXRjaCIKCj4g KwkJCQlyZWcgPSA8MHgwIDB4ZmYxMDAwMDAgMHgwIDB4MTAwMDAwPjsKPiArCQkJCWludGVycnVw dHMgPSA8MCAxNTkgND4sIDwwIDE2MSA0PjsKPiArCQkJCXBoeXMgPSA8JnVzYl9waHk+Owo+ICsJ CQkJcGh5LW5hbWVzID0gInVzYjMtcGh5IjsKPiArCQkJCWRyX21vZGUgPSAib3RnIjsKPiArCQkJ CW1heGltdW0tc3BlZWQgPSAic3VwZXItc3BlZWQiOwo+ICsJCQkJcGh5X3R5cGUgPSAidXRtaSI7 Cj4gKwkJCQlzbnBzLGRpcy1kZWwtcGh5LXBvd2VyLWNoZy1xdWlyazsKPiArCQkJCXNucHMsbGZw c19maWx0ZXJfcXVpcms7Cj4gKwkJCQlzbnBzLGRpc191Ml9zdXNwaHlfcXVpcms7Cj4gKwkJCQlz bnBzLGRpc191M19zdXNwaHlfcXVpcms7Cj4gKwkJCQlzbnBzLHR4X2RlX2VtcGhhc2lzX3F1aXJr Owo+ICsJCQkJc25wcyx0eF9kZV9lbXBoYXNpcyA9IDwxPjsKPiArCQkJCXNucHMsZGlzX2VuYmxz bHBtX3F1aXJrOwo+ICsJCQkJc25wcyxnY3RsLXJlc2V0LXF1aXJrOwo+ICsKPiArCQkJCXBvcnQg ewo+ICsJCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ICsJCQkJCSNzaXplLWNlbGxzID0gPDA+ Owo+ICsKPiArCQkJCQlkd2MzX3JvbGVfc3dpdGNoOiBlbmRwb2ludEAwIHsKPiArCQkJCQkJcmVn ID0gPDA+Owo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnJ0MTcxMWhfZXA+Owo+ICsJCQkJ CX07Cj4gKwo+ICsJCQkJCWR3YzNfcm9sZV9zd2l0Y2hfbm90aWZ5OiBlbmRwb2ludEAxIHsKPiAr CQkJCQkJcmVnID0gPDE+Owo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8Jmhpa2V5X3VzYl9l cD47Cj4gKwkJCQkJfTsKPiArCQkJCX07Cj4gKwkJCX07Cj4gKwkJfTsKPiAgCX07Cj4gIH07Cj4g LS0gCj4gMi4xNS4wLXJjMgo= 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=-10.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=unavailable 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 680C5C04EB8 for ; Tue, 4 Dec 2018 12:45:29 +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 31DC220878 for ; Tue, 4 Dec 2018 12:45:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="LW6Jsby0" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 31DC220878 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.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:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=xv/I39uQ6F8u+8mOY/qgela1XzsDBNxGZ5eXvnbzcJM=; b=LW6Jsby0/sRzS/ X8SESJi604zgEK7V5ZpN9IL+eCbNCnAOjHjXMHhEROidSNJRwzQMXGDR5pWNM2R3dWx2itAIcpx4N ZV3UJPrlCygTRlV/RAWnrTKju61jwQQJx1qA6yatRSk+1evPkrqC4h0Ohfgy8PwFRJsQHvHH+2nU/ ZOktzq44JrcaQyL4G4bLwL1gXv1+JV3/5x5JrpmxkrDivuWtK68XqB/vT+kmN8PyfS6j5OoTQXqjY vbLc7H2LH186lsncfukkK2jN1mPXNd9sl45fd45dp6brjZHkX0V9s283CKe2Op3W0hsRtK1t6KXjK IpzCl1Zp6KIPLy5KRpqQ==; 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 1gUA4t-00037K-Co; Tue, 04 Dec 2018 12:45:27 +0000 Received: from mga02.intel.com ([134.134.136.20]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gUA4q-0002u6-GI for linux-arm-kernel@lists.infradead.org; Tue, 04 Dec 2018 12:45:26 +0000 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Dec 2018 04:45:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,314,1539673200"; d="scan'208";a="126960776" Received: from kuha.fi.intel.com ([10.237.72.189]) by fmsmga001.fm.intel.com with SMTP; 04 Dec 2018 04:45:09 -0800 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Tue, 04 Dec 2018 14:45:08 +0200 Date: Tue, 4 Dec 2018 14:45:08 +0200 From: Heikki Krogerus To: Yu Chen Subject: Re: [PATCH v1 12/12] dts: hi3660: Add support for usb on Hikey960 Message-ID: <20181204124508.GB10657@kuha.fi.intel.com> References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-13-chenyu56@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20181203034515.91412-13-chenyu56@huawei.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181204_044524_591885_F3B565F7 X-CRM114-Status: GOOD ( 20.02 ) 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: Mark Rutland , devicetree@vger.kernel.org, Binghui Wang , suzhuangluan@hisilicon.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Wei Xu , kongfei@hisilicon.com, Rob Herring , John Stultz , 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 On Mon, Dec 03, 2018 at 11:45:15AM +0800, Yu Chen wrote: > This patch adds support for usb on Hikey960. > > Cc: Wei Xu > Cc: Rob Herring > Cc: Mark Rutland > Cc: linux-arm-kernel@lists.infradead.org > Cc: John Stultz > Cc: Binghui Wang > Signed-off-by: Yu Chen > --- > arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts | 56 ++++++++++++++++++ > arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 72 +++++++++++++++++++++++ > 2 files changed, 128 insertions(+) > > diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts > index c98bcbc8dfba..066c558154ea 100644 > --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts > +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts > @@ -13,6 +13,7 @@ > #include > #include > #include > +#include > > / { > model = "HiKey960"; > @@ -196,6 +197,28 @@ > method = "smc"; > }; > }; > + > + hisi_hikey_usb: hisi_hikey_usb { > + compatible = "hisilicon,hikey960_usb"; > + typec-vbus-gpios = <&gpio25 2 0>; > + typc-vbus-enable-val = <1>; > + otg-switch-gpios = <&gpio25 6 0>; > + hub-vdd33-en-gpios = <&gpio5 6 0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&usbhub5734_pmx_func>; > + > + port { > + #address-cells = <1>; > + #size-cells = <0>; > + > + hikey_usb_ep: endpoint@0 { > + reg = <0>; > + device_type = "usb-role-switch"; > + remote-endpoint = <&dwc3_role_switch_notify>; > + }; > + }; > + }; > + > }; > > /* > @@ -526,6 +549,39 @@ > &i2c1 { > status = "okay"; > > + rt1711h: rt1711h@4e { > + compatible = "richtek,rt1711h"; > + reg = <0x4e>; > + status = "ok"; > + interrupt-parent = <&gpio27>; > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&usb_cfg_func>; > + > + usb_con: connector { > + compatible = "usb-c-connector"; > + label = "USB-C"; > + data-role = "dual"; > + power-role = "dual"; > + try-power-role = "sink"; > + source-pdos = ; > + sink-pdos = + PDO_VAR(5000, 5000, 1000)>; > + op-sink-microwatt = <10000000>; > + }; > + > + port { > + #address-cells = <1>; > + #size-cells = <0>; > + > + rt1711h_ep: endpoint@0 { > + reg = <0>; > + device_type = "usb-role-switch"; device_type is deprecated, no? In any case, I don't think we can use the endpoint subnode for matching. To play it safe, I think we should use the remote port parent for matching. See below.. > + remote-endpoint = <&dwc3_role_switch>; > + }; > + }; > + }; > + > adv7533: adv7533@39 { > status = "ok"; > compatible = "adi,adv7533"; > diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi > index f432b0a88c65..e6583bd7efdb 100644 > --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi > +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi > @@ -349,6 +349,12 @@ > #clock-cells = <1>; > }; > > + pmctrl: pmctrl@fff31000 { > + compatible = "hisilicon,hi3660-pmctrl", "syscon"; > + reg = <0x0 0xfff31000 0x0 0x1000>; > + #clock-cells = <1>; > + }; > + > pmuctrl: crg_ctrl@fff34000 { > compatible = "hisilicon,hi3660-pmuctrl", "syscon"; > reg = <0x0 0xfff34000 0x0 0x1000>; > @@ -1122,5 +1128,71 @@ > }; > }; > }; > + > + usb3_otg_bc: usb3_otg_bc@ff200000 { > + compatible = "syscon"; > + reg = <0x0 0xff200000 0x0 0x1000>; > + }; > + > + usb_phy: usb-phy { > + compatible = "hisilicon,hi3660-usb-phy"; > + #phy-cells = <0>; > + hisilicon,pericrg-syscon = <&crg_ctrl>; > + hisilicon,pctrl-syscon = <&pctrl>; > + hisilicon,usb3-otg-bc-syscon = <&usb3_otg_bc>; > + hisilicon,eye-diagram-param = <0x22466e4>; > + }; > + > + usb3: hisi_dwc3 { > + compatible = "hisilicon,hi3660-dwc3"; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + clocks = <&crg_ctrl HI3660_CLK_ABB_USB>, > + <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; > + clock-names = "clk_usb3phy_ref", "aclk_usb3otg"; > + > + assigned-clocks = <&crg_ctrl HI3660_ACLK_GATE_USB3OTG>; > + assigned-clock-rates = <229000000>; > + resets = <&crg_rst 0x90 8>, > + <&crg_rst 0x90 7>, > + <&crg_rst 0x90 6>, > + <&crg_rst 0x90 5>; > + > + dwc3: dwc3@ff100000 { > + compatible = "snps,dwc3"; Can we use the compatible property? compatible = "snps,dwc3", "usb-role-switch" > + reg = <0x0 0xff100000 0x0 0x100000>; > + interrupts = <0 159 4>, <0 161 4>; > + phys = <&usb_phy>; > + phy-names = "usb3-phy"; > + dr_mode = "otg"; > + maximum-speed = "super-speed"; > + phy_type = "utmi"; > + snps,dis-del-phy-power-chg-quirk; > + snps,lfps_filter_quirk; > + snps,dis_u2_susphy_quirk; > + snps,dis_u3_susphy_quirk; > + snps,tx_de_emphasis_quirk; > + snps,tx_de_emphasis = <1>; > + snps,dis_enblslpm_quirk; > + snps,gctl-reset-quirk; > + > + port { > + #address-cells = <1>; > + #size-cells = <0>; > + > + dwc3_role_switch: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&rt1711h_ep>; > + }; > + > + dwc3_role_switch_notify: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&hikey_usb_ep>; > + }; > + }; > + }; > + }; > }; > }; > -- > 2.15.0-rc2 -- heikki _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel