Override the dr_mode from "host" to "otg" for USB_HOST controller (usb0) changes help usb_phy0->usb0 initialization of OTG bus port. Changes fix the below warning. [ 1.183681] dwc2 c9000000.usb: c9000000.usb supply vusb_d not found, using dummy regulator [ 1.190627] dwc2 c9000000.usb: Linked as a consumer to regulator.0 [ 1.196696] dwc2 c9000000.usb: c9000000.usb supply vusb_a not found, using dummy regulator [ 1.206094] phy phy-c0000000.phy.0: USB ID detect failed! [ 1.210243] phy phy-c0000000.phy.0: phy poweron failed --> -22 [ 1.216072] WARNING: CPU: 0 PID: 78 at drivers/regulator/core.c:2054 _regulator_put.part.11+0xf0/0xf8 [ 1.225147] Modules linked in: [ 1.228169] CPU: 0 PID: 78 Comm: kworker/0:1 Not tainted 5.0.0-rc4-xc2ml #1 [ 1.235066] Hardware name: Hardkernel ODROID-C2 (DT) [ 1.239987] Workqueue: events deferred_probe_work_func [ 1.245072] pstate: 80000005 (Nzcv daif -PAN -UAO) [ 1.249816] pc : _regulator_put.part.11+0xf0/0xf8 [ 1.254473] lr : regulator_put+0x34/0x48 [ 1.258353] sp : ffff0000117b3b00 [ 1.261630] x29: ffff0000117b3b00 x28: 0000000000000000 [ 1.266891] x27: ffff80007ec1a7b8 x26: ffff000010eec280 [ 1.272153] x25: 0000000000000000 x24: 0000000000000009 [ 1.277414] x23: ffff0000117b3bc8 x22: ffff80007ecd3c00 [ 1.282675] x21: ffff0000111ad6c8 x20: ffff80007ecd3e00 [ 1.287936] x19: ffff80007ecd3e00 x18: 0000000000000124 [ 1.293198] x17: 0000000000000000 x16: 0000000000000000 [ 1.298459] x15: 0000000000000400 x14: 0000000000000400 [ 1.303720] x13: ff00000000000000 x12: ffffffffffffffff [ 1.308981] x11: 0000000000000038 x10: 0000000000000040 [ 1.314243] x9 : ffff0000111c58b0 x8 : ffff0000111c58a8 [ 1.319504] x7 : ffff80006b055200 x6 : ffff80007edd2880 [ 1.324765] x5 : ffff80007f400248 x4 : ffff80007fb92b00 [ 1.330026] x3 : ffff0000112c9d58 x2 : ffff80007edd2880 [ 1.335288] x1 : 0000000000000000 x0 : 0000000000000001 [ 1.340549] Call trace: [ 1.342966] _regulator_put.part.11+0xf0/0xf8 [ 1.347278] regulator_put+0x34/0x48 [ 1.350814] regulator_bulk_free+0x30/0x50 [ 1.354868] devm_regulator_bulk_release+0x18/0x20 [ 1.359612] release_nodes+0x1b0/0x220 [ 1.363320] devres_release_all+0x34/0x50 [ 1.367288] really_probe+0xec/0x290 [ 1.370824] driver_probe_device+0x54/0xe8 [ 1.374878] __device_attach_driver+0xb8/0xe8 [ 1.379190] bus_for_each_drv+0x78/0xc8 [ 1.382985] __device_attach+0xd4/0x130 [ 1.386780] device_initial_probe+0x10/0x18 [ 1.390920] bus_probe_device+0x90/0x98 [ 1.394715] deferred_probe_work_func+0x6c/0xa0 [ 1.399203] process_one_work+0x1e0/0x318 [ 1.403168] worker_thread+0x228/0x428 [ 1.406877] kthread+0x124/0x128 [ 1.410070] ret_from_fork+0x10/0x18 [ 1.413603] ---[ end trace 498aca4cb07e5377 ]--- [ 1.418251] WARNING: CPU: 0 PID: 78 at drivers/regulator/core.c:2054 _regulator_put.part.11+0xf0/0xf8 [ 1.427316] Modules linked in: [ 1.430338] CPU: 0 PID: 78 Comm: kworker/0:1 Tainted: G W 5.0.0-rc4-xc2ml #1 [ 1.438615] Hardware name: Hardkernel ODROID-C2 (DT) [ 1.443534] Workqueue: events deferred_probe_work_func [ 1.448621] pstate: 80000005 (Nzcv daif -PAN -UAO) [ 1.453366] pc : _regulator_put.part.11+0xf0/0xf8 [ 1.458023] lr : regulator_put+0x34/0x48 [ 1.461903] sp : ffff0000117b3b00 [ 1.465180] x29: ffff0000117b3b00 x28: 0000000000000000 [ 1.470441] x27: ffff80007ec1a7b8 x26: ffff000010eec280 [ 1.475703] x25: 0000000000000000 x24: 0000000000000009 [ 1.480964] x23: ffff0000117b3bc8 x22: ffff80007ecd3c00 [ 1.486225] x21: ffff0000111ad6c8 x20: ffff80007ecd3f00 [ 1.491486] x19: ffff80007ecd3f00 x18: 0000000000000007 [ 1.496748] x17: 0000000000000000 x16: 0000000000000000 [ 1.502009] x15: 0000000000000400 x14: ffff80000531da90 [ 1.507270] x13: ffff80007f4ae050 x12: 0000000000000000 [ 1.512531] x11: ffff80007f4adff0 x10: 0000000000000040 [ 1.517793] x9 : ffff80000531da98 x8 : 0000000040000000 [ 1.523054] x7 : ffff80006b054700 x6 : 0000000000000001 [ 1.528315] x5 : ffff0000105a868c x4 : ffff80007edd2880 [ 1.533576] x3 : ffff0000112c9d58 x2 : ffff80007edd2880 [ 1.538838] x1 : 0000000000000000 x0 : 0000000000000001 [ 1.544098] Call trace: [ 1.546516] _regulator_put.part.11+0xf0/0xf8 [ 1.550828] regulator_put+0x34/0x48 [ 1.554364] regulator_bulk_free+0x30/0x50 [ 1.558417] devm_regulator_bulk_release+0x18/0x20 [ 1.563161] release_nodes+0x1b0/0x220 [ 1.566870] devres_release_all+0x34/0x50 [ 1.570838] really_probe+0xec/0x290 [ 1.574374] driver_probe_device+0x54/0xe8 [ 1.578428] __device_attach_driver+0xb8/0xe8 [ 1.582740] bus_for_each_drv+0x78/0xc8 [ 1.586535] __device_attach+0xd4/0x130 [ 1.590330] device_initial_probe+0x10/0x18 [ 1.594470] bus_probe_device+0x90/0x98 [ 1.598265] deferred_probe_work_func+0x6c/0xa0 [ 1.602751] process_one_work+0x1e0/0x318 [ 1.606718] worker_thread+0x228/0x428 [ 1.610427] kthread+0x124/0x128 [ 1.613618] ret_from_fork+0x10/0x18 [ 1.617153] ---[ end trace 498aca4cb07e5378 ]--- [ 1.621778] dwc2: probe of c9000000.usb failed with error -22 Fixes: 5a0803bd5ae (ARM64: dts: meson-gxbb-odroidc2: Enable USB Nodes) Cc: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> Cc: Jerome Brunet <jbrunet@xxxxxxxxxxxx> Cc: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> --- Changes from previous patch change dr_mode from "peripheral" to "otg" Since usb_phy0 is otg port as per the shematic Fixed the commit messages with latest warning This patch depend on this below patch [0] https://patchwork.kernel.org/patch/10777359/ /: Bus 02.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 3: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 3: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 3: Dev 3, If 2, Class=Audio, Driver=, 480M |__ Port 3: Dev 3, If 3, Class=Audio, Driver=, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M drop tested but from Kevin --- arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts index da729ed00408..5d81ad02483b 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -312,6 +312,7 @@ &usb0 { status = "okay"; + dr_mode = "otg"; }; &usb1 { -- 2.20.1