From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: John Stultz <john.stultz@linaro.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
Yu Chen <chenyu56@huawei.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
ShuFan Lee <shufan_lee@richtek.com>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Chunfeng Yun <chunfeng.yun@mediatek.com>,
Felipe Balbi <balbi@kernel.org>,
Hans de Goede <hdegoede@redhat.com>,
Andy Shevchenko <andy.shevchenko@gmail.com>,
Jun Li <lijun.kernel@gmail.com>,
Valentin Schneider <valentin.schneider@arm.com>,
Jack Pham <jackp@codeaurora.org>,
Linux USB List <linux-usb@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>
Subject: Re: [RFC][PATCH v3 11/11] misc: hisi_hikey_usb: Driver to support usb functionality of Hikey960
Date: Tue, 11 Aug 2020 16:15:49 +0200 [thread overview]
Message-ID: <20200811161141.431007e8@coco.lan> (raw)
In-Reply-To: <20200811142106.3dba2f9f@coco.lan>
Em Tue, 11 Aug 2020 14:21:06 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:
> I was able to drop it, but I had to add this at dwc3 settings:
>
> regulator-on-in-suspend;
>
> As otherwise the device seems to stop a few seconds after the dwc3
> driver gets started.
>
> I suspect it could be related to those calls at the dwg3 driver:
>
> pm_runtime_use_autosuspend(dev);
> pm_runtime_set_autosuspend_delay(dev, DWC3_DEFAULT_AUTOSUSPEND_DELAY);
>
> As this seems to be the only difference between what the dwc3 core
> does and the dwc3-hisi doesn't do.
Found the issue.
It is due to a quirk that was renamed:
- snps,dis-split-quirk;
+ snps,dis_enblslpm_quirk;
I'm now using just those drivers:
- hikey 970 phy (pulled from OOT);
- upstream dwc3;
- upstream rt1711 driver;
- drivers/misc/hisi_hikey_usb.c (with my changes).
Now, the problem is that the USB devices are getting one reset per
second (which starts about 10 seconds after dwc3 driver is loaded):
[ 14.080666] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
[ 14.752689] usb 1-1.2: reset low-speed USB device number 4 using xhci-hcd
[ 15.712646] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
[ 16.480683] usb 1-1.2: reset low-speed USB device number 4 using xhci-hcd
[ 17.472651] usb 1-1.1: reset low-speed USB device number 3 using xhci-hcd
[ 18.208675] usb 1-1.2: reset low-speed USB device number 4 using xhci-hcd
It sounds like an autosuspend thing, but disabling it (using powertop)
doesn't affect it. Any ideas?
PS.: I'm enclosing the relevant DT data.
Thanks,
Mauro
i2c1: i2c@ffd72000 {
compatible = "snps,designware-i2c";
reg = <0x0 0xffd72000 0x0 0x1000>;
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <400000>;
clocks = <&iomcu HI3670_CLK_GATE_I2C1>;
resets = <&iomcu_rst 0x20 4>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
rt1711h: rt1711h@4e {
compatible = "richtek,rt1711h";
reg = <0x4e>;
status = "ok";
interrupt-parent = <&gpio27>;
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pd_cfg_func>;
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
power-role = "dual";
try-power-role = "sink";
source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)
PDO_VAR(5000, 5000, 1000)>;
op-sink-microwatt = <10000000>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
usb_con_ss: endpoint {
remote-endpoint = <&dwc3_ss>;
};
};
};
};
port {
#address-cells = <1>;
#size-cells = <0>;
rt1711h_ep: endpoint@0 {
reg = <0>;
remote-endpoint = <&hikey_usb_ep1>;
};
};
};
};
hikey_usbhub: hikey_usbhub {
compatible = "hisilicon,kirin970_hikey_usbhub";
typec-vbus-gpios = <&gpio26 1 0>;
otg-switch-gpios = <&gpio4 2 0>;
hub_reset_en_gpio = <&gpio0 3 0>;
hub-vdd-supply = <&ldo17>;
usb-role-switch;
port {
#address-cells = <1>;
#size-cells = <0>;
hikey_usb_ep0: endpoint@0 {
reg = <0>;
remote-endpoint = <&dwc3_role_switch>;
};
hikey_usb_ep1: endpoint@1 {
reg = <1>;
remote-endpoint = <&rt1711h_ep>;
};
};
};
usb31_misc: usb31_misc@ff200000 {
compatible = "syscon";
reg = <0x0 0xff200000 0x0 0x1000>;
};
usb31_misc_rst: usb31_misc_rst_controller {
compatible = "hisilicon,hi3660-reset";
#reset-cells = <2>;
hisi,rst-syscon = <&usb31_misc>;
};
usb_phy: usbphy {
compatible = "hisilicon,hi3670-usb-phy";
#phy-cells = <0>;
hisilicon,pericrg-syscon = <&crg_ctrl>;
hisilicon,pctrl-syscon = <&pctrl>;
hisilicon,sctrl-syscon = <&sctrl>;
hisilicon,usb31-misc-syscon = <&usb31_misc>;
eye-diagram-param = <0xFDFEE4>;
usb3-phy-tx-vboost-lvl = <0x5>;
};
dwc3: dwc3@ff100000 {
compatible = "snps,dwc3";
reg = <0x0 0xff100000 0x0 0x100000>;
interrupts = <0 159 IRQ_TYPE_LEVEL_HIGH>,
<0 161 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&crg_ctrl HI3670_CLK_GATE_ABB_USB>,
<&crg_ctrl HI3670_HCLK_GATE_USB3OTG>,
<&crg_ctrl HI3670_CLK_GATE_USB3OTG_REF>,
<&crg_ctrl HI3670_ACLK_GATE_USB3DVFS>;
clock-names = "clk_gate_abb_usb",
"hclk_gate_usb3otg",
"clk_gate_usb3otg_ref",
"aclk_gate_usb3dvfs";
assigned-clocks = <&crg_ctrl HI3670_ACLK_GATE_USB3DVFS>;
assigned-clock-rates = <238000000>;
resets = <&crg_rst 0x90 6>,
<&crg_rst 0x90 7>,
<&usb31_misc_rst 0xA0 8>,
<&usb31_misc_rst 0xA0 9>;
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;
usb-role-switch;
role-switch-default-mode = "host";
port {
#address-cells = <1>;
#size-cells = <0>;
dwc3_role_switch: endpoint@0 {
reg = <0>;
remote-endpoint = <&hikey_usb_ep0>;
};
dwc3_ss: endpoint@1 {
reg = <1>;
remote-endpoint = <&usb_con_ss>;
};
};
};
prev parent reply other threads:[~2020-08-11 14:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-16 3:33 [RFC][PATCH v3 00/11] HiKey960 USB support John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 01/11] dt-bindings: usb: rt1711h: Add connector bindings John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 02/11] usb: dwc3: Execute GCTL Core Soft Reset while switch modes John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 03/11] usb: dwc3: Increase timeout for CmdAct cleared by device controller John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 04/11] dt-bindings: usb: dwc3: Allow clock list & resets to be more flexible John Stultz
2019-10-17 14:39 ` Rob Herring
2019-10-16 3:33 ` [RFC][PATCH v3 05/11] usb: dwc3: Rework clock initialization " John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 06/11] usb: dwc3: Rework resets " John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 07/11] usb: dwc3: Registering a role switch in the DRD code John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 08/11] dt-bindings: usb: generic: Add role-switch-default-host binding John Stultz
2019-10-17 14:47 ` Rob Herring
2019-10-16 3:33 ` [RFC][PATCH v3 09/11] usb: dwc3: Add host-mode as default support John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 10/11] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 John Stultz
2019-10-16 3:33 ` [RFC][PATCH v3 11/11] misc: hisi_hikey_usb: Driver to support usb functionality of Hikey960 John Stultz
2020-08-10 16:35 ` Mauro Carvalho Chehab
2020-08-11 4:36 ` John Stultz
2020-08-11 12:21 ` Mauro Carvalho Chehab
2020-08-11 14:15 ` Mauro Carvalho Chehab [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200811161141.431007e8@coco.lan \
--to=mchehab+huawei@kernel.org \
--cc=andy.shevchenko@gmail.com \
--cc=balbi@kernel.org \
--cc=chenyu56@huawei.com \
--cc=chunfeng.yun@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hdegoede@redhat.com \
--cc=heikki.krogerus@linux.intel.com \
--cc=jackp@codeaurora.org \
--cc=john.stultz@linaro.org \
--cc=lijun.kernel@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--cc=shufan_lee@richtek.com \
--cc=suzuki.poulose@arm.com \
--cc=valentin.schneider@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.