> 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

Reply via email to