Hello,
I'm trying to run the mainline kernel on my Beaglebone Black and things
are working quite well, apart from USB. There have been a few patches
recently that have improved things, but right now I'm at the point where
I could do with a pointer in the right direction.
The main issue now is this :-
usb 2-1: new high-speed USB device number 2 using musb-hdrc
musb-hdrc musb-hdrc.1.auto: qh dc059c80 urb dc059b00 dev0 ep0out, hw_ep
0, dc2c5040/8
musb-hdrc musb-hdrc.1.auto: --> hw0 urb dc059b00 spd3 dev0 ep0out
h_addr00 h_port00 bytes 8
musb-hdrc musb-hdrc.1.auto: TX ep0 fifo e0eb2e00 count 8 buf dc2c5040
musb-hdrc musb-hdrc.1.auto: Start TX0 pio
musb-hdrc musb-hdrc.1.auto: usbintr (0) epintr(1)
musb-hdrc musb-hdrc.1.auto: ** IRQ host usb0000 tx0001 rx0000
musb-hdrc musb-hdrc.1.auto: <== csr0 0010, qh dc059c80, count 0, urb
dc059b00, stage 1
musb-hdrc musb-hdrc.1.auto: no response, csr0 0010
musb-hdrc musb-hdrc.1.auto: aborting
musb-hdrc musb-hdrc.1.auto: complete dc059b00
usb_api_blocking_completion+0x0/0x14 [usbcore] (-71), dev0 ep0in, 0/64
and my usb stick is not detected. The usb stick is detected fine with
the
linux-3.8.13-bone43-201405011132 kernel.
Complete dmesg and other interesting files are here (I've used #define
DEBUG 1 on relevant files) :-
http://www.solinno.co.uk/public/bbb/linux-3.15.0-rc3+-201405011446/
Same stuff for working kernel :-
http://www.solinno.co.uk/public/bbb/linux-3.8.13-bone43-201405011132/
I'd really appreciate any assistance - does anyone have a working config
for a recent mainline kernel?
Thanks,
Leigh.
Addendum - I've been tinkering without really knowing what I'm doing,
but nothing has helped so far.
I've tried is adding clock details into the am33xx.dtsi for the USB phys
:-
diff --git a/arch/arm/boot/dts/am33xx.dtsi
b/arch/arm/boot/dts/am33xx.dtsi
index cb6811e..027d7fb 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -467,6 +467,8 @@
reg-names = "phy";
status = "disabled";
ti,ctrl_mod = <&usb_ctrl_mod>;
+ clocks = <&usbotg_fck 0>;
+ clock-names = "main_clk";
};
usb0: usb@47401000 {
@@ -515,6 +517,8 @@
reg-names = "phy";
status = "disabled";
ti,ctrl_mod = <&usb_ctrl_mod>;
+ clocks = <&usbotg_fck 0>;
+ clock-names = "main_clk";
};
usb1: usb@47401800 {
However it didn't seem to help. I also tried to force phy detection
using usb_bind_phy() :-
diff --git a/arch/arm/mach-omap2/board-generic.c
b/arch/arm/mach-omap2/board-gen
index b8920b6..7218515 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -15,6 +15,7 @@
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/irqdomain.h>
+#include <linux/usb/phy.h>
#include <asm/mach/arch.h>
@@ -40,6 +41,12 @@ static void __init omap_generic_init(void)
pdata_quirks_init(omap_dt_match_table);
omapdss_init_of();
+
+ if (of_machine_is_compatible("ti,am33xx")) {
+ pr_info("horrible hack: adding usb bindings for
am335x\n");
+ usb_bind_phy("musb-hdrc.0.auto", 0, "47401300.usb-phy");
+ usb_bind_phy("musb-hdrc.1.auto", 0, "47401b00.usb-phy");
+ }
}
#ifdef CONFIG_SOC_OMAP2420
This hasn't helped either.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html