Message ID | 2041f22864c5524e6ff51c86487d7c86@doppler.thel33t.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Leigh, Can you please try out 3.15.0-rc3 with the attached config. On 5/1/2014 11:02 PM, Leigh Brown wrote: > 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/ > Looks like you have not enabled DMA in this . It works in PIO mode only. > 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 :- > I dont think you need all these. > 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 majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi George, On 2014-05-02 07:54, George Cherian wrote: > Hi Leigh, > > Can you please try out 3.15.0-rc3 with the attached config. Thanks, that works (I can't believe it was that easy)! I'll use that as a known-good config and then try to tweak the config to how I like it. Regards, Leigh. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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"); + } }