Hi David, Infact i am working on the ARM based board with ARC OTG Contrller and an SMSC USB3000 ULPI Transceiver, which has an mini-AB receptacle.
I connected the OTG Hard disk to a linux pc running kernel 2.6.11.10 using a "Mini-B to Standard-A" USB Cable. I could get the interrupt in the linux pc, which has the Intel USB Host controller. The linux PC could easily recognize the harddisk and finished enumeration.I could mount the hard disk and then copy files in to it. For this ARM board I have configured the USB-OTG controller in to HOST Mode. So when i connect the OTG-hardisk , the hardisk is first disconnecting , which is also the same behaviour when i connect to the linux pc. After this happens, the OTG-device is reconnecting,evident from PORTSCx (CCS =1,CSC =1) in the linux PC, BUT this reconnecting is not happening in the ARM board ARC-OTG controller. The PORTSCx shows PP (VBUS) port power bit is always set. Even when i connect a Thumb Drive using a Mini-A to Standard A convertor cable to the ARM Board, the connection is not generating an interrupt. The PORT POWER bit = 1 when i checked the PORTSCx register. I connected both ways u have mentioned, but there is no change. MY doubt is, ...........? Do I have to worry about the ID Pin interrupt when i am in the HOST MODE in the ARC OTG Controller. When i put the CONTROLLER in to HOST MODE, all the PORTSCx registers behave similar to the EHCI controller rt? Thanks, Rak On 6/9/06, David Brownell <[EMAIL PROTECTED]> wrote: > On Thursday 08 June 2006 12:50 am, rakesh kn wrote: > > > 1) When a OTG hard disk(Self Powered) was connected, there was no > > interrupt and my ehci_irq interrupt handler was not invoked. > > When i power on the device i get a DISCONNECT event from the device and the > > PORTSCx value changes to 0x8c001002 (CCS = 0,CSC =1) and > > "IRQ IS GENERATED" . > > STATUS register shows Port Change Detect Interrupt (STS = 0x8C). > > So when the hub_events() tries to do a GetPortStatus, it does not find > > connection(CCS =0) and the hub_port_connect_change() function returns. > > Also PORT-ENABLE bit in PORTSCx is not 1. That means that even though > > a device was connected, the port is not enabled. > > At a guess, this disk was using SRP to wake the host? That's kind > of messy in the code today ... OHCI was faking it in the root hub > with help from an external OTG transceiver, but I suspect that you'll > need a different approach with EHCI and an integrated one. > > > > 2) When a USB2.0 HS speed device(thumb drive or Camera) was connected > > to the board, > > there is no interrupt genearated. This is visible from cat /proc/interrupts. > > > > How can interpret the above 2 observations. I am getting PCD > > interrupts for disconnect event from a device(OTG) ," after that was > > connected and powered on. " > > For other devices i am not getting interrupt. > > Is the port powered on? Remember, an OTG host might be kind of > aggressive about turning off VBUS. > > Plus there are at least two different ways to connect a device to > an OTG host: > > - plug cable into B-device, then Mini-A into A-device. > --> should get an IRQ for "ID pin grounded", which is > handled by turning on VBUS and then enumerating > - Plug Mini-A into A-device, then Mini-B into B-Device > --> "ID pin grounded" irq will fail enumeration since > there's no device. In that case the B-device must > use SRP to restart enumeration > > Some non-OTG devcies will work with both schemes; others won't. > > _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel