[linux-usb-devel] Support for clearing Hub-TT buffers

2006-08-07 Thread rakesh kn
In function rh_call_control , there is no support for
HUB_CLEAR_TT_BUFFER hub request.

Suppose if we are connecting low/full speed devices to a USB 2.0 EHCI
, host controller., through a HUB , which has a transaction translator
. Then the following function usb_hub_tt_clear_buffer will be called
from the  function qtd_copy_status in the file ehci-q.c .. in case
of errors  in CSPILT transaction  .

But since this is a hub-transaction request... the function
rh_call_control , is not implementing the request type
HUB_CLEAR_TT_BUFFER.

Please explain why is this. Is the hub requests for external hubs
handled elsewhere.

Also why is that the TT hub contents not cleared if the EHCI
controller has an embedded Transcation translator ,, as is evident
from the following code in the function qtd_copy_status.





209 if (urb-status != -EPIPE
210  urb-dev-tt  !usb_pipeint (urb-pipe)
211  ((token  QTD_STS_MMF) != 0
212 || QTD_CERR(token) == 0)
213  (!ehci_is_TDI(ehci)
 /// TDI has embedded TT
214 || urb-dev-tt-hub !=
215ehci_to_hcd(ehci)-self.root_hub)) {
216 #ifdef DEBUG
217 struct usb_device *tt = urb-dev-tt-hub;
218 dev_dbg (tt-dev,
219 clear tt buffer port %d, a%d ep%d t%08x\n,
220 urb-dev-ttport, urb-dev-devnum,
221 usb_pipeendpoint (urb-pipe), token);
222 #endif /* DEBUG */
223 usb_hub_tt_clear_buffer (urb-dev, urb-pipe);
224 }

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Issues with ARC-OTG controller in HOST Mode

2006-07-06 Thread rakesh kn
Hi all,

Has any body in this list worked wiht ARC-USB High Speed OTG
controller with an ULPI interface to an ULPI Transceiver(external).

I put the ARC OTG in HOST MODE.
I am observing that for HOST Mode, the controller is not able to
detect the Device connects when i connect self power devices like
camera, phone and then switch on the device.

But when i connect a OTG Hard disk (ALI Corporation), i get 2
interrupts for PCD (Port Change Detects).
First interrupt is for Connect (CCS = 1, CSC = 1)
Second interrupt is for Disconnect (CCS = 0 , CSC = 1)

Any one has observed the above behaviour or similar behaviuor when the
DEVICE CONNECT INTERRUPT IS NOT ISSUED TO THE DRIVER

Thanks
Rak

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=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] USB EHCI driver on ARM issue

2006-06-29 Thread rakesh kn
Hi all,

Did any one work on the USB EHCI driver on a ARM platform (embedded).

Is the present EHCI driver code working on ARM platform  where the
processor is in Big-Endian mode, and the USB-EHCI controller is put to
work in ltttle-endian mode.
Our problem is that the control transfers are not getting executed
from the asyncronous schedules..

We would like to zero down whether it is the issue of our DMA engine.
The EHCI-Controller is the ARC which can be put into little/big endian
mode. and the platform is ARM.

Has any one been able to work with the present EHCI driver on this
platform. (of course the platform glue is specific).

Please help

Thanks
Rak

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=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Endianness in qtd_fill()

2006-06-16 Thread rakesh kn
Hi

I cannot make the ARM processor to litle endian. But i have the
facility to set the ARC USB-OTG controller in 2 modes ... either
Little-Endian or Big-Endian.

So if i set the USB-controller in Little Endian, it would try to
access the DMA QTD buffer pointer in little-endian mode.

In qtd_fill() , ARM Big Endian DMA address are converted to little
endian using cpu_to_le32(),
So keeping the USB-controller in Little Endian, it would try to get
the DMA address (which is already in little-endian format) in little
endian format from the QH. This would result in a big-endian address.

Correct me if my observation is wrong

Thanks
rak








On 6/15/06, David Brownell [EMAIL PROTECTED] wrote:
 On Thursday 15 June 2006 8:29 am, rakesh kn wrote:
  Hi,
  The ARM processor is in BIG-ENDIAN mode. I have executed a program
  to check in whcih mode is the processor.

 And to repeat a previous question:

   Have you tried running your
   CPU in little-endian mode, which is more conventional?

 A number of the ARMs that support big-endian have it as a run-time
 option; there's a bit in some register which controls it, which isn't
 always hard-wired to big or little.


  So from ur infrence, it would mean that , qtd_fill( ) function which
  does the cpu_to_le32() of the DMA hardware buffer would get screwed up
   in my case .
 
  So removing the converting of DMA address to little endian from native
  endian (big-endian), would solve the problem..

 Maybe.  You haven't actually demonstrated anything more than
 a potential curiousity at this point.

 - Dave




___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Endianness in qtd_fill()

2006-06-15 Thread rakesh kn
Hi all,

In Function qtd_fill() (FILE - ehci-q.c) , we get the DMA'able buffer
address, but when we fill the qTD, we convert the buffer address to
Little Endian. and assigning it as follows

qtd-hw_buf [0] = cpu_to_le32 ((u32)addr);
qtd-hw_buf_hi [0] = cpu_to_le32 ((u32)(addr  32));


If my processor is ARM  based, i get the DMA address in Big-Endian,
and i convert the DMA address to Little-Endian and assigning in Qtd
Hardware Buffers. My EHCI Controller is ARC.
USB transfers are Little Endian.

But when the controller tries to do DMA of the transfer, the address
in the QTD Hardware buffer is different due to endianess.

Is my inference right. OR Correct me whther the above obserevation
will make a difference
in ARM platform due to endianess

Thanks
Rak


___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Endianness in qtd_fill()

2006-06-15 Thread rakesh kn
Hi,
The ARM processor is in BIG-ENDIAN mode. I have executed a program
to check in whcih mode is the processor.

So from ur infrence, it would mean that , qtd_fill( ) function which
does the cpu_to_le32() of the DMA hardware buffer would get screwed up
 in my case .

So removing the converting of DMA address to little endian from native
endian (big-endian), would solve the problem..

Thanks


On 6/15/06, David Brownell [EMAIL PROTECTED] wrote:
 On Thursday 15 June 2006 4:14 am, rakesh kn wrote:
  Hi all,

 Let me repeat my earlier multiple requests to you that you not send
 me private email that's duplicating what you send to the public
 linux-usb-devel list ... one copy is more than enough.


  If my processor is ARM  based, i get the DMA address in Big-Endian,
  and i convert the DMA address to Little-Endian and assigning in Qtd
  Hardware Buffers. My EHCI Controller is ARC.

 Actually most ARM processors are little-endian, although some
 support both operational modes.  Have you tried running your
 CPU in little-endian mode, which is more conventional?

 I took a quick glance at the EHCI spec and didn't see any
 text specifying endianness for those fields.  Clearly all
 the PCI based controllers use little-endian encoding.

 So in theory I suppose some EHCI vendor might have chosen
 to implement DMA pointers in cpu-native format, rather than
 always being little-endian.  OHCI has some ugly code to
 cope with that class of problem ... it's worst for systems
 that have both PCI (little-endian) and odd-endian hardware.

 - Dave



___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] No EHCI IRQ reported when device is connected

2006-06-08 Thread rakesh kn
Hi ,

i am testing the ehci-hcd river for ARC HS OTG controller. I have the
following observations
when i try connecting devices.

After the probe, the POTRSCx values are 0x8c001000 for ARC controller
whcih is EHCI complaint.

COMMAND:  0x80b01
MODE:  0x7
STATUS:  0x88
INTERRUPT:  0x37
SET INTR ARE (INTR_MASK): 0x37
PORT 0 STATUS:  0x8c001000
SEGMENT = 0x0
FRAME LIST = 0x63ff4000
ASYNC LIST = 0x63ff2000
TTCTRL = 0x0
CONFIGURE FLAG = 0x1
OTGSC = 0x313120
PORT STATUS CONTROL REGISTERS
PORTSC[0] = 0x8c001000

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.

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.

Please help me debug this problem.


The probe function before returning dumps the following register values


DUMP of  /sys/class/usb_host/usb_host/register after the OTG device
was connected and powered on.

bus platform, device ab301_ehci_usb.0 (driver 10 Dec 2004)
EHCI Host Controller
EHCI 1.00, hcd state 1
structural params 0x00010011
capability params 0x0006
status 0088 FLR
command 080b01 park=3 ithresh=8 period=1024 RUN
intrenable 37 IAA FATAL PCD ERR INT
uframe 22e0
port 1 status 8c001000 POWER sig=se0
irq normal 0 err 0 reclaim 0 (lost 0)
complete 0 unlink 0


Thanks
Rak


___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] No EHCI IRQ reported when device is connected

2006-06-08 Thread rakesh kn
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


[linux-usb-devel] No EHCI IRQ reported when device is connected

2006-06-07 Thread rakesh kn
Hi ,

i am testing the ehci-hcd river for ARC HS OTG controller. I have the
following observations
when i try connecting devices.

After the probe, the POTRSCx values are 0x8c001000 for ARC controller
whcih is EHCI complaint.

COMMAND:  0x80b01
MODE:  0x7
STATUS:  0x88
INTERRUPT:  0x37
SET INTR ARE (INTR_MASK): 0x37
PORT 0 STATUS:  0x8c001000
SEGMENT = 0x0
FRAME LIST = 0x63ff4000
ASYNC LIST = 0x63ff2000
TTCTRL = 0x0
CONFIGURE FLAG = 0x1
OTGSC = 0x313120
PORT STATUS CONTROL REGISTERS
PORTSC[0] = 0x8c001000

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.

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.

Please help me debug this problem.


The probe function before returning dumps the following register values


DUMP of  /sys/class/usb_host/usb_host/register after the OTG device
was connected and powered on.

bus platform, device ab301_ehci_usb.0 (driver 10 Dec 2004)
EHCI Host Controller
EHCI 1.00, hcd state 1
structural params 0x00010011
capability params 0x0006
status 0088 FLR
command 080b01 park=3 ithresh=8 period=1024 RUN
intrenable 37 IAA FATAL PCD ERR INT
uframe 22e0
port 1 status 8c001000 POWER sig=se0
irq normal 0 err 0 reclaim 0 (lost 0)
complete 0 unlink 0


Thanks
Rak


___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] doubt in port reset

2006-06-05 Thread rakesh kn
Hi all,

Port Reset and Port Suspend is done on ports on which device is connected.

\What is the difference between PORT SUSPEND, PORT RESET done using the
 a ) SetPortFeature with Feature PORT_SUSPEND, PORT_RESUME as in USB
2.0 document in section 11.24.2.13.
 b) Using the PORTSCx register in the EHCI Operational Register set.

Both of them would cease the down stream traffic and suspend the device.

If they are the same, can i use SetPortFeature Control request to
suspend/resume the port in
the ehci_hub_suspend and ehci_hub_resume, instead of writing to the
PORTSCx. Since all devices should respond to control request at any
stage of a transfer

Thanks


___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] OTG Driver IRQ issues on execution on ARC-OTG Controller

2006-05-26 Thread rakesh kn

Hi All,

Our team is developing a USB OTG Controller driver for Linux 2.6.16.11
kernel on a board which runs on ARM Core .  The driver is for ARC USB
OTG Controller.

There are three modules involved viz
 Host Controller Driver
 Device Controller Driver
 OTG Controller Driver
These three modules are sharing the same device space.

We are trying to integrate the three modules.
The modules are initialized and ISRs (shared interrupt handlers) are
registered.
Initially, interrupts are received and ISRs are invoked.  But when one
of the modules try to reset the controller, the interrupts no longer
come eventhough the interrupts are enabled in the hardware registers.
We also found out that the interrupt vector controller registers the
USB interrupt.

We tried running a stand-alone code which does similar operations.
But, we are getting the interrupts even after repeated resets.  So
that makes it clear that the problem is not with the hardware.

In Linux, the three modules use the same remapped controller address
space and IRQ resources.  Since the controller can work as a host
controller, device controller or OTG controller, we have introduced
three platform device structures and three resource
structures in the arch/arm/machine-specific/  directory.

All the three resource structures have the same iomem start and IRQ
start values.

/* USB OTG */
static struct resource ab300_usb_otg_resources [] = {
[0] = {
.start  = USB_PHYS,
.end= (USB_PHYS + SZ_4K - 1),
.flags  = IORESOURCE_MEM,
},
[1] = {
.start  = IRQ_USB,
.end= IRQ_USB,
.flags  = IORESOURCE_IRQ,
},
};

static struct platform_device ab300_usb_otg_device = {
 .name  = ab300_otg_usb,
 .id= 0,
 .dev   = {
   .dma_mask = (u64 *)~0,
   .coherent_dma_mask = (u64)~0,
 },
 .num_resources = ARRAY_SIZE (ab300_usb_otg_resources),
 .resource  = ab300_usb_otg_resources,
};

/* USB UDC */
static struct resource ab300_usb_udc_resources [] = {
[0] = {
.start  = USB_PHYS,
.end= (USB_PHYS + SZ_4K - 1),
.flags  = IORESOURCE_MEM,
},
[1] = {
.start  = IRQ_USB,
.end= IRQ_USB,
.flags  = IORESOURCE_IRQ,
},
};


static struct platform_device ab300_usb_udc_device = {
 .name  = ab300_udc_usb,
 .id= 1,
 .dev   = {
   .dma_mask = (u64 *)~0,
   .coherent_dma_mask = (u64)~0,
 },
 .num_resources = ARRAY_SIZE (ab300_usb_udc_resources),
 .resource  = ab300_usb_udc_resources,
};

/* USB EHCI */
static struct resource ab300_usb_host_resources [] = {
[0] = {
.start  = USB_PHYS,
.end= (USB_PHYS + SZ_4K - 1),
.flags  = IORESOURCE_MEM,
},
[1] = {
.start  = IRQ_USB,
.end= IRQ_USB,
.flags  = IORESOURCE_IRQ,
},
};

static struct platform_device ab300_usb_host_device = {
 .name  = ab300_ehci_usb,
 .id= 0,
 .dev   = {
   .dma_mask = (u64 *)~0,
   .coherent_dma_mask = (u64)~0,
 },
 .num_resources = ARRAY_SIZE (ab300_usb_host_resources),
 .resource  = ab300_usb_host_resources,
};


static struct platform_device *ab300_platform_devs[] __initdata = {
#if defined (CONFIG_MACH_AB300)
 ab300_usb_otg_device,
 ab300_usb_udc_device,
 ab300_usb_host_device,
};

The above code snippet was added so that our driver modules can
request resources in their respective module initialization.

Can the problem be of kernel porting?

Does any one who has developed an OTG Driver for ARC USB OTG
Controllers, face this problem. If not please tell us , how did u guys
load the three drivers in to the kernel.
The drivers are built in to the kerenel. There is no module loading facility



Could anyone throw some light on the root cause of the problem?

Thanks,
Rak


---
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnkkid7521bid$8729dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] EHCI Driver not recongnizing the device

2006-05-17 Thread rakesh kn

Hi all,
We are testing EHCI driver for ARC-OTG 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.

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.
Since the board has an OTG port, capable of providing 8mA, we connected
a SONY DSC camera which is OTG Complaint device.

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.

Those who have worked with ARC USB HS-OTG controllers, have u come
across these problems,  if yes, please help us.
I am attaching the log of trace i did.

Thanks
Rak


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

[linux-usb-devel] EHCI Host not enumerating device

2006-05-16 Thread rakesh kn

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.

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.
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.

Those who have worked with ARC USB HS-OTG controllers, have u come
across these problems,  if yes, please help us.
I am attaching the log of trace i did.

Thanks
Rak


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 

[linux-usb-devel] Importance of hcd-power_budget

2006-05-16 Thread rakesh kn

Hi ,

If i set the hcd-power_budget field in the usb_hcd structure to 8mA
hcd-power_budget = 8mA,
then in the register_root_hub() function , the following line would
restrict the root hub power budget to each child to
rhdev-bus_mA = min(500u, hcd-power_budget) = 8mA,

Now when i connect a device , whose configuration descriptor contains
the power requirements mentions more than 8mA,  What will happen. ?

Thanks


---
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=lnkkid0709bid3057dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Doubts in HCD Suspend/Resume

2006-05-09 Thread rakesh kn

Hi ,

I have written the platform glue for ARC - EHCI controller. I provided
the suspend/resume call backs in struct platform_driver with CONFIG_PM
and CONFIG_USB_SUSPEND for selecti ve suspend/resume enabled.

My kernel is compile to be monolithic. So once the kernel boots up,
the driver is registered.

I mounted on sysfs and when i try to suspend the host controller with
a camera (mass storage) pluggged in to it.

I have provided some debug prints in the suspend/resume call backs i
provided in the struct platform_driver.

I execute the command to suspend using /sys/bus/usb/devices/usb1/powe/state

ehco -n 3  /sys/bus/usb/devices/usb1/powe/state,
Shouldn't the corresponding suspend call back get invoked. For me it is not.
Similarly for resume.

Please tell me where i am wrong.

Rak


---
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=lnkkid0709bid3057dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] OTG Driver Interrupt Handling

2006-04-25 Thread rakesh kn
Hi,

The OTG driver would consist of 3 kernel modules ,
Host driver module, Device driver module, and OTG transceiver driver module.

We have a SPH(Single Port Host) ARC Controller.

Since each of these modules have IRQ handlers and are requested to USB
IRQ with SH_IRQ and SA_INTERRUPT flags , we have the following doubt .

Once the OTG driver decides upon the role (host or device) , it is to
pass control to that driver.
Suppose the role is of host, the OTG driver would set the fields in
otg_transceiver structure.
But how exactly does the OTG driver invoke the host controller driver
or device controller driver.?

Should we were to load all three modules at the same time.
  Or
Is it that the OTG module be loaded first , determine the role and
then call the module_intialization function of the host/device
controller drivers respectively, which will subsequently call
driver_register and register the drivers.

Our doubt is that if all 3 modules are loaded simultaneously. after
role switching only one driver should be active(for example device
controller driver). but we have the IRQ handler already registered for
the other driver(i.e  the host controller driver) . So while receiving
interrupts.. all handlers get invoked. rt?

Please explain how should we load the drivers in case of OTG.

We are studying OMAP implementation. but donot how exaclty the modules
get loaded , in which order .


Thanks
Rak


---
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=lnkkid0709bid3057dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Testing HCD SUSPEND/RESUME in non-PCI bus based (ARC) controllers

2006-04-21 Thread rakesh kn
-- Forwarded message --
From: rakesh kn [EMAIL PROTECTED]
Date: Apr 21, 2006 1:50 PM
Subject: Testing HCD SUSPEND/RESUME in non-PCI bus based (ARC) controllers
To: David Brownell [EMAIL PROTECTED]


Hi,

The struct hc_driver in 2.6.16 provides 2 methods for power management
with the CONFIG_PM flag defined.

These call backs are suspend and resume.
The comments says that these  suspend/resume calls relate to the HC as
a whole, not just the root hub; they're for PCI bus glue.


I am writing the Controller driver for ARC High Speed Controller on a
board where the BUS IS A NON-PCI BUS .
If i want to test the SUSPEND/RESUME functionality of Controller as
mentioned , using sysfs , ... how can i do that. ?

If i support the suspend/resume call backs for ARC Controller on a
NON-PCI bus, Will i be able to test the functionality.. using SYSFS?

Thanks
Rak


---
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=lnkkid0709bid3057dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] HELP in patching USB subsystem

2006-04-18 Thread rakesh kn
Hi,

I have Linux 2.6.11 linux source with me which has the BSP stuff to
get to run on a ARM platform . For this a separate directory is there
in arch/ where the BSP stuff is written .
I am required to move to 2.6.16 . My primary aim is to write the USB
Controller driver for the ARC chip present on the board.

I am to work with the latest USB subsystem.

My doubt is this.

Can i patch the USB subsystem alone to get it patched to 2.6.16 ,
or i have to patch the entire kernel.

Is there patches for directly upgrading from 2.6.11 to 2.6.16  for the
USB subsystem alone..

Please point out the correct patches.  The patch that i had applied
gave lot of failed hunks

Thanks
Rak


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] suspend/resume testing for HCD on ARC controller

2006-04-14 Thread rakesh kn
Hi All,

We are working in 2.6.11 kernel. We are supposed to test the linux
host controller driver for ARC-EHCI controller residing on a non-PCI
based bus.

All the basic functionality of EHCI driver for ARC can be tested using
usbtest.c kernel-mode test driver.  We have to test suspend/resume
functionality of our dirver. Please remember that it is a non-PCI
based controller.

We went through the mailing list which suggests the following method.
to suspend echo -n 3  /sys/bus/usb/.../state
to resume echo -n 0  /sys/bus/usb/.../state

But the kernel and the root.jfs (root file system) which we got, when
loaded onto the prototype board doesnot have the /sys fylesystem.  For
some reason, we are restricted by this.

We have access to usbfs mounted on /proc.  CONFIG_PM,
CONFIG_USB_SUSPEND flags are defined.  USB 2.0 spec says that the host
controller in suspended state does not send SOF and there will be no
downstream bus traffic.  But how can we put a controller into a
suspended state.  We have the kernel source code with us.

Please suggest a method to test the suspend and resume of the ARC Host
controller from within/outside the driver.  We don't have /sys file
system.  Also /proc/bus/usb doesn't have any power management
interface.

PLS HELP

Thanks,
RAK


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] HELP , all TESTS FAIL in Testing HCD

2006-04-08 Thread rakesh kn
Hi ,
Please Help me with this issue.

To test the EHCI- HCD driver , i was referring to the site 
http://www.linux-usb.org/usbtest/

It was told that the usbtest.c, driver test module, testusb.c 
userland software is used.
Also the peripheral used is anything using a full speed Cypress EZ-USB chip.

My problem is that i dont have a peripheral which uses this chip. I
went through the usbtest.c driver module. It is having a id-table
with EZ-USB based peripherals vendor and product id.

I have a thumb drive which is USB 2.0. I know the product-id and
vendor-id of the peripheral.
It is different from that of the device-id's in id-table supported in usb-test.c

How can i do the test using above module (usbtest.c) and the user-land
software with out the peripheral with EZ-USB chips.

I tried to execute the test by compiling usbtest.ko with GENERIC
support on and passing the vendor id and product id  as module
params , but iam getting error-25 in all tests . Even the test-9 ,
control tests are not passing.


What am i missing out here
Please help me out with this issue..

Atleast Please suggest a peripheral (preferable a Card Reader) which
has the EZ-USB FX2 Product Name and Company Please

Thanks
Rak


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] USB HCD testing using usbtest.c

2006-04-06 Thread rakesh kn
Hi,

I am trying to test the working of ehci-hcd with a generic usb-device.
I downloaded usbtest.c  from linux-usb-test site.
i am using kernel 2.6.11 .

I compiled the test driver (usbtest.ko) and insmod it.
when i run the test program ./testusb -a , it says usbfs files are missing.

When i went to /proc/bus/usb , there are no files in that directory.

Please tell me what am i missing. Since in 2.6 , sysfs support has been added,
when i go there ,my usb device is there.

Please tell me how can i give the /proc/bus/usb support.. Am i missing
something during kernel compilation.

Thanks
Rak


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Help Doubt Test -t3 (Test 3 ) usbtest.c

2006-04-05 Thread rakesh kn
Hi,

For testing USB HCD driver ,  there is a kernel mode driver
usbtest.c , which comprises of 16 different tests.

I could get the first 2 tests.

Test 1 - Simple non-queued bulk Sink (IN) I/O tests
Test 2 - Simple non-queued bulk Source (OUT) I/O tests

How does the Test 3 and Test 4 work.? Please tell how the vary
paramter helps. Is it to vary the transfer_buffer_length in URB , in
each iteration.by the number specified in parameter vary.

Can u please explain the use of Scatter-Gather list. What i
understand is that the URB-transfer_bufffer is divided in to a
scatter list , which are pointers to buffer. This is Scatter Gather
DMA , but the DMA controller should be supporting this.

Can u please point out , how can a EHCI -HCD driver be divided into
various modules .. like IRQ Handling, URB QUEING... ETC  .

Which modules in ehci-hcd does the above test affect.

Thanks
RAK


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] HELP in Choosing Card Reader for USB HCD TESTING

2006-04-05 Thread rakesh kn
Hi,

Those who have done USB HCD Testing for ehci ,
Please suggest the USB2.0 Card Reader that u have
used , which was successfully tested using usbtest.c.
The card reader should be using a Cypress EX-USB chip.

Please mention the Product Name and if possible the manufacturers.
Please suggest Card Readers that are widely available.

OR

Is it that ANY Card Reader Can be used.

PLEASE HELP

Rak


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] OTG in EHCI (Hub Power Issues)

2006-04-03 Thread rakesh kn
Hi,

Can any one explain what does the function hub_set_power_budget in
file hub.h does.?

I can see from the code that it sets the power_budget to a minimum of
250 mA (= 500 /2)or 4 mA (if OTG , power = 8 /2) ..?

I have an ARC controller, with an embedded TT , also it is an OTG controller.

For ARC ehci  controller driver code  ( please remember i need to
support  OTG ),

Should i be using the function hub_set_power_budget to set the power
budget for root hubs in the ARC controller to have the power bugdet to
8mA , since it is to support OTG devices.


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] EHCI - OTG Transceiver (ULPI ) Issues

2006-04-03 Thread rakesh kn
H i

ARC controller Core is having the ULPI interface as its
Transceiver. I have a some deviations in USBSTS, PORTSCx,OTGSC
registers for programming ULPI transceiver select, clocking etc.

Can u provide some help on general issues, on how the transceiver must
be approached while programming.

a) During a SUSPEND of the controller.. should i be putting the
transceiver in low power mode. by disabling its clock.

b) Also Can u provide some light on isses that have to be taken in to
account when i have a transceiver ULPI for my ARC controller ( I WOULD
LIKE TO ADD THAT IT IS NOT AN EXTERNAL TRANSCEIVER CHIP. THE ULPI
TRANSCEIVER IS INTEGERATED IN TO THE ARC CONTROLLER.)

Please comment on these issues. This would be of great help

Thanks
rak


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] ANAMOLY in ehci_irq() -- Clarify ehci_irq() handling for ehci spec

2006-03-30 Thread rakesh kn
Hi david,

The ehci_irq() function in struct hc_driver is the irq handler for the
EHCI host controller.
The EHCI specification section 4.15 specifies the different types of interrupts.
1) Transaction based interrupts
2)Host controller events (Port change events, etc.), and
3)  Host Controller error events

Do u think that ehci_irq() function handles the interrupt type 2.?
PORT change events are due to the following port status bit changes as
mentioned in section 4.15.2.1 of ehci specification.
• Connect Status Change
• Port Enable/Disable Change
• Over-current Change
• Force Port Resume

Do u think , that these are being handled in the ehci_irq() . I am
using 2.6.10 , i have seen the irq HANDLING IN 2.6.16. It is still the
same.

Please clarify whether the present IRQ handling works properly with
that in the EHCI specification.
I am using ARC USB HS controller , which has some extensions to EHCI.


PLEASE COMMENT ON THE BELOW DEVIATION

 After port enable bit is set following a connection and reset
sequence, the device/hub is assumed to be HS in standard EHCI.

For ARC controllers , After port enable bit is set following a
connection and reset sequence, the device/hub speed is noted from a
2-bit field in PORTSCx.

Where should i determine the speed following device connect.?
Should i do it in IRQ ehci_irq() function, since thats where we handle
port change detect
PORT_PCD events.
In which strucuture does the speed which i determine is to be stored.


Please reply for the above
Thanks
rak


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Handling of Interrupts in ehci_irq()

2006-03-28 Thread rakesh kn
Hi ,

Does the implementation of INTERRUPT handler or ISR routine of EHCI
controller driver
 ehci_irq() handle the port change events mentioned in section
4.15.2.1 in ehci-r1.0 specification.

What should be the handling for the following status bit changes..
1)connect status change
2)port Enable/disable change
3)Over current change
4)Force port resume change.

I see that the implementation of ehci_irq() function only handles
port resume status change,

During the Connect status change, that is when a device is
connected/disconnected.

When a device is connected, we should find out the speed.(FS/HS/LS).
Where is that done.If so where and in which structure is the device
speed information stored after the device connect speed is found .?

Rakesh
Thanks


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] USB Geeks: Help for OTG support in EHCI driver

2006-03-22 Thread rakesh kn
Hi all,

Linux 2.6.16-rc6 has ehci-au1xxx.c file which is the EHCI host
controller driver for au1xxx .

Keeping the above framework which is a driver for a non-PCI EHCI
controller driver..

Can any one help me on how to provide OTG support to the above
framework. Please provide someinformation on whether there is any
reference ehci-otg implementation .?

Those who have worked in OTG controller driver implementation.,
please provide some insight on how an ehci implementation is to be
modified to provide otg support.

bye


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] USB Geeks: HELP in EHCI driver development

2006-03-20 Thread rakesh kn
Hi,

I am relatively a newbie at USB development.
My doubts are simple . Can any one shed some lights on these.

1) What is the relevance of  suspend and resume call backs that we
find in struct device_driver.? There are also the same call backs in
struct hc_driver?. What are they used for. ? Are the suspend/resume
call backs are in hc_driver are supported for  PCI controllers only..
?

2) When we write a EHCI-HCD driver for a non-pci controller   driver ,
like that one for ARM-AMBA bus, which driver registration structure
should we use ,
Is it
 struct platform_driver  (As used in omap_ohci.c)
  or
  struct device_driver  (As used in ehci-auxxx.c )

3) ARC controller has an embedded TT (transaction translators) built
in to it.? This allows Low Speed and Full Speed devices to be directly
connected to it, which can be identified from the PSPD(port speed
bit). My doubt is whether the ehci-hub.c and ehci-hcd.c in linux
2.6.15 and above have been modified to support the operational
differnces with respect to QH setup( like setting TTHA).


4) To put the above doubt briefly ,, can i reuse the files  in the
2.6.15 and above kernel usb-ehci tree for implementing my controller
driver. Please remember that my controller has an embedded TT.

(Please has any one worked on ARC USB-OTG controller drivers). This
would be of great help... Please mention the files which can be
re-used as it is.. ?


Thanks
Rakesh


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel