Hi Alexandre, I so greatly appreciate your thoughts on this! On Wed 2020-07-29 @ 07:28:29 PM, Alexandre Belloni wrote: > 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"; > }; It looks like my DTS is correct after all. > > 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. Thank you very much for your insights and clarifications! Your patch will be very useful to me. Best regards, Trevor