linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anand Moon <linux.amoon@gmail.com>
To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org
Cc: Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>
Subject: [PATCH] ARM64: dts: meson-gxbb-odroidc2: Fix usb phy regulator warning
Date: Fri, 11 Jan 2019 14:52:35 +0530	[thread overview]
Message-ID: <20190111092235.28161-1-linux.amoon@gmail.com> (raw)

Add missing vin-supply 5V regulator node on usb_phy nodes needed
to power usb bus ports. Override the dr_mode from "host" to "peripheral"
for initialization of dwc2 usb0 phy node,changes fix the below
warning for usb initialization.

[    1.203900] phy phy-c0000000.phy.0: USB ID detect failed!
[    1.208048] phy phy-c0000000.phy.0: phy poweron failed --> -22
[    1.213877] WARNING: CPU: 1 PID: 44 at drivers/regulator/core.c:2054 _regulator_put.part.11+0xf0/0xf8
[    1.222953] Modules linked in:
[    1.225976] CPU: 1 PID: 44 Comm: kworker/1:1 Not tainted 5.0.0-rc1-xc2ml #3
[    1.232872] Hardware name: Hardkernel ODROID-C2 (DT)
[    1.237794] Workqueue: events deferred_probe_work_func
[    1.242878] pstate: 80000005 (Nzcv daif -PAN -UAO)
[    1.247623] pc : _regulator_put.part.11+0xf0/0xf8
[    1.252280] lr : regulator_put+0x34/0x48
[    1.256159] sp : ffff00001176bb00
[    1.259437] x29: ffff00001176bb00 x28: 0000000000000000
[    1.264698] x27: ffff80007f31beb8 x26: ffff000010eeb7e0
[    1.269959] x25: 0000000000000000 x24: 0000000000000009
[    1.275220] x23: ffff00001176bbc8 x22: ffff80007ed9d500
[    1.280482] x21: ffff0000111bd6c8 x20: ffff80007ed9d700
[    1.285743] x19: ffff80007ed9d700 x18: 000000000000006f
[    1.291004] x17: 0000000000000000 x16: 0000000000000000
[    1.296265] x15: 0000000000000400 x14: 0000000000000400
[    1.301527] x13: ff00000000000000 x12: ffffffffffffffff
[    1.306788] x11: 0000000000000038 x10: 0000000000000040
[    1.312049] x9 : ffff0000111d58b0 x8 : ffff0000111d58a8
[    1.317310] x7 : ffff80007ed9db00 x6 : ffff80007ec21b00
[    1.322571] x5 : ffff80007f400248 x4 : ffff80007fba9b00
[    1.327833] x3 : ffff0000112d9eb8 x2 : ffff80007ec21b00
[    1.333094] x1 : 0000000000000000 x0 : 0000000000000001
[    1.338356] Call trace:
[    1.340773]  _regulator_put.part.11+0xf0/0xf8
[    1.345085]  regulator_put+0x34/0x48
[    1.348621]  regulator_bulk_free+0x30/0x50
[    1.352675]  devm_regulator_bulk_release+0x18/0x20
[    1.357421]  release_nodes+0x1b0/0x220
[    1.361127]  devres_release_all+0x34/0x50
[    1.365094]  really_probe+0xec/0x290
[    1.368630]  driver_probe_device+0x54/0xe8
[    1.372684]  __device_attach_driver+0xb8/0xe8
[    1.376997]  bus_for_each_drv+0x78/0xc8
[    1.380792]  __device_attach+0xd4/0x130
[    1.384587]  device_initial_probe+0x10/0x18
[    1.388727]  bus_probe_device+0x90/0x98
[    1.392522]  deferred_probe_work_func+0x6c/0xa0
[    1.397010]  process_one_work+0x1e0/0x318
[    1.400975]  worker_thread+0x228/0x428
[    1.404684]  kthread+0x124/0x128
[    1.407876]  ret_from_fork+0x10/0x18
[    1.411410] ---[ end trace de5fd1b262c1f56a ]---
[    1.416055] WARNING: CPU: 1 PID: 44 at drivers/regulator/core.c:2054 _regulator_put.part.11+0xf0/0xf8
[    1.425123] Modules linked in:
[    1.428144] CPU: 1 PID: 44 Comm: kworker/1:1 Tainted: G        W         5.0.0-rc1-xc2ml #3
[    1.436422] Hardware name: Hardkernel ODROID-C2 (DT)
[    1.441340] Workqueue: events deferred_probe_work_func

Fixes: 5a0803bd5ae (ARM64: dts: meson-gxbb-odroidc2: Enable USB Nodes)
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Anand Moon <linux.amoon@gmail.com>
---
Fix the following power issue with usb device

[  795.380156] usb 1-1.2: reset high-speed USB device number 3 using dwc2
[  798.356073] usb 1-1.2: reset high-speed USB device number 3 using dwc2
[  801.331999] usb 1-1.2: reset high-speed USB device number 3 using dwc2
[  804.307919] usb 1-1.2: reset high-speed USB device number 3 using dwc2
[  807.283844] usb 1-1.2: reset high-speed USB device number 3 using dwc2

[alarm@archl-c2m ~]$ lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 2: Dev 5, If 3, Class=Audio, Driver=, 480M
        |__ Port 2: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
        |__ Port 2: Dev 5, If 2, Class=Audio, Driver=, 480M
        |__ Port 2: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 480M

Similar Fix is need for Odroid C1+ to power on the phy nodes
---
 arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
index 2e1cd5e3a246..b4e14ff614c4 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
@@ -28,6 +28,13 @@
 		reg = <0x0 0x0 0x0 0x80000000>;
 	};
 
+	p5v0: regulator-p5v0 {
+		compatible = "regulator-fixed";
+		regulator-name = "P5V0";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+	};
+
 	usb_otg_pwr: regulator-usb-pwrs {
 		compatible = "regulator-fixed";
 
@@ -36,6 +43,8 @@
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
 
+		vin-supply = <&p5v0>;
+
 		gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
 		enable-active-high;
 	};
@@ -303,6 +312,7 @@
 
 &usb0 {
 	status = "okay";
+	dr_mode = "peripheral";
 };
 
 &usb1 {
-- 
2.19.1


             reply	other threads:[~2019-01-11  9:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11  9:22 Anand Moon [this message]
2019-01-11 13:40 ` [PATCH] ARM64: dts: meson-gxbb-odroidc2: Fix usb phy regulator warning Neil Armstrong
2019-01-11 16:16   ` Anand Moon
2019-01-11 18:51     ` Kevin Hilman

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=20190111092235.28161-1-linux.amoon@gmail.com \
    --to=linux.amoon@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jbrunet@baylibre.com \
    --cc=khilman@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=narmstrong@baylibre.com \
    --cc=robh+dt@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).