Re: lpc32xx and stotg04

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 23/07/2020 17:27:43-0400, Trevor Woerner wrote:
> I too am working with a board that uses the lpc32xx SoC (the lpc3240, to be
> specific) and has a stotg04 for the USB transceiver instead of the isp1301.
> 
> I can't get the USB to work.
> 
> My guess is that I don't have the device tree correct.
> 
> I could embarrass myself by showing you what combinations I've tried but I
> thought maybe I'd ask and see if either of you could provide a DT snippet
> describing how to hook up the stotg04 to the i2cusb. Admittedly I'm quite
> fuzzy when it comes to device trees.
> 

This is what I had that is relevant:

&i2cusb {
	clock-frequency = <100000>;

	isp1301: usb-transceiver@2d {
		compatible = "nxp,isp1301";
		reg = <0x2d>;
	};
};

/* Here, choose exactly one from: ohci, usbd */
&usbd {
// &ohci {
	transceiver = <&isp1301>;
	status = "okay";
};

> I'm also a bit fuzzy on USB. I want to plug usb sticks into my device (which,
> by my understanding, is the opposite of OTG). So additionally I want to enable
> ohci and not usbd?
> 

Indeed, you want ohci (as you can see this is commented out in my device
tree)

> In one DT incantation (the one showing the most promise so far) on startup
> 'lsusb' shows two usb devices. The moment I plug a USB drive into my device I
> get:
> 
> 	[  433.268009] usb-ohci 31020000.ohci: controller won't resume
> 	[  433.273603] usb-ohci 31020000.ohci: HC died; cleaning up
> 	[  433.280566] usb 1-1: USB disconnect, device number 2
> 
> And afterwards only one device is listed by 'lsusb'.
> 
> Currently I'm using a 5.0 kernel and a 5.4 kernel, but I could use any kernel
> (upstream, ideally). In either case, it doesn't seem possible to deselect the
> isp1301 from the kernel config? It gets selected automatically. If I'm using
> the stotg04 instead of the isp1301, do I need a way to turn off the isp1301?
> 

The platform I was working on is on v5.1 and has an stotg04. Honnestly,
the whole thing is a mess and you have to use the isp1301 driver. Then
the difference between isp1301 and stotg04 is handled in lpc32xx_udc.c.

So I would say you are missing something similar to what I did in
2a60f5eafa74 ("usb: gadget: udc: lpc32xx: add support for stotg04 phy")
but in drivers/usb/host/ohci-nxp.c:isp1301_configure_lpc32xx()

I guess your issue is MC2_SPD_SUSP_CTRL line 75 ;) You can try to
remove it.

Regards,

-- 
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux