> Hi subhash, > > What was the PHY Chip u have used. My PHY Chip is SMSC USB3300 , > which has an reset pin, but is not connected to any pin, but is left > as an input, > We are trying to find it out. Thanks for ur timely help. > > Did u come across the same problem of not getting interrupts when u > connect a > device to the OTG port. But u were able to solve it, when u did a PHY > reset, > But how did u do the reset... was it software or a separate pin on the > board.
In my case, GPIO pin from the main board drives the reset pin. Are you using GPIO? Have you verified your main board PCB layout (_not_ ARC controller)? Usually the main board provides set of GPIO registers, so you need to set the approproate bit in one of those registers to drive that pin. > > If it is a software reset, then can u tell me in whcich register did u > do that in the ARC Controller, if the PHY register set was not > directly accessible. > For me the PHY register set is not directly accessible. It has _nothing_ to do with ARC controller, which doesn't provide any way to access PHY registers. When I mentioned "check your spec sheet", I'm talking about your _main_ _chip_ that controls entire system, _not_ about ARC controller. > > Please tell me , what other problems , u had to face, since that would > help us in a great deal. > > Thanks very much > rak > Thanks, Subhash > > On 5/22/06, Subhash Reddy Peddamallu <[EMAIL PROTECTED]> wrote: >> > Hi Subhash, >> > Thanks for ur comments, >> > My PHY chip is SMSC USB3300 chip which is ULPI Compliant, >> > I have gone through the pin diagram of this Chip, There is a pin - 9 >> > in this chip which is the RESET pin for this chip, But i dont see any >> > external reset button facility for this purpose. >> > >> > I was looking for a GPIO pin which when set,would drive the PHY reset, >> > But i was not able to find one in the ARC Controller doc. >> >> I don't think you find this info in ARC controller doc, but check your >> main board spec sheet (and also check PCB sheet where this PHY chip is >> placed) to know the procedure to drive reset pin, & also it will give an >> idea of what you really need to do. All this are really specific to your >> system so without knowing board spec sheet, I can't say much. >> >> > >> > I have a ULPI View port register, which provides indirect access to >> > the ULPI PHY register set. So this one is the register i was looking >> > for. >> > >> > But i ignored it earlier, since it says writes to this register are >> > not guaranteed, not to affect USB Transfers. >> > >> > The ULPI View port register has " no " bit for ULPI Reset, But bit-31 >> > is for ULPI Wakeup. >> > If u have used ARC, and was ur PHY SMSC 3300 , if it is , please >> > provide information on how to reset. >> > >> I'm not familiar with PHY SMSC 3300 chip! >> >> > Also, >> > which device have u used to connect to the OTG port. >> > >> > Thanks >> > Rakesh >> > >> > >> Thanks, >> Subhash >> >> > >> > >> > >> > On 5/19/06, Subhash Reddy Peddamallu <[EMAIL PROTECTED]> wrote: >> >> Hi Rakesh, >> >> >> >> > Hi Subash, >> >> > >> >> > I am using ARC HS-OTG Core with ULPI Interface. Hope the ARC PHY u >> are >> >> > referring to is this ULPI interface. >> >> That means you do have ULPI tranceiver chip, that actually provides >> USB >> >> PHY interface. BTW, it's not ARC PHY here. >> >> >> >> > My kernel is 2.6.16-11, the thing is that in device controller mode >> , >> >> > we are receiving interrupts. >> >> > >> >> > Can u provide some information on the following:- >> >> > 1) What is the device u have used to plug in to the ARC. Since the >> ARC >> >> > HS Core is OTG in our case, we cannot connect a device with power >> >> > requirements of more that 8mA, and it should be self powered also. >> >> > >> >> I don't get your question! Are you asking, which device I plugged in >> to >> >> the USB port? >> >> >> >> > 2) We have in our docs , only one to reset , that is the ARC >> >> > Controller Core. If the controller u used has an ULPI interface, >> can u >> >> > tell me how did u reset the PHY. >> >> > >> >> I think you need to reset ULPI tranceiver chip. Check your ULPI >> >> tranceiver >> >> chip data sheet to make sure whether you need to reset. (usually in >> pin >> >> diagram, look for external reset pin). If there is reset pin, then >> there >> >> should be a some GPIO pin from your main board that drives the ULPI >> >> reset >> >> pin. >> >> >> >> One more thing, see pins that connect your main board & ULPI chip are >> >> configured correctly. I mean, in some cases those pins are dual-role >> >> pins >> >> so you need to configure them for USB operation. >> >> >> >> Most of the stuff is platform specific, so I can't say where the >> problem >> >> is. >> >> >> >> > 3) The thing is the root hub is getting recognized correctly, that >> >> > means the controller has been properly initialised is what i think. >> >> > Correct me if i am wrong. >> >> >> >> See cat /proc/interrupts to make sure you are getting interrupts in >> >> normal >> >> device mode. Also post cat /proc/bus/usb/devices before & after >> plugging >> >> in a device into USB port. >> >> >> >> > >> >> > Please help me with ur comments, since u have already worked on >> this. >> >> > >> >> > Thanks >> >> > Rak >> >> >> >> Subhash >> >> >> >> PS: cc'ing to linux-usb-devel@lists.sourceforge.net, so that other >> >> developers can correct us when we go wrong. >> >> >> >> > >> >> > >> >> > On 5/19/06, Subhash Reddy Peddamallu <[EMAIL PROTECTED]> wrote: >> >> >> > Hi all, >> >> >> > We are testing EHCI driver for ARC based controller core on a >> ARM >> >> 926 >> >> >> > board. >> >> >> > The platform glue has been written. The driver is compiled to >> the >> >> >> > kernel . When the kernel boots up , the driver is loaded. >> >> >> > >> >> >> I used the similar setup, ARC EHCI core with ARM borad. I >> implemented >> >> >> bus >> >> >> glue, but in 2.4, its working fine. >> >> >> >> >> >> > We have enabled USB_DEBUG and then going through the prints, its >> is >> >> >> > observed that the >> >> >> > root hub has been identified and given the address 1. >> >> >> >> >> >> Are you sure EHCI controller started correctly? Check cat >> >> >> /proc/bus/usb/devices if you have usbfs. >> >> >> >> >> >> > But when we plug a High Speed device , the IRQ function is not >> even >> >> >> > invoked, >> >> >> > the STS register and PCD bit in PORTSCx is not showing any >> change. >> >> >> > >> >> >> See cat /proc/interrupts to make sure you really getting >> interrupts, >> >> i.e >> >> >> see before plugging any device & after plugging a device. >> >> >> >> >> >> > Those who have worked with ARC USB HS-OTG controllers, have u >> come >> >> >> > across these problems, if yes, please help us. >> >> >> >> >> >> I faced the similar problem- with this setup (i.e ARC core on ARM >> >> >> board), >> >> >> at init time you may need to reset USB PHY, probably through GPIO >> pin >> >> or >> >> >> ?? This is just my guess, in my case I forgot to do this & it took >> >> hours >> >> >> to figure out this. Check with your data sheet & make sure you are >> >> not >> >> >> seeing this problem. I have no other ideas for what might be >> causing >> >> the >> >> >> problem, if you can post your bus glue code. >> >> >> >> >> >> > I am attaching the log of trace i did. >> >> >> >> >> >> It's really difficult to understand this log with your printk's, >> >> better >> >> >> if >> >> >> you takeout your own printk's & its enough to have USB_DEBUG >> enabled. >> >> >> >> >> >> > >> >> >> > Thanks >> >> >> > Rak >> >> >> > >> >> >> >> >> >> Hope this helps! >> >> >> >> >> >> Subhash >> >> >> >> >> >> > >> >> >> > Function register_root_hub is called ,root hub device address = >> 1 >> >> >> > issuing get_descriptor in register_root_hub >> >> >> > Function usb_get_device_descriptor called >> >> >> > Function usb_get_descriptor called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8006, wValue = 100, wIndex = 0, wLength = 12 >> >> >> > Issued usb_control_msg request. result = 18 >> >> >> > Function usb_get_descriptor Returned >> >> >> > leaving function usb_get_device_descriptor >> >> >> > Length of received desc is 0x12 >> >> >> > 12 >> >> >> > 1 >> >> >> > 0 >> >> >> > 2 >> >> >> > 9 >> >> >> > 0 >> >> >> > 1 >> >> >> > 40 >> >> >> > 0 >> >> >> > 0 >> >> >> > 0 >> >> >> > 0 >> >> >> > 6 >> >> >> > 2 >> >> >> > 3 >> >> >> > 2 >> >> >> > 1 >> >> >> > 1 >> >> >> > Function usb_new_device called >> >> >> > Function usb_get_configuration called for root-hub >> >> >> > No of configurations for root-hub = 1 >> >> >> > Function usb_get_descriptor called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8006, wValue = 200, wIndex = 0, wLength = 9 >> >> >> > Issued usb_control_msg request. result = 9 >> >> >> > Function usb_get_descriptor Returned >> >> >> > Function usb_get_descriptor called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8006, wValue = 200, wIndex = 0, wLength = 19 >> >> >> > Issued usb_control_msg request. result = 25 >> >> >> > Function usb_get_descriptor Returned >> >> >> > Returned from function usb_get_configuration >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8006, wValue = 300, wIndex = 0, wLength = ff >> >> >> > usb usb1: default language 0x0409 >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8006, wValue = 302, wIndex = 409, wLength = ff >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8006, wValue = 303, wIndex = 409, wLength = ff >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8006, wValue = 301, wIndex = 409, wLength = ff >> >> >> > usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1 >> >> >> > usb usb1: Product: EHCI Host Controller >> >> >> > usb usb1: Manufacturer: Linux 2.6.16.11 ehci_hcd >> >> >> > usb usb1: SerialNumber: sb3000cs >> >> >> > function choose_configuration is called >> >> >> > Function usb_get_status called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8000, wValue = 0, wIndex = 0, wLength = 2 >> >> >> > usb usb1: device is self-powered >> >> >> > usb usb1: configuration #1 chosen from 1 choice >> >> >> > function usb_set_configuration is called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 9, wValue = 1, wIndex = 0, wLength = 0 >> >> >> > usb usb1: adding 1-0:1.0 (config #1, interface 0) >> >> >> > hub 1-0:1.0: usb_probe_interface >> >> >> > hub 1-0:1.0: usb_probe_interface - got id >> >> >> > Function hub_probe called >> >> >> > hub 1-0:1.0: USB hub found >> >> >> > Function hub_configure called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = a006, wValue = 2900, wIndex = 0, wLength = d >> >> >> > function ehci_hub_control called: typeReq a006, wValue 2900, >> >> wIndex >> >> >> > 0, wLength d >> >> >> > Function ehci_hub_descriptor called >> >> >> > hub 1-0:1.0: 1 port detected >> >> >> > hub 1-0:1.0: standalone hub >> >> >> > hub 1-0:1.0: individual port power switching >> >> >> > hub 1-0:1.0: individual port over-current protection >> >> >> > hub 1-0:1.0: Single TT >> >> >> > hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns) >> >> >> > hub 1-0:1.0: power on to power good time: 20ms >> >> >> > Function usb_get_status called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 8000, wValue = 0, wIndex = 0, wLength = 2 >> >> >> > hub 1-0:1.0: 8mA bus power budget for each child >> >> >> > Function hub_hub_status called >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = a000, wValue = 0, wIndex = 0, wLength = 4 >> >> >> > function ehci_hub_control called: typeReq a000, wValue 0, >> wIndex >> >> 0, >> >> >> > wLength 4 >> >> >> > :hub_hub_status: status 0x0, change 0x0 >> >> >> > hub 1-0:1.0: local power source is good >> >> >> > Fucntion hub_power_on called.. calling setportfeat for >> >> >> > USB_PORT_FEAT_POWER >> >> >> > hub 1-0:1.0: enabling power on all ports >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = 2303, wValue = 8, wIndex = 1, wLength = 0 >> >> >> > function ehci_hub_control called: typeReq 2303, wValue 8, >> wIndex >> >> 1, >> >> >> > wLength 0 >> >> >> > Function hub_activate called... >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function kick_khubd called . this wakes up hub_thread process a >> >> >> usb_hub >> >> >> > Returning from function usb_set_configuration >> >> >> > Notifier Function usbdev_notify is called >> >> >> > /home/rakesh/linux/sources/linux-2.6.16.11/drivers/usb/core/inode.c: >> >> >> > creating file '001' >> >> >> > Returning from function usb_new_device >> >> >> > Returned from function register_root_hub >> >> >> > >> >> >> > >> >> >> > Function hub_events is called >> >> >> > hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000 >> >> >> > Function hub_port_status Called >> >> >> > Fucntion get_port_status called.. issuing usb_control_msg >> >> >> > Function usb_submit_urb called >> >> >> > Function hcd_submit_urb is called >> >> >> > Calling function rh_urb_enqueue to queue Setup URB to Root Hub >> >> >> > Function rh_call_control called...This ultimately calls >> >> >> > hc_driver->hub_control >> >> >> > rh_call_control URB setup_packet contents in rh_call_control >> >> typeReq >> >> >> > = a300, wValue = 0, wIndex = 1, wLength = 4 >> >> >> > function ehci_hub_control called: typeReq a300, wValue 0, >> wIndex >> >> 1, >> >> >> > wLength 4 >> >> >> > hub_port_status: port 1, status 0x100, change 0x0 >> >> >> > in hub_events loop hub_event_list is empty >> >> >> > >> >> >> > >> >> >> > ------------------------------------------------------- >> >> >> > Using Tomcat but need to do more? Need to support web services, >> >> >> security? >> >> >> > Get stuff done quickly with pre-integrated technology to make >> your >> >> job >> >> >> > easier >> >> >> > Download IBM WebSphere Application Server v.1.0.1 based on >> Apache >> >> >> Geronimo >> >> >> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642 >> >> >> > _______________________________________________ >> >> >> > linux-usb-devel@lists.sourceforge.net >> >> >> > To unsubscribe, use the last form field at: >> >> >> > https://lists.sourceforge.net/lists/listinfo/linux-usb-devel >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> > >> >> > ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel